From 9fb428d71371cc6d49d7f134b3f7a159a8caa8cd Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Tue, 3 Nov 2026 14:15:14 +0000 Subject: [PATCH] Ensure specific in ImplWitness has resolved definition before accessing witness table (#8040) When impl lookup results in an `ImplWitness`, either directly or later through `LookupImplWitness` evaluating to an `ImplWitness` inside some specific, it represents a dependency on the eval blocks of the `ImplDecl` that the `ImplWitness` comes from. The `ImplWitness` contains a `SpecificId` of the `ImplDecl`, and the constants in the witness table must be viewed through that `SpecificId`. The constants may depend on the declaration or the definition block of the `ImplDecl`'s specific, so any use of the witness table from `ImplWitness` requires the specific from the `ImplWitness` to be fully resolved: both the decl and definition blocks. The specific declaration block is always resolved immediately when forming a specific id, so there's nothing to do there. And things are simple when the `ImplWitness` returned from impl lookup is concrete. We would simply resolve the specific definition directly in the evaluation of `LookupImplWitness`. But when the `ImplWitness` is symbolic, meaning there's a dependency on generic parameters in its referenced specific, then we have a dependency on resolving the specific definition in the `ImplWitness` for every specific that gets applied to the `ImplWitness`, eventually resulting in a concrete specific. Previously we attempted to do this by representing a dependency edge from the eval block containing the `ImplWitness` instruction to the definition block of the specific inside the `ImplWitness`. We represented this dependency edge with the `RequireSpecificDefinition` instruction. The challenge with the `RequireSpecificDefinition` instruction was ensuring it always landed in the _same eval block_ as the one holding the symbolic `ImplWitness`. Ultimately, we've found a way to do this without the `RequireSpecificDefinition`. The witness table is accessed through `ImplWitnessAccess`, so we resolve the specific definition before each access to the witness table. If the definition is already resolved, this just costs a lookup of the Specific from the value store. We document the other things we tried, which don't work or were too complex, below. In PR #6236, we added the `RequireSpecificDefinition` instruction in the eval of `LookupImplWitness`, but this is too late. If impl lookup resolved to a symbolic `LookupImplWitness`, the `LookupImplWitness` is added some eval block. Later, we form specifics and re-evaluate that eval block, and the `LookupImplWitness` can evaluate to an `ImplWitness`. Adding the `RequireSpecificDefinition` instruction at this point inserts the instruction into whatever generic's eval block happens to be on the top of the generic stack, not the eval block of the generic we are building a specific for. And indeed we can't add instructions to a generic's eval block later like this, as it would be missing from specifics that were already resolved for the generic. This incorrect insertion shows up as a crash in eval at the CHECK introduced but commented out in [eval.cpp in #7981](https://github.com/carbon-language/carbon-lang/blob/56d9bbc40add1e9263f2f9b2555c3a27292d1725/toolchain/check/eval.cpp#L3507-L3512). This is covered by the `require_specific_impl_definition_through_specific_instantiation.carbon` test. We tried moving the insertion of `RequireSpecificDefinition` to be earlier - at the point where the `LookupImplWitness` is constructed, in the `LookupImplWitness()` function, instead of inside evaluation. This seemed like a straightforwardly correct answer, as the eval block that contains the `LookupImplWitness` will then also contain the `RequireSpecificDefinition`. However, this can cause us to lose the `RequireSpecificDefinition` entirely. Because it's a separate instruction, not an operand of `LookupImplWitness`, it does not get treated as a dependency of the witness. When we do an impl lookup inside an `alias`, we build a generic for the alias and then discard it. This discards the eval block containing the `LookupImplWitness`. Then, in an enclosing generic, we refer to the constructed `AliasDecl` instruction, which pulls all its dependent operands into the enclosing eval block. This pulls in the `LookupImplWitness` into the enclosing eval block, but it does not preserve the `RequireSpecificDefinition`. This is covered by the `require_specific_impl_definition_from_lookup_impl_witness_in_class_definition.carbon` test. We tried having `ImplWitness` evaluation resolve the specific definition of the specific `ImplDecl` it refers to. This seems like the simplest approach by far as we should always be working with the correct eval block and nothing can get lost. However it does not work because of the recursive nature of `ImplWitness`. The `ImplWitness` instruction appears in the declaration of an `ImplDecl`, and the `ImplWitness` holds a `SpecificId` for that same `ImplDecl`. When building a specific `ImplDecl`, we evaluate the `ImplWitness` in the `ImplDecl`'s declaration block which then immediately resolves the specific definition before the declaration is finished. This leads to missing instructions in the specific definition. In short, this puts the dependency edge to the `ImplDecl`'s specific inside the `ImplDecl` itself, which is problematic. We tried wrapping `ImplWitness` in another instruction, `ImplWitnessUse`. Inside the `ImplDecl` declaration there is still `ImplWitness`, but then in the definition there is `ImplWitnessUse` and that is what is returned from the evaluation of `LookupImplWitness`. The `ImplWitnessUse` is an `ImplWitness` plus it ensures the specific referred to by the witness has its definition resolved. However this breaks constant comparisons, as we get different witnesses inside an impl versus outside. The first iteration of this PR's solution had us insert the `RequireSpecificDefinition` into the eval block when we sniffed a `LookupImplWitness` instruction, however that missed cases where impl lookup immediately resolved to a symbolic `ImplWitness`, which is why we now sniff for the `ImplWitness` in the eval block. This is covered by the `require_specific_impl_definition_from_symbolic_impl_in_class_definition.carbon` test. We also originally made a mistake of not inserting `RequireSpecificDefinition` when inside the impl definition that the `ImplWitness` refers to. But we can form specifics ImplWitness values through function signatures, and these must add the dependency edge on that specific ImplDecl definition. This is covered by the `require_specific_impl_definition_from_inside_impl_definition.carbon` test. Finally, we did have a working solution. It was to sniff instructions added to the eval block of a generic, and when an `ImplWitness` is added to the eval block (it is implied that it is symbolic), also add a `RequireSpecificDefinition` to that eval block immediately. We also resolved the definition of a specific referred to by `ImplWitness` when `LookupImplWitness` evaluates to `ImplWitness` to cover the concrete witness case. This complicated the construction of the eval block immensely, however. It caused a situation where adding one inst to the eval block actually adds two, which we needed to avoid when importing. And it required inst-kind specific behaviour in the very general construction of an eval block, completely outside of eval itself. --- toolchain/check/eval.cpp | 11 +- toolchain/check/eval_inst.cpp | 14 +- toolchain/check/impl_lookup.cpp | 17 - toolchain/check/import_ref.cpp | 25 - .../check/testdata/alias/export_name.carbon | 4 +- toolchain/check/testdata/alias/import.carbon | 6 +- .../check/testdata/array/bound_values.carbon | 8 +- toolchain/check/testdata/array/import.carbon | 4 +- .../testdata/array/index_not_literal.carbon | 12 +- .../array/init_dependent_bound.carbon | 19 +- .../testdata/as/adapter_conversion.carbon | 8 +- toolchain/check/testdata/basics/parens.carbon | 4 +- .../basics/raw_sem_ir/builtins.carbon | 2 - .../testdata/basics/raw_sem_ir/bundle.carbon | 294 +- .../basics/raw_sem_ir/cpp_interop.carbon | 460 +- .../basics/raw_sem_ir/multifile.carbon | 110 +- .../multifile_with_textual_ir.carbon | 110 +- .../raw_sem_ir/non_core_interfaces.carbon | 1828 +++---- .../basics/raw_sem_ir/one_file.carbon | 4863 ++++++++--------- .../one_file_with_textual_ir.carbon | 292 +- .../testdata/builtins/array/make_type.carbon | 4 +- .../testdata/builtins/float/convert.carbon | 16 +- .../builtins/float/convert_checked.carbon | 24 +- .../builtins/float/convert_int.carbon | 8 +- .../builtins/int/convert_char_literal.carbon | 8 +- .../builtins/int/convert_checked.carbon | 4 +- .../check/testdata/builtins/print/int.carbon | 4 +- toolchain/check/testdata/choice/basic.carbon | 8 +- .../class/access/access_modifiers.carbon | 12 +- .../class/access/inheritance_access.carbon | 20 +- .../testdata/class/adapter/adapt_copy.carbon | 20 +- .../testdata/class/adapter/init_adapt.carbon | 8 +- toolchain/check/testdata/class/basic.carbon | 8 +- .../class/complete_in_member_fn.carbon | 4 +- .../check/testdata/class/destroy_calls.carbon | 11 +- .../class/field/compound_field.carbon | 8 +- .../testdata/class/field/field_access.carbon | 10 +- .../class/field/field_access_in_value.carbon | 10 +- .../class/field/field_initializer.carbon | 6 +- .../check/testdata/class/field/static.carbon | 4 +- .../testdata/class/forward_declared.carbon | 4 +- .../check/testdata/class/generic/adapt.carbon | 16 +- .../class/generic/base_is_generic.carbon | 8 +- .../check/testdata/class/generic/basic.carbon | 8 +- .../check/testdata/class/generic/call.carbon | 8 +- .../generic/complete_in_conversion.carbon | 8 +- .../check/testdata/class/generic/field.carbon | 4 +- .../testdata/class/generic/import.carbon | 12 +- .../check/testdata/class/generic/init.carbon | 14 +- .../class/generic/member_access.carbon | 24 +- .../testdata/class/generic/member_type.carbon | 26 +- .../check/testdata/class/generic/self.carbon | 7 +- .../testdata/class/generic/stringify.carbon | 12 +- toolchain/check/testdata/class/import.carbon | 10 +- .../testdata/class/import_indirect.carbon | 24 +- .../testdata/class/import_member_cycle.carbon | 2 +- .../testdata/class/import_struct_cycle.carbon | 6 +- .../testdata/class/inheritance/base.carbon | 8 +- .../class/inheritance/base_field.carbon | 4 +- .../class/inheritance/base_method.carbon | 4 +- .../class/inheritance/derived_to_base.carbon | 12 +- .../class/inheritance/import_base.carbon | 4 +- .../class/inheritance/self_conversion.carbon | 8 +- toolchain/check/testdata/class/init.carbon | 8 +- toolchain/check/testdata/class/init_as.carbon | 8 +- toolchain/check/testdata/class/local.carbon | 8 +- .../method/call_without_method_syntax.carbon | 4 +- .../check/testdata/class/method/method.carbon | 10 +- .../class/method/static_method.carbon | 2 +- .../testdata/class/method/virtual.carbon | 8 +- toolchain/check/testdata/class/nested.carbon | 12 +- .../check/testdata/class/nested_name.carbon | 6 +- toolchain/check/testdata/class/reorder.carbon | 4 +- .../testdata/class/reorder_qualified.carbon | 4 +- toolchain/check/testdata/class/scope.carbon | 4 +- .../check/testdata/class/self/raw_self.carbon | 4 +- .../testdata/class/self/raw_self_type.carbon | 6 +- .../check/testdata/class/self/self.carbon | 4 +- .../testdata/class/self/self_type.carbon | 6 +- .../class/syntactic_merge_literal.carbon | 8 +- toolchain/check/testdata/const/basics.carbon | 12 +- toolchain/check/testdata/const/import.carbon | 4 +- toolchain/check/testdata/deduce/array.carbon | 20 +- .../check/testdata/deduce/generic_type.carbon | 8 +- toolchain/check/testdata/deduce/tuple.carbon | 8 +- .../value_with_type_through_access.carbon | 4 +- .../check/testdata/eval/aggregates.carbon | 73 +- toolchain/check/testdata/eval/binding.carbon | 8 +- toolchain/check/testdata/eval/call.carbon | 4 +- ..._value_to_generic_facet_value_value.carbon | 19 +- ..._facet_value_to_narrowed_facet_type.carbon | 6 - ...t_facet_value_value_to_blanket_impl.carbon | 4 - ..._value_to_generic_facet_value_value.carbon | 49 +- toolchain/check/testdata/for/actual.carbon | 99 +- toolchain/check/testdata/for/pattern.carbon | 32 +- .../testdata/function/builtin/call.carbon | 10 +- .../function/builtin/fail_redefined.carbon | 4 +- .../testdata/function/builtin/method.carbon | 14 +- .../call/fail_return_type_mismatch.carbon | 4 +- .../check/testdata/function/call/form.carbon | 20 +- .../check/testdata/function/call/i32.carbon | 8 +- .../function/call/more_param_ir.carbon | 4 +- .../testdata/function/call/params_one.carbon | 4 +- .../function/call/params_one_comma.carbon | 4 +- .../testdata/function/call/params_two.carbon | 4 +- .../function/call/params_two_comma.carbon | 4 +- .../call/prefer_unqualified_lookup.carbon | 4 +- .../check/testdata/function/call/ref.carbon | 4 +- .../function/declaration/import.carbon | 20 +- .../declaration/val_var_return.carbon | 4 +- .../function/deduced_return/basic.carbon | 20 +- .../function/deduced_return/form.carbon | 12 +- .../function/deduced_return/generic.carbon | 8 +- .../deduced_return/generic_form.carbon | 4 +- .../function/deduced_return/import.carbon | 6 +- .../deduced_return/returned_var.carbon | 12 +- .../function/deduced_return/template.carbon | 4 +- .../function/definition/default_values.carbon | 16 +- .../function/definition/import.carbon | 8 +- .../testdata/function/definition/terse.carbon | 8 +- .../testdata/function/generic/call.carbon | 16 +- .../testdata/function/generic/deduce.carbon | 21 +- .../generic/deduce_nested_facet_value.carbon | 2 - .../generic/indirect_generic_type.carbon | 8 +- .../function/generic/param_in_type.carbon | 4 +- .../function/generic/resolve_used.carbon | 27 +- .../function/generic/return_slot.carbon | 2 +- .../function/generic/type_param.carbon | 15 +- .../function/generic/type_param_scope.carbon | 8 +- .../testdata/generic/dependent_param.carbon | 8 +- .../generic/dot_self_symbolic_type.carbon | 10 +- toolchain/check/testdata/generic/local.carbon | 4 +- .../testdata/generic/local_function.carbon | 4 +- .../testdata/generic/template/convert.carbon | 16 +- .../generic/template/dependence.carbon | 22 +- .../generic/template/member_access.carbon | 8 +- .../template/member_out_of_line.carbon | 4 +- .../testdata/generic/template/operator.carbon | 4 +- .../check/testdata/generic/var_param.carbon | 4 +- toolchain/check/testdata/if_expr/basic.carbon | 8 +- .../if_expr/constant_condition.carbon | 12 +- .../testdata/if_expr/control_flow.carbon | 8 +- .../check/testdata/if_expr/nested.carbon | 8 +- .../check/testdata/if_expr/struct.carbon | 4 +- .../testdata/impl/assoc_const_self.carbon | 4 +- .../check/testdata/impl/error_recovery.carbon | 10 +- .../testdata/impl/extend_impl_generic.carbon | 8 +- .../impl/impl_assoc_const_with_prelude.carbon | 8 +- .../check/testdata/impl/impl_thunk.carbon | 16 +- .../impl/impl_thunk_min_prelude.carbon | 4 +- .../testdata/impl/import_self_specific.carbon | 95 +- .../check/testdata/impl/import_thunk.carbon | 36 +- .../testdata/impl/import_use_generic.carbon | 4 +- .../check/testdata/impl/lookup/generic.carbon | 34 +- .../testdata/impl/lookup/impl_forall.carbon | 57 +- ...pecialization_with_symbolic_rewrite.carbon | 57 +- .../testdata/impl/use_assoc_entity.carbon | 16 +- .../index/array_element_access.carbon | 8 +- .../check/testdata/index/expr_category.carbon | 8 +- .../index/fail_array_large_index.carbon | 8 +- .../index/fail_array_non_int_indexing.carbon | 8 +- .../fail_array_out_of_bound_access.carbon | 8 +- .../testdata/index/fail_expr_category.carbon | 8 +- .../index/fail_negative_indexing.carbon | 8 +- .../testdata/interface/as_type_of_type.carbon | 15 +- .../testdata/interface/default_fn.carbon | 8 +- .../interface/fail_assoc_const_alias.carbon | 11 +- .../fail_todo_assoc_const_default.carbon | 4 +- .../check/testdata/interface/final.carbon | 1937 ++++++- .../testdata/interface/generic_method.carbon | 60 +- .../check/testdata/interface/import.carbon | 6 +- .../testdata/interface/member_lookup.carbon | 12 +- .../check/testdata/interface/observe.carbon | 8 - .../interface/todo_define_not_default.carbon | 4 +- .../interop/cpp/basics/import/import.carbon | 4 +- .../interop/cpp/basics/import/indirect.carbon | 16 +- .../interop/cpp/class/import/base.carbon | 8 +- .../cpp/class/import/constructor.carbon | 32 +- .../interop/cpp/class/import/field.carbon | 12 +- .../interop/cpp/class/import/template.carbon | 16 +- .../testdata/interop/cpp/enum/convert.carbon | 4 +- .../import/arithmetic_types_bridged.carbon | 120 +- .../import/arithmetic_types_direct.carbon | 44 +- .../cpp/function/import/constexpr.carbon | 12 +- .../cpp/function/import/decayed_param.carbon | 26 +- .../cpp/function/import/default_arg.carbon | 8 +- .../cpp/function/import/extern_c.carbon | 8 +- .../cpp/function/import/full_semir.carbon | 12 +- .../cpp/function/import/function.carbon | 4 +- .../cpp/function/import/function_ptr.carbon | 12 +- .../cpp/function/import/in_template.carbon | 4 +- .../interop/cpp/function/import/inline.carbon | 12 +- .../cpp/function/import/pointer.carbon | 78 +- .../function/import/qualified_param.carbon | 4 +- .../cpp/function/import/variadic.carbon | 4 +- .../cpp/function/import/void_pointer.carbon | 34 +- .../testdata/interop/cpp/impls/copy.carbon | 4 +- .../interop/cpp/impls/implicit_as.carbon | 8 +- .../testdata/interop/cpp/macros/macros.carbon | 22 +- .../interop/cpp/operators/operators.carbon | 4 +- .../cpp/primitive_types/arithmetic.carbon | 36 +- .../long_and_long_long.darwin.carbon | 248 +- .../long_and_long_long.llp64.carbon | 260 +- .../long_and_long_long.lp64.carbon | 260 +- .../cpp/primitive_types/void_pointer.carbon | 24 +- .../testdata/interop/cpp/range_for.carbon | 106 +- .../cpp/stdlib/initializer_list.carbon | 8 +- .../interop/cpp/template/generic_call.carbon | 48 +- .../interop/cpp/type_alias/import.carbon | 12 +- toolchain/check/testdata/lambda/lambda.carbon | 186 +- .../testdata/let/compile_time_bindings.carbon | 4 +- .../testdata/let/fail_duplicate_decl.carbon | 4 +- .../check/testdata/let/fail_modifiers.carbon | 4 +- toolchain/check/testdata/let/global.carbon | 8 +- toolchain/check/testdata/let/local.carbon | 4 +- .../check/testdata/let/shadowed_decl.carbon | 8 +- .../check/testdata/main_run/return_i32.carbon | 8 +- .../testdata/namespace/add_to_import.carbon | 4 +- .../check/testdata/namespace/alias.carbon | 4 +- .../namespace/fail_decl_in_alias.carbon | 4 +- .../merging_with_indirections.carbon | 2 +- .../check/testdata/namespace/shadow.carbon | 8 +- .../operators/builtin/assignment.carbon | 8 +- .../fail_assignment_to_non_assignable.carbon | 6 +- .../fail_redundant_compound_access.carbon | 8 +- .../fail_type_mismatch_assignment.carbon | 4 +- .../operators/overloaded/implicit_as.carbon | 4 +- .../overloaded/indirect_index_with.carbon | 4 +- .../overloaded/string_indexing.carbon | 4 +- .../check/testdata/package_expr/syntax.carbon | 16 +- .../fail_conflict_no_namespaces.carbon | 2 +- .../packages/implicit_imports_prelude.carbon | 8 +- .../check/testdata/packages/raw_core.carbon | 8 +- .../check/testdata/patterns/struct.carbon | 28 +- .../testdata/pointer/address_of_deref.carbon | 8 +- .../testdata/pointer/address_of_lvalue.carbon | 12 +- toolchain/check/testdata/pointer/basic.carbon | 12 +- .../check/testdata/pointer/import.carbon | 12 +- .../testdata/pointer/nested_const.carbon | 4 +- toolchain/check/testdata/pointer/types.carbon | 8 +- .../primitives/import_symbolic.carbon | 12 +- .../return/code_after_return_value.carbon | 4 +- .../fail_return_with_returned_var.carbon | 4 +- .../return/fail_returned_var_shadow.carbon | 4 +- .../return/fail_returned_var_type.carbon | 4 +- .../return/import_convert_function.carbon | 8 +- .../check/testdata/return/returned_var.carbon | 4 +- .../testdata/return/returned_var_scope.carbon | 4 +- toolchain/check/testdata/return/struct.carbon | 4 +- toolchain/check/testdata/return/tuple.carbon | 4 +- toolchain/check/testdata/return/value.carbon | 4 +- .../struct/fail_field_name_mismatch.carbon | 8 +- .../struct/fail_member_access_type.carbon | 4 +- .../struct/fail_non_member_access.carbon | 4 +- .../struct/fail_too_few_values.carbon | 4 +- toolchain/check/testdata/struct/import.carbon | 12 +- .../struct/literal_member_access.carbon | 4 +- .../testdata/struct/member_access.carbon | 12 +- .../check/testdata/struct/one_entry.carbon | 8 +- .../testdata/struct/partially_const.carbon | 8 +- .../testdata/struct/reorder_fields.carbon | 8 +- .../testdata/struct/tuple_as_element.carbon | 8 +- .../check/testdata/struct/two_entries.carbon | 8 +- .../testdata/tuple/element_access.carbon | 20 +- toolchain/check/testdata/tuple/import.carbon | 12 +- .../testdata/tuple/in_place_tuple_init.carbon | 8 +- .../check/testdata/var/export_name.carbon | 2 +- .../check/testdata/var/var_pattern.carbon | 4 +- toolchain/check/type_completion.cpp | 3 +- toolchain/lower/testdata/lambda/lambda.carbon | 40 +- toolchain/lower/type.cpp | 5 +- toolchain/sem_ir/inst_kind.def | 2 - toolchain/sem_ir/mangler.cpp | 1 - toolchain/sem_ir/singleton_insts.h | 1 - toolchain/sem_ir/type_iterator.cpp | 1 - toolchain/sem_ir/typed_insts.h | 18 - 276 files changed, 7794 insertions(+), 6269 deletions(-) diff --git a/toolchain/check/eval.cpp b/toolchain/check/eval.cpp index b96c24376b99..c9f48865aed2 100644 --- a/toolchain/check/eval.cpp +++ b/toolchain/check/eval.cpp @@ -3507,13 +3507,10 @@ auto TryEvalBlockForSpecific(Context& context, SemIR::LocId loc_id, result_id = context.constant_values().GetInstId(const_id); } - // TODO: Enable this CHECK once it passes. - // - // CARBON_CHECK( - // context.generic_region_stack().num_tracked_insts() == - // num_tracked_insts, "Evaluating {0} added instructions to an enclosing - // generic region", specific_id); - static_cast(num_tracked_insts); + CARBON_CHECK( + context.generic_region_stack().num_tracked_insts() == num_tracked_insts, + "Evaluating {0} added instructions to an enclosing generic region", + specific_id); } // Information about the function call we are currently executing. Unlike diff --git a/toolchain/check/eval_inst.cpp b/toolchain/check/eval_inst.cpp index a49746b19525..673b9ade4831 100644 --- a/toolchain/check/eval_inst.cpp +++ b/toolchain/check/eval_inst.cpp @@ -440,6 +440,13 @@ auto EvalConstantInst(Context& context, SemIR::InstId inst_id, if (element.has_value() && element != SemIR::InstId::ImplWitnessTablePlaceholder) { LoadImportRef(context, element); + // The constant values in the witness table may depend on the ImplDecl + // specific definition, which we must ensure is resolved before + // accessing them. + if (witness.specific_id.has_value()) { + ResolveSpecificDefinition(context, SemIR::LocId(inst_id), + witness.specific_id); + } return ConstantEvalResult::Existing(GetConstantValueInSpecific( context.sem_ir(), witness.specific_id, element)); } @@ -624,13 +631,6 @@ auto EvalConstantInst(Context& context, SemIR::InstId inst_id, return ConstantEvalResult::NewSamePhase(inst); } -auto EvalConstantInst(Context& context, SemIR::RequireSpecificDefinition inst) - -> ConstantEvalResult { - // This can return false, we just need to try it. - ResolveSpecificDefinition(context, SemIR::LocId::None, inst.specific_id); - return ConstantEvalResult::NewSamePhase(inst); -} - auto EvalConstantInst(Context& context, SemIR::InstId inst_id, SemIR::SpecificConstant inst) -> ConstantEvalResult { // The SpecificConstant can refer to a constant in the definition region of diff --git a/toolchain/check/impl_lookup.cpp b/toolchain/check/impl_lookup.cpp index 1fe75d662fe0..387992e20817 100644 --- a/toolchain/check/impl_lookup.cpp +++ b/toolchain/check/impl_lookup.cpp @@ -285,23 +285,6 @@ static auto TryGetSpecificWitnessIdForImpl( } LoadImportRef(context, impl.witness_id); - if (!impl.is_being_defined() && specific_id.has_value()) { - // If the impl definition can be resolved, eval will do it immediately; - // otherwise, it can be resolved by further specialization. This is used to - // resolve dependency chains when `MakeFinal` is returned without a concrete - // definition; particularly final impls with symbolic constants. - // - // Note we do not do this for lookups _inside_ the definition of the impl, - // as that creates a cycle where resolving the definition must resolve the - // definition. - AddInstInNoBlock( - context, loc_id, - SemIR::RequireSpecificDefinition{ - .type_id = GetSingletonType( - context, SemIR::RequireSpecificDefinitionType::TypeInstId), - .specific_id = specific_id}); - } - return SemIR::GetConstantValueInSpecific(context.sem_ir(), specific_id, impl.witness_id); } diff --git a/toolchain/check/import_ref.cpp b/toolchain/check/import_ref.cpp index c8c9ad618124..f808b81c2052 100644 --- a/toolchain/check/import_ref.cpp +++ b/toolchain/check/import_ref.cpp @@ -4354,28 +4354,6 @@ static auto TryResolveTypedInst(ImportRefResolver& resolver, .complete_type_inst_id = complete_type_inst_id}); } -static auto TryResolveTypedInst(ImportRefResolver& resolver, - SemIR::RequireSpecificDefinition inst) - -> ResolveResult { - CARBON_CHECK(resolver.import_types().GetTypeInstId(inst.type_id) == - SemIR::RequireSpecificDefinitionType::TypeInstId); - - auto specific_data = GetLocalSpecificData(resolver, inst.specific_id); - - if (resolver.HasNewWork()) { - return ResolveResult::Retry(); - } - - auto specific_id = - GetOrAddLocalSpecific(resolver, inst.specific_id, specific_data); - - return ResolveResult::Deduplicated( - resolver, {.type_id = GetSingletonType( - resolver.local_context(), - SemIR::RequireSpecificDefinitionType::TypeInstId), - .specific_id = specific_id}); -} - static auto TryResolveTypedInst(ImportRefResolver& resolver, SemIR::ReturnSlotPattern inst) -> ResolveResult { @@ -4864,9 +4842,6 @@ static auto TryResolveInstCanonical(ImportRefResolver& resolver, case CARBON_KIND(SemIR::RequireCompleteType inst): { return TryResolveTypedInst(resolver, inst); } - case CARBON_KIND(SemIR::RequireSpecificDefinition inst): { - return TryResolveTypedInst(resolver, inst); - } case CARBON_KIND(SemIR::ReturnSlotPattern inst): { return TryResolveTypedInst(resolver, inst); } diff --git a/toolchain/check/testdata/alias/export_name.carbon b/toolchain/check/testdata/alias/export_name.carbon index 5f3c10c59a91..69120d730c1f 100644 --- a/toolchain/check/testdata/alias/export_name.carbon +++ b/toolchain/check/testdata/alias/export_name.carbon @@ -302,11 +302,11 @@ var d: D* = &c; // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.2f3: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.2f3) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.7ed: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.dea: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7ed, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.c88 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c88, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] diff --git a/toolchain/check/testdata/alias/import.carbon b/toolchain/check/testdata/alias/import.carbon index 0c64ff4a5a2d..0e8b91232016 100644 --- a/toolchain/check/testdata/alias/import.carbon +++ b/toolchain/check/testdata/alias/import.carbon @@ -81,9 +81,9 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.f83: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.f83) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.708: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.976: %T.as.DefaultOrUnformed.impl.Op.type.708 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.f83) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.976, @T.as.DefaultOrUnformed.impl.Op(%ptr) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -157,9 +157,9 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.f83: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.f83) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.708: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.976: %T.as.DefaultOrUnformed.impl.Op.type.708 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.f83) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.976, @T.as.DefaultOrUnformed.impl.Op(%ptr) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -239,9 +239,9 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.f83: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.f83) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.708: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.976: %T.as.DefaultOrUnformed.impl.Op.type.708 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.f83) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.976, @T.as.DefaultOrUnformed.impl.Op(%ptr) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/array/bound_values.carbon b/toolchain/check/testdata/array/bound_values.carbon index 1a0dc51b4f77..9eade93d879c 100644 --- a/toolchain/check/testdata/array/bound_values.carbon +++ b/toolchain/check/testdata/array/bound_values.carbon @@ -116,11 +116,11 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.81c: %Core.IntLiteral.as.As.impl.Convert.type.16e = struct_value () [symbolic] // CHECK:STDOUT: %From.fe9: Core.IntLiteral = symbolic_binding From, 0 [symbolic] // CHECK:STDOUT: %As.impl_witness.f4f: = impl_witness imports.%As.impl_witness_table.43c, @Core.IntLiteral.as.As.impl.d83(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.ea3: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.d83(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.0bc: %Core.IntLiteral.as.As.impl.Convert.type.ea3 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.d0a = facet_value Core.IntLiteral, (%As.impl_witness.f4f) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2f2: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u32, %As.facet) [concrete] // CHECK:STDOUT: %.a11: type = fn_type_with_self_type %As.WithSelf.Convert.type.2f2, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.ea3: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.d83(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.0bc: %Core.IntLiteral.as.As.impl.Convert.type.ea3 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_3.1ba, %Core.IntLiteral.as.As.impl.Convert.0bc [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.0bc, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.286: = bound_method %int_3.1ba, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -129,11 +129,11 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.802: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.d6a(%From.fe9) [symbolic] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.7a2: %UInt.as.ImplicitAs.impl.Convert.type.802 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.adc: = impl_witness imports.%ImplicitAs.impl_witness_table.7eb, @UInt.as.ImplicitAs.impl.d6a(%int_32) [concrete] -// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.311: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.d6a(%int_32) [concrete] -// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.9a6: %UInt.as.ImplicitAs.impl.Convert.type.311 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.d02: %ImplicitAs.type.5be = facet_value %u32, (%ImplicitAs.impl_witness.adc) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.ae5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.d02) [concrete] // CHECK:STDOUT: %.4a3: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.ae5, %ImplicitAs.facet.d02 [concrete] +// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.311: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.d6a(%int_32) [concrete] +// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.9a6: %UInt.as.ImplicitAs.impl.Convert.type.311 = struct_value () [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.d32, %UInt.as.ImplicitAs.impl.Convert.9a6 [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %UInt.as.ImplicitAs.impl.Convert.9a6, @UInt.as.ImplicitAs.impl.Convert.1(%int_32) [concrete] // CHECK:STDOUT: %bound_method.12e: = bound_method %int_3.d32, %UInt.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/array/import.carbon b/toolchain/check/testdata/array/import.carbon index 76983aac0633..ff4b44c66e4c 100644 --- a/toolchain/check/testdata/array/import.carbon +++ b/toolchain/check/testdata/array/import.carbon @@ -66,11 +66,11 @@ fn F() -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %SubobjectDestroy.type: type = facet_type <@SubobjectDestroy> [concrete] diff --git a/toolchain/check/testdata/array/index_not_literal.carbon b/toolchain/check/testdata/array/index_not_literal.carbon index 4f5743cf0bc4..b5d20526de56 100644 --- a/toolchain/check/testdata/array/index_not_literal.carbon +++ b/toolchain/check/testdata/array/index_not_literal.carbon @@ -60,11 +60,11 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @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] @@ -76,11 +76,11 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -242,11 +242,11 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/array/init_dependent_bound.carbon b/toolchain/check/testdata/array/init_dependent_bound.carbon index 4f666b74e92f..1fd93f065c2b 100644 --- a/toolchain/check/testdata/array/init_dependent_bound.carbon +++ b/toolchain/check/testdata/array/init_dependent_bound.carbon @@ -88,8 +88,6 @@ fn H() { G(3); } // CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.140: = lookup_impl_witness %Array.744, @DestroyImpl [symbolic] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.2ad: = lookup_impl_witness %Array.744, @SubobjectDestroy [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.b3e: %SubobjectDestroy.type = facet_value %Array.744, (%SubobjectDestroy.lookup_impl_witness.2ad) [symbolic] -// CHECK:STDOUT: %.b07: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.b3e) [symbolic] // CHECK:STDOUT: %Destroy.facet.5cf: %Destroy.type = facet_value %Array.744, (%DestroyImpl.lookup_impl_witness.140, %SubobjectDestroy.lookup_impl_witness.2ad) [symbolic] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %Array.184: type = class_type @Array, @Array(%C, %int_0) [concrete] @@ -104,7 +102,6 @@ fn H() { G(3); } // CHECK:STDOUT: %custom_witness.b80: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.466: %SubobjectDestroy.type = facet_value %Array.184, (%custom_witness.b80) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.714: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.466) [concrete] -// CHECK:STDOUT: %.426: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.466) [concrete] // CHECK:STDOUT: %Destroy.facet.29c: %Destroy.type = facet_value %Array.184, (%DestroyImpl.impl_witness.714, %custom_witness.b80) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.cac: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.29c) [concrete] // CHECK:STDOUT: } @@ -124,10 +121,8 @@ fn H() { G(3); } // CHECK:STDOUT: %arr.patt.loc7_17.2: @G.%pattern_type (%pattern_type.197) = ref_binding_pattern arr [symbolic = %arr.patt.loc7_17.2 (constants.%arr.patt.a3c)] // CHECK:STDOUT: %arr.var_patt.loc7_3.2: @G.%pattern_type (%pattern_type.197) = var_pattern %arr.patt.loc7_17.2 [symbolic = %arr.var_patt.loc7_3.2 (constants.%arr.var_patt.aeb)] // CHECK:STDOUT: %array: @G.%Array.loc7_29.2 (%Array.744) = tuple_value () [symbolic = %array (constants.%array.3f3)] -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %Array.loc7_29.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.2ad)] -// CHECK:STDOUT: %SubobjectDestroy.facet: %SubobjectDestroy.type = facet_value %Array.loc7_29.2, (%SubobjectDestroy.lookup_impl_witness) [symbolic = %SubobjectDestroy.facet (constants.%SubobjectDestroy.facet.b3e)] -// CHECK:STDOUT: %.loc7_3.4: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet) [symbolic = %.loc7_3.4 (constants.%.b07)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness: = lookup_impl_witness %Array.loc7_29.2, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness (constants.%DestroyImpl.lookup_impl_witness.140)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %Array.loc7_29.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.2ad)] // CHECK:STDOUT: %Destroy.facet.loc7_3.3: %Destroy.type = facet_value %Array.loc7_29.2, (%DestroyImpl.lookup_impl_witness, %SubobjectDestroy.lookup_impl_witness) [symbolic = %Destroy.facet.loc7_3.3 (constants.%Destroy.facet.5cf)] // CHECK:STDOUT: // CHECK:STDOUT: @@ -176,10 +171,8 @@ fn H() { G(3); } // CHECK:STDOUT: %arr.patt.loc7_17.2 => constants.%arr.patt.081 // CHECK:STDOUT: %arr.var_patt.loc7_3.2 => constants.%arr.var_patt.c85 // CHECK:STDOUT: %array => constants.%array.27e -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness => constants.%custom_witness.b80 -// CHECK:STDOUT: %SubobjectDestroy.facet => constants.%SubobjectDestroy.facet.466 -// CHECK:STDOUT: %.loc7_3.4 => constants.%.426 // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness => constants.%DestroyImpl.impl_witness.714 +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness => constants.%custom_witness.b80 // CHECK:STDOUT: %Destroy.facet.loc7_3.3 => constants.%Destroy.facet.29c // CHECK:STDOUT: %SelfDestruct.specific_fn.2 => constants.%SelfDestruct.specific_fn.cac // CHECK:STDOUT: } @@ -226,21 +219,21 @@ fn H() { G(3); } // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.dfd: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.914: %Int.as.ImplicitAs.impl.Convert.type.dfd = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.b3c: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.fb0: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_3.9f3: %i32 = int_value 3 [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.323: = impl_witness imports.%ImplicitAs.impl_witness_table.b7c, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.0aa: %ImplicitAs.type.5be = facet_value %i32, (%ImplicitAs.impl_witness.323) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4c7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.0aa) [concrete] // CHECK:STDOUT: %.ce7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4c7, %ImplicitAs.facet.0aa [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.9f3, %Int.as.ImplicitAs.impl.Convert.779 [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.779, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.746: = bound_method %int_3.9f3, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/as/adapter_conversion.carbon b/toolchain/check/testdata/as/adapter_conversion.carbon index 9e8b6bd74609..d5da2ced3a8e 100644 --- a/toolchain/check/testdata/as/adapter_conversion.carbon +++ b/toolchain/check/testdata/as/adapter_conversion.carbon @@ -240,11 +240,11 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %pattern_type.d94: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.94f, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] @@ -342,11 +342,11 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/basics/parens.carbon b/toolchain/check/testdata/basics/parens.carbon index bc15121383ae..22b70dad72d1 100644 --- a/toolchain/check/testdata/basics/parens.carbon +++ b/toolchain/check/testdata/basics/parens.carbon @@ -33,11 +33,11 @@ var b: i32 = ((2)); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon b/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon index 7406f8bbba8c..7ade7d2317b8 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon @@ -74,7 +74,6 @@ // CHECK:STDOUT: 'inst(InstType)': {kind: InstType, type: type(TypeType)} // CHECK:STDOUT: 'inst(IntLiteralType)': {kind: IntLiteralType, type: type(TypeType)} // CHECK:STDOUT: 'inst(NamespaceType)': {kind: NamespaceType, type: type(TypeType)} -// CHECK:STDOUT: 'inst(RequireSpecificDefinitionType)': {kind: RequireSpecificDefinitionType, type: type(TypeType)} // CHECK:STDOUT: 'inst(SpecificFunctionType)': {kind: SpecificFunctionType, type: type(TypeType)} // CHECK:STDOUT: 'inst(VtableType)': {kind: VtableType, type: type(TypeType)} // CHECK:STDOUT: 'inst(WitnessType)': {kind: WitnessType, type: type(TypeType)} @@ -93,7 +92,6 @@ // CHECK:STDOUT: 'inst(InstType)': concrete_constant(inst(InstType)) // CHECK:STDOUT: 'inst(IntLiteralType)': concrete_constant(inst(IntLiteralType)) // CHECK:STDOUT: 'inst(NamespaceType)': concrete_constant(inst(NamespaceType)) -// CHECK:STDOUT: 'inst(RequireSpecificDefinitionType)': concrete_constant(inst(RequireSpecificDefinitionType)) // CHECK:STDOUT: 'inst(SpecificFunctionType)': concrete_constant(inst(SpecificFunctionType)) // CHECK:STDOUT: 'inst(VtableType)': concrete_constant(inst(VtableType)) // CHECK:STDOUT: 'inst(WitnessType)': concrete_constant(inst(WitnessType)) diff --git a/toolchain/check/testdata/basics/raw_sem_ir/bundle.carbon b/toolchain/check/testdata/basics/raw_sem_ir/bundle.carbon index 6d7460a1b75d..79b861c9695d 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/bundle.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/bundle.carbon @@ -24,27 +24,27 @@ fn F(generic Form: Core.Form) ->? Form; // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} -// CHECK:STDOUT: import_ir70000002: {decl_id: inst70000010, is_export: false} -// CHECK:STDOUT: import_ir70000003: {decl_id: inst70000010, is_export: false} +// CHECK:STDOUT: import_ir70000002: {decl_id: inst7000000F, is_export: false} +// CHECK:STDOUT: import_ir70000003: {decl_id: inst7000000F, is_export: false} // CHECK:STDOUT: import_ir_insts: -// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir70000003, inst_id: inst50000022} +// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir70000003, inst_id: inst50000021} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Core): inst70000011, name0: inst70000031}} -// CHECK:STDOUT: name_scope70000001: {inst: inst70000011, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name1: inst70000015}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Core): inst70000010, name0: inst70000030}} +// CHECK:STDOUT: name_scope70000001: {inst: inst70000010, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name1: inst70000014}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name70000000: {name: name(PeriodSelf), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0, is_frozen_period_self: 1, form: inst, type: inst} // CHECK:STDOUT: entity_name70000001: {name: name1, parent_scope: name_scope70000001, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst} -// CHECK:STDOUT: entity_name70000002: {name: name1, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst70000016} +// CHECK:STDOUT: entity_name70000002: {name: name1, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst70000015} // CHECK:STDOUT: functions: -// CHECK:STDOUT: function70000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block70000008, call_params_id: inst_block70000009, return_type_inst_id: inst7000001F, return_form_inst_id: inst7000001E, return_pattern_id: inst70000028} +// CHECK:STDOUT: function70000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block70000008, call_params_id: inst_block70000009, return_type_inst_id: inst7000001E, return_form_inst_id: inst7000001D, return_pattern_id: inst70000027} // CHECK:STDOUT: classes: {} // CHECK:STDOUT: interfaces: {} // CHECK:STDOUT: associated_constants: {} // CHECK:STDOUT: impls: {} // CHECK:STDOUT: generics: -// CHECK:STDOUT: generic70000000: {decl: inst70000031, bindings: inst_block7000000C, self_specific_id: specific70000000, decl_block_id: inst_block7000000E, definition_block_id: inst_block} +// CHECK:STDOUT: generic70000000: {decl: inst70000030, bindings: inst_block7000000C, self_specific_id: specific70000000, decl_block_id: inst_block7000000E, definition_block_id: inst_block} // CHECK:STDOUT: specifics: // CHECK:STDOUT: specific70000000: {generic: generic70000000, args: inst_block7000000D, identified: 0, decl_block_id: inst_block7000000F, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} // CHECK:STDOUT: specific_interfaces: {} @@ -76,13 +76,13 @@ fn F(generic Form: Core.Form) ->? Form; // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst70000037)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst70000038)} +// CHECK:STDOUT: 'type(inst70000036)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst70000037)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst70000038)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst70000038)} +// CHECK:STDOUT: 'type(inst70000037)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst70000037)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -91,176 +91,176 @@ fn F(generic Form: Core.Form) ->? Form; // CHECK:STDOUT: insts: // CHECK:STDOUT: 'inst(TypeType)': {kind: FacetType, arg0: declared_facet_type(Empty), type: type(TypeType)} // CHECK:STDOUT: 'inst(Package)': {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst70000010: {kind: ImportDecl, arg0: name(Core)} -// CHECK:STDOUT: inst70000011: {kind: Namespace, arg0: name_scope70000001, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst7000000F: {kind: ImportDecl, arg0: name(Core)} +// CHECK:STDOUT: inst70000010: {kind: Namespace, arg0: name_scope70000001, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst70000011: {kind: SymbolicBinding, arg0: entity_name70000000, arg1: inst, type: type(TypeType)} // CHECK:STDOUT: inst70000012: {kind: SymbolicBinding, arg0: entity_name70000000, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst70000013: {kind: SymbolicBinding, arg0: entity_name70000000, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst70000014: {kind: NameRef, arg0: name(Core), arg1: inst70000011, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst70000015: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name70000001, type: type(TypeType)} -// CHECK:STDOUT: inst70000016: {kind: NameRef, arg0: name1, arg1: inst70000015, type: type(TypeType)} -// CHECK:STDOUT: inst70000017: {kind: PatternType, arg0: inst(FormType), type: type(TypeType)} -// CHECK:STDOUT: inst70000018: {kind: SymbolicBindingPattern, arg0: entity_name70000002, type: type(inst70000017)} -// CHECK:STDOUT: inst70000019: {kind: SymbolicBindingPattern, arg0: entity_name70000002, type: type(inst70000017)} -// CHECK:STDOUT: inst7000001A: {kind: SymbolicBindingPattern, arg0: entity_name70000002, type: type(inst70000017)} +// CHECK:STDOUT: inst70000013: {kind: NameRef, arg0: name(Core), arg1: inst70000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst70000014: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name70000001, type: type(TypeType)} +// CHECK:STDOUT: inst70000015: {kind: NameRef, arg0: name1, arg1: inst70000014, type: type(TypeType)} +// CHECK:STDOUT: inst70000016: {kind: PatternType, arg0: inst(FormType), type: type(TypeType)} +// CHECK:STDOUT: inst70000017: {kind: SymbolicBindingPattern, arg0: entity_name70000002, type: type(inst70000016)} +// CHECK:STDOUT: inst70000018: {kind: SymbolicBindingPattern, arg0: entity_name70000002, type: type(inst70000016)} +// CHECK:STDOUT: inst70000019: {kind: SymbolicBindingPattern, arg0: entity_name70000002, type: type(inst70000016)} +// CHECK:STDOUT: inst7000001A: {kind: SymbolicBinding, arg0: entity_name70000002, arg1: inst, type: type(inst(FormType))} // CHECK:STDOUT: inst7000001B: {kind: SymbolicBinding, arg0: entity_name70000002, arg1: inst, type: type(inst(FormType))} // CHECK:STDOUT: inst7000001C: {kind: SymbolicBinding, arg0: entity_name70000002, arg1: inst, type: type(inst(FormType))} -// CHECK:STDOUT: inst7000001D: {kind: SymbolicBinding, arg0: entity_name70000002, arg1: inst, type: type(inst(FormType))} -// CHECK:STDOUT: inst7000001E: {kind: NameRef, arg0: name1, arg1: inst7000001B, type: type(inst(FormType))} -// CHECK:STDOUT: inst7000001F: {kind: TypeComponentOf, arg0: inst7000001E, type: type(TypeType)} +// CHECK:STDOUT: inst7000001D: {kind: NameRef, arg0: name1, arg1: inst7000001A, type: type(inst(FormType))} +// CHECK:STDOUT: inst7000001E: {kind: TypeComponentOf, arg0: inst7000001D, type: type(TypeType)} +// CHECK:STDOUT: inst7000001F: {kind: TypeComponentOf, arg0: inst7000001B, type: type(TypeType)} // CHECK:STDOUT: inst70000020: {kind: TypeComponentOf, arg0: inst7000001C, type: type(TypeType)} -// CHECK:STDOUT: inst70000021: {kind: TypeComponentOf, arg0: inst7000001D, type: type(TypeType)} -// CHECK:STDOUT: inst70000022: {kind: PatternType, arg0: inst70000020, type: type(TypeType)} -// CHECK:STDOUT: inst70000023: {kind: OutFormParamPatternAction, arg0: inst7000001E, type: type(inst(InstType))} -// CHECK:STDOUT: inst70000024: {kind: SpliceInst, arg0: inst70000023, type: type(symbolic_constant7000000A)} -// CHECK:STDOUT: inst70000025: {kind: SpliceInst, arg0: inst70000023, type: type(symbolic_constant70000007)} -// CHECK:STDOUT: inst70000026: {kind: PatternType, arg0: inst70000021, type: type(TypeType)} -// CHECK:STDOUT: inst70000027: {kind: SpliceInst, arg0: inst70000023, type: type(symbolic_constant7000000A)} -// CHECK:STDOUT: inst70000028: {kind: ReturnSlotPattern, arg0: inst70000024, arg1: inst7000001F, type: type(symbolic_constant7000000A)} -// CHECK:STDOUT: inst70000029: {kind: ReturnSlotPattern, arg0: inst70000025, arg1: inst70000020, type: type(symbolic_constant70000007)} -// CHECK:STDOUT: inst7000002A: {kind: ReturnSlotPattern, arg0: inst70000027, arg1: inst70000021, type: type(symbolic_constant7000000A)} -// CHECK:STDOUT: inst7000002B: {kind: SpliceBlock, arg0: inst_block70000006, arg1: inst70000016, type: type(TypeType)} -// CHECK:STDOUT: inst7000002C: {kind: CalleePatternMatchAction, arg0: bundle70000000, type: type(inst(InstType))} -// CHECK:STDOUT: inst7000002D: {kind: SpliceInst, arg0: inst7000002C, type: type(symbolic_constant70000006)} -// CHECK:STDOUT: inst7000002E: {kind: SpliceInst, arg0: inst7000002C, type: type(symbolic_constant70000005)} -// CHECK:STDOUT: inst7000002F: {kind: SpliceInst, arg0: inst7000002C, type: type(symbolic_constant70000006)} -// CHECK:STDOUT: inst70000030: {kind: ReturnSlot, arg0: inst70000020, arg1: inst7000002D, type: type(symbolic_constant70000006)} -// CHECK:STDOUT: inst70000031: {kind: FunctionDecl, arg0: function70000000, arg1: inst_block7000000B, type: type(inst70000037)} -// CHECK:STDOUT: inst70000032: {kind: OutFormParamPatternAction, arg0: inst7000001C, type: type(inst(InstType))} -// CHECK:STDOUT: inst70000033: {kind: SpliceInst, arg0: inst70000032, type: type(symbolic_constant70000007)} -// CHECK:STDOUT: inst70000034: {kind: ReturnSlotPattern, arg0: inst70000033, arg1: inst70000020, type: type(symbolic_constant70000007)} -// CHECK:STDOUT: inst70000035: {kind: CalleePatternMatchAction, arg0: bundle70000000, type: type(inst(InstType))} -// CHECK:STDOUT: inst70000036: {kind: SpliceInst, arg0: inst70000035, type: type(symbolic_constant70000005)} -// CHECK:STDOUT: inst70000037: {kind: FunctionType, arg0: function70000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst70000038: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst70000039: {kind: StructValue, arg0: inst_block_empty, type: type(inst70000037)} +// CHECK:STDOUT: inst70000021: {kind: PatternType, arg0: inst7000001F, type: type(TypeType)} +// CHECK:STDOUT: inst70000022: {kind: OutFormParamPatternAction, arg0: inst7000001D, type: type(inst(InstType))} +// CHECK:STDOUT: inst70000023: {kind: SpliceInst, arg0: inst70000022, type: type(symbolic_constant7000000A)} +// CHECK:STDOUT: inst70000024: {kind: SpliceInst, arg0: inst70000022, type: type(symbolic_constant70000007)} +// CHECK:STDOUT: inst70000025: {kind: PatternType, arg0: inst70000020, type: type(TypeType)} +// CHECK:STDOUT: inst70000026: {kind: SpliceInst, arg0: inst70000022, type: type(symbolic_constant7000000A)} +// CHECK:STDOUT: inst70000027: {kind: ReturnSlotPattern, arg0: inst70000023, arg1: inst7000001E, type: type(symbolic_constant7000000A)} +// CHECK:STDOUT: inst70000028: {kind: ReturnSlotPattern, arg0: inst70000024, arg1: inst7000001F, type: type(symbolic_constant70000007)} +// CHECK:STDOUT: inst70000029: {kind: ReturnSlotPattern, arg0: inst70000026, arg1: inst70000020, type: type(symbolic_constant7000000A)} +// CHECK:STDOUT: inst7000002A: {kind: SpliceBlock, arg0: inst_block70000006, arg1: inst70000015, type: type(TypeType)} +// CHECK:STDOUT: inst7000002B: {kind: CalleePatternMatchAction, arg0: bundle70000000, type: type(inst(InstType))} +// CHECK:STDOUT: inst7000002C: {kind: SpliceInst, arg0: inst7000002B, type: type(symbolic_constant70000006)} +// CHECK:STDOUT: inst7000002D: {kind: SpliceInst, arg0: inst7000002B, type: type(symbolic_constant70000005)} +// CHECK:STDOUT: inst7000002E: {kind: SpliceInst, arg0: inst7000002B, type: type(symbolic_constant70000006)} +// CHECK:STDOUT: inst7000002F: {kind: ReturnSlot, arg0: inst7000001F, arg1: inst7000002C, type: type(symbolic_constant70000006)} +// CHECK:STDOUT: inst70000030: {kind: FunctionDecl, arg0: function70000000, arg1: inst_block7000000B, type: type(inst70000036)} +// CHECK:STDOUT: inst70000031: {kind: OutFormParamPatternAction, arg0: inst7000001B, type: type(inst(InstType))} +// CHECK:STDOUT: inst70000032: {kind: SpliceInst, arg0: inst70000031, type: type(symbolic_constant70000007)} +// CHECK:STDOUT: inst70000033: {kind: ReturnSlotPattern, arg0: inst70000032, arg1: inst7000001F, type: type(symbolic_constant70000007)} +// CHECK:STDOUT: inst70000034: {kind: CalleePatternMatchAction, arg0: bundle70000000, type: type(inst(InstType))} +// CHECK:STDOUT: inst70000035: {kind: SpliceInst, arg0: inst70000034, type: type(symbolic_constant70000005)} +// CHECK:STDOUT: inst70000036: {kind: FunctionType, arg0: function70000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst70000037: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst70000038: {kind: StructValue, arg0: inst_block_empty, type: type(inst70000036)} // CHECK:STDOUT: bundles: -// CHECK:STDOUT: bundle70000000: {arg0: inst70000025, arg1: call_param0} +// CHECK:STDOUT: bundle70000000: {arg0: inst70000024, arg1: call_param0} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) // CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) -// CHECK:STDOUT: inst70000011: concrete_constant(inst70000011) +// CHECK:STDOUT: inst70000010: concrete_constant(inst70000010) +// CHECK:STDOUT: inst70000011: symbolic_constant70000000 // CHECK:STDOUT: inst70000012: symbolic_constant70000000 -// CHECK:STDOUT: inst70000013: symbolic_constant70000000 -// CHECK:STDOUT: inst70000014: concrete_constant(inst70000011) +// CHECK:STDOUT: inst70000013: concrete_constant(inst70000010) +// CHECK:STDOUT: inst70000014: concrete_constant(inst(FormType)) // CHECK:STDOUT: inst70000015: concrete_constant(inst(FormType)) -// CHECK:STDOUT: inst70000016: concrete_constant(inst(FormType)) -// CHECK:STDOUT: inst70000017: concrete_constant(inst70000017) -// CHECK:STDOUT: inst70000018: symbolic_constant70000002 -// CHECK:STDOUT: inst70000019: symbolic_constant70000001 -// CHECK:STDOUT: inst7000001A: symbolic_constant70000002 -// CHECK:STDOUT: inst7000001B: symbolic_constant70000004 -// CHECK:STDOUT: inst7000001C: symbolic_constant70000003 +// CHECK:STDOUT: inst70000016: concrete_constant(inst70000016) +// CHECK:STDOUT: inst70000017: symbolic_constant70000002 +// CHECK:STDOUT: inst70000018: symbolic_constant70000001 +// CHECK:STDOUT: inst70000019: symbolic_constant70000002 +// CHECK:STDOUT: inst7000001A: symbolic_constant70000004 +// CHECK:STDOUT: inst7000001B: symbolic_constant70000003 +// CHECK:STDOUT: inst7000001C: symbolic_constant70000004 // CHECK:STDOUT: inst7000001D: symbolic_constant70000004 -// CHECK:STDOUT: inst7000001E: symbolic_constant70000004 -// CHECK:STDOUT: inst7000001F: symbolic_constant70000006 -// CHECK:STDOUT: inst70000020: symbolic_constant70000005 -// CHECK:STDOUT: inst70000021: symbolic_constant70000006 -// CHECK:STDOUT: inst70000022: symbolic_constant70000007 -// CHECK:STDOUT: inst70000023: symbolic_constant70000008 -// CHECK:STDOUT: inst70000024: symbolic_constant7000000B -// CHECK:STDOUT: inst70000025: symbolic_constant70000009 -// CHECK:STDOUT: inst70000026: symbolic_constant7000000A -// CHECK:STDOUT: inst70000027: symbolic_constant7000000B -// CHECK:STDOUT: inst70000028: symbolic_constant7000000D -// CHECK:STDOUT: inst70000029: symbolic_constant7000000C -// CHECK:STDOUT: inst7000002A: symbolic_constant7000000D -// CHECK:STDOUT: inst7000002B: concrete_constant(inst(FormType)) -// CHECK:STDOUT: inst7000002C: symbolic_constant7000000E -// CHECK:STDOUT: inst7000002D: symbolic_constant70000010 -// CHECK:STDOUT: inst7000002E: symbolic_constant7000000F -// CHECK:STDOUT: inst7000002F: symbolic_constant70000010 -// CHECK:STDOUT: inst70000031: concrete_constant(inst70000039) -// CHECK:STDOUT: inst70000032: symbolic_constant70000011 -// CHECK:STDOUT: inst70000033: symbolic_constant70000012 -// CHECK:STDOUT: inst70000034: symbolic_constant70000013 -// CHECK:STDOUT: inst70000035: symbolic_constant70000014 -// CHECK:STDOUT: inst70000036: symbolic_constant70000015 +// CHECK:STDOUT: inst7000001E: symbolic_constant70000006 +// CHECK:STDOUT: inst7000001F: symbolic_constant70000005 +// CHECK:STDOUT: inst70000020: symbolic_constant70000006 +// CHECK:STDOUT: inst70000021: symbolic_constant70000007 +// CHECK:STDOUT: inst70000022: symbolic_constant70000008 +// CHECK:STDOUT: inst70000023: symbolic_constant7000000B +// CHECK:STDOUT: inst70000024: symbolic_constant70000009 +// CHECK:STDOUT: inst70000025: symbolic_constant7000000A +// CHECK:STDOUT: inst70000026: symbolic_constant7000000B +// CHECK:STDOUT: inst70000027: symbolic_constant7000000D +// CHECK:STDOUT: inst70000028: symbolic_constant7000000C +// CHECK:STDOUT: inst70000029: symbolic_constant7000000D +// CHECK:STDOUT: inst7000002A: concrete_constant(inst(FormType)) +// CHECK:STDOUT: inst7000002B: symbolic_constant7000000E +// CHECK:STDOUT: inst7000002C: symbolic_constant70000010 +// CHECK:STDOUT: inst7000002D: symbolic_constant7000000F +// CHECK:STDOUT: inst7000002E: symbolic_constant70000010 +// CHECK:STDOUT: inst70000030: concrete_constant(inst70000038) +// CHECK:STDOUT: inst70000031: symbolic_constant70000011 +// CHECK:STDOUT: inst70000032: symbolic_constant70000012 +// CHECK:STDOUT: inst70000033: symbolic_constant70000013 +// CHECK:STDOUT: inst70000034: symbolic_constant70000014 +// CHECK:STDOUT: inst70000035: symbolic_constant70000015 +// CHECK:STDOUT: inst70000036: concrete_constant(inst70000036) // CHECK:STDOUT: inst70000037: concrete_constant(inst70000037) // CHECK:STDOUT: inst70000038: concrete_constant(inst70000038) -// CHECK:STDOUT: inst70000039: concrete_constant(inst70000039) // CHECK:STDOUT: symbolic_constants: -// CHECK:STDOUT: symbolic_constant70000000: {inst: inst70000013, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant70000001: {inst: inst70000019, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant70000002: {inst: inst70000019, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant70000003: {inst: inst7000001C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant70000004: {inst: inst7000001C, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant70000005: {inst: inst70000020, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant70000006: {inst: inst70000020, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant70000007: {inst: inst70000022, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant70000008: {inst: inst70000023, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant70000009: {inst: inst70000025, kind: template, attached: null} -// CHECK:STDOUT: symbolic_constant7000000A: {inst: inst70000022, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7000000B: {inst: inst70000025, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7000000C: {inst: inst70000029, kind: template, attached: null} -// CHECK:STDOUT: symbolic_constant7000000D: {inst: inst70000029, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7000000E: {inst: inst7000002C, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant7000000F: {inst: inst7000002E, kind: template, attached: null} -// CHECK:STDOUT: symbolic_constant70000010: {inst: inst7000002E, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant70000011: {inst: inst70000032, kind: template, attached: null} -// CHECK:STDOUT: symbolic_constant70000012: {inst: inst70000033, kind: template, attached: null} -// CHECK:STDOUT: symbolic_constant70000013: {inst: inst70000034, kind: template, attached: null} -// CHECK:STDOUT: symbolic_constant70000014: {inst: inst70000035, kind: template, attached: null} -// CHECK:STDOUT: symbolic_constant70000015: {inst: inst70000036, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant70000000: {inst: inst70000012, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant70000001: {inst: inst70000018, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant70000002: {inst: inst70000018, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant70000003: {inst: inst7000001B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant70000004: {inst: inst7000001B, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant70000005: {inst: inst7000001F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant70000006: {inst: inst7000001F, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant70000007: {inst: inst70000021, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant70000008: {inst: inst70000022, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant70000009: {inst: inst70000024, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant7000000A: {inst: inst70000021, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7000000B: {inst: inst70000024, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7000000C: {inst: inst70000028, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant7000000D: {inst: inst70000028, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7000000E: {inst: inst7000002B, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant7000000F: {inst: inst7000002D, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant70000010: {inst: inst7000002D, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant70000011: {inst: inst70000031, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant70000012: {inst: inst70000032, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant70000013: {inst: inst70000033, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant70000014: {inst: inst70000034, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant70000015: {inst: inst70000035, kind: template, attached: null} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst70000031 +// CHECK:STDOUT: 0: inst70000030 // CHECK:STDOUT: generated: {} // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: inst70000011 -// CHECK:STDOUT: 1: inst70000015 +// CHECK:STDOUT: 0: inst70000010 +// CHECK:STDOUT: 1: inst70000014 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: extra_global_variables: {} // CHECK:STDOUT: inst_block70000006: -// CHECK:STDOUT: 0: inst70000012 -// CHECK:STDOUT: 1: inst70000014 -// CHECK:STDOUT: 2: inst70000016 +// CHECK:STDOUT: 0: inst70000011 +// CHECK:STDOUT: 1: inst70000013 +// CHECK:STDOUT: 2: inst70000015 // CHECK:STDOUT: inst_block70000007: -// CHECK:STDOUT: 0: inst70000018 +// CHECK:STDOUT: 0: inst70000017 // CHECK:STDOUT: inst_block70000008: -// CHECK:STDOUT: 0: inst70000024 +// CHECK:STDOUT: 0: inst70000023 // CHECK:STDOUT: inst_block70000009: -// CHECK:STDOUT: 0: inst7000002D +// CHECK:STDOUT: 0: inst7000002C // CHECK:STDOUT: inst_block7000000A: -// CHECK:STDOUT: 0: inst70000018 -// CHECK:STDOUT: 1: inst70000024 -// CHECK:STDOUT: 2: inst70000028 +// CHECK:STDOUT: 0: inst70000017 +// CHECK:STDOUT: 1: inst70000023 +// CHECK:STDOUT: 2: inst70000027 // CHECK:STDOUT: inst_block7000000B: -// CHECK:STDOUT: 0: inst7000001E -// CHECK:STDOUT: 1: inst7000001F -// CHECK:STDOUT: 2: inst7000002B -// CHECK:STDOUT: 3: inst7000001B -// CHECK:STDOUT: 4: inst7000002D -// CHECK:STDOUT: 5: inst70000030 +// CHECK:STDOUT: 0: inst7000001D +// CHECK:STDOUT: 1: inst7000001E +// CHECK:STDOUT: 2: inst7000002A +// CHECK:STDOUT: 3: inst7000001A +// CHECK:STDOUT: 4: inst7000002C +// CHECK:STDOUT: 5: inst7000002F // CHECK:STDOUT: inst_block7000000C: -// CHECK:STDOUT: 0: inst7000001B -// CHECK:STDOUT: inst_block7000000D: -// CHECK:STDOUT: 0: inst7000001C -// CHECK:STDOUT: inst_block7000000E: // CHECK:STDOUT: 0: inst7000001A -// CHECK:STDOUT: 1: inst7000001D -// CHECK:STDOUT: 2: inst70000021 -// CHECK:STDOUT: 3: inst70000023 -// CHECK:STDOUT: 4: inst70000026 -// CHECK:STDOUT: 5: inst70000027 -// CHECK:STDOUT: 6: inst7000002A -// CHECK:STDOUT: 7: inst7000002C -// CHECK:STDOUT: 8: inst7000002F -// CHECK:STDOUT: inst_block7000000F: +// CHECK:STDOUT: inst_block7000000D: +// CHECK:STDOUT: 0: inst7000001B +// CHECK:STDOUT: inst_block7000000E: // CHECK:STDOUT: 0: inst70000019 // CHECK:STDOUT: 1: inst7000001C // CHECK:STDOUT: 2: inst70000020 -// CHECK:STDOUT: 3: inst70000032 -// CHECK:STDOUT: 4: inst70000022 -// CHECK:STDOUT: 5: inst70000033 -// CHECK:STDOUT: 6: inst70000034 -// CHECK:STDOUT: 7: inst70000035 -// CHECK:STDOUT: 8: inst70000036 +// CHECK:STDOUT: 3: inst70000022 +// CHECK:STDOUT: 4: inst70000025 +// CHECK:STDOUT: 5: inst70000026 +// CHECK:STDOUT: 6: inst70000029 +// CHECK:STDOUT: 7: inst7000002B +// CHECK:STDOUT: 8: inst7000002E +// CHECK:STDOUT: inst_block7000000F: +// CHECK:STDOUT: 0: inst70000018 +// CHECK:STDOUT: 1: inst7000001B +// CHECK:STDOUT: 2: inst7000001F +// CHECK:STDOUT: 3: inst70000031 +// CHECK:STDOUT: 4: inst70000021 +// CHECK:STDOUT: 5: inst70000032 +// CHECK:STDOUT: 6: inst70000033 +// CHECK:STDOUT: 7: inst70000034 +// CHECK:STDOUT: 8: inst70000035 // CHECK:STDOUT: inst_block70000010: // CHECK:STDOUT: 0: inst(Package) -// CHECK:STDOUT: 1: inst70000010 -// CHECK:STDOUT: 2: inst70000031 +// CHECK:STDOUT: 1: inst7000000F +// CHECK:STDOUT: 2: inst70000030 // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: // CHECK:STDOUT: ints: {} diff --git a/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon b/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon index f7ed83bc8c13..087de78ed4d1 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon @@ -57,34 +57,34 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: clang_decls: // CHECK:STDOUT: clang_decl50000000: {key: {decl: "namespace Main {\n}"}, inst_id: inst(Package), is_imported: false} // CHECK:STDOUT: clang_decl50000001: {key: {decl: "namespace Carbon {\n}"}, inst_id: inst(Package), is_imported: false} -// CHECK:STDOUT: clang_decl50000002: {key: {decl: ""}, inst_id: inst50000011, is_imported: true} -// CHECK:STDOUT: clang_decl50000003: {key: {decl: "struct X {}"}, inst_id: inst50000013, is_imported: true} -// CHECK:STDOUT: clang_decl50000004: {key: {decl: "X * _Nonnull p"}, inst_id: inst50000024, is_imported: true} -// CHECK:STDOUT: clang_decl50000005: {key: {decl: "void f(X x = {})", clang_decl_signature_id: clang_decl_signature50000000}, inst_id: inst5000002F, is_imported: true} -// CHECK:STDOUT: clang_decl50000006: {key: {decl: "inline void f__carbon_thunk()", clang_decl_signature_id: clang_decl_signature50000000}, inst_id: inst50000032, is_imported: true} -// CHECK:STDOUT: clang_decl50000007: {key: {decl: "void f(X x = {})", clang_decl_signature_id: clang_decl_signature50000001}, inst_id: inst5000003D, is_imported: true} -// CHECK:STDOUT: clang_decl50000008: {key: {decl: "inline void f__carbon_thunk(X * _Nonnull x)", clang_decl_signature_id: clang_decl_signature50000001}, inst_id: inst50000047, is_imported: true} -// CHECK:STDOUT: clang_decl50000009: {key: {decl: "X * _Nonnull global"}, inst_id: inst50000052, var_storage_inst_id: inst50000054, is_imported: true} +// CHECK:STDOUT: clang_decl50000002: {key: {decl: ""}, inst_id: inst50000010, is_imported: true} +// CHECK:STDOUT: clang_decl50000003: {key: {decl: "struct X {}"}, inst_id: inst50000012, is_imported: true} +// CHECK:STDOUT: clang_decl50000004: {key: {decl: "X * _Nonnull p"}, inst_id: inst50000023, is_imported: true} +// CHECK:STDOUT: clang_decl50000005: {key: {decl: "void f(X x = {})", clang_decl_signature_id: clang_decl_signature50000000}, inst_id: inst5000002E, is_imported: true} +// CHECK:STDOUT: clang_decl50000006: {key: {decl: "inline void f__carbon_thunk()", clang_decl_signature_id: clang_decl_signature50000000}, inst_id: inst50000031, is_imported: true} +// CHECK:STDOUT: clang_decl50000007: {key: {decl: "void f(X x = {})", clang_decl_signature_id: clang_decl_signature50000001}, inst_id: inst5000003C, is_imported: true} +// CHECK:STDOUT: clang_decl50000008: {key: {decl: "inline void f__carbon_thunk(X * _Nonnull x)", clang_decl_signature_id: clang_decl_signature50000001}, inst_id: inst50000046, is_imported: true} +// CHECK:STDOUT: clang_decl50000009: {key: {decl: "X * _Nonnull global"}, inst_id: inst50000051, var_storage_inst_id: inst50000053, is_imported: true} // CHECK:STDOUT: clang_decl_signatures: // CHECK:STDOUT: clang_decl_signature50000000: {kind: normal, num_params: 0} // CHECK:STDOUT: clang_decl_signature50000001: {kind: normal, num_params: 1, modes: [value]} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Cpp): inst50000011, name0: inst5000001E}} -// CHECK:STDOUT: name_scope50000001: {inst: inst50000011, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name2: inst50000013, name3: inst5000002C, name4: inst50000054}} -// CHECK:STDOUT: name_scope50000002: {inst: inst50000013, parent_scope: name_scope50000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Cpp): inst50000010, name0: inst5000001D}} +// CHECK:STDOUT: name_scope50000001: {inst: inst50000010, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name2: inst50000012, name3: inst5000002B, name4: inst50000053}} +// CHECK:STDOUT: name_scope50000002: {inst: inst50000012, parent_scope: name_scope50000001, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: -// CHECK:STDOUT: entity_name50000000: {name: name1, parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst50000015} +// CHECK:STDOUT: entity_name50000000: {name: name1, parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst50000014} // CHECK:STDOUT: entity_name50000001: {name: name1, parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst} // CHECK:STDOUT: entity_name50000002: {name: name1, parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst} // CHECK:STDOUT: entity_name50000003: {name: name4, parent_scope: name_scope50000001, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst} // CHECK:STDOUT: functions: // CHECK:STDOUT: function50000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block50000008, call_params_id: inst_block50000009, body: [inst_block5000000C]} -// CHECK:STDOUT: function50000001: {name: name3, parent_scope: name_scope50000001, call_param_patterns_id: inst_block_empty, call_params_id: inst_block_empty, cpp_thunk_decl: inst50000032} -// CHECK:STDOUT: function50000002: {name: name6, parent_scope: name_scope50000001, call_param_patterns_id: inst_block_empty, call_params_id: inst_block_empty, cpp_thunk_callee: inst5000002F} -// CHECK:STDOUT: function50000003: {name: name3, parent_scope: name_scope50000001, call_param_patterns_id: inst_block50000011, call_params_id: inst_block50000012, cpp_thunk_decl: inst50000047} -// CHECK:STDOUT: function50000004: {name: name6, parent_scope: name_scope50000001, call_param_patterns_id: inst_block50000017, call_params_id: inst_block50000018, cpp_thunk_callee: inst5000003D} +// CHECK:STDOUT: function50000001: {name: name3, parent_scope: name_scope50000001, call_param_patterns_id: inst_block_empty, call_params_id: inst_block_empty, cpp_thunk_decl: inst50000031} +// CHECK:STDOUT: function50000002: {name: name6, parent_scope: name_scope50000001, call_param_patterns_id: inst_block_empty, call_params_id: inst_block_empty, cpp_thunk_callee: inst5000002E} +// CHECK:STDOUT: function50000003: {name: name3, parent_scope: name_scope50000001, call_param_patterns_id: inst_block50000011, call_params_id: inst_block50000012, cpp_thunk_decl: inst50000046} +// CHECK:STDOUT: function50000004: {name: name6, parent_scope: name_scope50000001, call_param_patterns_id: inst_block50000017, call_params_id: inst_block50000018, cpp_thunk_callee: inst5000003C} // CHECK:STDOUT: classes: -// CHECK:STDOUT: class50000000: {name: name2, parent_scope: name_scope50000001, self_type_id: type(inst50000014), inheritance_kind: Base, is_dynamic: 0, scope_id: name_scope50000002, body_block_id: inst_block5000000E, adapt_id: inst, base_id: inst, complete_type_witness_id: inst50000027, vtable_decl_id: inst} +// CHECK:STDOUT: class50000000: {name: name2, parent_scope: name_scope50000001, self_type_id: type(inst50000013), inheritance_kind: Base, is_dynamic: 0, scope_id: name_scope50000002, body_block_id: inst_block5000000E, adapt_id: inst, base_id: inst, complete_type_witness_id: inst50000026, vtable_decl_id: inst} // CHECK:STDOUT: interfaces: {} // CHECK:STDOUT: associated_constants: {} // CHECK:STDOUT: impls: {} @@ -94,9 +94,9 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: struct_type_fields: // CHECK:STDOUT: struct_type_fields_empty: {} // CHECK:STDOUT: struct_type_fields50000001: -// CHECK:STDOUT: 0: {name_id: name5, type_inst_id: inst50000022} +// CHECK:STDOUT: 0: {name_id: name5, type_inst_id: inst50000021} // CHECK:STDOUT: struct_type_fields50000002: -// CHECK:STDOUT: 0: {name_id: name5, type_inst_id: inst50000022} +// CHECK:STDOUT: 0: {name_id: name5, type_inst_id: inst50000021} // CHECK:STDOUT: types: // CHECK:STDOUT: 'type(TypeType)': // CHECK:STDOUT: value_repr: {kind: copy, type: type(TypeType)} @@ -123,18 +123,18 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 +// CHECK:STDOUT: 'type(inst5000001E)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000001F)} +// CHECK:STDOUT: object_layout: +// CHECK:STDOUT: size: 0 +// CHECK:STDOUT: alignment: 1 // CHECK:STDOUT: 'type(inst5000001F)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000020)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000001F)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst50000020)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000020)} -// CHECK:STDOUT: object_layout: -// CHECK:STDOUT: size: 0 -// CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst50000022)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst50000022)} +// CHECK:STDOUT: 'type(inst50000021)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst50000021)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 8 // CHECK:STDOUT: alignment: 8 @@ -143,43 +143,43 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst50000029)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst50000029)} +// CHECK:STDOUT: 'type(inst50000028)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst50000028)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 8 // CHECK:STDOUT: alignment: 8 -// CHECK:STDOUT: 'type(inst50000026)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst50000029)} +// CHECK:STDOUT: 'type(inst50000025)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst50000028)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 8 // CHECK:STDOUT: alignment: 8 -// CHECK:STDOUT: 'type(inst50000014)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst50000029)} +// CHECK:STDOUT: 'type(inst50000013)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst50000028)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 8 // CHECK:STDOUT: alignment: 8 -// CHECK:STDOUT: 'type(inst5000002B)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000020)} +// CHECK:STDOUT: 'type(inst5000002A)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000001F)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst50000030)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000020)} +// CHECK:STDOUT: 'type(inst5000002F)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000001F)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst50000033)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000020)} +// CHECK:STDOUT: 'type(inst50000032)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000001F)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst5000003E)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000020)} +// CHECK:STDOUT: 'type(inst5000003D)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000001F)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst50000048)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000020)} +// CHECK:STDOUT: 'type(inst50000047)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000001F)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -197,88 +197,87 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: 'inst(InstType)': {kind: InstType, type: type(TypeType)} // CHECK:STDOUT: 'inst(IntLiteralType)': {kind: IntLiteralType, type: type(TypeType)} // CHECK:STDOUT: 'inst(NamespaceType)': {kind: NamespaceType, type: type(TypeType)} -// CHECK:STDOUT: 'inst(RequireSpecificDefinitionType)': {kind: RequireSpecificDefinitionType, type: type(TypeType)} // CHECK:STDOUT: 'inst(SpecificFunctionType)': {kind: SpecificFunctionType, type: type(TypeType)} // CHECK:STDOUT: 'inst(VtableType)': {kind: VtableType, type: type(TypeType)} // CHECK:STDOUT: 'inst(WitnessType)': {kind: WitnessType, type: type(TypeType)} // CHECK:STDOUT: 'inst(Package)': {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000010: {kind: ImportCppDecl} -// CHECK:STDOUT: inst50000011: {kind: Namespace, arg0: name_scope50000001, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000012: {kind: NameRef, arg0: name(Cpp), arg1: inst50000011, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000013: {kind: ClassDecl, arg0: class50000000, arg1: inst_block, type: type(TypeType)} -// CHECK:STDOUT: inst50000014: {kind: ClassType, arg0: class50000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000015: {kind: NameRef, arg0: name2, arg1: inst50000013, type: type(TypeType)} -// CHECK:STDOUT: inst50000016: {kind: PatternType, arg0: inst50000014, type: type(TypeType)} -// CHECK:STDOUT: inst50000017: {kind: ValueParamPattern, arg0: name1, type: type(inst50000016)} -// CHECK:STDOUT: inst50000018: {kind: ValueParamPattern, arg0: name1, type: type(inst50000016)} -// CHECK:STDOUT: inst50000019: {kind: WrapperBindingPattern, arg0: entity_name50000000, arg1: inst50000017, type: type(inst50000016)} -// CHECK:STDOUT: inst5000001A: {kind: WrapperBindingPattern, arg0: entity_name50000000, arg1: inst50000018, type: type(inst50000016)} -// CHECK:STDOUT: inst5000001B: {kind: WrapperBinding, arg0: entity_name50000000, arg1: inst5000001C, type: type(inst50000014)} -// CHECK:STDOUT: inst5000001C: {kind: ValueParam, arg0: call_param0, arg1: name1, type: type(inst50000014)} -// CHECK:STDOUT: inst5000001D: {kind: SpliceBlock, arg0: inst_block50000006, arg1: inst50000015, type: type(TypeType)} -// CHECK:STDOUT: inst5000001E: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block5000000B, type: type(inst5000001F)} -// CHECK:STDOUT: inst5000001F: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000020: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000021: {kind: StructValue, arg0: inst_block_empty, type: type(inst5000001F)} -// CHECK:STDOUT: inst50000022: {kind: PointerType, arg0: inst50000014, type: type(TypeType)} -// CHECK:STDOUT: inst50000023: {kind: UnboundElementType, arg0: inst50000014, arg1: inst50000022, type: type(TypeType)} -// CHECK:STDOUT: inst50000024: {kind: FieldDecl, arg0: field50000000, arg1: region50000001, type: type(inst50000023)} -// CHECK:STDOUT: inst50000025: {kind: CustomLayoutType, arg0: struct_type_fields50000001, arg1: custom_layout50000001, type: type(TypeType)} -// CHECK:STDOUT: inst50000026: {kind: CustomLayoutType, arg0: struct_type_fields50000002, arg1: custom_layout50000001, type: type(TypeType)} +// CHECK:STDOUT: inst5000000F: {kind: ImportCppDecl} +// CHECK:STDOUT: inst50000010: {kind: Namespace, arg0: name_scope50000001, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000011: {kind: NameRef, arg0: name(Cpp), arg1: inst50000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000012: {kind: ClassDecl, arg0: class50000000, arg1: inst_block, type: type(TypeType)} +// CHECK:STDOUT: inst50000013: {kind: ClassType, arg0: class50000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst50000014: {kind: NameRef, arg0: name2, arg1: inst50000012, type: type(TypeType)} +// CHECK:STDOUT: inst50000015: {kind: PatternType, arg0: inst50000013, type: type(TypeType)} +// CHECK:STDOUT: inst50000016: {kind: ValueParamPattern, arg0: name1, type: type(inst50000015)} +// CHECK:STDOUT: inst50000017: {kind: ValueParamPattern, arg0: name1, type: type(inst50000015)} +// CHECK:STDOUT: inst50000018: {kind: WrapperBindingPattern, arg0: entity_name50000000, arg1: inst50000016, type: type(inst50000015)} +// CHECK:STDOUT: inst50000019: {kind: WrapperBindingPattern, arg0: entity_name50000000, arg1: inst50000017, type: type(inst50000015)} +// CHECK:STDOUT: inst5000001A: {kind: WrapperBinding, arg0: entity_name50000000, arg1: inst5000001B, type: type(inst50000013)} +// CHECK:STDOUT: inst5000001B: {kind: ValueParam, arg0: call_param0, arg1: name1, type: type(inst50000013)} +// CHECK:STDOUT: inst5000001C: {kind: SpliceBlock, arg0: inst_block50000006, arg1: inst50000014, type: type(TypeType)} +// CHECK:STDOUT: inst5000001D: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block5000000B, type: type(inst5000001E)} +// CHECK:STDOUT: inst5000001E: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst5000001F: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000020: {kind: StructValue, arg0: inst_block_empty, type: type(inst5000001E)} +// CHECK:STDOUT: inst50000021: {kind: PointerType, arg0: inst50000013, type: type(TypeType)} +// CHECK:STDOUT: inst50000022: {kind: UnboundElementType, arg0: inst50000013, arg1: inst50000021, type: type(TypeType)} +// CHECK:STDOUT: inst50000023: {kind: FieldDecl, arg0: field50000000, arg1: region50000001, type: type(inst50000022)} +// CHECK:STDOUT: inst50000024: {kind: CustomLayoutType, arg0: struct_type_fields50000001, arg1: custom_layout50000001, type: type(TypeType)} +// CHECK:STDOUT: inst50000025: {kind: CustomLayoutType, arg0: struct_type_fields50000002, arg1: custom_layout50000001, type: type(TypeType)} +// CHECK:STDOUT: inst50000026: {kind: CompleteTypeWitness, arg0: inst50000024, type: type(inst(WitnessType))} // CHECK:STDOUT: inst50000027: {kind: CompleteTypeWitness, arg0: inst50000025, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000028: {kind: CompleteTypeWitness, arg0: inst50000026, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000029: {kind: PointerType, arg0: inst50000026, type: type(TypeType)} -// CHECK:STDOUT: inst5000002A: {kind: NameRef, arg0: name(Cpp), arg1: inst50000011, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst5000002B: {kind: CppOverloadSetType, arg0: cpp_overload_set50000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst5000002C: {kind: CppOverloadSetValue, arg0: cpp_overload_set50000000, type: type(inst5000002B)} -// CHECK:STDOUT: inst5000002D: {kind: CppOverloadSetValue, arg0: cpp_overload_set50000000, type: type(inst5000002B)} -// CHECK:STDOUT: inst5000002E: {kind: NameRef, arg0: name3, arg1: inst5000002C, type: type(inst5000002B)} -// CHECK:STDOUT: inst5000002F: {kind: FunctionDecl, arg0: function50000001, arg1: inst_block_empty, type: type(inst50000030)} -// CHECK:STDOUT: inst50000030: {kind: FunctionType, arg0: function50000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000031: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000030)} -// CHECK:STDOUT: inst50000032: {kind: FunctionDecl, arg0: function50000002, arg1: inst_block_empty, type: type(inst50000033)} -// CHECK:STDOUT: inst50000033: {kind: FunctionType, arg0: function50000002, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000034: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000033)} -// CHECK:STDOUT: inst50000035: {kind: Call, arg0: inst50000032, arg1: inst_block_empty, type: type(inst50000020)} -// CHECK:STDOUT: inst50000036: {kind: NameRef, arg0: name(Cpp), arg1: inst50000011, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000037: {kind: NameRef, arg0: name3, arg1: inst5000002C, type: type(inst5000002B)} -// CHECK:STDOUT: inst50000038: {kind: NameRef, arg0: name1, arg1: inst5000001B, type: type(inst50000014)} -// CHECK:STDOUT: inst50000039: {kind: ValueParamPattern, arg0: name1, type: type(inst50000016)} -// CHECK:STDOUT: inst5000003A: {kind: WrapperBindingPattern, arg0: entity_name50000001, arg1: inst50000039, type: type(inst50000016)} -// CHECK:STDOUT: inst5000003B: {kind: WrapperBinding, arg0: entity_name50000001, arg1: inst5000003C, type: type(inst50000014)} -// CHECK:STDOUT: inst5000003C: {kind: ValueParam, arg0: call_param0, arg1: name1, type: type(inst50000014)} -// CHECK:STDOUT: inst5000003D: {kind: FunctionDecl, arg0: function50000003, arg1: inst_block50000014, type: type(inst5000003E)} -// CHECK:STDOUT: inst5000003E: {kind: FunctionType, arg0: function50000003, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst5000003F: {kind: StructValue, arg0: inst_block_empty, type: type(inst5000003E)} -// CHECK:STDOUT: inst50000040: {kind: PatternType, arg0: inst50000022, type: type(TypeType)} -// CHECK:STDOUT: inst50000041: {kind: ValueParamPattern, arg0: name1, type: type(inst50000040)} -// CHECK:STDOUT: inst50000042: {kind: ValueParamPattern, arg0: name1, type: type(inst50000040)} -// CHECK:STDOUT: inst50000043: {kind: WrapperBindingPattern, arg0: entity_name50000002, arg1: inst50000041, type: type(inst50000040)} -// CHECK:STDOUT: inst50000044: {kind: WrapperBindingPattern, arg0: entity_name50000000, arg1: inst50000042, type: type(inst50000040)} -// CHECK:STDOUT: inst50000045: {kind: WrapperBinding, arg0: entity_name50000002, arg1: inst50000046, type: type(inst50000022)} -// CHECK:STDOUT: inst50000046: {kind: ValueParam, arg0: call_param0, arg1: name1, type: type(inst50000022)} -// CHECK:STDOUT: inst50000047: {kind: FunctionDecl, arg0: function50000004, arg1: inst_block5000001A, type: type(inst50000048)} -// CHECK:STDOUT: inst50000048: {kind: FunctionType, arg0: function50000004, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000049: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000048)} -// CHECK:STDOUT: inst5000004A: {kind: ValueAsRef, arg0: inst50000038, type: type(inst50000014)} -// CHECK:STDOUT: inst5000004B: {kind: AddrOf, arg0: inst5000004A, type: type(inst50000022)} -// CHECK:STDOUT: inst5000004C: {kind: Call, arg0: inst50000047, arg1: inst_block5000001C, type: type(inst50000020)} -// CHECK:STDOUT: inst5000004D: {kind: NameRef, arg0: name(Cpp), arg1: inst50000011, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst5000004E: {kind: NameRef, arg0: name3, arg1: inst5000002C, type: type(inst5000002B)} -// CHECK:STDOUT: inst5000004F: {kind: NameRef, arg0: name(Cpp), arg1: inst50000011, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000050: {kind: RefBindingPattern, arg0: entity_name50000003, type: type(inst50000040)} -// CHECK:STDOUT: inst50000051: {kind: RefBindingPattern, arg0: entity_name50000003, type: type(inst50000040)} -// CHECK:STDOUT: inst50000052: {kind: VarPattern, arg0: inst50000050, type: type(inst50000040)} -// CHECK:STDOUT: inst50000053: {kind: VarPattern, arg0: inst50000051, type: type(inst50000040)} -// CHECK:STDOUT: inst50000054: {kind: VarStorage, arg0: inst50000052, type: type(inst50000022)} -// CHECK:STDOUT: inst50000055: {kind: NameRef, arg0: name4, arg1: inst50000054, type: type(inst50000022)} -// CHECK:STDOUT: inst50000056: {kind: AcquireValue, arg0: inst50000055, type: type(inst50000022)} -// CHECK:STDOUT: inst50000057: {kind: Deref, arg0: inst50000056, type: type(inst50000014)} -// CHECK:STDOUT: inst50000058: {kind: AcquireValue, arg0: inst50000057, type: type(inst50000014)} -// CHECK:STDOUT: inst50000059: {kind: ValueAsRef, arg0: inst50000058, type: type(inst50000014)} -// CHECK:STDOUT: inst5000005A: {kind: AddrOf, arg0: inst50000059, type: type(inst50000022)} -// CHECK:STDOUT: inst5000005B: {kind: Call, arg0: inst50000047, arg1: inst_block5000001E, type: type(inst50000020)} -// CHECK:STDOUT: inst5000005C: {kind: Return} +// CHECK:STDOUT: inst50000028: {kind: PointerType, arg0: inst50000025, type: type(TypeType)} +// CHECK:STDOUT: inst50000029: {kind: NameRef, arg0: name(Cpp), arg1: inst50000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst5000002A: {kind: CppOverloadSetType, arg0: cpp_overload_set50000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst5000002B: {kind: CppOverloadSetValue, arg0: cpp_overload_set50000000, type: type(inst5000002A)} +// CHECK:STDOUT: inst5000002C: {kind: CppOverloadSetValue, arg0: cpp_overload_set50000000, type: type(inst5000002A)} +// CHECK:STDOUT: inst5000002D: {kind: NameRef, arg0: name3, arg1: inst5000002B, type: type(inst5000002A)} +// CHECK:STDOUT: inst5000002E: {kind: FunctionDecl, arg0: function50000001, arg1: inst_block_empty, type: type(inst5000002F)} +// CHECK:STDOUT: inst5000002F: {kind: FunctionType, arg0: function50000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst50000030: {kind: StructValue, arg0: inst_block_empty, type: type(inst5000002F)} +// CHECK:STDOUT: inst50000031: {kind: FunctionDecl, arg0: function50000002, arg1: inst_block_empty, type: type(inst50000032)} +// CHECK:STDOUT: inst50000032: {kind: FunctionType, arg0: function50000002, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst50000033: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000032)} +// CHECK:STDOUT: inst50000034: {kind: Call, arg0: inst50000031, arg1: inst_block_empty, type: type(inst5000001F)} +// CHECK:STDOUT: inst50000035: {kind: NameRef, arg0: name(Cpp), arg1: inst50000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000036: {kind: NameRef, arg0: name3, arg1: inst5000002B, type: type(inst5000002A)} +// CHECK:STDOUT: inst50000037: {kind: NameRef, arg0: name1, arg1: inst5000001A, type: type(inst50000013)} +// CHECK:STDOUT: inst50000038: {kind: ValueParamPattern, arg0: name1, type: type(inst50000015)} +// CHECK:STDOUT: inst50000039: {kind: WrapperBindingPattern, arg0: entity_name50000001, arg1: inst50000038, type: type(inst50000015)} +// CHECK:STDOUT: inst5000003A: {kind: WrapperBinding, arg0: entity_name50000001, arg1: inst5000003B, type: type(inst50000013)} +// CHECK:STDOUT: inst5000003B: {kind: ValueParam, arg0: call_param0, arg1: name1, type: type(inst50000013)} +// CHECK:STDOUT: inst5000003C: {kind: FunctionDecl, arg0: function50000003, arg1: inst_block50000014, type: type(inst5000003D)} +// CHECK:STDOUT: inst5000003D: {kind: FunctionType, arg0: function50000003, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst5000003E: {kind: StructValue, arg0: inst_block_empty, type: type(inst5000003D)} +// CHECK:STDOUT: inst5000003F: {kind: PatternType, arg0: inst50000021, type: type(TypeType)} +// CHECK:STDOUT: inst50000040: {kind: ValueParamPattern, arg0: name1, type: type(inst5000003F)} +// CHECK:STDOUT: inst50000041: {kind: ValueParamPattern, arg0: name1, type: type(inst5000003F)} +// CHECK:STDOUT: inst50000042: {kind: WrapperBindingPattern, arg0: entity_name50000002, arg1: inst50000040, type: type(inst5000003F)} +// CHECK:STDOUT: inst50000043: {kind: WrapperBindingPattern, arg0: entity_name50000000, arg1: inst50000041, type: type(inst5000003F)} +// CHECK:STDOUT: inst50000044: {kind: WrapperBinding, arg0: entity_name50000002, arg1: inst50000045, type: type(inst50000021)} +// CHECK:STDOUT: inst50000045: {kind: ValueParam, arg0: call_param0, arg1: name1, type: type(inst50000021)} +// CHECK:STDOUT: inst50000046: {kind: FunctionDecl, arg0: function50000004, arg1: inst_block5000001A, type: type(inst50000047)} +// CHECK:STDOUT: inst50000047: {kind: FunctionType, arg0: function50000004, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst50000048: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000047)} +// CHECK:STDOUT: inst50000049: {kind: ValueAsRef, arg0: inst50000037, type: type(inst50000013)} +// CHECK:STDOUT: inst5000004A: {kind: AddrOf, arg0: inst50000049, type: type(inst50000021)} +// CHECK:STDOUT: inst5000004B: {kind: Call, arg0: inst50000046, arg1: inst_block5000001C, type: type(inst5000001F)} +// CHECK:STDOUT: inst5000004C: {kind: NameRef, arg0: name(Cpp), arg1: inst50000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst5000004D: {kind: NameRef, arg0: name3, arg1: inst5000002B, type: type(inst5000002A)} +// CHECK:STDOUT: inst5000004E: {kind: NameRef, arg0: name(Cpp), arg1: inst50000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst5000004F: {kind: RefBindingPattern, arg0: entity_name50000003, type: type(inst5000003F)} +// CHECK:STDOUT: inst50000050: {kind: RefBindingPattern, arg0: entity_name50000003, type: type(inst5000003F)} +// CHECK:STDOUT: inst50000051: {kind: VarPattern, arg0: inst5000004F, type: type(inst5000003F)} +// CHECK:STDOUT: inst50000052: {kind: VarPattern, arg0: inst50000050, type: type(inst5000003F)} +// CHECK:STDOUT: inst50000053: {kind: VarStorage, arg0: inst50000051, type: type(inst50000021)} +// CHECK:STDOUT: inst50000054: {kind: NameRef, arg0: name4, arg1: inst50000053, type: type(inst50000021)} +// CHECK:STDOUT: inst50000055: {kind: AcquireValue, arg0: inst50000054, type: type(inst50000021)} +// CHECK:STDOUT: inst50000056: {kind: Deref, arg0: inst50000055, type: type(inst50000013)} +// CHECK:STDOUT: inst50000057: {kind: AcquireValue, arg0: inst50000056, type: type(inst50000013)} +// CHECK:STDOUT: inst50000058: {kind: ValueAsRef, arg0: inst50000057, type: type(inst50000013)} +// CHECK:STDOUT: inst50000059: {kind: AddrOf, arg0: inst50000058, type: type(inst50000021)} +// CHECK:STDOUT: inst5000005A: {kind: Call, arg0: inst50000046, arg1: inst_block5000001E, type: type(inst5000001F)} +// CHECK:STDOUT: inst5000005B: {kind: Return} // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: @@ -293,168 +292,167 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: 'inst(InstType)': concrete_constant(inst(InstType)) // CHECK:STDOUT: 'inst(IntLiteralType)': concrete_constant(inst(IntLiteralType)) // CHECK:STDOUT: 'inst(NamespaceType)': concrete_constant(inst(NamespaceType)) -// CHECK:STDOUT: 'inst(RequireSpecificDefinitionType)': concrete_constant(inst(RequireSpecificDefinitionType)) // CHECK:STDOUT: 'inst(SpecificFunctionType)': concrete_constant(inst(SpecificFunctionType)) // CHECK:STDOUT: 'inst(VtableType)': concrete_constant(inst(VtableType)) // CHECK:STDOUT: 'inst(WitnessType)': concrete_constant(inst(WitnessType)) // CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) -// CHECK:STDOUT: inst50000011: concrete_constant(inst50000011) -// CHECK:STDOUT: inst50000012: concrete_constant(inst50000011) -// CHECK:STDOUT: inst50000013: concrete_constant(inst50000014) -// CHECK:STDOUT: inst50000014: concrete_constant(inst50000014) -// CHECK:STDOUT: inst50000015: concrete_constant(inst50000014) -// CHECK:STDOUT: inst50000016: concrete_constant(inst50000016) -// CHECK:STDOUT: inst50000017: concrete_constant(inst50000018) -// CHECK:STDOUT: inst50000018: concrete_constant(inst50000018) -// CHECK:STDOUT: inst50000019: concrete_constant(inst5000001A) -// CHECK:STDOUT: inst5000001A: concrete_constant(inst5000001A) -// CHECK:STDOUT: inst5000001D: concrete_constant(inst50000014) -// CHECK:STDOUT: inst5000001E: concrete_constant(inst50000021) +// CHECK:STDOUT: inst50000010: concrete_constant(inst50000010) +// CHECK:STDOUT: inst50000011: concrete_constant(inst50000010) +// CHECK:STDOUT: inst50000012: concrete_constant(inst50000013) +// CHECK:STDOUT: inst50000013: concrete_constant(inst50000013) +// CHECK:STDOUT: inst50000014: concrete_constant(inst50000013) +// CHECK:STDOUT: inst50000015: concrete_constant(inst50000015) +// CHECK:STDOUT: inst50000016: concrete_constant(inst50000017) +// CHECK:STDOUT: inst50000017: concrete_constant(inst50000017) +// CHECK:STDOUT: inst50000018: concrete_constant(inst50000019) +// CHECK:STDOUT: inst50000019: concrete_constant(inst50000019) +// CHECK:STDOUT: inst5000001C: concrete_constant(inst50000013) +// CHECK:STDOUT: inst5000001D: concrete_constant(inst50000020) +// CHECK:STDOUT: inst5000001E: concrete_constant(inst5000001E) // CHECK:STDOUT: inst5000001F: concrete_constant(inst5000001F) // CHECK:STDOUT: inst50000020: concrete_constant(inst50000020) // CHECK:STDOUT: inst50000021: concrete_constant(inst50000021) // CHECK:STDOUT: inst50000022: concrete_constant(inst50000022) // CHECK:STDOUT: inst50000023: concrete_constant(inst50000023) -// CHECK:STDOUT: inst50000024: concrete_constant(inst50000024) -// CHECK:STDOUT: inst50000025: concrete_constant(inst50000026) -// CHECK:STDOUT: inst50000026: concrete_constant(inst50000026) -// CHECK:STDOUT: inst50000027: concrete_constant(inst50000028) +// CHECK:STDOUT: inst50000024: concrete_constant(inst50000025) +// CHECK:STDOUT: inst50000025: concrete_constant(inst50000025) +// CHECK:STDOUT: inst50000026: concrete_constant(inst50000027) +// CHECK:STDOUT: inst50000027: concrete_constant(inst50000027) // CHECK:STDOUT: inst50000028: concrete_constant(inst50000028) -// CHECK:STDOUT: inst50000029: concrete_constant(inst50000029) -// CHECK:STDOUT: inst5000002A: concrete_constant(inst50000011) -// CHECK:STDOUT: inst5000002B: concrete_constant(inst5000002B) -// CHECK:STDOUT: inst5000002C: concrete_constant(inst5000002D) -// CHECK:STDOUT: inst5000002D: concrete_constant(inst5000002D) -// CHECK:STDOUT: inst5000002E: concrete_constant(inst5000002D) -// CHECK:STDOUT: inst5000002F: concrete_constant(inst50000031) +// CHECK:STDOUT: inst50000029: concrete_constant(inst50000010) +// CHECK:STDOUT: inst5000002A: concrete_constant(inst5000002A) +// CHECK:STDOUT: inst5000002B: concrete_constant(inst5000002C) +// CHECK:STDOUT: inst5000002C: concrete_constant(inst5000002C) +// CHECK:STDOUT: inst5000002D: concrete_constant(inst5000002C) +// CHECK:STDOUT: inst5000002E: concrete_constant(inst50000030) +// CHECK:STDOUT: inst5000002F: concrete_constant(inst5000002F) // CHECK:STDOUT: inst50000030: concrete_constant(inst50000030) -// CHECK:STDOUT: inst50000031: concrete_constant(inst50000031) -// CHECK:STDOUT: inst50000032: concrete_constant(inst50000034) +// CHECK:STDOUT: inst50000031: concrete_constant(inst50000033) +// CHECK:STDOUT: inst50000032: concrete_constant(inst50000032) // CHECK:STDOUT: inst50000033: concrete_constant(inst50000033) -// CHECK:STDOUT: inst50000034: concrete_constant(inst50000034) -// CHECK:STDOUT: inst50000036: concrete_constant(inst50000011) -// CHECK:STDOUT: inst50000037: concrete_constant(inst5000002D) -// CHECK:STDOUT: inst50000039: concrete_constant(inst50000018) -// CHECK:STDOUT: inst5000003A: concrete_constant(inst5000001A) -// CHECK:STDOUT: inst5000003D: concrete_constant(inst5000003F) +// CHECK:STDOUT: inst50000035: concrete_constant(inst50000010) +// CHECK:STDOUT: inst50000036: concrete_constant(inst5000002C) +// CHECK:STDOUT: inst50000038: concrete_constant(inst50000017) +// CHECK:STDOUT: inst50000039: concrete_constant(inst50000019) +// CHECK:STDOUT: inst5000003C: concrete_constant(inst5000003E) +// CHECK:STDOUT: inst5000003D: concrete_constant(inst5000003D) // CHECK:STDOUT: inst5000003E: concrete_constant(inst5000003E) // CHECK:STDOUT: inst5000003F: concrete_constant(inst5000003F) -// CHECK:STDOUT: inst50000040: concrete_constant(inst50000040) -// CHECK:STDOUT: inst50000041: concrete_constant(inst50000042) -// CHECK:STDOUT: inst50000042: concrete_constant(inst50000042) -// CHECK:STDOUT: inst50000043: concrete_constant(inst50000044) -// CHECK:STDOUT: inst50000044: concrete_constant(inst50000044) -// CHECK:STDOUT: inst50000047: concrete_constant(inst50000049) +// CHECK:STDOUT: inst50000040: concrete_constant(inst50000041) +// CHECK:STDOUT: inst50000041: concrete_constant(inst50000041) +// CHECK:STDOUT: inst50000042: concrete_constant(inst50000043) +// CHECK:STDOUT: inst50000043: concrete_constant(inst50000043) +// CHECK:STDOUT: inst50000046: concrete_constant(inst50000048) +// CHECK:STDOUT: inst50000047: concrete_constant(inst50000047) // CHECK:STDOUT: inst50000048: concrete_constant(inst50000048) -// CHECK:STDOUT: inst50000049: concrete_constant(inst50000049) -// CHECK:STDOUT: inst5000004D: concrete_constant(inst50000011) -// CHECK:STDOUT: inst5000004E: concrete_constant(inst5000002D) -// CHECK:STDOUT: inst5000004F: concrete_constant(inst50000011) -// CHECK:STDOUT: inst50000050: concrete_constant(inst50000051) -// CHECK:STDOUT: inst50000051: concrete_constant(inst50000051) -// CHECK:STDOUT: inst50000052: concrete_constant(inst50000053) +// CHECK:STDOUT: inst5000004C: concrete_constant(inst50000010) +// CHECK:STDOUT: inst5000004D: concrete_constant(inst5000002C) +// CHECK:STDOUT: inst5000004E: concrete_constant(inst50000010) +// CHECK:STDOUT: inst5000004F: concrete_constant(inst50000050) +// CHECK:STDOUT: inst50000050: concrete_constant(inst50000050) +// CHECK:STDOUT: inst50000051: concrete_constant(inst50000052) +// CHECK:STDOUT: inst50000052: concrete_constant(inst50000052) // CHECK:STDOUT: inst50000053: concrete_constant(inst50000053) -// CHECK:STDOUT: inst50000054: concrete_constant(inst50000054) -// CHECK:STDOUT: inst50000055: concrete_constant(inst50000054) +// CHECK:STDOUT: inst50000054: concrete_constant(inst50000053) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst5000001E +// CHECK:STDOUT: 0: inst5000001D // CHECK:STDOUT: generated: {} // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: inst50000011 -// CHECK:STDOUT: 1: inst50000013 -// CHECK:STDOUT: 2: inst5000002C -// CHECK:STDOUT: 3: inst5000002F -// CHECK:STDOUT: 4: inst50000032 -// CHECK:STDOUT: 5: inst5000003D -// CHECK:STDOUT: 6: inst50000047 -// CHECK:STDOUT: 7: inst50000050 -// CHECK:STDOUT: 8: inst50000052 -// CHECK:STDOUT: 9: inst50000054 +// CHECK:STDOUT: 0: inst50000010 +// CHECK:STDOUT: 1: inst50000012 +// CHECK:STDOUT: 2: inst5000002B +// CHECK:STDOUT: 3: inst5000002E +// CHECK:STDOUT: 4: inst50000031 +// CHECK:STDOUT: 5: inst5000003C +// CHECK:STDOUT: 6: inst50000046 +// CHECK:STDOUT: 7: inst5000004F +// CHECK:STDOUT: 8: inst50000051 +// CHECK:STDOUT: 9: inst50000053 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: extra_global_variables: {} // CHECK:STDOUT: inst_block50000006: -// CHECK:STDOUT: 0: inst50000012 -// CHECK:STDOUT: 1: inst50000015 +// CHECK:STDOUT: 0: inst50000011 +// CHECK:STDOUT: 1: inst50000014 // CHECK:STDOUT: inst_block50000007: -// CHECK:STDOUT: 0: inst50000019 +// CHECK:STDOUT: 0: inst50000018 // CHECK:STDOUT: inst_block50000008: -// CHECK:STDOUT: 0: inst50000017 +// CHECK:STDOUT: 0: inst50000016 // CHECK:STDOUT: inst_block50000009: -// CHECK:STDOUT: 0: inst5000001C +// CHECK:STDOUT: 0: inst5000001B // CHECK:STDOUT: inst_block5000000A: -// CHECK:STDOUT: 0: inst50000017 -// CHECK:STDOUT: 1: inst50000019 +// CHECK:STDOUT: 0: inst50000016 +// CHECK:STDOUT: 1: inst50000018 // CHECK:STDOUT: inst_block5000000B: -// CHECK:STDOUT: 0: inst5000001C -// CHECK:STDOUT: 1: inst5000001D -// CHECK:STDOUT: 2: inst5000001B +// CHECK:STDOUT: 0: inst5000001B +// CHECK:STDOUT: 1: inst5000001C +// CHECK:STDOUT: 2: inst5000001A // CHECK:STDOUT: inst_block5000000C: -// CHECK:STDOUT: 0: inst5000002A -// CHECK:STDOUT: 1: inst5000002E -// CHECK:STDOUT: 2: inst50000035 -// CHECK:STDOUT: 3: inst50000036 -// CHECK:STDOUT: 4: inst50000037 -// CHECK:STDOUT: 5: inst50000038 -// CHECK:STDOUT: 6: inst5000004A -// CHECK:STDOUT: 7: inst5000004B -// CHECK:STDOUT: 8: inst5000004C -// CHECK:STDOUT: 9: inst5000004D -// CHECK:STDOUT: 10: inst5000004E -// CHECK:STDOUT: 11: inst5000004F -// CHECK:STDOUT: 12: inst50000055 -// CHECK:STDOUT: 13: inst50000056 -// CHECK:STDOUT: 14: inst50000057 -// CHECK:STDOUT: 15: inst50000058 -// CHECK:STDOUT: 16: inst50000059 -// CHECK:STDOUT: 17: inst5000005A -// CHECK:STDOUT: 18: inst5000005B -// CHECK:STDOUT: 19: inst5000005C +// CHECK:STDOUT: 0: inst50000029 +// CHECK:STDOUT: 1: inst5000002D +// CHECK:STDOUT: 2: inst50000034 +// CHECK:STDOUT: 3: inst50000035 +// CHECK:STDOUT: 4: inst50000036 +// CHECK:STDOUT: 5: inst50000037 +// CHECK:STDOUT: 6: inst50000049 +// CHECK:STDOUT: 7: inst5000004A +// CHECK:STDOUT: 8: inst5000004B +// CHECK:STDOUT: 9: inst5000004C +// CHECK:STDOUT: 10: inst5000004D +// CHECK:STDOUT: 11: inst5000004E +// CHECK:STDOUT: 12: inst50000054 +// CHECK:STDOUT: 13: inst50000055 +// CHECK:STDOUT: 14: inst50000056 +// CHECK:STDOUT: 15: inst50000057 +// CHECK:STDOUT: 16: inst50000058 +// CHECK:STDOUT: 17: inst50000059 +// CHECK:STDOUT: 18: inst5000005A +// CHECK:STDOUT: 19: inst5000005B // CHECK:STDOUT: inst_block5000000D: {} // CHECK:STDOUT: inst_block5000000E: -// CHECK:STDOUT: 0: inst50000024 -// CHECK:STDOUT: 1: inst50000025 -// CHECK:STDOUT: 2: inst50000027 +// CHECK:STDOUT: 0: inst50000023 +// CHECK:STDOUT: 1: inst50000024 +// CHECK:STDOUT: 2: inst50000026 // CHECK:STDOUT: inst_block5000000F: {} // CHECK:STDOUT: inst_block50000010: -// CHECK:STDOUT: 0: inst5000003A +// CHECK:STDOUT: 0: inst50000039 // CHECK:STDOUT: inst_block50000011: -// CHECK:STDOUT: 0: inst50000039 +// CHECK:STDOUT: 0: inst50000038 // CHECK:STDOUT: inst_block50000012: -// CHECK:STDOUT: 0: inst5000003C +// CHECK:STDOUT: 0: inst5000003B // CHECK:STDOUT: inst_block50000013: -// CHECK:STDOUT: 0: inst50000039 -// CHECK:STDOUT: 1: inst5000003A +// CHECK:STDOUT: 0: inst50000038 +// CHECK:STDOUT: 1: inst50000039 // CHECK:STDOUT: inst_block50000014: -// CHECK:STDOUT: 0: inst5000003C -// CHECK:STDOUT: 1: inst5000003B +// CHECK:STDOUT: 0: inst5000003B +// CHECK:STDOUT: 1: inst5000003A // CHECK:STDOUT: inst_block50000015: {} // CHECK:STDOUT: inst_block50000016: -// CHECK:STDOUT: 0: inst50000043 +// CHECK:STDOUT: 0: inst50000042 // CHECK:STDOUT: inst_block50000017: -// CHECK:STDOUT: 0: inst50000041 +// CHECK:STDOUT: 0: inst50000040 // CHECK:STDOUT: inst_block50000018: -// CHECK:STDOUT: 0: inst50000046 +// CHECK:STDOUT: 0: inst50000045 // CHECK:STDOUT: inst_block50000019: -// CHECK:STDOUT: 0: inst50000041 -// CHECK:STDOUT: 1: inst50000043 +// CHECK:STDOUT: 0: inst50000040 +// CHECK:STDOUT: 1: inst50000042 // CHECK:STDOUT: inst_block5000001A: -// CHECK:STDOUT: 0: inst50000046 -// CHECK:STDOUT: 1: inst50000045 +// CHECK:STDOUT: 0: inst50000045 +// CHECK:STDOUT: 1: inst50000044 // CHECK:STDOUT: inst_block5000001B: -// CHECK:STDOUT: 0: inst50000038 +// CHECK:STDOUT: 0: inst50000037 // CHECK:STDOUT: inst_block5000001C: -// CHECK:STDOUT: 0: inst5000004B +// CHECK:STDOUT: 0: inst5000004A // CHECK:STDOUT: inst_block5000001D: -// CHECK:STDOUT: 0: inst50000058 +// CHECK:STDOUT: 0: inst50000057 // CHECK:STDOUT: inst_block5000001E: -// CHECK:STDOUT: 0: inst5000005A +// CHECK:STDOUT: 0: inst50000059 // CHECK:STDOUT: inst_block5000001F: // CHECK:STDOUT: 0: inst(Package) -// CHECK:STDOUT: 1: inst50000010 -// CHECK:STDOUT: 2: inst5000001E +// CHECK:STDOUT: 1: inst5000000F +// CHECK:STDOUT: 2: inst5000001D // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: // CHECK:STDOUT: ints: {} diff --git a/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon b/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon index c181771599e9..6a06fedd07d9 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon @@ -39,7 +39,7 @@ fn B() { // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst50000010}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst5000000F}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: functions: // CHECK:STDOUT: function50000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block_empty, call_params_id: inst_block_empty, body: [inst_block50000007]} @@ -78,13 +78,13 @@ fn B() { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst50000011)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000012)} +// CHECK:STDOUT: 'type(inst50000010)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000011)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst50000012)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000012)} +// CHECK:STDOUT: 'type(inst50000011)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000011)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -93,35 +93,35 @@ fn B() { // CHECK:STDOUT: insts: // CHECK:STDOUT: 'inst(TypeType)': {kind: FacetType, arg0: declared_facet_type(Empty), type: type(TypeType)} // CHECK:STDOUT: 'inst(Package)': {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000010: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block_empty, type: type(inst50000011)} -// CHECK:STDOUT: inst50000011: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000012: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000013: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000011)} -// CHECK:STDOUT: inst50000014: {kind: Return} +// CHECK:STDOUT: inst5000000F: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block_empty, type: type(inst50000010)} +// CHECK:STDOUT: inst50000010: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst50000011: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000012: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000010)} +// CHECK:STDOUT: inst50000013: {kind: Return} // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) // CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) -// CHECK:STDOUT: inst50000010: concrete_constant(inst50000013) +// CHECK:STDOUT: inst5000000F: concrete_constant(inst50000012) +// CHECK:STDOUT: inst50000010: concrete_constant(inst50000010) // CHECK:STDOUT: inst50000011: concrete_constant(inst50000011) // CHECK:STDOUT: inst50000012: concrete_constant(inst50000012) -// CHECK:STDOUT: inst50000013: concrete_constant(inst50000013) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst50000010 +// CHECK:STDOUT: 0: inst5000000F // CHECK:STDOUT: generated: {} // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: extra_global_variables: {} // CHECK:STDOUT: inst_block50000006: {} // CHECK:STDOUT: inst_block50000007: -// CHECK:STDOUT: 0: inst50000014 +// CHECK:STDOUT: 0: inst50000013 // CHECK:STDOUT: inst_block50000008: // CHECK:STDOUT: 0: inst(Package) -// CHECK:STDOUT: 1: inst50000010 +// CHECK:STDOUT: 1: inst5000000F // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: // CHECK:STDOUT: ints: {} @@ -140,14 +140,14 @@ fn B() { // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} -// CHECK:STDOUT: import_ir70000002: {decl_id: inst70000010, is_export: false} +// CHECK:STDOUT: import_ir70000002: {decl_id: inst7000000F, is_export: false} // CHECK:STDOUT: import_ir_insts: -// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir70000002, inst_id: inst50000010} +// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir70000002, inst_id: inst5000000F} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: inst70000011, name0: inst70000012}} -// CHECK:STDOUT: name_scope70000001: {inst: inst70000011, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name1: inst70000017}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: inst70000010, name0: inst70000011}} +// CHECK:STDOUT: name_scope70000001: {inst: inst70000010, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name1: inst70000016}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name70000000: {name: name1, parent_scope: name_scope70000001, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst} // CHECK:STDOUT: functions: @@ -188,13 +188,13 @@ fn B() { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst70000013)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst70000014)} +// CHECK:STDOUT: 'type(inst70000012)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst70000013)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst70000014)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst70000014)} +// CHECK:STDOUT: 'type(inst70000013)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst70000013)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -203,58 +203,58 @@ fn B() { // CHECK:STDOUT: insts: // CHECK:STDOUT: 'inst(TypeType)': {kind: FacetType, arg0: declared_facet_type(Empty), type: type(TypeType)} // CHECK:STDOUT: 'inst(Package)': {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst70000010: {kind: ImportDecl, arg0: name1} -// CHECK:STDOUT: inst70000011: {kind: Namespace, arg0: name_scope70000001, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst70000012: {kind: FunctionDecl, arg0: function70000000, arg1: inst_block_empty, type: type(inst70000013)} -// CHECK:STDOUT: inst70000013: {kind: FunctionType, arg0: function70000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst70000014: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst70000015: {kind: StructValue, arg0: inst_block_empty, type: type(inst70000013)} -// CHECK:STDOUT: inst70000016: {kind: NameRef, arg0: name1, arg1: inst70000011, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst70000017: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name70000000, type: type(inst70000019)} -// CHECK:STDOUT: inst70000018: {kind: FunctionDecl, arg0: function70000001, arg1: inst_block_empty, type: type(inst70000019)} -// CHECK:STDOUT: inst70000019: {kind: FunctionType, arg0: function70000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst7000001A: {kind: StructValue, arg0: inst_block_empty, type: type(inst70000019)} -// CHECK:STDOUT: inst7000001B: {kind: NameRef, arg0: name1, arg1: inst70000017, type: type(inst70000019)} -// CHECK:STDOUT: inst7000001C: {kind: Call, arg0: inst7000001B, arg1: inst_block_empty, type: type(inst70000014)} -// CHECK:STDOUT: inst7000001D: {kind: Return} +// CHECK:STDOUT: inst7000000F: {kind: ImportDecl, arg0: name1} +// CHECK:STDOUT: inst70000010: {kind: Namespace, arg0: name_scope70000001, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst70000011: {kind: FunctionDecl, arg0: function70000000, arg1: inst_block_empty, type: type(inst70000012)} +// CHECK:STDOUT: inst70000012: {kind: FunctionType, arg0: function70000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst70000013: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst70000014: {kind: StructValue, arg0: inst_block_empty, type: type(inst70000012)} +// CHECK:STDOUT: inst70000015: {kind: NameRef, arg0: name1, arg1: inst70000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst70000016: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name70000000, type: type(inst70000018)} +// CHECK:STDOUT: inst70000017: {kind: FunctionDecl, arg0: function70000001, arg1: inst_block_empty, type: type(inst70000018)} +// CHECK:STDOUT: inst70000018: {kind: FunctionType, arg0: function70000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst70000019: {kind: StructValue, arg0: inst_block_empty, type: type(inst70000018)} +// CHECK:STDOUT: inst7000001A: {kind: NameRef, arg0: name1, arg1: inst70000016, type: type(inst70000018)} +// CHECK:STDOUT: inst7000001B: {kind: Call, arg0: inst7000001A, arg1: inst_block_empty, type: type(inst70000013)} +// CHECK:STDOUT: inst7000001C: {kind: Return} // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) // CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) -// CHECK:STDOUT: inst70000011: concrete_constant(inst70000011) -// CHECK:STDOUT: inst70000012: concrete_constant(inst70000015) +// CHECK:STDOUT: inst70000010: concrete_constant(inst70000010) +// CHECK:STDOUT: inst70000011: concrete_constant(inst70000014) +// CHECK:STDOUT: inst70000012: concrete_constant(inst70000012) // CHECK:STDOUT: inst70000013: concrete_constant(inst70000013) // CHECK:STDOUT: inst70000014: concrete_constant(inst70000014) -// CHECK:STDOUT: inst70000015: concrete_constant(inst70000015) -// CHECK:STDOUT: inst70000016: concrete_constant(inst70000011) -// CHECK:STDOUT: inst70000017: concrete_constant(inst7000001A) -// CHECK:STDOUT: inst70000018: concrete_constant(inst7000001A) +// CHECK:STDOUT: inst70000015: concrete_constant(inst70000010) +// CHECK:STDOUT: inst70000016: concrete_constant(inst70000019) +// CHECK:STDOUT: inst70000017: concrete_constant(inst70000019) +// CHECK:STDOUT: inst70000018: concrete_constant(inst70000018) // CHECK:STDOUT: inst70000019: concrete_constant(inst70000019) -// CHECK:STDOUT: inst7000001A: concrete_constant(inst7000001A) -// CHECK:STDOUT: inst7000001B: concrete_constant(inst7000001A) +// CHECK:STDOUT: inst7000001A: concrete_constant(inst70000019) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst70000012 +// CHECK:STDOUT: 0: inst70000011 // CHECK:STDOUT: generated: {} // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: inst70000011 -// CHECK:STDOUT: 1: inst70000017 -// CHECK:STDOUT: 2: inst70000018 +// CHECK:STDOUT: 0: inst70000010 +// CHECK:STDOUT: 1: inst70000016 +// CHECK:STDOUT: 2: inst70000017 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: extra_global_variables: {} // CHECK:STDOUT: inst_block70000006: {} // CHECK:STDOUT: inst_block70000007: -// CHECK:STDOUT: 0: inst70000016 -// CHECK:STDOUT: 1: inst7000001B -// CHECK:STDOUT: 2: inst7000001C -// CHECK:STDOUT: 3: inst7000001D +// CHECK:STDOUT: 0: inst70000015 +// CHECK:STDOUT: 1: inst7000001A +// CHECK:STDOUT: 2: inst7000001B +// CHECK:STDOUT: 3: inst7000001C // CHECK:STDOUT: inst_block70000008: // CHECK:STDOUT: 0: inst(Package) -// CHECK:STDOUT: 1: inst70000010 -// CHECK:STDOUT: 2: inst70000012 +// CHECK:STDOUT: 1: inst7000000F +// CHECK:STDOUT: 2: inst70000011 // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: // CHECK:STDOUT: ints: {} diff --git a/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon b/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon index d95f2b830286..caaa7e897ab6 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon @@ -39,7 +39,7 @@ fn B() { // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst50000010}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst5000000F}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: functions: // CHECK:STDOUT: function50000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block_empty, call_params_id: inst_block_empty, body: [inst_block50000007]} @@ -78,13 +78,13 @@ fn B() { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst50000011)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000012)} +// CHECK:STDOUT: 'type(inst50000010)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000011)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst50000012)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000012)} +// CHECK:STDOUT: 'type(inst50000011)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000011)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -93,35 +93,35 @@ fn B() { // CHECK:STDOUT: insts: // CHECK:STDOUT: 'inst(TypeType)': {kind: FacetType, arg0: declared_facet_type(Empty), type: type(TypeType)} // CHECK:STDOUT: 'inst(Package)': {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000010: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block_empty, type: type(inst50000011)} -// CHECK:STDOUT: inst50000011: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000012: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000013: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000011)} -// CHECK:STDOUT: inst50000014: {kind: Return} +// CHECK:STDOUT: inst5000000F: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block_empty, type: type(inst50000010)} +// CHECK:STDOUT: inst50000010: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst50000011: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000012: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000010)} +// CHECK:STDOUT: inst50000013: {kind: Return} // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) // CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) -// CHECK:STDOUT: inst50000010: concrete_constant(inst50000013) +// CHECK:STDOUT: inst5000000F: concrete_constant(inst50000012) +// CHECK:STDOUT: inst50000010: concrete_constant(inst50000010) // CHECK:STDOUT: inst50000011: concrete_constant(inst50000011) // CHECK:STDOUT: inst50000012: concrete_constant(inst50000012) -// CHECK:STDOUT: inst50000013: concrete_constant(inst50000013) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst50000010 +// CHECK:STDOUT: 0: inst5000000F // CHECK:STDOUT: generated: {} // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: extra_global_variables: {} // CHECK:STDOUT: inst_block50000006: {} // CHECK:STDOUT: inst_block50000007: -// CHECK:STDOUT: 0: inst50000014 +// CHECK:STDOUT: 0: inst50000013 // CHECK:STDOUT: inst_block50000008: // CHECK:STDOUT: 0: inst(Package) -// CHECK:STDOUT: 1: inst50000010 +// CHECK:STDOUT: 1: inst5000000F // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: // CHECK:STDOUT: ints: {} @@ -160,14 +160,14 @@ fn B() { // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} -// CHECK:STDOUT: import_ir70000002: {decl_id: inst70000010, is_export: false} +// CHECK:STDOUT: import_ir70000002: {decl_id: inst7000000F, is_export: false} // CHECK:STDOUT: import_ir_insts: -// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir70000002, inst_id: inst50000010} +// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir70000002, inst_id: inst5000000F} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: inst70000011, name0: inst70000012}} -// CHECK:STDOUT: name_scope70000001: {inst: inst70000011, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name1: inst70000017}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: inst70000010, name0: inst70000011}} +// CHECK:STDOUT: name_scope70000001: {inst: inst70000010, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name1: inst70000016}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name70000000: {name: name1, parent_scope: name_scope70000001, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst} // CHECK:STDOUT: functions: @@ -208,13 +208,13 @@ fn B() { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst70000013)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst70000014)} +// CHECK:STDOUT: 'type(inst70000012)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst70000013)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst70000014)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst70000014)} +// CHECK:STDOUT: 'type(inst70000013)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst70000013)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -223,58 +223,58 @@ fn B() { // CHECK:STDOUT: insts: // CHECK:STDOUT: 'inst(TypeType)': {kind: FacetType, arg0: declared_facet_type(Empty), type: type(TypeType)} // CHECK:STDOUT: 'inst(Package)': {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst70000010: {kind: ImportDecl, arg0: name1} -// CHECK:STDOUT: inst70000011: {kind: Namespace, arg0: name_scope70000001, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst70000012: {kind: FunctionDecl, arg0: function70000000, arg1: inst_block_empty, type: type(inst70000013)} -// CHECK:STDOUT: inst70000013: {kind: FunctionType, arg0: function70000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst70000014: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst70000015: {kind: StructValue, arg0: inst_block_empty, type: type(inst70000013)} -// CHECK:STDOUT: inst70000016: {kind: NameRef, arg0: name1, arg1: inst70000011, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst70000017: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name70000000, type: type(inst70000019)} -// CHECK:STDOUT: inst70000018: {kind: FunctionDecl, arg0: function70000001, arg1: inst_block_empty, type: type(inst70000019)} -// CHECK:STDOUT: inst70000019: {kind: FunctionType, arg0: function70000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst7000001A: {kind: StructValue, arg0: inst_block_empty, type: type(inst70000019)} -// CHECK:STDOUT: inst7000001B: {kind: NameRef, arg0: name1, arg1: inst70000017, type: type(inst70000019)} -// CHECK:STDOUT: inst7000001C: {kind: Call, arg0: inst7000001B, arg1: inst_block_empty, type: type(inst70000014)} -// CHECK:STDOUT: inst7000001D: {kind: Return} +// CHECK:STDOUT: inst7000000F: {kind: ImportDecl, arg0: name1} +// CHECK:STDOUT: inst70000010: {kind: Namespace, arg0: name_scope70000001, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst70000011: {kind: FunctionDecl, arg0: function70000000, arg1: inst_block_empty, type: type(inst70000012)} +// CHECK:STDOUT: inst70000012: {kind: FunctionType, arg0: function70000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst70000013: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst70000014: {kind: StructValue, arg0: inst_block_empty, type: type(inst70000012)} +// CHECK:STDOUT: inst70000015: {kind: NameRef, arg0: name1, arg1: inst70000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst70000016: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name70000000, type: type(inst70000018)} +// CHECK:STDOUT: inst70000017: {kind: FunctionDecl, arg0: function70000001, arg1: inst_block_empty, type: type(inst70000018)} +// CHECK:STDOUT: inst70000018: {kind: FunctionType, arg0: function70000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst70000019: {kind: StructValue, arg0: inst_block_empty, type: type(inst70000018)} +// CHECK:STDOUT: inst7000001A: {kind: NameRef, arg0: name1, arg1: inst70000016, type: type(inst70000018)} +// CHECK:STDOUT: inst7000001B: {kind: Call, arg0: inst7000001A, arg1: inst_block_empty, type: type(inst70000013)} +// CHECK:STDOUT: inst7000001C: {kind: Return} // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) // CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) -// CHECK:STDOUT: inst70000011: concrete_constant(inst70000011) -// CHECK:STDOUT: inst70000012: concrete_constant(inst70000015) +// CHECK:STDOUT: inst70000010: concrete_constant(inst70000010) +// CHECK:STDOUT: inst70000011: concrete_constant(inst70000014) +// CHECK:STDOUT: inst70000012: concrete_constant(inst70000012) // CHECK:STDOUT: inst70000013: concrete_constant(inst70000013) // CHECK:STDOUT: inst70000014: concrete_constant(inst70000014) -// CHECK:STDOUT: inst70000015: concrete_constant(inst70000015) -// CHECK:STDOUT: inst70000016: concrete_constant(inst70000011) -// CHECK:STDOUT: inst70000017: concrete_constant(inst7000001A) -// CHECK:STDOUT: inst70000018: concrete_constant(inst7000001A) +// CHECK:STDOUT: inst70000015: concrete_constant(inst70000010) +// CHECK:STDOUT: inst70000016: concrete_constant(inst70000019) +// CHECK:STDOUT: inst70000017: concrete_constant(inst70000019) +// CHECK:STDOUT: inst70000018: concrete_constant(inst70000018) // CHECK:STDOUT: inst70000019: concrete_constant(inst70000019) -// CHECK:STDOUT: inst7000001A: concrete_constant(inst7000001A) -// CHECK:STDOUT: inst7000001B: concrete_constant(inst7000001A) +// CHECK:STDOUT: inst7000001A: concrete_constant(inst70000019) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst70000012 +// CHECK:STDOUT: 0: inst70000011 // CHECK:STDOUT: generated: {} // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: inst70000011 -// CHECK:STDOUT: 1: inst70000017 -// CHECK:STDOUT: 2: inst70000018 +// CHECK:STDOUT: 0: inst70000010 +// CHECK:STDOUT: 1: inst70000016 +// CHECK:STDOUT: 2: inst70000017 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: extra_global_variables: {} // CHECK:STDOUT: inst_block70000006: {} // CHECK:STDOUT: inst_block70000007: -// CHECK:STDOUT: 0: inst70000016 -// CHECK:STDOUT: 1: inst7000001B -// CHECK:STDOUT: 2: inst7000001C -// CHECK:STDOUT: 3: inst7000001D +// CHECK:STDOUT: 0: inst70000015 +// CHECK:STDOUT: 1: inst7000001A +// CHECK:STDOUT: 2: inst7000001B +// CHECK:STDOUT: 3: inst7000001C // CHECK:STDOUT: inst_block70000008: // CHECK:STDOUT: 0: inst(Package) -// CHECK:STDOUT: 1: inst70000010 -// CHECK:STDOUT: 2: inst70000012 +// CHECK:STDOUT: 1: inst7000000F +// CHECK:STDOUT: 2: inst70000011 // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: // CHECK:STDOUT: ints: {} diff --git a/toolchain/check/testdata/basics/raw_sem_ir/non_core_interfaces.carbon b/toolchain/check/testdata/basics/raw_sem_ir/non_core_interfaces.carbon index 13703b7d7bd7..6fce179d48e2 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/non_core_interfaces.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/non_core_interfaces.carbon @@ -49,9 +49,9 @@ fn HasRewrites[T: Copy where .Self impls NonCore.SubobjectDestroy and .T1 = ()]( // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: inst60000010}} -// CHECK:STDOUT: name_scope60000001: {inst: inst60000010, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name(SelfType): inst60000012}} -// CHECK:STDOUT: name_scope60000002: {inst: inst60000015, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {name2: inst60000019, name3: inst6000001D}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: inst6000000F}} +// CHECK:STDOUT: name_scope60000001: {inst: inst6000000F, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name(SelfType): inst60000011}} +// CHECK:STDOUT: name_scope60000002: {inst: inst60000014, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {name2: inst60000018, name3: inst6000001C}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name60000000: {name: name(SelfType), parent_scope: name_scope60000001, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst} // CHECK:STDOUT: functions: {} @@ -59,12 +59,12 @@ fn HasRewrites[T: Copy where .Self impls NonCore.SubobjectDestroy and .T1 = ()]( // CHECK:STDOUT: interfaces: // CHECK:STDOUT: interface60000000: {name: name1, parent_scope: name_scope0, require_impls_block_id: require_block_empty} // CHECK:STDOUT: associated_constants: -// CHECK:STDOUT: assoc_const60000000: {name: name2, parent_scope: name_scope60000002, decl_id: inst60000017, default_value_id: inst} -// CHECK:STDOUT: assoc_const60000001: {name: name3, parent_scope: name_scope60000002, decl_id: inst6000001C, default_value_id: inst} +// CHECK:STDOUT: assoc_const60000000: {name: name2, parent_scope: name_scope60000002, decl_id: inst60000016, default_value_id: inst} +// CHECK:STDOUT: assoc_const60000001: {name: name3, parent_scope: name_scope60000002, decl_id: inst6000001B, default_value_id: inst} // CHECK:STDOUT: impls: {} // CHECK:STDOUT: generics: // CHECK:STDOUT: generic60000000: {decl: inst, bindings: inst_block, self_specific_id: specific, decl_block_id: inst_block, definition_block_id: inst_block} -// CHECK:STDOUT: generic60000001: {decl: inst60000015, bindings: inst_block60000006, self_specific_id: specific60000000, decl_block_id: inst_block_empty, definition_block_id: inst_block_empty} +// CHECK:STDOUT: generic60000001: {decl: inst60000014, bindings: inst_block60000006, self_specific_id: specific60000000, decl_block_id: inst_block_empty, definition_block_id: inst_block_empty} // CHECK:STDOUT: specifics: // CHECK:STDOUT: specific60000000: {generic: generic60000001, args: inst_block60000007, identified: 0, decl_block_id: inst_block_empty, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} // CHECK:STDOUT: specific_interfaces: {} @@ -102,76 +102,76 @@ fn HasRewrites[T: Copy where .Self impls NonCore.SubobjectDestroy and .T1 = ()]( // CHECK:STDOUT: insts: // CHECK:STDOUT: 'inst(TypeType)': {kind: FacetType, arg0: declared_facet_type(Empty), type: type(TypeType)} // CHECK:STDOUT: 'inst(Package)': {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst60000010: {kind: InterfaceDecl, arg0: interface60000000, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst60000011: {kind: FacetType, arg0: declared_facet_type60000001, type: type(TypeType)} -// CHECK:STDOUT: inst60000012: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000011)} -// CHECK:STDOUT: inst60000013: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000011)} -// CHECK:STDOUT: inst60000014: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000011)} -// CHECK:STDOUT: inst60000015: {kind: InterfaceWithSelfDecl, arg0: interface60000000} -// CHECK:STDOUT: inst60000016: {kind: TypeLiteral, arg0: inst(TypeType), type: type(TypeType)} -// CHECK:STDOUT: inst60000017: {kind: AssociatedConstantDecl, arg0: assoc_const60000000, arg1: inst_block6000000B, type: type(TypeType)} -// CHECK:STDOUT: inst60000018: {kind: AssociatedEntityType, arg0: interface60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000019: {kind: AssociatedEntity, arg0: element0, arg1: inst60000017, type: type(inst60000018)} -// CHECK:STDOUT: inst6000001A: {kind: AssociatedEntity, arg0: element0, arg1: inst60000017, type: type(inst60000018)} -// CHECK:STDOUT: inst6000001B: {kind: TypeLiteral, arg0: inst(TypeType), type: type(TypeType)} -// CHECK:STDOUT: inst6000001C: {kind: AssociatedConstantDecl, arg0: assoc_const60000001, arg1: inst_block6000000D, type: type(TypeType)} -// CHECK:STDOUT: inst6000001D: {kind: AssociatedEntity, arg0: element1, arg1: inst6000001C, type: type(inst60000018)} -// CHECK:STDOUT: inst6000001E: {kind: AssociatedEntity, arg0: element1, arg1: inst6000001C, type: type(inst60000018)} +// CHECK:STDOUT: inst6000000F: {kind: InterfaceDecl, arg0: interface60000000, arg1: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst60000010: {kind: FacetType, arg0: declared_facet_type60000001, type: type(TypeType)} +// CHECK:STDOUT: inst60000011: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000010)} +// CHECK:STDOUT: inst60000012: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000010)} +// CHECK:STDOUT: inst60000013: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000010)} +// CHECK:STDOUT: inst60000014: {kind: InterfaceWithSelfDecl, arg0: interface60000000} +// CHECK:STDOUT: inst60000015: {kind: TypeLiteral, arg0: inst(TypeType), type: type(TypeType)} +// CHECK:STDOUT: inst60000016: {kind: AssociatedConstantDecl, arg0: assoc_const60000000, arg1: inst_block6000000B, type: type(TypeType)} +// CHECK:STDOUT: inst60000017: {kind: AssociatedEntityType, arg0: interface60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000018: {kind: AssociatedEntity, arg0: element0, arg1: inst60000016, type: type(inst60000017)} +// CHECK:STDOUT: inst60000019: {kind: AssociatedEntity, arg0: element0, arg1: inst60000016, type: type(inst60000017)} +// CHECK:STDOUT: inst6000001A: {kind: TypeLiteral, arg0: inst(TypeType), type: type(TypeType)} +// CHECK:STDOUT: inst6000001B: {kind: AssociatedConstantDecl, arg0: assoc_const60000001, arg1: inst_block6000000D, type: type(TypeType)} +// CHECK:STDOUT: inst6000001C: {kind: AssociatedEntity, arg0: element1, arg1: inst6000001B, type: type(inst60000017)} +// CHECK:STDOUT: inst6000001D: {kind: AssociatedEntity, arg0: element1, arg1: inst6000001B, type: type(inst60000017)} // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) // CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) -// CHECK:STDOUT: inst60000010: concrete_constant(inst60000011) -// CHECK:STDOUT: inst60000011: concrete_constant(inst60000011) +// CHECK:STDOUT: inst6000000F: concrete_constant(inst60000010) +// CHECK:STDOUT: inst60000010: concrete_constant(inst60000010) +// CHECK:STDOUT: inst60000011: symbolic_constant60000000 // CHECK:STDOUT: inst60000012: symbolic_constant60000000 -// CHECK:STDOUT: inst60000013: symbolic_constant60000000 -// CHECK:STDOUT: inst60000014: symbolic_constant60000001 -// CHECK:STDOUT: inst60000015: concrete_constant(inst60000015) -// CHECK:STDOUT: inst60000016: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst60000013: symbolic_constant60000001 +// CHECK:STDOUT: inst60000014: concrete_constant(inst60000014) +// CHECK:STDOUT: inst60000015: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst60000016: concrete_constant(inst60000016) // CHECK:STDOUT: inst60000017: concrete_constant(inst60000017) -// CHECK:STDOUT: inst60000018: concrete_constant(inst60000018) -// CHECK:STDOUT: inst60000019: concrete_constant(inst6000001A) -// CHECK:STDOUT: inst6000001A: concrete_constant(inst6000001A) -// CHECK:STDOUT: inst6000001B: concrete_constant(inst(TypeType)) -// CHECK:STDOUT: inst6000001C: concrete_constant(inst6000001C) -// CHECK:STDOUT: inst6000001D: concrete_constant(inst6000001E) -// CHECK:STDOUT: inst6000001E: concrete_constant(inst6000001E) +// CHECK:STDOUT: inst60000018: concrete_constant(inst60000019) +// CHECK:STDOUT: inst60000019: concrete_constant(inst60000019) +// CHECK:STDOUT: inst6000001A: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst6000001B: concrete_constant(inst6000001B) +// CHECK:STDOUT: inst6000001C: concrete_constant(inst6000001D) +// CHECK:STDOUT: inst6000001D: concrete_constant(inst6000001D) // CHECK:STDOUT: symbolic_constants: -// CHECK:STDOUT: symbolic_constant60000000: {inst: inst60000013, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000001: {inst: inst60000013, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000000: {inst: inst60000012, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000001: {inst: inst60000012, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def0}} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst60000010 +// CHECK:STDOUT: 0: inst6000000F // CHECK:STDOUT: generated: {} // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: extra_global_variables: {} // CHECK:STDOUT: inst_block60000006: -// CHECK:STDOUT: 0: inst60000012 +// CHECK:STDOUT: 0: inst60000011 // CHECK:STDOUT: inst_block60000007: -// CHECK:STDOUT: 0: inst60000013 -// CHECK:STDOUT: inst_block60000008: // CHECK:STDOUT: 0: inst60000012 -// CHECK:STDOUT: 1: inst60000015 +// CHECK:STDOUT: inst_block60000008: +// CHECK:STDOUT: 0: inst60000011 +// CHECK:STDOUT: 1: inst60000014 // CHECK:STDOUT: inst_block60000009: -// CHECK:STDOUT: 0: inst60000017 -// CHECK:STDOUT: 1: inst6000001C -// CHECK:STDOUT: inst_block6000000A: // CHECK:STDOUT: 0: inst60000016 +// CHECK:STDOUT: 1: inst6000001B +// CHECK:STDOUT: inst_block6000000A: +// CHECK:STDOUT: 0: inst60000015 // CHECK:STDOUT: inst_block6000000B: -// CHECK:STDOUT: 0: inst60000019 +// CHECK:STDOUT: 0: inst60000018 // CHECK:STDOUT: inst_block6000000C: -// CHECK:STDOUT: 0: inst6000001B +// CHECK:STDOUT: 0: inst6000001A // CHECK:STDOUT: inst_block6000000D: -// CHECK:STDOUT: 0: inst6000001D +// CHECK:STDOUT: 0: inst6000001C // CHECK:STDOUT: inst_block6000000E: -// CHECK:STDOUT: 0: inst60000017 -// CHECK:STDOUT: 1: inst6000001C +// CHECK:STDOUT: 0: inst60000016 +// CHECK:STDOUT: 1: inst6000001B // CHECK:STDOUT: inst_block6000000F: // CHECK:STDOUT: 0: inst(Package) -// CHECK:STDOUT: 1: inst60000010 +// CHECK:STDOUT: 1: inst6000000F // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: // CHECK:STDOUT: ints: {} @@ -200,24 +200,24 @@ fn HasRewrites[T: Copy where .Self impls NonCore.SubobjectDestroy and .T1 = ()]( // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} -// CHECK:STDOUT: import_ir50000002: {decl_id: inst50000010, is_export: false} +// CHECK:STDOUT: import_ir50000002: {decl_id: inst5000000F, is_export: false} // CHECK:STDOUT: import_ir_insts: -// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir50000002, inst_id: inst60000010} -// CHECK:STDOUT: import_ir_inst1: {ir_id: import_ir50000002, inst_id: inst60000015} -// CHECK:STDOUT: import_ir_inst2: {ir_id: import_ir50000002, inst_id: inst60000019} -// CHECK:STDOUT: import_ir_inst3: {ir_id: import_ir50000002, inst_id: inst6000001D} -// CHECK:STDOUT: import_ir_inst4: {ir_id: import_ir50000002, inst_id: inst60000017} -// CHECK:STDOUT: import_ir_inst5: {ir_id: import_ir50000002, inst_id: inst6000001C} -// CHECK:STDOUT: import_ir_inst6: {ir_id: import_ir50000002, inst_id: inst60000012} +// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir50000002, inst_id: inst6000000F} +// CHECK:STDOUT: import_ir_inst1: {ir_id: import_ir50000002, inst_id: inst60000014} +// CHECK:STDOUT: import_ir_inst2: {ir_id: import_ir50000002, inst_id: inst60000018} +// CHECK:STDOUT: import_ir_inst3: {ir_id: import_ir50000002, inst_id: inst6000001C} +// CHECK:STDOUT: import_ir_inst4: {ir_id: import_ir50000002, inst_id: inst60000016} +// CHECK:STDOUT: import_ir_inst5: {ir_id: import_ir50000002, inst_id: inst6000001B} +// CHECK:STDOUT: import_ir_inst6: {ir_id: import_ir50000002, inst_id: inst60000011} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst50000011, name1: inst50000012, name4: inst50000069, name7: inst500000A8, name8: inst5000010D}} -// CHECK:STDOUT: name_scope50000001: {inst: inst50000011, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name6: inst50000024}} -// CHECK:STDOUT: name_scope50000002: {inst: inst50000012, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name(SelfType): inst50000014}} -// CHECK:STDOUT: name_scope50000003: {inst: inst50000017, parent_scope: name_scope50000002, has_error: false, extended_scopes: [], names: {name2: inst5000001B, name3: inst5000001F}} -// CHECK:STDOUT: name_scope50000004: {inst: inst50000025, parent_scope: name_scope50000001, has_error: false, extended_scopes: [], names: {name(SelfType): inst5000002E}} -// CHECK:STDOUT: name_scope50000005: {inst: inst50000027, parent_scope: name_scope50000004, has_error: false, extended_scopes: [], names: {name2: inst50000029, name3: inst5000002A}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst50000010, name1: inst50000011, name4: inst50000068, name7: inst500000A7, name8: inst5000010C}} +// CHECK:STDOUT: name_scope50000001: {inst: inst50000010, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name6: inst50000023}} +// CHECK:STDOUT: name_scope50000002: {inst: inst50000011, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name(SelfType): inst50000013}} +// CHECK:STDOUT: name_scope50000003: {inst: inst50000016, parent_scope: name_scope50000002, has_error: false, extended_scopes: [], names: {name2: inst5000001A, name3: inst5000001E}} +// CHECK:STDOUT: name_scope50000004: {inst: inst50000024, parent_scope: name_scope50000001, has_error: false, extended_scopes: [], names: {name(SelfType): inst5000002D}} +// CHECK:STDOUT: name_scope50000005: {inst: inst50000026, parent_scope: name_scope50000004, has_error: false, extended_scopes: [], names: {name2: inst50000028, name3: inst50000029}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name50000000: {name: name(SelfType), parent_scope: name_scope50000002, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst} // CHECK:STDOUT: entity_name50000001: {name: name(PeriodSelf), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0, is_frozen_period_self: 1, form: inst, type: inst} @@ -226,16 +226,16 @@ fn HasRewrites[T: Copy where .Self impls NonCore.SubobjectDestroy and .T1 = ()]( // CHECK:STDOUT: entity_name50000004: {name: name2, parent_scope: name_scope50000005, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst} // CHECK:STDOUT: entity_name50000005: {name: name3, parent_scope: name_scope50000005, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst} // CHECK:STDOUT: entity_name50000006: {name: name(SelfType), parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst} -// CHECK:STDOUT: entity_name50000007: {name: name5, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst5000002F} -// CHECK:STDOUT: entity_name50000008: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000043} -// CHECK:STDOUT: entity_name50000009: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000058} -// CHECK:STDOUT: entity_name5000000A: {name: name5, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst50000075} -// CHECK:STDOUT: entity_name5000000B: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000085} -// CHECK:STDOUT: entity_name5000000C: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000097} +// CHECK:STDOUT: entity_name50000007: {name: name5, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst5000002E} +// CHECK:STDOUT: entity_name50000008: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000042} +// CHECK:STDOUT: entity_name50000009: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000057} +// CHECK:STDOUT: entity_name5000000A: {name: name5, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst50000074} +// CHECK:STDOUT: entity_name5000000B: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000084} +// CHECK:STDOUT: entity_name5000000C: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000096} // CHECK:STDOUT: entity_name5000000D: {name: name(PeriodSelf), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0, is_frozen_period_self: 0, form: inst, type: inst} -// CHECK:STDOUT: entity_name5000000E: {name: name5, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst500000D6} -// CHECK:STDOUT: entity_name5000000F: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst500000EF} -// CHECK:STDOUT: entity_name50000010: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst500000FB} +// CHECK:STDOUT: entity_name5000000E: {name: name5, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst500000D5} +// CHECK:STDOUT: entity_name5000000F: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst500000EE} +// CHECK:STDOUT: entity_name50000010: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst500000FA} // CHECK:STDOUT: functions: // CHECK:STDOUT: function50000000: {name: name4, parent_scope: name_scope0, call_param_patterns_id: inst_block50000019, call_params_id: inst_block5000001A, body: [inst_block50000020]} // CHECK:STDOUT: function50000001: {name: name7, parent_scope: name_scope0, call_param_patterns_id: inst_block50000029, call_params_id: inst_block5000002A, body: [inst_block50000030]} @@ -245,18 +245,18 @@ fn HasRewrites[T: Copy where .Self impls NonCore.SubobjectDestroy and .T1 = ()]( // CHECK:STDOUT: interface50000000: {name: name1, parent_scope: name_scope0, require_impls_block_id: require_block_empty} // CHECK:STDOUT: interface50000001: {name: name6, parent_scope: name_scope50000001, require_impls_block_id: require_block_empty} // CHECK:STDOUT: associated_constants: -// CHECK:STDOUT: assoc_const50000000: {name: name2, parent_scope: name_scope50000003, decl_id: inst50000019, default_value_id: inst} -// CHECK:STDOUT: assoc_const50000001: {name: name3, parent_scope: name_scope50000003, decl_id: inst5000001E, default_value_id: inst} -// CHECK:STDOUT: assoc_const50000002: {name: name2, parent_scope: name_scope50000005, decl_id: inst50000042, default_value_id: inst} -// CHECK:STDOUT: assoc_const50000003: {name: name3, parent_scope: name_scope50000005, decl_id: inst50000057, default_value_id: inst} +// CHECK:STDOUT: assoc_const50000000: {name: name2, parent_scope: name_scope50000003, decl_id: inst50000018, default_value_id: inst} +// CHECK:STDOUT: assoc_const50000001: {name: name3, parent_scope: name_scope50000003, decl_id: inst5000001D, default_value_id: inst} +// CHECK:STDOUT: assoc_const50000002: {name: name2, parent_scope: name_scope50000005, decl_id: inst50000041, default_value_id: inst} +// CHECK:STDOUT: assoc_const50000003: {name: name3, parent_scope: name_scope50000005, decl_id: inst50000056, default_value_id: inst} // CHECK:STDOUT: impls: {} // CHECK:STDOUT: generics: // CHECK:STDOUT: generic50000000: {decl: inst, bindings: inst_block, self_specific_id: specific, decl_block_id: inst_block, definition_block_id: inst_block} -// CHECK:STDOUT: generic50000001: {decl: inst50000017, bindings: inst_block50000006, self_specific_id: specific50000000, decl_block_id: inst_block_empty, definition_block_id: inst_block_empty} -// CHECK:STDOUT: generic50000002: {decl: inst50000027, bindings: inst_block50000011, self_specific_id: specific50000001, decl_block_id: inst_block_empty, definition_block_id: inst_block_empty} -// CHECK:STDOUT: generic50000003: {decl: inst50000069, bindings: inst_block5000001D, self_specific_id: specific50000003, decl_block_id: inst_block5000001E, definition_block_id: inst_block50000021} -// CHECK:STDOUT: generic50000004: {decl: inst500000A8, bindings: inst_block5000002D, self_specific_id: specific50000005, decl_block_id: inst_block5000002E, definition_block_id: inst_block50000031} -// CHECK:STDOUT: generic50000005: {decl: inst5000010D, bindings: inst_block50000043, self_specific_id: specific50000009, decl_block_id: inst_block50000044, definition_block_id: inst_block50000047} +// CHECK:STDOUT: generic50000001: {decl: inst50000016, bindings: inst_block50000006, self_specific_id: specific50000000, decl_block_id: inst_block_empty, definition_block_id: inst_block_empty} +// CHECK:STDOUT: generic50000002: {decl: inst50000026, bindings: inst_block50000011, self_specific_id: specific50000001, decl_block_id: inst_block_empty, definition_block_id: inst_block_empty} +// CHECK:STDOUT: generic50000003: {decl: inst50000068, bindings: inst_block5000001D, self_specific_id: specific50000003, decl_block_id: inst_block5000001E, definition_block_id: inst_block50000021} +// CHECK:STDOUT: generic50000004: {decl: inst500000A7, bindings: inst_block5000002D, self_specific_id: specific50000005, decl_block_id: inst_block5000002E, definition_block_id: inst_block50000031} +// CHECK:STDOUT: generic50000005: {decl: inst5000010C, bindings: inst_block50000043, self_specific_id: specific50000009, decl_block_id: inst_block50000044, definition_block_id: inst_block50000047} // CHECK:STDOUT: specifics: // CHECK:STDOUT: specific50000000: {generic: generic50000001, args: inst_block50000007, identified: 0, decl_block_id: inst_block_empty, decl_has_error: 0, definition_block_id: inst_block_empty, definition_has_error: 0} // CHECK:STDOUT: specific50000001: {generic: generic50000002, args: inst_block50000012, identified: 0, decl_block_id: inst_block_empty, decl_has_error: 0, definition_block_id: inst_block_empty, definition_has_error: 0} @@ -299,8 +299,8 @@ fn HasRewrites[T: Copy where .Self impls NonCore.SubobjectDestroy and .T1 = ()]( // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst50000026)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst50000026)} +// CHECK:STDOUT: 'type(inst50000025)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst50000025)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -309,13 +309,13 @@ fn HasRewrites[T: Copy where .Self impls NonCore.SubobjectDestroy and .T1 = ()]( // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst5000006A)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000006B)} +// CHECK:STDOUT: 'type(inst50000069)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000006A)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst5000006B)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000006B)} +// CHECK:STDOUT: 'type(inst5000006A)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000006A)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -329,13 +329,13 @@ fn HasRewrites[T: Copy where .Self impls NonCore.SubobjectDestroy and .T1 = ()]( // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 0 -// CHECK:STDOUT: 'type(inst50000013)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst50000013)} +// CHECK:STDOUT: 'type(inst50000012)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst50000012)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst500000A9)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000006B)} +// CHECK:STDOUT: 'type(inst500000A8)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000006A)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -349,13 +349,13 @@ fn HasRewrites[T: Copy where .Self impls NonCore.SubobjectDestroy and .T1 = ()]( // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 0 -// CHECK:STDOUT: 'type(inst500000D7)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst500000D7)} +// CHECK:STDOUT: 'type(inst500000D6)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst500000D6)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst5000010E)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000006B)} +// CHECK:STDOUT: 'type(inst5000010D)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000006A)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -368,927 +368,927 @@ fn HasRewrites[T: Copy where .Self impls NonCore.SubobjectDestroy and .T1 = ()]( // CHECK:STDOUT: 'declared_facet_type(Empty)': {} // CHECK:STDOUT: declared_facet_type50000001: {extends interface: [interface50000000]} // CHECK:STDOUT: declared_facet_type50000002: {extends interface: [interface50000001]} -// CHECK:STDOUT: declared_facet_type50000003: {extends interface: [interface50000000], self impls interface: [interface50000001], rewrites: {inst500000D4: inst5000006B}} -// CHECK:STDOUT: declared_facet_type50000004: {extends interface: [interface50000000], self impls interface: [interface50000001], rewrites: {inst500000EA: inst5000006B}} +// CHECK:STDOUT: declared_facet_type50000003: {extends interface: [interface50000000], self impls interface: [interface50000001], rewrites: {inst500000D3: inst5000006A}} +// CHECK:STDOUT: declared_facet_type50000004: {extends interface: [interface50000000], self impls interface: [interface50000001], rewrites: {inst500000E9: inst5000006A}} // CHECK:STDOUT: insts: // CHECK:STDOUT: 'inst(TypeType)': {kind: FacetType, arg0: declared_facet_type(Empty), type: type(TypeType)} // CHECK:STDOUT: 'inst(Package)': {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000010: {kind: ImportDecl, arg0: name0} -// CHECK:STDOUT: inst50000011: {kind: Namespace, arg0: name_scope50000001, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000012: {kind: InterfaceDecl, arg0: interface50000000, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000013: {kind: FacetType, arg0: declared_facet_type50000001, type: type(TypeType)} -// CHECK:STDOUT: inst50000014: {kind: SymbolicBinding, arg0: entity_name50000000, arg1: inst, type: type(inst50000013)} -// CHECK:STDOUT: inst50000015: {kind: SymbolicBinding, arg0: entity_name50000000, arg1: inst, type: type(inst50000013)} -// CHECK:STDOUT: inst50000016: {kind: SymbolicBinding, arg0: entity_name50000000, arg1: inst, type: type(inst50000013)} -// CHECK:STDOUT: inst50000017: {kind: InterfaceWithSelfDecl, arg0: interface50000000} -// CHECK:STDOUT: inst50000018: {kind: TypeLiteral, arg0: inst(TypeType), type: type(TypeType)} -// CHECK:STDOUT: inst50000019: {kind: AssociatedConstantDecl, arg0: assoc_const50000000, arg1: inst_block5000000B, type: type(TypeType)} -// CHECK:STDOUT: inst5000001A: {kind: AssociatedEntityType, arg0: interface50000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst5000001B: {kind: AssociatedEntity, arg0: element0, arg1: inst50000019, type: type(inst5000001A)} -// CHECK:STDOUT: inst5000001C: {kind: AssociatedEntity, arg0: element0, arg1: inst50000019, type: type(inst5000001A)} -// CHECK:STDOUT: inst5000001D: {kind: TypeLiteral, arg0: inst(TypeType), type: type(TypeType)} -// CHECK:STDOUT: inst5000001E: {kind: AssociatedConstantDecl, arg0: assoc_const50000001, arg1: inst_block5000000D, type: type(TypeType)} -// CHECK:STDOUT: inst5000001F: {kind: AssociatedEntity, arg0: element1, arg1: inst5000001E, type: type(inst5000001A)} -// CHECK:STDOUT: inst50000020: {kind: AssociatedEntity, arg0: element1, arg1: inst5000001E, type: type(inst5000001A)} +// CHECK:STDOUT: inst5000000F: {kind: ImportDecl, arg0: name0} +// CHECK:STDOUT: inst50000010: {kind: Namespace, arg0: name_scope50000001, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000011: {kind: InterfaceDecl, arg0: interface50000000, arg1: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000012: {kind: FacetType, arg0: declared_facet_type50000001, type: type(TypeType)} +// CHECK:STDOUT: inst50000013: {kind: SymbolicBinding, arg0: entity_name50000000, arg1: inst, type: type(inst50000012)} +// CHECK:STDOUT: inst50000014: {kind: SymbolicBinding, arg0: entity_name50000000, arg1: inst, type: type(inst50000012)} +// CHECK:STDOUT: inst50000015: {kind: SymbolicBinding, arg0: entity_name50000000, arg1: inst, type: type(inst50000012)} +// CHECK:STDOUT: inst50000016: {kind: InterfaceWithSelfDecl, arg0: interface50000000} +// CHECK:STDOUT: inst50000017: {kind: TypeLiteral, arg0: inst(TypeType), type: type(TypeType)} +// CHECK:STDOUT: inst50000018: {kind: AssociatedConstantDecl, arg0: assoc_const50000000, arg1: inst_block5000000B, type: type(TypeType)} +// CHECK:STDOUT: inst50000019: {kind: AssociatedEntityType, arg0: interface50000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst5000001A: {kind: AssociatedEntity, arg0: element0, arg1: inst50000018, type: type(inst50000019)} +// CHECK:STDOUT: inst5000001B: {kind: AssociatedEntity, arg0: element0, arg1: inst50000018, type: type(inst50000019)} +// CHECK:STDOUT: inst5000001C: {kind: TypeLiteral, arg0: inst(TypeType), type: type(TypeType)} +// CHECK:STDOUT: inst5000001D: {kind: AssociatedConstantDecl, arg0: assoc_const50000001, arg1: inst_block5000000D, type: type(TypeType)} +// CHECK:STDOUT: inst5000001E: {kind: AssociatedEntity, arg0: element1, arg1: inst5000001D, type: type(inst50000019)} +// CHECK:STDOUT: inst5000001F: {kind: AssociatedEntity, arg0: element1, arg1: inst5000001D, type: type(inst50000019)} +// CHECK:STDOUT: inst50000020: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(TypeType)} // CHECK:STDOUT: inst50000021: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst50000022: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst50000023: {kind: NameRef, arg0: name0, arg1: inst50000011, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000024: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name50000002, type: type(TypeType)} -// CHECK:STDOUT: inst50000025: {kind: InterfaceDecl, arg0: interface50000001, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000026: {kind: FacetType, arg0: declared_facet_type50000002, type: type(TypeType)} -// CHECK:STDOUT: inst50000027: {kind: InterfaceWithSelfDecl, arg0: interface50000001} -// CHECK:STDOUT: inst50000028: {kind: SymbolicBinding, arg0: entity_name50000003, arg1: inst, type: type(inst50000026)} -// CHECK:STDOUT: inst50000029: {kind: ImportRefLoaded, arg0: import_ir_inst2, arg1: entity_name, type: type(inst5000003C)} -// CHECK:STDOUT: inst5000002A: {kind: ImportRefLoaded, arg0: import_ir_inst3, arg1: entity_name, type: type(inst5000003C)} -// CHECK:STDOUT: inst5000002B: {kind: ImportRefUnloaded, arg0: import_ir_inst4, arg1: entity_name50000004} -// CHECK:STDOUT: inst5000002C: {kind: ImportRefUnloaded, arg0: import_ir_inst5, arg1: entity_name50000005} -// CHECK:STDOUT: inst5000002D: {kind: ImportRefLoaded, arg0: import_ir_inst6, arg1: entity_name, type: type(inst50000026)} -// CHECK:STDOUT: inst5000002E: {kind: ImportRefUnloaded, arg0: import_ir_inst6, arg1: entity_name} -// CHECK:STDOUT: inst5000002F: {kind: NameRef, arg0: name6, arg1: inst50000024, type: type(TypeType)} -// CHECK:STDOUT: inst50000030: {kind: PatternType, arg0: inst50000026, type: type(TypeType)} -// CHECK:STDOUT: inst50000031: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000030)} -// CHECK:STDOUT: inst50000032: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000030)} -// CHECK:STDOUT: inst50000033: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000030)} -// CHECK:STDOUT: inst50000034: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000026)} -// CHECK:STDOUT: inst50000035: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000026)} -// CHECK:STDOUT: inst50000036: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000026)} -// CHECK:STDOUT: inst50000037: {kind: NameRef, arg0: name5, arg1: inst50000034, type: type(inst50000026)} -// CHECK:STDOUT: inst50000038: {kind: FacetAccessType, arg0: inst50000037, type: type(TypeType)} +// CHECK:STDOUT: inst50000022: {kind: NameRef, arg0: name0, arg1: inst50000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000023: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name50000002, type: type(TypeType)} +// CHECK:STDOUT: inst50000024: {kind: InterfaceDecl, arg0: interface50000001, arg1: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000025: {kind: FacetType, arg0: declared_facet_type50000002, type: type(TypeType)} +// CHECK:STDOUT: inst50000026: {kind: InterfaceWithSelfDecl, arg0: interface50000001} +// CHECK:STDOUT: inst50000027: {kind: SymbolicBinding, arg0: entity_name50000003, arg1: inst, type: type(inst50000025)} +// CHECK:STDOUT: inst50000028: {kind: ImportRefLoaded, arg0: import_ir_inst2, arg1: entity_name, type: type(inst5000003B)} +// CHECK:STDOUT: inst50000029: {kind: ImportRefLoaded, arg0: import_ir_inst3, arg1: entity_name, type: type(inst5000003B)} +// CHECK:STDOUT: inst5000002A: {kind: ImportRefUnloaded, arg0: import_ir_inst4, arg1: entity_name50000004} +// CHECK:STDOUT: inst5000002B: {kind: ImportRefUnloaded, arg0: import_ir_inst5, arg1: entity_name50000005} +// CHECK:STDOUT: inst5000002C: {kind: ImportRefLoaded, arg0: import_ir_inst6, arg1: entity_name, type: type(inst50000025)} +// CHECK:STDOUT: inst5000002D: {kind: ImportRefUnloaded, arg0: import_ir_inst6, arg1: entity_name} +// CHECK:STDOUT: inst5000002E: {kind: NameRef, arg0: name6, arg1: inst50000023, type: type(TypeType)} +// CHECK:STDOUT: inst5000002F: {kind: PatternType, arg0: inst50000025, type: type(TypeType)} +// CHECK:STDOUT: inst50000030: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst5000002F)} +// CHECK:STDOUT: inst50000031: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst5000002F)} +// CHECK:STDOUT: inst50000032: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst5000002F)} +// CHECK:STDOUT: inst50000033: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000025)} +// CHECK:STDOUT: inst50000034: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000025)} +// CHECK:STDOUT: inst50000035: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000025)} +// CHECK:STDOUT: inst50000036: {kind: NameRef, arg0: name5, arg1: inst50000033, type: type(inst50000025)} +// CHECK:STDOUT: inst50000037: {kind: FacetAccessType, arg0: inst50000036, type: type(TypeType)} +// CHECK:STDOUT: inst50000038: {kind: FacetAccessType, arg0: inst50000034, type: type(TypeType)} // CHECK:STDOUT: inst50000039: {kind: FacetAccessType, arg0: inst50000035, type: type(TypeType)} -// CHECK:STDOUT: inst5000003A: {kind: FacetAccessType, arg0: inst50000036, type: type(TypeType)} -// CHECK:STDOUT: inst5000003B: {kind: Converted, arg0: inst50000037, arg1: inst50000038, type: type(TypeType)} -// CHECK:STDOUT: inst5000003C: {kind: AssociatedEntityType, arg0: interface50000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst5000003D: {kind: ImportRefLoaded, arg0: import_ir_inst4, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst5000003E: {kind: AssociatedEntity, arg0: element0, arg1: inst5000003D, type: type(inst5000003C)} -// CHECK:STDOUT: inst5000003F: {kind: NameRef, arg0: name2, arg1: inst50000029, type: type(inst5000003C)} -// CHECK:STDOUT: inst50000040: {kind: LookupImplWitness, arg0: inst50000035, arg1: specific_interface50000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000041: {kind: LookupImplWitness, arg0: inst50000035, arg1: specific_interface50000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000042: {kind: AssociatedConstantDecl, arg0: assoc_const50000002, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000043: {kind: ImplWitnessAccess, arg0: inst50000041, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst50000044: {kind: ImplWitnessAccess, arg0: inst50000041, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst50000045: {kind: LookupImplWitness, arg0: inst50000036, arg1: specific_interface50000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000046: {kind: ImplWitnessAccess, arg0: inst50000045, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst50000047: {kind: PatternType, arg0: inst50000044, type: type(TypeType)} -// CHECK:STDOUT: inst50000048: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000010)} -// CHECK:STDOUT: inst50000049: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000000E)} -// CHECK:STDOUT: inst5000004A: {kind: PatternType, arg0: inst50000046, type: type(TypeType)} -// CHECK:STDOUT: inst5000004B: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000010)} -// CHECK:STDOUT: inst5000004C: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst50000048, type: type(symbolic_constant50000010)} -// CHECK:STDOUT: inst5000004D: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst50000049, type: type(symbolic_constant5000000E)} -// CHECK:STDOUT: inst5000004E: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000004B, type: type(symbolic_constant50000010)} -// CHECK:STDOUT: inst5000004F: {kind: WrapperBinding, arg0: entity_name50000008, arg1: inst50000065, type: type(symbolic_constant5000000D)} -// CHECK:STDOUT: inst50000050: {kind: NameRef, arg0: name5, arg1: inst50000034, type: type(inst50000026)} -// CHECK:STDOUT: inst50000051: {kind: FacetAccessType, arg0: inst50000050, type: type(TypeType)} -// CHECK:STDOUT: inst50000052: {kind: Converted, arg0: inst50000050, arg1: inst50000051, type: type(TypeType)} -// CHECK:STDOUT: inst50000053: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst50000054: {kind: AssociatedEntity, arg0: element1, arg1: inst50000053, type: type(inst5000003C)} -// CHECK:STDOUT: inst50000055: {kind: NameRef, arg0: name3, arg1: inst5000002A, type: type(inst5000003C)} -// CHECK:STDOUT: inst50000056: {kind: LookupImplWitness, arg0: inst50000035, arg1: specific_interface50000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000057: {kind: AssociatedConstantDecl, arg0: assoc_const50000003, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000058: {kind: ImplWitnessAccess, arg0: inst50000041, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst50000059: {kind: ImplWitnessAccess, arg0: inst50000041, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst5000005A: {kind: ImplWitnessAccess, arg0: inst50000045, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst5000005B: {kind: PatternType, arg0: inst50000059, type: type(TypeType)} -// CHECK:STDOUT: inst5000005C: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000018)} -// CHECK:STDOUT: inst5000005D: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000016)} -// CHECK:STDOUT: inst5000005E: {kind: PatternType, arg0: inst5000005A, type: type(TypeType)} -// CHECK:STDOUT: inst5000005F: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000018)} -// CHECK:STDOUT: inst50000060: {kind: WrapperBindingPattern, arg0: entity_name50000009, arg1: inst5000005C, type: type(symbolic_constant50000018)} -// CHECK:STDOUT: inst50000061: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000005D, type: type(symbolic_constant50000016)} -// CHECK:STDOUT: inst50000062: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000005F, type: type(symbolic_constant50000018)} -// CHECK:STDOUT: inst50000063: {kind: WrapperBinding, arg0: entity_name50000009, arg1: inst50000067, type: type(symbolic_constant50000015)} -// CHECK:STDOUT: inst50000064: {kind: SpliceBlock, arg0: inst_block5000000F, arg1: inst5000002F, type: type(TypeType)} -// CHECK:STDOUT: inst50000065: {kind: ValueParam, arg0: call_param0, arg1: name(Underscore), type: type(symbolic_constant5000000D)} -// CHECK:STDOUT: inst50000066: {kind: SpliceBlock, arg0: inst_block50000014, arg1: inst50000043, type: type(TypeType)} -// CHECK:STDOUT: inst50000067: {kind: ValueParam, arg0: call_param1, arg1: name(Underscore), type: type(symbolic_constant50000015)} -// CHECK:STDOUT: inst50000068: {kind: SpliceBlock, arg0: inst_block50000017, arg1: inst50000058, type: type(TypeType)} -// CHECK:STDOUT: inst50000069: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block5000001C, type: type(inst5000006A)} -// CHECK:STDOUT: inst5000006A: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst5000006B: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst5000006C: {kind: StructValue, arg0: inst_block_empty, type: type(inst5000006A)} -// CHECK:STDOUT: inst5000006D: {kind: RequireCompleteType, arg0: inst50000044, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst5000006E: {kind: RequireCompleteType, arg0: inst50000044, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst5000006F: {kind: RequireCompleteType, arg0: inst50000046, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000070: {kind: RequireCompleteType, arg0: inst50000059, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst5000003A: {kind: Converted, arg0: inst50000036, arg1: inst50000037, type: type(TypeType)} +// CHECK:STDOUT: inst5000003B: {kind: AssociatedEntityType, arg0: interface50000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst5000003C: {kind: ImportRefLoaded, arg0: import_ir_inst4, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst5000003D: {kind: AssociatedEntity, arg0: element0, arg1: inst5000003C, type: type(inst5000003B)} +// CHECK:STDOUT: inst5000003E: {kind: NameRef, arg0: name2, arg1: inst50000028, type: type(inst5000003B)} +// CHECK:STDOUT: inst5000003F: {kind: LookupImplWitness, arg0: inst50000034, arg1: specific_interface50000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000040: {kind: LookupImplWitness, arg0: inst50000034, arg1: specific_interface50000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000041: {kind: AssociatedConstantDecl, arg0: assoc_const50000002, arg1: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000042: {kind: ImplWitnessAccess, arg0: inst50000040, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst50000043: {kind: ImplWitnessAccess, arg0: inst50000040, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst50000044: {kind: LookupImplWitness, arg0: inst50000035, arg1: specific_interface50000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000045: {kind: ImplWitnessAccess, arg0: inst50000044, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst50000046: {kind: PatternType, arg0: inst50000043, type: type(TypeType)} +// CHECK:STDOUT: inst50000047: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000010)} +// CHECK:STDOUT: inst50000048: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000000E)} +// CHECK:STDOUT: inst50000049: {kind: PatternType, arg0: inst50000045, type: type(TypeType)} +// CHECK:STDOUT: inst5000004A: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000010)} +// CHECK:STDOUT: inst5000004B: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst50000047, type: type(symbolic_constant50000010)} +// CHECK:STDOUT: inst5000004C: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst50000048, type: type(symbolic_constant5000000E)} +// CHECK:STDOUT: inst5000004D: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000004A, type: type(symbolic_constant50000010)} +// CHECK:STDOUT: inst5000004E: {kind: WrapperBinding, arg0: entity_name50000008, arg1: inst50000064, type: type(symbolic_constant5000000D)} +// CHECK:STDOUT: inst5000004F: {kind: NameRef, arg0: name5, arg1: inst50000033, type: type(inst50000025)} +// CHECK:STDOUT: inst50000050: {kind: FacetAccessType, arg0: inst5000004F, type: type(TypeType)} +// CHECK:STDOUT: inst50000051: {kind: Converted, arg0: inst5000004F, arg1: inst50000050, type: type(TypeType)} +// CHECK:STDOUT: inst50000052: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst50000053: {kind: AssociatedEntity, arg0: element1, arg1: inst50000052, type: type(inst5000003B)} +// CHECK:STDOUT: inst50000054: {kind: NameRef, arg0: name3, arg1: inst50000029, type: type(inst5000003B)} +// CHECK:STDOUT: inst50000055: {kind: LookupImplWitness, arg0: inst50000034, arg1: specific_interface50000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000056: {kind: AssociatedConstantDecl, arg0: assoc_const50000003, arg1: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000057: {kind: ImplWitnessAccess, arg0: inst50000040, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst50000058: {kind: ImplWitnessAccess, arg0: inst50000040, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst50000059: {kind: ImplWitnessAccess, arg0: inst50000044, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst5000005A: {kind: PatternType, arg0: inst50000058, type: type(TypeType)} +// CHECK:STDOUT: inst5000005B: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000018)} +// CHECK:STDOUT: inst5000005C: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000016)} +// CHECK:STDOUT: inst5000005D: {kind: PatternType, arg0: inst50000059, type: type(TypeType)} +// CHECK:STDOUT: inst5000005E: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000018)} +// CHECK:STDOUT: inst5000005F: {kind: WrapperBindingPattern, arg0: entity_name50000009, arg1: inst5000005B, type: type(symbolic_constant50000018)} +// CHECK:STDOUT: inst50000060: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000005C, type: type(symbolic_constant50000016)} +// CHECK:STDOUT: inst50000061: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000005E, type: type(symbolic_constant50000018)} +// CHECK:STDOUT: inst50000062: {kind: WrapperBinding, arg0: entity_name50000009, arg1: inst50000066, type: type(symbolic_constant50000015)} +// CHECK:STDOUT: inst50000063: {kind: SpliceBlock, arg0: inst_block5000000F, arg1: inst5000002E, type: type(TypeType)} +// CHECK:STDOUT: inst50000064: {kind: ValueParam, arg0: call_param0, arg1: name(Underscore), type: type(symbolic_constant5000000D)} +// CHECK:STDOUT: inst50000065: {kind: SpliceBlock, arg0: inst_block50000014, arg1: inst50000042, type: type(TypeType)} +// CHECK:STDOUT: inst50000066: {kind: ValueParam, arg0: call_param1, arg1: name(Underscore), type: type(symbolic_constant50000015)} +// CHECK:STDOUT: inst50000067: {kind: SpliceBlock, arg0: inst_block50000017, arg1: inst50000057, type: type(TypeType)} +// CHECK:STDOUT: inst50000068: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block5000001C, type: type(inst50000069)} +// CHECK:STDOUT: inst50000069: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst5000006A: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst5000006B: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000069)} +// CHECK:STDOUT: inst5000006C: {kind: RequireCompleteType, arg0: inst50000043, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst5000006D: {kind: RequireCompleteType, arg0: inst50000043, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst5000006E: {kind: RequireCompleteType, arg0: inst50000045, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst5000006F: {kind: RequireCompleteType, arg0: inst50000058, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000070: {kind: RequireCompleteType, arg0: inst50000058, type: type(inst(WitnessType))} // CHECK:STDOUT: inst50000071: {kind: RequireCompleteType, arg0: inst50000059, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000072: {kind: RequireCompleteType, arg0: inst5000005A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000073: {kind: Return} -// CHECK:STDOUT: inst50000074: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst50000075: {kind: NameRef, arg0: name1, arg1: inst50000012, type: type(TypeType)} -// CHECK:STDOUT: inst50000076: {kind: PatternType, arg0: inst50000013, type: type(TypeType)} -// CHECK:STDOUT: inst50000077: {kind: SymbolicBindingPattern, arg0: entity_name5000000A, type: type(inst50000076)} -// CHECK:STDOUT: inst50000078: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000076)} -// CHECK:STDOUT: inst50000079: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000076)} -// CHECK:STDOUT: inst5000007A: {kind: SymbolicBinding, arg0: entity_name5000000A, arg1: inst, type: type(inst50000013)} -// CHECK:STDOUT: inst5000007B: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000013)} -// CHECK:STDOUT: inst5000007C: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000013)} -// CHECK:STDOUT: inst5000007D: {kind: NameRef, arg0: name5, arg1: inst5000007A, type: type(inst50000013)} -// CHECK:STDOUT: inst5000007E: {kind: FacetAccessType, arg0: inst5000007D, type: type(TypeType)} +// CHECK:STDOUT: inst50000072: {kind: Return} +// CHECK:STDOUT: inst50000073: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst50000074: {kind: NameRef, arg0: name1, arg1: inst50000011, type: type(TypeType)} +// CHECK:STDOUT: inst50000075: {kind: PatternType, arg0: inst50000012, type: type(TypeType)} +// CHECK:STDOUT: inst50000076: {kind: SymbolicBindingPattern, arg0: entity_name5000000A, type: type(inst50000075)} +// CHECK:STDOUT: inst50000077: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000075)} +// CHECK:STDOUT: inst50000078: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000075)} +// CHECK:STDOUT: inst50000079: {kind: SymbolicBinding, arg0: entity_name5000000A, arg1: inst, type: type(inst50000012)} +// CHECK:STDOUT: inst5000007A: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000012)} +// CHECK:STDOUT: inst5000007B: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000012)} +// CHECK:STDOUT: inst5000007C: {kind: NameRef, arg0: name5, arg1: inst50000079, type: type(inst50000012)} +// CHECK:STDOUT: inst5000007D: {kind: FacetAccessType, arg0: inst5000007C, type: type(TypeType)} +// CHECK:STDOUT: inst5000007E: {kind: FacetAccessType, arg0: inst5000007A, type: type(TypeType)} // CHECK:STDOUT: inst5000007F: {kind: FacetAccessType, arg0: inst5000007B, type: type(TypeType)} -// CHECK:STDOUT: inst50000080: {kind: FacetAccessType, arg0: inst5000007C, type: type(TypeType)} -// CHECK:STDOUT: inst50000081: {kind: Converted, arg0: inst5000007D, arg1: inst5000007E, type: type(TypeType)} -// CHECK:STDOUT: inst50000082: {kind: NameRef, arg0: name2, arg1: inst5000001B, type: type(inst5000001A)} -// CHECK:STDOUT: inst50000083: {kind: LookupImplWitness, arg0: inst5000007B, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000084: {kind: LookupImplWitness, arg0: inst5000007B, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000085: {kind: ImplWitnessAccess, arg0: inst50000084, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst50000086: {kind: ImplWitnessAccess, arg0: inst50000084, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst50000087: {kind: LookupImplWitness, arg0: inst5000007C, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000088: {kind: ImplWitnessAccess, arg0: inst50000087, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst50000089: {kind: PatternType, arg0: inst50000086, type: type(TypeType)} -// CHECK:STDOUT: inst5000008A: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000002C)} -// CHECK:STDOUT: inst5000008B: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000002A)} -// CHECK:STDOUT: inst5000008C: {kind: PatternType, arg0: inst50000088, type: type(TypeType)} -// CHECK:STDOUT: inst5000008D: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000002C)} -// CHECK:STDOUT: inst5000008E: {kind: WrapperBindingPattern, arg0: entity_name5000000B, arg1: inst5000008A, type: type(symbolic_constant5000002C)} -// CHECK:STDOUT: inst5000008F: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000008B, type: type(symbolic_constant5000002A)} -// CHECK:STDOUT: inst50000090: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000008D, type: type(symbolic_constant5000002C)} -// CHECK:STDOUT: inst50000091: {kind: WrapperBinding, arg0: entity_name5000000B, arg1: inst500000A4, type: type(symbolic_constant50000029)} -// CHECK:STDOUT: inst50000092: {kind: NameRef, arg0: name5, arg1: inst5000007A, type: type(inst50000013)} -// CHECK:STDOUT: inst50000093: {kind: FacetAccessType, arg0: inst50000092, type: type(TypeType)} -// CHECK:STDOUT: inst50000094: {kind: Converted, arg0: inst50000092, arg1: inst50000093, type: type(TypeType)} -// CHECK:STDOUT: inst50000095: {kind: NameRef, arg0: name3, arg1: inst5000001F, type: type(inst5000001A)} -// CHECK:STDOUT: inst50000096: {kind: LookupImplWitness, arg0: inst5000007B, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000097: {kind: ImplWitnessAccess, arg0: inst50000084, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst50000098: {kind: ImplWitnessAccess, arg0: inst50000084, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst50000099: {kind: ImplWitnessAccess, arg0: inst50000087, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst5000009A: {kind: PatternType, arg0: inst50000098, type: type(TypeType)} -// CHECK:STDOUT: inst5000009B: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000034)} -// CHECK:STDOUT: inst5000009C: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000032)} -// CHECK:STDOUT: inst5000009D: {kind: PatternType, arg0: inst50000099, type: type(TypeType)} -// CHECK:STDOUT: inst5000009E: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000034)} -// CHECK:STDOUT: inst5000009F: {kind: WrapperBindingPattern, arg0: entity_name5000000C, arg1: inst5000009B, type: type(symbolic_constant50000034)} -// CHECK:STDOUT: inst500000A0: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000009C, type: type(symbolic_constant50000032)} -// CHECK:STDOUT: inst500000A1: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000009E, type: type(symbolic_constant50000034)} -// CHECK:STDOUT: inst500000A2: {kind: WrapperBinding, arg0: entity_name5000000C, arg1: inst500000A6, type: type(symbolic_constant50000031)} -// CHECK:STDOUT: inst500000A3: {kind: SpliceBlock, arg0: inst_block50000022, arg1: inst50000075, type: type(TypeType)} -// CHECK:STDOUT: inst500000A4: {kind: ValueParam, arg0: call_param0, arg1: name(Underscore), type: type(symbolic_constant50000029)} -// CHECK:STDOUT: inst500000A5: {kind: SpliceBlock, arg0: inst_block50000024, arg1: inst50000085, type: type(TypeType)} -// CHECK:STDOUT: inst500000A6: {kind: ValueParam, arg0: call_param1, arg1: name(Underscore), type: type(symbolic_constant50000031)} -// CHECK:STDOUT: inst500000A7: {kind: SpliceBlock, arg0: inst_block50000027, arg1: inst50000097, type: type(TypeType)} -// CHECK:STDOUT: inst500000A8: {kind: FunctionDecl, arg0: function50000001, arg1: inst_block5000002C, type: type(inst500000A9)} -// CHECK:STDOUT: inst500000A9: {kind: FunctionType, arg0: function50000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst500000AA: {kind: StructValue, arg0: inst_block_empty, type: type(inst500000A9)} -// CHECK:STDOUT: inst500000AB: {kind: RequireCompleteType, arg0: inst50000086, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000AC: {kind: RequireCompleteType, arg0: inst50000086, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000AD: {kind: RequireCompleteType, arg0: inst50000088, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000AE: {kind: RequireCompleteType, arg0: inst50000098, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000080: {kind: Converted, arg0: inst5000007C, arg1: inst5000007D, type: type(TypeType)} +// CHECK:STDOUT: inst50000081: {kind: NameRef, arg0: name2, arg1: inst5000001A, type: type(inst50000019)} +// CHECK:STDOUT: inst50000082: {kind: LookupImplWitness, arg0: inst5000007A, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000083: {kind: LookupImplWitness, arg0: inst5000007A, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000084: {kind: ImplWitnessAccess, arg0: inst50000083, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst50000085: {kind: ImplWitnessAccess, arg0: inst50000083, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst50000086: {kind: LookupImplWitness, arg0: inst5000007B, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000087: {kind: ImplWitnessAccess, arg0: inst50000086, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst50000088: {kind: PatternType, arg0: inst50000085, type: type(TypeType)} +// CHECK:STDOUT: inst50000089: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000002C)} +// CHECK:STDOUT: inst5000008A: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000002A)} +// CHECK:STDOUT: inst5000008B: {kind: PatternType, arg0: inst50000087, type: type(TypeType)} +// CHECK:STDOUT: inst5000008C: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000002C)} +// CHECK:STDOUT: inst5000008D: {kind: WrapperBindingPattern, arg0: entity_name5000000B, arg1: inst50000089, type: type(symbolic_constant5000002C)} +// CHECK:STDOUT: inst5000008E: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000008A, type: type(symbolic_constant5000002A)} +// CHECK:STDOUT: inst5000008F: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000008C, type: type(symbolic_constant5000002C)} +// CHECK:STDOUT: inst50000090: {kind: WrapperBinding, arg0: entity_name5000000B, arg1: inst500000A3, type: type(symbolic_constant50000029)} +// CHECK:STDOUT: inst50000091: {kind: NameRef, arg0: name5, arg1: inst50000079, type: type(inst50000012)} +// CHECK:STDOUT: inst50000092: {kind: FacetAccessType, arg0: inst50000091, type: type(TypeType)} +// CHECK:STDOUT: inst50000093: {kind: Converted, arg0: inst50000091, arg1: inst50000092, type: type(TypeType)} +// CHECK:STDOUT: inst50000094: {kind: NameRef, arg0: name3, arg1: inst5000001E, type: type(inst50000019)} +// CHECK:STDOUT: inst50000095: {kind: LookupImplWitness, arg0: inst5000007A, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000096: {kind: ImplWitnessAccess, arg0: inst50000083, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst50000097: {kind: ImplWitnessAccess, arg0: inst50000083, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst50000098: {kind: ImplWitnessAccess, arg0: inst50000086, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst50000099: {kind: PatternType, arg0: inst50000097, type: type(TypeType)} +// CHECK:STDOUT: inst5000009A: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000034)} +// CHECK:STDOUT: inst5000009B: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000032)} +// CHECK:STDOUT: inst5000009C: {kind: PatternType, arg0: inst50000098, type: type(TypeType)} +// CHECK:STDOUT: inst5000009D: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000034)} +// CHECK:STDOUT: inst5000009E: {kind: WrapperBindingPattern, arg0: entity_name5000000C, arg1: inst5000009A, type: type(symbolic_constant50000034)} +// CHECK:STDOUT: inst5000009F: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000009B, type: type(symbolic_constant50000032)} +// CHECK:STDOUT: inst500000A0: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000009D, type: type(symbolic_constant50000034)} +// CHECK:STDOUT: inst500000A1: {kind: WrapperBinding, arg0: entity_name5000000C, arg1: inst500000A5, type: type(symbolic_constant50000031)} +// CHECK:STDOUT: inst500000A2: {kind: SpliceBlock, arg0: inst_block50000022, arg1: inst50000074, type: type(TypeType)} +// CHECK:STDOUT: inst500000A3: {kind: ValueParam, arg0: call_param0, arg1: name(Underscore), type: type(symbolic_constant50000029)} +// CHECK:STDOUT: inst500000A4: {kind: SpliceBlock, arg0: inst_block50000024, arg1: inst50000084, type: type(TypeType)} +// CHECK:STDOUT: inst500000A5: {kind: ValueParam, arg0: call_param1, arg1: name(Underscore), type: type(symbolic_constant50000031)} +// CHECK:STDOUT: inst500000A6: {kind: SpliceBlock, arg0: inst_block50000027, arg1: inst50000096, type: type(TypeType)} +// CHECK:STDOUT: inst500000A7: {kind: FunctionDecl, arg0: function50000001, arg1: inst_block5000002C, type: type(inst500000A8)} +// CHECK:STDOUT: inst500000A8: {kind: FunctionType, arg0: function50000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst500000A9: {kind: StructValue, arg0: inst_block_empty, type: type(inst500000A8)} +// CHECK:STDOUT: inst500000AA: {kind: RequireCompleteType, arg0: inst50000085, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000AB: {kind: RequireCompleteType, arg0: inst50000085, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000AC: {kind: RequireCompleteType, arg0: inst50000087, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000AD: {kind: RequireCompleteType, arg0: inst50000097, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000AE: {kind: RequireCompleteType, arg0: inst50000097, type: type(inst(WitnessType))} // CHECK:STDOUT: inst500000AF: {kind: RequireCompleteType, arg0: inst50000098, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000B0: {kind: RequireCompleteType, arg0: inst50000099, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000B1: {kind: Return} -// CHECK:STDOUT: inst500000B2: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst500000B3: {kind: NameRef, arg0: name1, arg1: inst50000012, type: type(TypeType)} -// CHECK:STDOUT: inst500000B4: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(inst50000013)} -// CHECK:STDOUT: inst500000B5: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(inst50000013)} -// CHECK:STDOUT: inst500000B6: {kind: RequirementBaseFacetType, arg0: inst500000B3} -// CHECK:STDOUT: inst500000B7: {kind: NameRef, arg0: name(PeriodSelf), arg1: inst500000B4, type: type(inst50000013)} -// CHECK:STDOUT: inst500000B8: {kind: NameRef, arg0: name0, arg1: inst50000011, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst500000B9: {kind: NameRef, arg0: name6, arg1: inst50000024, type: type(TypeType)} -// CHECK:STDOUT: inst500000BA: {kind: FacetAccessType, arg0: inst500000B7, type: type(TypeType)} -// CHECK:STDOUT: inst500000BB: {kind: FacetAccessType, arg0: inst500000B5, type: type(TypeType)} -// CHECK:STDOUT: inst500000BC: {kind: Converted, arg0: inst500000B7, arg1: inst500000BA, type: type(TypeType)} -// CHECK:STDOUT: inst500000BD: {kind: RequirementImpls, arg0: inst500000BC, arg1: inst500000B9} -// CHECK:STDOUT: inst500000BE: {kind: NameRef, arg0: name(PeriodSelf), arg1: inst500000B4, type: type(inst50000013)} -// CHECK:STDOUT: inst500000BF: {kind: FacetAccessType, arg0: inst500000BE, type: type(TypeType)} -// CHECK:STDOUT: inst500000C0: {kind: Converted, arg0: inst500000BE, arg1: inst500000BF, type: type(TypeType)} -// CHECK:STDOUT: inst500000C1: {kind: NameRef, arg0: name2, arg1: inst5000001B, type: type(inst5000001A)} -// CHECK:STDOUT: inst500000C2: {kind: SymbolicBinding, arg0: entity_name5000000D, arg1: inst, type: type(inst50000013)} -// CHECK:STDOUT: inst500000C3: {kind: LookupImplWitness, arg0: inst500000B5, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000C4: {kind: LookupImplWitness, arg0: inst500000B5, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000C5: {kind: ImplWitnessAccess, arg0: inst500000C4, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst500000C6: {kind: ImplWitnessAccess, arg0: inst500000C4, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst500000C7: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst5000006B)} -// CHECK:STDOUT: inst500000C8: {kind: TupleValue, arg0: inst_block_empty, type: type(inst5000006B)} -// CHECK:STDOUT: inst500000C9: {kind: Converted, arg0: inst500000C7, arg1: inst5000006B, type: type(TypeType)} -// CHECK:STDOUT: inst500000CA: {kind: RequirementRewrite, arg0: inst500000C5, arg1: inst500000C9} -// CHECK:STDOUT: inst500000CB: {kind: SymbolicBinding, arg0: entity_name5000000D, arg1: inst, type: type(inst50000013)} -// CHECK:STDOUT: inst500000CC: {kind: NameRef, arg0: name(PeriodSelf), arg1: inst500000CB, type: type(inst50000013)} -// CHECK:STDOUT: inst500000CD: {kind: FacetAccessType, arg0: inst500000CC, type: type(TypeType)} -// CHECK:STDOUT: inst500000CE: {kind: FacetAccessType, arg0: inst500000C2, type: type(TypeType)} -// CHECK:STDOUT: inst500000CF: {kind: Converted, arg0: inst500000B7, arg1: inst500000CD, type: type(TypeType)} -// CHECK:STDOUT: inst500000D0: {kind: RequirementImpls, arg0: inst500000CF, arg1: inst500000B9} -// CHECK:STDOUT: inst500000D1: {kind: LookupImplWitness, arg0: inst500000C2, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000D2: {kind: LookupImplWitness, arg0: inst500000C2, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000D3: {kind: ImplWitnessAccess, arg0: inst500000D2, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst500000D4: {kind: ImplWitnessAccess, arg0: inst500000D2, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst500000D5: {kind: RequirementRewrite, arg0: inst500000D3, arg1: inst500000C9} -// CHECK:STDOUT: inst500000D6: {kind: WhereExpr, arg0: inst_block50000036, type: type(TypeType)} -// CHECK:STDOUT: inst500000D7: {kind: FacetType, arg0: declared_facet_type50000003, type: type(TypeType)} -// CHECK:STDOUT: inst500000D8: {kind: PatternType, arg0: inst500000D7, type: type(TypeType)} -// CHECK:STDOUT: inst500000D9: {kind: SymbolicBindingPattern, arg0: entity_name5000000E, type: type(inst500000D8)} -// CHECK:STDOUT: inst500000DA: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst500000D8)} -// CHECK:STDOUT: inst500000DB: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst500000D8)} -// CHECK:STDOUT: inst500000DC: {kind: SymbolicBinding, arg0: entity_name5000000E, arg1: inst, type: type(inst500000D7)} -// CHECK:STDOUT: inst500000DD: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst500000D7)} -// CHECK:STDOUT: inst500000DE: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst500000D7)} -// CHECK:STDOUT: inst500000DF: {kind: NameRef, arg0: name5, arg1: inst500000DC, type: type(inst500000D7)} -// CHECK:STDOUT: inst500000E0: {kind: FacetAccessType, arg0: inst500000DF, type: type(TypeType)} +// CHECK:STDOUT: inst500000B0: {kind: Return} +// CHECK:STDOUT: inst500000B1: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst500000B2: {kind: NameRef, arg0: name1, arg1: inst50000011, type: type(TypeType)} +// CHECK:STDOUT: inst500000B3: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(inst50000012)} +// CHECK:STDOUT: inst500000B4: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(inst50000012)} +// CHECK:STDOUT: inst500000B5: {kind: RequirementBaseFacetType, arg0: inst500000B2} +// CHECK:STDOUT: inst500000B6: {kind: NameRef, arg0: name(PeriodSelf), arg1: inst500000B3, type: type(inst50000012)} +// CHECK:STDOUT: inst500000B7: {kind: NameRef, arg0: name0, arg1: inst50000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst500000B8: {kind: NameRef, arg0: name6, arg1: inst50000023, type: type(TypeType)} +// CHECK:STDOUT: inst500000B9: {kind: FacetAccessType, arg0: inst500000B6, type: type(TypeType)} +// CHECK:STDOUT: inst500000BA: {kind: FacetAccessType, arg0: inst500000B4, type: type(TypeType)} +// CHECK:STDOUT: inst500000BB: {kind: Converted, arg0: inst500000B6, arg1: inst500000B9, type: type(TypeType)} +// CHECK:STDOUT: inst500000BC: {kind: RequirementImpls, arg0: inst500000BB, arg1: inst500000B8} +// CHECK:STDOUT: inst500000BD: {kind: NameRef, arg0: name(PeriodSelf), arg1: inst500000B3, type: type(inst50000012)} +// CHECK:STDOUT: inst500000BE: {kind: FacetAccessType, arg0: inst500000BD, type: type(TypeType)} +// CHECK:STDOUT: inst500000BF: {kind: Converted, arg0: inst500000BD, arg1: inst500000BE, type: type(TypeType)} +// CHECK:STDOUT: inst500000C0: {kind: NameRef, arg0: name2, arg1: inst5000001A, type: type(inst50000019)} +// CHECK:STDOUT: inst500000C1: {kind: SymbolicBinding, arg0: entity_name5000000D, arg1: inst, type: type(inst50000012)} +// CHECK:STDOUT: inst500000C2: {kind: LookupImplWitness, arg0: inst500000B4, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000C3: {kind: LookupImplWitness, arg0: inst500000B4, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000C4: {kind: ImplWitnessAccess, arg0: inst500000C3, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst500000C5: {kind: ImplWitnessAccess, arg0: inst500000C3, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst500000C6: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst5000006A)} +// CHECK:STDOUT: inst500000C7: {kind: TupleValue, arg0: inst_block_empty, type: type(inst5000006A)} +// CHECK:STDOUT: inst500000C8: {kind: Converted, arg0: inst500000C6, arg1: inst5000006A, type: type(TypeType)} +// CHECK:STDOUT: inst500000C9: {kind: RequirementRewrite, arg0: inst500000C4, arg1: inst500000C8} +// CHECK:STDOUT: inst500000CA: {kind: SymbolicBinding, arg0: entity_name5000000D, arg1: inst, type: type(inst50000012)} +// CHECK:STDOUT: inst500000CB: {kind: NameRef, arg0: name(PeriodSelf), arg1: inst500000CA, type: type(inst50000012)} +// CHECK:STDOUT: inst500000CC: {kind: FacetAccessType, arg0: inst500000CB, type: type(TypeType)} +// CHECK:STDOUT: inst500000CD: {kind: FacetAccessType, arg0: inst500000C1, type: type(TypeType)} +// CHECK:STDOUT: inst500000CE: {kind: Converted, arg0: inst500000B6, arg1: inst500000CC, type: type(TypeType)} +// CHECK:STDOUT: inst500000CF: {kind: RequirementImpls, arg0: inst500000CE, arg1: inst500000B8} +// CHECK:STDOUT: inst500000D0: {kind: LookupImplWitness, arg0: inst500000C1, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000D1: {kind: LookupImplWitness, arg0: inst500000C1, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000D2: {kind: ImplWitnessAccess, arg0: inst500000D1, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst500000D3: {kind: ImplWitnessAccess, arg0: inst500000D1, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst500000D4: {kind: RequirementRewrite, arg0: inst500000D2, arg1: inst500000C8} +// CHECK:STDOUT: inst500000D5: {kind: WhereExpr, arg0: inst_block50000036, type: type(TypeType)} +// CHECK:STDOUT: inst500000D6: {kind: FacetType, arg0: declared_facet_type50000003, type: type(TypeType)} +// CHECK:STDOUT: inst500000D7: {kind: PatternType, arg0: inst500000D6, type: type(TypeType)} +// CHECK:STDOUT: inst500000D8: {kind: SymbolicBindingPattern, arg0: entity_name5000000E, type: type(inst500000D7)} +// CHECK:STDOUT: inst500000D9: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst500000D7)} +// CHECK:STDOUT: inst500000DA: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst500000D7)} +// CHECK:STDOUT: inst500000DB: {kind: SymbolicBinding, arg0: entity_name5000000E, arg1: inst, type: type(inst500000D6)} +// CHECK:STDOUT: inst500000DC: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst500000D6)} +// CHECK:STDOUT: inst500000DD: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst500000D6)} +// CHECK:STDOUT: inst500000DE: {kind: NameRef, arg0: name5, arg1: inst500000DB, type: type(inst500000D6)} +// CHECK:STDOUT: inst500000DF: {kind: FacetAccessType, arg0: inst500000DE, type: type(TypeType)} +// CHECK:STDOUT: inst500000E0: {kind: FacetAccessType, arg0: inst500000DC, type: type(TypeType)} // CHECK:STDOUT: inst500000E1: {kind: FacetAccessType, arg0: inst500000DD, type: type(TypeType)} -// CHECK:STDOUT: inst500000E2: {kind: FacetAccessType, arg0: inst500000DE, type: type(TypeType)} -// CHECK:STDOUT: inst500000E3: {kind: Converted, arg0: inst500000DF, arg1: inst500000E0, type: type(TypeType)} -// CHECK:STDOUT: inst500000E4: {kind: NameRef, arg0: name2, arg1: inst5000001B, type: type(inst5000001A)} -// CHECK:STDOUT: inst500000E5: {kind: LookupImplWitness, arg0: inst500000DD, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000E6: {kind: IdentifiedWitness, arg0: inst500000DD, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000E7: {kind: FacetValue, arg0: inst500000E1, arg1: inst_block5000003A, type: type(inst50000013)} -// CHECK:STDOUT: inst500000E8: {kind: LookupImplWitness, arg0: inst500000E7, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000E9: {kind: ImplWitnessAccess, arg0: inst500000E6, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst500000EA: {kind: ImplWitnessAccess, arg0: inst500000E6, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst500000EB: {kind: FacetType, arg0: declared_facet_type50000004, type: type(TypeType)} -// CHECK:STDOUT: inst500000EC: {kind: LookupImplWitness, arg0: inst500000DD, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000ED: {kind: LookupImplWitness, arg0: inst500000DD, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000EE: {kind: FacetValue, arg0: inst500000E1, arg1: inst_block5000003B, type: type(inst50000013)} -// CHECK:STDOUT: inst500000EF: {kind: ImplWitnessAccess, arg0: inst500000ED, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst500000F0: {kind: PatternType, arg0: inst5000006B, type: type(TypeType)} -// CHECK:STDOUT: inst500000F1: {kind: ValueParamPattern, arg0: name(Underscore), type: type(inst500000F0)} -// CHECK:STDOUT: inst500000F2: {kind: ValueParamPattern, arg0: name(Underscore), type: type(inst500000F0)} -// CHECK:STDOUT: inst500000F3: {kind: WrapperBindingPattern, arg0: entity_name5000000F, arg1: inst500000F1, type: type(inst500000F0)} -// CHECK:STDOUT: inst500000F4: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst500000F2, type: type(inst500000F0)} -// CHECK:STDOUT: inst500000F5: {kind: WrapperBinding, arg0: entity_name5000000F, arg1: inst50000109, type: type(inst5000006B)} -// CHECK:STDOUT: inst500000F6: {kind: NameRef, arg0: name5, arg1: inst500000DC, type: type(inst500000D7)} -// CHECK:STDOUT: inst500000F7: {kind: FacetAccessType, arg0: inst500000F6, type: type(TypeType)} -// CHECK:STDOUT: inst500000F8: {kind: Converted, arg0: inst500000F6, arg1: inst500000F7, type: type(TypeType)} -// CHECK:STDOUT: inst500000F9: {kind: NameRef, arg0: name3, arg1: inst5000001F, type: type(inst5000001A)} -// CHECK:STDOUT: inst500000FA: {kind: LookupImplWitness, arg0: inst500000DD, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000FB: {kind: ImplWitnessAccess, arg0: inst500000ED, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst500000FC: {kind: ImplWitnessAccess, arg0: inst500000ED, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst500000FD: {kind: LookupImplWitness, arg0: inst500000DE, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000FE: {kind: ImplWitnessAccess, arg0: inst500000FD, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst500000FF: {kind: PatternType, arg0: inst500000FC, type: type(TypeType)} -// CHECK:STDOUT: inst50000100: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000055)} -// CHECK:STDOUT: inst50000101: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000053)} -// CHECK:STDOUT: inst50000102: {kind: PatternType, arg0: inst500000FE, type: type(TypeType)} -// CHECK:STDOUT: inst50000103: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000055)} -// CHECK:STDOUT: inst50000104: {kind: WrapperBindingPattern, arg0: entity_name50000010, arg1: inst50000100, type: type(symbolic_constant50000055)} -// CHECK:STDOUT: inst50000105: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst50000101, type: type(symbolic_constant50000053)} -// CHECK:STDOUT: inst50000106: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst50000103, type: type(symbolic_constant50000055)} -// CHECK:STDOUT: inst50000107: {kind: WrapperBinding, arg0: entity_name50000010, arg1: inst5000010B, type: type(symbolic_constant50000052)} -// CHECK:STDOUT: inst50000108: {kind: SpliceBlock, arg0: inst_block50000032, arg1: inst500000D6, type: type(TypeType)} -// CHECK:STDOUT: inst50000109: {kind: ValueParam, arg0: call_param0, arg1: name(Underscore), type: type(inst5000006B)} -// CHECK:STDOUT: inst5000010A: {kind: SpliceBlock, arg0: inst_block50000038, arg1: inst500000EF, type: type(TypeType)} -// CHECK:STDOUT: inst5000010B: {kind: ValueParam, arg0: call_param1, arg1: name(Underscore), type: type(symbolic_constant50000052)} -// CHECK:STDOUT: inst5000010C: {kind: SpliceBlock, arg0: inst_block5000003D, arg1: inst500000FB, type: type(TypeType)} -// CHECK:STDOUT: inst5000010D: {kind: FunctionDecl, arg0: function50000002, arg1: inst_block50000042, type: type(inst5000010E)} -// CHECK:STDOUT: inst5000010E: {kind: FunctionType, arg0: function50000002, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst5000010F: {kind: StructValue, arg0: inst_block_empty, type: type(inst5000010E)} -// CHECK:STDOUT: inst50000110: {kind: RequireCompleteType, arg0: inst500000FC, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000111: {kind: RequireCompleteType, arg0: inst500000FC, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000112: {kind: RequireCompleteType, arg0: inst500000FE, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000113: {kind: Return} +// CHECK:STDOUT: inst500000E2: {kind: Converted, arg0: inst500000DE, arg1: inst500000DF, type: type(TypeType)} +// CHECK:STDOUT: inst500000E3: {kind: NameRef, arg0: name2, arg1: inst5000001A, type: type(inst50000019)} +// CHECK:STDOUT: inst500000E4: {kind: LookupImplWitness, arg0: inst500000DC, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000E5: {kind: IdentifiedWitness, arg0: inst500000DC, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000E6: {kind: FacetValue, arg0: inst500000E0, arg1: inst_block5000003A, type: type(inst50000012)} +// CHECK:STDOUT: inst500000E7: {kind: LookupImplWitness, arg0: inst500000E6, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000E8: {kind: ImplWitnessAccess, arg0: inst500000E5, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst500000E9: {kind: ImplWitnessAccess, arg0: inst500000E5, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst500000EA: {kind: FacetType, arg0: declared_facet_type50000004, type: type(TypeType)} +// CHECK:STDOUT: inst500000EB: {kind: LookupImplWitness, arg0: inst500000DC, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000EC: {kind: LookupImplWitness, arg0: inst500000DC, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000ED: {kind: FacetValue, arg0: inst500000E0, arg1: inst_block5000003B, type: type(inst50000012)} +// CHECK:STDOUT: inst500000EE: {kind: ImplWitnessAccess, arg0: inst500000EC, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst500000EF: {kind: PatternType, arg0: inst5000006A, type: type(TypeType)} +// CHECK:STDOUT: inst500000F0: {kind: ValueParamPattern, arg0: name(Underscore), type: type(inst500000EF)} +// CHECK:STDOUT: inst500000F1: {kind: ValueParamPattern, arg0: name(Underscore), type: type(inst500000EF)} +// CHECK:STDOUT: inst500000F2: {kind: WrapperBindingPattern, arg0: entity_name5000000F, arg1: inst500000F0, type: type(inst500000EF)} +// CHECK:STDOUT: inst500000F3: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst500000F1, type: type(inst500000EF)} +// CHECK:STDOUT: inst500000F4: {kind: WrapperBinding, arg0: entity_name5000000F, arg1: inst50000108, type: type(inst5000006A)} +// CHECK:STDOUT: inst500000F5: {kind: NameRef, arg0: name5, arg1: inst500000DB, type: type(inst500000D6)} +// CHECK:STDOUT: inst500000F6: {kind: FacetAccessType, arg0: inst500000F5, type: type(TypeType)} +// CHECK:STDOUT: inst500000F7: {kind: Converted, arg0: inst500000F5, arg1: inst500000F6, type: type(TypeType)} +// CHECK:STDOUT: inst500000F8: {kind: NameRef, arg0: name3, arg1: inst5000001E, type: type(inst50000019)} +// CHECK:STDOUT: inst500000F9: {kind: LookupImplWitness, arg0: inst500000DC, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000FA: {kind: ImplWitnessAccess, arg0: inst500000EC, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst500000FB: {kind: ImplWitnessAccess, arg0: inst500000EC, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst500000FC: {kind: LookupImplWitness, arg0: inst500000DD, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000FD: {kind: ImplWitnessAccess, arg0: inst500000FC, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst500000FE: {kind: PatternType, arg0: inst500000FB, type: type(TypeType)} +// CHECK:STDOUT: inst500000FF: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000055)} +// CHECK:STDOUT: inst50000100: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000053)} +// CHECK:STDOUT: inst50000101: {kind: PatternType, arg0: inst500000FD, type: type(TypeType)} +// CHECK:STDOUT: inst50000102: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000055)} +// CHECK:STDOUT: inst50000103: {kind: WrapperBindingPattern, arg0: entity_name50000010, arg1: inst500000FF, type: type(symbolic_constant50000055)} +// CHECK:STDOUT: inst50000104: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst50000100, type: type(symbolic_constant50000053)} +// CHECK:STDOUT: inst50000105: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst50000102, type: type(symbolic_constant50000055)} +// CHECK:STDOUT: inst50000106: {kind: WrapperBinding, arg0: entity_name50000010, arg1: inst5000010A, type: type(symbolic_constant50000052)} +// CHECK:STDOUT: inst50000107: {kind: SpliceBlock, arg0: inst_block50000032, arg1: inst500000D5, type: type(TypeType)} +// CHECK:STDOUT: inst50000108: {kind: ValueParam, arg0: call_param0, arg1: name(Underscore), type: type(inst5000006A)} +// CHECK:STDOUT: inst50000109: {kind: SpliceBlock, arg0: inst_block50000038, arg1: inst500000EE, type: type(TypeType)} +// CHECK:STDOUT: inst5000010A: {kind: ValueParam, arg0: call_param1, arg1: name(Underscore), type: type(symbolic_constant50000052)} +// CHECK:STDOUT: inst5000010B: {kind: SpliceBlock, arg0: inst_block5000003D, arg1: inst500000FA, type: type(TypeType)} +// CHECK:STDOUT: inst5000010C: {kind: FunctionDecl, arg0: function50000002, arg1: inst_block50000042, type: type(inst5000010D)} +// CHECK:STDOUT: inst5000010D: {kind: FunctionType, arg0: function50000002, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst5000010E: {kind: StructValue, arg0: inst_block_empty, type: type(inst5000010D)} +// CHECK:STDOUT: inst5000010F: {kind: RequireCompleteType, arg0: inst500000FB, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000110: {kind: RequireCompleteType, arg0: inst500000FB, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000111: {kind: RequireCompleteType, arg0: inst500000FD, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000112: {kind: Return} // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) // CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) -// CHECK:STDOUT: inst50000011: concrete_constant(inst50000011) -// CHECK:STDOUT: inst50000012: concrete_constant(inst50000013) -// CHECK:STDOUT: inst50000013: concrete_constant(inst50000013) +// CHECK:STDOUT: inst50000010: concrete_constant(inst50000010) +// CHECK:STDOUT: inst50000011: concrete_constant(inst50000012) +// CHECK:STDOUT: inst50000012: concrete_constant(inst50000012) +// CHECK:STDOUT: inst50000013: symbolic_constant50000000 // CHECK:STDOUT: inst50000014: symbolic_constant50000000 -// CHECK:STDOUT: inst50000015: symbolic_constant50000000 -// CHECK:STDOUT: inst50000016: symbolic_constant50000001 -// CHECK:STDOUT: inst50000017: concrete_constant(inst50000017) -// CHECK:STDOUT: inst50000018: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst50000015: symbolic_constant50000001 +// CHECK:STDOUT: inst50000016: concrete_constant(inst50000016) +// CHECK:STDOUT: inst50000017: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst50000018: concrete_constant(inst50000018) // CHECK:STDOUT: inst50000019: concrete_constant(inst50000019) -// CHECK:STDOUT: inst5000001A: concrete_constant(inst5000001A) -// CHECK:STDOUT: inst5000001B: concrete_constant(inst5000001C) -// CHECK:STDOUT: inst5000001C: concrete_constant(inst5000001C) -// CHECK:STDOUT: inst5000001D: concrete_constant(inst(TypeType)) -// CHECK:STDOUT: inst5000001E: concrete_constant(inst5000001E) -// CHECK:STDOUT: inst5000001F: concrete_constant(inst50000020) -// CHECK:STDOUT: inst50000020: concrete_constant(inst50000020) +// CHECK:STDOUT: inst5000001A: concrete_constant(inst5000001B) +// CHECK:STDOUT: inst5000001B: concrete_constant(inst5000001B) +// CHECK:STDOUT: inst5000001C: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst5000001D: concrete_constant(inst5000001D) +// CHECK:STDOUT: inst5000001E: concrete_constant(inst5000001F) +// CHECK:STDOUT: inst5000001F: concrete_constant(inst5000001F) +// CHECK:STDOUT: inst50000020: symbolic_constant50000002 // CHECK:STDOUT: inst50000021: symbolic_constant50000002 -// CHECK:STDOUT: inst50000022: symbolic_constant50000002 -// CHECK:STDOUT: inst50000023: concrete_constant(inst50000011) -// CHECK:STDOUT: inst50000024: concrete_constant(inst50000026) -// CHECK:STDOUT: inst50000025: concrete_constant(inst50000026) +// CHECK:STDOUT: inst50000022: concrete_constant(inst50000010) +// CHECK:STDOUT: inst50000023: concrete_constant(inst50000025) +// CHECK:STDOUT: inst50000024: concrete_constant(inst50000025) +// CHECK:STDOUT: inst50000025: concrete_constant(inst50000025) // CHECK:STDOUT: inst50000026: concrete_constant(inst50000026) -// CHECK:STDOUT: inst50000027: concrete_constant(inst50000027) -// CHECK:STDOUT: inst50000028: symbolic_constant50000003 -// CHECK:STDOUT: inst50000029: concrete_constant(inst5000003E) -// CHECK:STDOUT: inst5000002A: concrete_constant(inst50000054) +// CHECK:STDOUT: inst50000027: symbolic_constant50000003 +// CHECK:STDOUT: inst50000028: concrete_constant(inst5000003D) +// CHECK:STDOUT: inst50000029: concrete_constant(inst50000053) +// CHECK:STDOUT: inst5000002A: constant // CHECK:STDOUT: inst5000002B: constant -// CHECK:STDOUT: inst5000002C: constant -// CHECK:STDOUT: inst5000002D: symbolic_constant50000003 -// CHECK:STDOUT: inst5000002E: constant -// CHECK:STDOUT: inst5000002F: concrete_constant(inst50000026) -// CHECK:STDOUT: inst50000030: concrete_constant(inst50000030) -// CHECK:STDOUT: inst50000031: symbolic_constant50000005 -// CHECK:STDOUT: inst50000032: symbolic_constant50000004 -// CHECK:STDOUT: inst50000033: symbolic_constant50000005 -// CHECK:STDOUT: inst50000034: symbolic_constant50000007 -// CHECK:STDOUT: inst50000035: symbolic_constant50000006 +// CHECK:STDOUT: inst5000002C: symbolic_constant50000003 +// CHECK:STDOUT: inst5000002D: constant +// CHECK:STDOUT: inst5000002E: concrete_constant(inst50000025) +// CHECK:STDOUT: inst5000002F: concrete_constant(inst5000002F) +// CHECK:STDOUT: inst50000030: symbolic_constant50000005 +// CHECK:STDOUT: inst50000031: symbolic_constant50000004 +// CHECK:STDOUT: inst50000032: symbolic_constant50000005 +// CHECK:STDOUT: inst50000033: symbolic_constant50000007 +// CHECK:STDOUT: inst50000034: symbolic_constant50000006 +// CHECK:STDOUT: inst50000035: symbolic_constant50000007 // CHECK:STDOUT: inst50000036: symbolic_constant50000007 -// CHECK:STDOUT: inst50000037: symbolic_constant50000007 -// CHECK:STDOUT: inst50000038: symbolic_constant50000009 -// CHECK:STDOUT: inst50000039: symbolic_constant50000008 +// CHECK:STDOUT: inst50000037: symbolic_constant50000009 +// CHECK:STDOUT: inst50000038: symbolic_constant50000008 +// CHECK:STDOUT: inst50000039: symbolic_constant50000009 // CHECK:STDOUT: inst5000003A: symbolic_constant50000009 -// CHECK:STDOUT: inst5000003B: symbolic_constant50000009 -// CHECK:STDOUT: inst5000003C: concrete_constant(inst5000003C) -// CHECK:STDOUT: inst5000003D: concrete_constant(inst50000042) -// CHECK:STDOUT: inst5000003E: concrete_constant(inst5000003E) -// CHECK:STDOUT: inst5000003F: concrete_constant(inst5000003E) -// CHECK:STDOUT: inst50000041: symbolic_constant5000000A -// CHECK:STDOUT: inst50000042: concrete_constant(inst50000042) -// CHECK:STDOUT: inst50000043: symbolic_constant5000000D -// CHECK:STDOUT: inst50000044: symbolic_constant5000000B -// CHECK:STDOUT: inst50000045: symbolic_constant5000000C -// CHECK:STDOUT: inst50000046: symbolic_constant5000000D -// CHECK:STDOUT: inst50000047: symbolic_constant5000000E -// CHECK:STDOUT: inst50000048: symbolic_constant50000011 -// CHECK:STDOUT: inst50000049: symbolic_constant5000000F -// CHECK:STDOUT: inst5000004A: symbolic_constant50000010 -// CHECK:STDOUT: inst5000004B: symbolic_constant50000011 -// CHECK:STDOUT: inst5000004C: symbolic_constant50000013 -// CHECK:STDOUT: inst5000004D: symbolic_constant50000012 -// CHECK:STDOUT: inst5000004E: symbolic_constant50000013 -// CHECK:STDOUT: inst50000050: symbolic_constant50000007 +// CHECK:STDOUT: inst5000003B: concrete_constant(inst5000003B) +// CHECK:STDOUT: inst5000003C: concrete_constant(inst50000041) +// CHECK:STDOUT: inst5000003D: concrete_constant(inst5000003D) +// CHECK:STDOUT: inst5000003E: concrete_constant(inst5000003D) +// CHECK:STDOUT: inst50000040: symbolic_constant5000000A +// CHECK:STDOUT: inst50000041: concrete_constant(inst50000041) +// CHECK:STDOUT: inst50000042: symbolic_constant5000000D +// CHECK:STDOUT: inst50000043: symbolic_constant5000000B +// CHECK:STDOUT: inst50000044: symbolic_constant5000000C +// CHECK:STDOUT: inst50000045: symbolic_constant5000000D +// CHECK:STDOUT: inst50000046: symbolic_constant5000000E +// CHECK:STDOUT: inst50000047: symbolic_constant50000011 +// CHECK:STDOUT: inst50000048: symbolic_constant5000000F +// CHECK:STDOUT: inst50000049: symbolic_constant50000010 +// CHECK:STDOUT: inst5000004A: symbolic_constant50000011 +// CHECK:STDOUT: inst5000004B: symbolic_constant50000013 +// CHECK:STDOUT: inst5000004C: symbolic_constant50000012 +// CHECK:STDOUT: inst5000004D: symbolic_constant50000013 +// CHECK:STDOUT: inst5000004F: symbolic_constant50000007 +// CHECK:STDOUT: inst50000050: symbolic_constant50000009 // CHECK:STDOUT: inst50000051: symbolic_constant50000009 -// CHECK:STDOUT: inst50000052: symbolic_constant50000009 -// CHECK:STDOUT: inst50000053: concrete_constant(inst50000057) -// CHECK:STDOUT: inst50000054: concrete_constant(inst50000054) -// CHECK:STDOUT: inst50000055: concrete_constant(inst50000054) -// CHECK:STDOUT: inst50000057: concrete_constant(inst50000057) -// CHECK:STDOUT: inst50000058: symbolic_constant50000015 -// CHECK:STDOUT: inst50000059: symbolic_constant50000014 -// CHECK:STDOUT: inst5000005A: symbolic_constant50000015 -// CHECK:STDOUT: inst5000005B: symbolic_constant50000016 -// CHECK:STDOUT: inst5000005C: symbolic_constant50000019 -// CHECK:STDOUT: inst5000005D: symbolic_constant50000017 -// CHECK:STDOUT: inst5000005E: symbolic_constant50000018 -// CHECK:STDOUT: inst5000005F: symbolic_constant50000019 -// CHECK:STDOUT: inst50000060: symbolic_constant5000001B -// CHECK:STDOUT: inst50000061: symbolic_constant5000001A -// CHECK:STDOUT: inst50000062: symbolic_constant5000001B -// CHECK:STDOUT: inst50000064: concrete_constant(inst50000026) -// CHECK:STDOUT: inst50000066: symbolic_constant5000000D -// CHECK:STDOUT: inst50000068: symbolic_constant50000015 -// CHECK:STDOUT: inst50000069: concrete_constant(inst5000006C) +// CHECK:STDOUT: inst50000052: concrete_constant(inst50000056) +// CHECK:STDOUT: inst50000053: concrete_constant(inst50000053) +// CHECK:STDOUT: inst50000054: concrete_constant(inst50000053) +// CHECK:STDOUT: inst50000056: concrete_constant(inst50000056) +// CHECK:STDOUT: inst50000057: symbolic_constant50000015 +// CHECK:STDOUT: inst50000058: symbolic_constant50000014 +// CHECK:STDOUT: inst50000059: symbolic_constant50000015 +// CHECK:STDOUT: inst5000005A: symbolic_constant50000016 +// CHECK:STDOUT: inst5000005B: symbolic_constant50000019 +// CHECK:STDOUT: inst5000005C: symbolic_constant50000017 +// CHECK:STDOUT: inst5000005D: symbolic_constant50000018 +// CHECK:STDOUT: inst5000005E: symbolic_constant50000019 +// CHECK:STDOUT: inst5000005F: symbolic_constant5000001B +// CHECK:STDOUT: inst50000060: symbolic_constant5000001A +// CHECK:STDOUT: inst50000061: symbolic_constant5000001B +// CHECK:STDOUT: inst50000063: concrete_constant(inst50000025) +// CHECK:STDOUT: inst50000065: symbolic_constant5000000D +// CHECK:STDOUT: inst50000067: symbolic_constant50000015 +// CHECK:STDOUT: inst50000068: concrete_constant(inst5000006B) +// CHECK:STDOUT: inst50000069: concrete_constant(inst50000069) // CHECK:STDOUT: inst5000006A: concrete_constant(inst5000006A) // CHECK:STDOUT: inst5000006B: concrete_constant(inst5000006B) -// CHECK:STDOUT: inst5000006C: concrete_constant(inst5000006C) -// CHECK:STDOUT: inst5000006D: symbolic_constant5000001D -// CHECK:STDOUT: inst5000006E: symbolic_constant5000001C -// CHECK:STDOUT: inst5000006F: symbolic_constant5000001D -// CHECK:STDOUT: inst50000070: symbolic_constant5000001F -// CHECK:STDOUT: inst50000071: symbolic_constant5000001E -// CHECK:STDOUT: inst50000072: symbolic_constant5000001F -// CHECK:STDOUT: inst50000074: symbolic_constant50000002 -// CHECK:STDOUT: inst50000075: concrete_constant(inst50000013) -// CHECK:STDOUT: inst50000076: concrete_constant(inst50000076) -// CHECK:STDOUT: inst50000077: symbolic_constant50000021 -// CHECK:STDOUT: inst50000078: symbolic_constant50000020 -// CHECK:STDOUT: inst50000079: symbolic_constant50000021 -// CHECK:STDOUT: inst5000007A: symbolic_constant50000023 -// CHECK:STDOUT: inst5000007B: symbolic_constant50000022 +// CHECK:STDOUT: inst5000006C: symbolic_constant5000001D +// CHECK:STDOUT: inst5000006D: symbolic_constant5000001C +// CHECK:STDOUT: inst5000006E: symbolic_constant5000001D +// CHECK:STDOUT: inst5000006F: symbolic_constant5000001F +// CHECK:STDOUT: inst50000070: symbolic_constant5000001E +// CHECK:STDOUT: inst50000071: symbolic_constant5000001F +// CHECK:STDOUT: inst50000073: symbolic_constant50000002 +// CHECK:STDOUT: inst50000074: concrete_constant(inst50000012) +// CHECK:STDOUT: inst50000075: concrete_constant(inst50000075) +// CHECK:STDOUT: inst50000076: symbolic_constant50000021 +// CHECK:STDOUT: inst50000077: symbolic_constant50000020 +// CHECK:STDOUT: inst50000078: symbolic_constant50000021 +// CHECK:STDOUT: inst50000079: symbolic_constant50000023 +// CHECK:STDOUT: inst5000007A: symbolic_constant50000022 +// CHECK:STDOUT: inst5000007B: symbolic_constant50000023 // CHECK:STDOUT: inst5000007C: symbolic_constant50000023 -// CHECK:STDOUT: inst5000007D: symbolic_constant50000023 -// CHECK:STDOUT: inst5000007E: symbolic_constant50000025 -// CHECK:STDOUT: inst5000007F: symbolic_constant50000024 +// CHECK:STDOUT: inst5000007D: symbolic_constant50000025 +// CHECK:STDOUT: inst5000007E: symbolic_constant50000024 +// CHECK:STDOUT: inst5000007F: symbolic_constant50000025 // CHECK:STDOUT: inst50000080: symbolic_constant50000025 -// CHECK:STDOUT: inst50000081: symbolic_constant50000025 -// CHECK:STDOUT: inst50000082: concrete_constant(inst5000001C) -// CHECK:STDOUT: inst50000084: symbolic_constant50000026 -// CHECK:STDOUT: inst50000085: symbolic_constant50000029 -// CHECK:STDOUT: inst50000086: symbolic_constant50000027 -// CHECK:STDOUT: inst50000087: symbolic_constant50000028 -// CHECK:STDOUT: inst50000088: symbolic_constant50000029 -// CHECK:STDOUT: inst50000089: symbolic_constant5000002A -// CHECK:STDOUT: inst5000008A: symbolic_constant5000002D -// CHECK:STDOUT: inst5000008B: symbolic_constant5000002B -// CHECK:STDOUT: inst5000008C: symbolic_constant5000002C -// CHECK:STDOUT: inst5000008D: symbolic_constant5000002D -// CHECK:STDOUT: inst5000008E: symbolic_constant5000002F -// CHECK:STDOUT: inst5000008F: symbolic_constant5000002E -// CHECK:STDOUT: inst50000090: symbolic_constant5000002F -// CHECK:STDOUT: inst50000092: symbolic_constant50000023 +// CHECK:STDOUT: inst50000081: concrete_constant(inst5000001B) +// CHECK:STDOUT: inst50000083: symbolic_constant50000026 +// CHECK:STDOUT: inst50000084: symbolic_constant50000029 +// CHECK:STDOUT: inst50000085: symbolic_constant50000027 +// CHECK:STDOUT: inst50000086: symbolic_constant50000028 +// CHECK:STDOUT: inst50000087: symbolic_constant50000029 +// CHECK:STDOUT: inst50000088: symbolic_constant5000002A +// CHECK:STDOUT: inst50000089: symbolic_constant5000002D +// CHECK:STDOUT: inst5000008A: symbolic_constant5000002B +// CHECK:STDOUT: inst5000008B: symbolic_constant5000002C +// CHECK:STDOUT: inst5000008C: symbolic_constant5000002D +// CHECK:STDOUT: inst5000008D: symbolic_constant5000002F +// CHECK:STDOUT: inst5000008E: symbolic_constant5000002E +// CHECK:STDOUT: inst5000008F: symbolic_constant5000002F +// CHECK:STDOUT: inst50000091: symbolic_constant50000023 +// CHECK:STDOUT: inst50000092: symbolic_constant50000025 // CHECK:STDOUT: inst50000093: symbolic_constant50000025 -// CHECK:STDOUT: inst50000094: symbolic_constant50000025 -// CHECK:STDOUT: inst50000095: concrete_constant(inst50000020) -// CHECK:STDOUT: inst50000097: symbolic_constant50000031 -// CHECK:STDOUT: inst50000098: symbolic_constant50000030 -// CHECK:STDOUT: inst50000099: symbolic_constant50000031 -// CHECK:STDOUT: inst5000009A: symbolic_constant50000032 -// CHECK:STDOUT: inst5000009B: symbolic_constant50000035 -// CHECK:STDOUT: inst5000009C: symbolic_constant50000033 -// CHECK:STDOUT: inst5000009D: symbolic_constant50000034 -// CHECK:STDOUT: inst5000009E: symbolic_constant50000035 -// CHECK:STDOUT: inst5000009F: symbolic_constant50000037 -// CHECK:STDOUT: inst500000A0: symbolic_constant50000036 -// CHECK:STDOUT: inst500000A1: symbolic_constant50000037 -// CHECK:STDOUT: inst500000A3: concrete_constant(inst50000013) -// CHECK:STDOUT: inst500000A5: symbolic_constant50000029 -// CHECK:STDOUT: inst500000A7: symbolic_constant50000031 -// CHECK:STDOUT: inst500000A8: concrete_constant(inst500000AA) +// CHECK:STDOUT: inst50000094: concrete_constant(inst5000001F) +// CHECK:STDOUT: inst50000096: symbolic_constant50000031 +// CHECK:STDOUT: inst50000097: symbolic_constant50000030 +// CHECK:STDOUT: inst50000098: symbolic_constant50000031 +// CHECK:STDOUT: inst50000099: symbolic_constant50000032 +// CHECK:STDOUT: inst5000009A: symbolic_constant50000035 +// CHECK:STDOUT: inst5000009B: symbolic_constant50000033 +// CHECK:STDOUT: inst5000009C: symbolic_constant50000034 +// CHECK:STDOUT: inst5000009D: symbolic_constant50000035 +// CHECK:STDOUT: inst5000009E: symbolic_constant50000037 +// CHECK:STDOUT: inst5000009F: symbolic_constant50000036 +// CHECK:STDOUT: inst500000A0: symbolic_constant50000037 +// CHECK:STDOUT: inst500000A2: concrete_constant(inst50000012) +// CHECK:STDOUT: inst500000A4: symbolic_constant50000029 +// CHECK:STDOUT: inst500000A6: symbolic_constant50000031 +// CHECK:STDOUT: inst500000A7: concrete_constant(inst500000A9) +// CHECK:STDOUT: inst500000A8: concrete_constant(inst500000A8) // CHECK:STDOUT: inst500000A9: concrete_constant(inst500000A9) -// CHECK:STDOUT: inst500000AA: concrete_constant(inst500000AA) -// CHECK:STDOUT: inst500000AB: symbolic_constant50000039 -// CHECK:STDOUT: inst500000AC: symbolic_constant50000038 -// CHECK:STDOUT: inst500000AD: symbolic_constant50000039 -// CHECK:STDOUT: inst500000AE: symbolic_constant5000003B -// CHECK:STDOUT: inst500000AF: symbolic_constant5000003A -// CHECK:STDOUT: inst500000B0: symbolic_constant5000003B -// CHECK:STDOUT: inst500000B2: symbolic_constant50000002 -// CHECK:STDOUT: inst500000B3: concrete_constant(inst50000013) +// CHECK:STDOUT: inst500000AA: symbolic_constant50000039 +// CHECK:STDOUT: inst500000AB: symbolic_constant50000038 +// CHECK:STDOUT: inst500000AC: symbolic_constant50000039 +// CHECK:STDOUT: inst500000AD: symbolic_constant5000003B +// CHECK:STDOUT: inst500000AE: symbolic_constant5000003A +// CHECK:STDOUT: inst500000AF: symbolic_constant5000003B +// CHECK:STDOUT: inst500000B1: symbolic_constant50000002 +// CHECK:STDOUT: inst500000B2: concrete_constant(inst50000012) +// CHECK:STDOUT: inst500000B3: symbolic_constant5000003C // CHECK:STDOUT: inst500000B4: symbolic_constant5000003C -// CHECK:STDOUT: inst500000B5: symbolic_constant5000003C -// CHECK:STDOUT: inst500000B6: concrete_constant(inst500000B6) -// CHECK:STDOUT: inst500000B7: symbolic_constant5000003C -// CHECK:STDOUT: inst500000B8: concrete_constant(inst50000011) -// CHECK:STDOUT: inst500000B9: concrete_constant(inst50000026) +// CHECK:STDOUT: inst500000B5: concrete_constant(inst500000B5) +// CHECK:STDOUT: inst500000B6: symbolic_constant5000003C +// CHECK:STDOUT: inst500000B7: concrete_constant(inst50000010) +// CHECK:STDOUT: inst500000B8: concrete_constant(inst50000025) +// CHECK:STDOUT: inst500000B9: symbolic_constant5000003D // CHECK:STDOUT: inst500000BA: symbolic_constant5000003D // CHECK:STDOUT: inst500000BB: symbolic_constant5000003D -// CHECK:STDOUT: inst500000BC: symbolic_constant5000003D -// CHECK:STDOUT: inst500000BD: concrete_constant(inst500000BD) -// CHECK:STDOUT: inst500000BE: symbolic_constant5000003C +// CHECK:STDOUT: inst500000BC: concrete_constant(inst500000BC) +// CHECK:STDOUT: inst500000BD: symbolic_constant5000003C +// CHECK:STDOUT: inst500000BE: symbolic_constant5000003D // CHECK:STDOUT: inst500000BF: symbolic_constant5000003D -// CHECK:STDOUT: inst500000C0: symbolic_constant5000003D -// CHECK:STDOUT: inst500000C1: concrete_constant(inst5000001C) -// CHECK:STDOUT: inst500000C2: symbolic_constant5000003E -// CHECK:STDOUT: inst500000C4: symbolic_constant5000003F +// CHECK:STDOUT: inst500000C0: concrete_constant(inst5000001B) +// CHECK:STDOUT: inst500000C1: symbolic_constant5000003E +// CHECK:STDOUT: inst500000C3: symbolic_constant5000003F +// CHECK:STDOUT: inst500000C4: symbolic_constant50000040 // CHECK:STDOUT: inst500000C5: symbolic_constant50000040 -// CHECK:STDOUT: inst500000C6: symbolic_constant50000040 -// CHECK:STDOUT: inst500000C7: concrete_constant(inst500000C8) -// CHECK:STDOUT: inst500000C8: concrete_constant(inst500000C8) -// CHECK:STDOUT: inst500000C9: concrete_constant(inst5000006B) -// CHECK:STDOUT: inst500000CA: concrete_constant(inst500000CA) +// CHECK:STDOUT: inst500000C6: concrete_constant(inst500000C7) +// CHECK:STDOUT: inst500000C7: concrete_constant(inst500000C7) +// CHECK:STDOUT: inst500000C8: concrete_constant(inst5000006A) +// CHECK:STDOUT: inst500000C9: concrete_constant(inst500000C9) +// CHECK:STDOUT: inst500000CA: symbolic_constant5000003E // CHECK:STDOUT: inst500000CB: symbolic_constant5000003E -// CHECK:STDOUT: inst500000CC: symbolic_constant5000003E +// CHECK:STDOUT: inst500000CC: symbolic_constant50000041 // CHECK:STDOUT: inst500000CD: symbolic_constant50000041 // CHECK:STDOUT: inst500000CE: symbolic_constant50000041 -// CHECK:STDOUT: inst500000CF: symbolic_constant50000041 -// CHECK:STDOUT: inst500000D0: concrete_constant(inst500000D0) -// CHECK:STDOUT: inst500000D2: symbolic_constant50000042 +// CHECK:STDOUT: inst500000CF: concrete_constant(inst500000CF) +// CHECK:STDOUT: inst500000D1: symbolic_constant50000042 +// CHECK:STDOUT: inst500000D2: symbolic_constant50000043 // CHECK:STDOUT: inst500000D3: symbolic_constant50000043 -// CHECK:STDOUT: inst500000D4: symbolic_constant50000043 -// CHECK:STDOUT: inst500000D5: concrete_constant(inst500000D5) -// CHECK:STDOUT: inst500000D6: concrete_constant(inst500000D7) +// CHECK:STDOUT: inst500000D4: concrete_constant(inst500000D4) +// CHECK:STDOUT: inst500000D5: concrete_constant(inst500000D6) +// CHECK:STDOUT: inst500000D6: concrete_constant(inst500000D6) // CHECK:STDOUT: inst500000D7: concrete_constant(inst500000D7) -// CHECK:STDOUT: inst500000D8: concrete_constant(inst500000D8) -// CHECK:STDOUT: inst500000D9: symbolic_constant50000045 -// CHECK:STDOUT: inst500000DA: symbolic_constant50000044 -// CHECK:STDOUT: inst500000DB: symbolic_constant50000045 -// CHECK:STDOUT: inst500000DC: symbolic_constant50000047 -// CHECK:STDOUT: inst500000DD: symbolic_constant50000046 +// CHECK:STDOUT: inst500000D8: symbolic_constant50000045 +// CHECK:STDOUT: inst500000D9: symbolic_constant50000044 +// CHECK:STDOUT: inst500000DA: symbolic_constant50000045 +// CHECK:STDOUT: inst500000DB: symbolic_constant50000047 +// CHECK:STDOUT: inst500000DC: symbolic_constant50000046 +// CHECK:STDOUT: inst500000DD: symbolic_constant50000047 // CHECK:STDOUT: inst500000DE: symbolic_constant50000047 -// CHECK:STDOUT: inst500000DF: symbolic_constant50000047 -// CHECK:STDOUT: inst500000E0: symbolic_constant50000049 -// CHECK:STDOUT: inst500000E1: symbolic_constant50000048 +// CHECK:STDOUT: inst500000DF: symbolic_constant50000049 +// CHECK:STDOUT: inst500000E0: symbolic_constant50000048 +// CHECK:STDOUT: inst500000E1: symbolic_constant50000049 // CHECK:STDOUT: inst500000E2: symbolic_constant50000049 -// CHECK:STDOUT: inst500000E3: symbolic_constant50000049 -// CHECK:STDOUT: inst500000E4: concrete_constant(inst5000001C) -// CHECK:STDOUT: inst500000E6: symbolic_constant5000004A -// CHECK:STDOUT: inst500000E7: symbolic_constant5000004B -// CHECK:STDOUT: inst500000EA: symbolic_constant5000004C -// CHECK:STDOUT: inst500000EB: symbolic_constant5000004D -// CHECK:STDOUT: inst500000ED: symbolic_constant5000004E -// CHECK:STDOUT: inst500000EE: symbolic_constant5000004F -// CHECK:STDOUT: inst500000EF: concrete_constant(inst5000006B) -// CHECK:STDOUT: inst500000F0: concrete_constant(inst500000F0) -// CHECK:STDOUT: inst500000F1: concrete_constant(inst500000F2) -// CHECK:STDOUT: inst500000F2: concrete_constant(inst500000F2) -// CHECK:STDOUT: inst500000F3: concrete_constant(inst500000F4) -// CHECK:STDOUT: inst500000F4: concrete_constant(inst500000F4) -// CHECK:STDOUT: inst500000F6: symbolic_constant50000047 +// CHECK:STDOUT: inst500000E3: concrete_constant(inst5000001B) +// CHECK:STDOUT: inst500000E5: symbolic_constant5000004A +// CHECK:STDOUT: inst500000E6: symbolic_constant5000004B +// CHECK:STDOUT: inst500000E9: symbolic_constant5000004C +// CHECK:STDOUT: inst500000EA: symbolic_constant5000004D +// CHECK:STDOUT: inst500000EC: symbolic_constant5000004E +// CHECK:STDOUT: inst500000ED: symbolic_constant5000004F +// CHECK:STDOUT: inst500000EE: concrete_constant(inst5000006A) +// CHECK:STDOUT: inst500000EF: concrete_constant(inst500000EF) +// CHECK:STDOUT: inst500000F0: concrete_constant(inst500000F1) +// CHECK:STDOUT: inst500000F1: concrete_constant(inst500000F1) +// CHECK:STDOUT: inst500000F2: concrete_constant(inst500000F3) +// CHECK:STDOUT: inst500000F3: concrete_constant(inst500000F3) +// CHECK:STDOUT: inst500000F5: symbolic_constant50000047 +// CHECK:STDOUT: inst500000F6: symbolic_constant50000049 // CHECK:STDOUT: inst500000F7: symbolic_constant50000049 -// CHECK:STDOUT: inst500000F8: symbolic_constant50000049 -// CHECK:STDOUT: inst500000F9: concrete_constant(inst50000020) -// CHECK:STDOUT: inst500000FB: symbolic_constant50000052 -// CHECK:STDOUT: inst500000FC: symbolic_constant50000050 -// CHECK:STDOUT: inst500000FD: symbolic_constant50000051 -// CHECK:STDOUT: inst500000FE: symbolic_constant50000052 -// CHECK:STDOUT: inst500000FF: symbolic_constant50000053 -// CHECK:STDOUT: inst50000100: symbolic_constant50000056 -// CHECK:STDOUT: inst50000101: symbolic_constant50000054 -// CHECK:STDOUT: inst50000102: symbolic_constant50000055 -// CHECK:STDOUT: inst50000103: symbolic_constant50000056 -// CHECK:STDOUT: inst50000104: symbolic_constant50000058 -// CHECK:STDOUT: inst50000105: symbolic_constant50000057 -// CHECK:STDOUT: inst50000106: symbolic_constant50000058 -// CHECK:STDOUT: inst50000108: concrete_constant(inst500000D7) -// CHECK:STDOUT: inst5000010A: concrete_constant(inst5000006B) -// CHECK:STDOUT: inst5000010C: symbolic_constant50000052 -// CHECK:STDOUT: inst5000010D: concrete_constant(inst5000010F) +// CHECK:STDOUT: inst500000F8: concrete_constant(inst5000001F) +// CHECK:STDOUT: inst500000FA: symbolic_constant50000052 +// CHECK:STDOUT: inst500000FB: symbolic_constant50000050 +// CHECK:STDOUT: inst500000FC: symbolic_constant50000051 +// CHECK:STDOUT: inst500000FD: symbolic_constant50000052 +// CHECK:STDOUT: inst500000FE: symbolic_constant50000053 +// CHECK:STDOUT: inst500000FF: symbolic_constant50000056 +// CHECK:STDOUT: inst50000100: symbolic_constant50000054 +// CHECK:STDOUT: inst50000101: symbolic_constant50000055 +// CHECK:STDOUT: inst50000102: symbolic_constant50000056 +// CHECK:STDOUT: inst50000103: symbolic_constant50000058 +// CHECK:STDOUT: inst50000104: symbolic_constant50000057 +// CHECK:STDOUT: inst50000105: symbolic_constant50000058 +// CHECK:STDOUT: inst50000107: concrete_constant(inst500000D6) +// CHECK:STDOUT: inst50000109: concrete_constant(inst5000006A) +// CHECK:STDOUT: inst5000010B: symbolic_constant50000052 +// CHECK:STDOUT: inst5000010C: concrete_constant(inst5000010E) +// CHECK:STDOUT: inst5000010D: concrete_constant(inst5000010D) // CHECK:STDOUT: inst5000010E: concrete_constant(inst5000010E) -// CHECK:STDOUT: inst5000010F: concrete_constant(inst5000010F) -// CHECK:STDOUT: inst50000110: symbolic_constant5000005A -// CHECK:STDOUT: inst50000111: symbolic_constant50000059 -// CHECK:STDOUT: inst50000112: symbolic_constant5000005A +// CHECK:STDOUT: inst5000010F: symbolic_constant5000005A +// CHECK:STDOUT: inst50000110: symbolic_constant50000059 +// CHECK:STDOUT: inst50000111: symbolic_constant5000005A // CHECK:STDOUT: symbolic_constants: -// CHECK:STDOUT: symbolic_constant50000000: {inst: inst50000015, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000001: {inst: inst50000015, kind: checked, attached: {generic: generic50000000, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant50000002: {inst: inst50000022, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant50000003: {inst: inst50000028, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000004: {inst: inst50000032, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000005: {inst: inst50000032, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant50000006: {inst: inst50000035, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000007: {inst: inst50000035, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant50000008: {inst: inst50000039, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000009: {inst: inst50000039, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant5000000A: {inst: inst50000041, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000000B: {inst: inst50000044, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000000C: {inst: inst50000041, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant5000000D: {inst: inst50000044, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant5000000E: {inst: inst50000047, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000000F: {inst: inst50000049, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000010: {inst: inst50000047, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant50000011: {inst: inst50000049, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant50000012: {inst: inst5000004D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000013: {inst: inst5000004D, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant50000014: {inst: inst50000059, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000015: {inst: inst50000059, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant50000016: {inst: inst5000005B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000017: {inst: inst5000005D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000018: {inst: inst5000005B, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant50000019: {inst: inst5000005D, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant5000001A: {inst: inst50000061, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000001B: {inst: inst50000061, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant5000001C: {inst: inst5000006E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000001D: {inst: inst5000006E, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant5000001E: {inst: inst50000071, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000001F: {inst: inst50000071, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant50000020: {inst: inst50000078, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000021: {inst: inst50000078, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant50000022: {inst: inst5000007B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000023: {inst: inst5000007B, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant50000024: {inst: inst5000007F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000025: {inst: inst5000007F, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant50000026: {inst: inst50000084, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000027: {inst: inst50000086, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000028: {inst: inst50000084, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant50000029: {inst: inst50000086, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant5000002A: {inst: inst50000089, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000002B: {inst: inst5000008B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000002C: {inst: inst50000089, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant5000002D: {inst: inst5000008B, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant5000002E: {inst: inst5000008F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000002F: {inst: inst5000008F, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant50000030: {inst: inst50000098, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000031: {inst: inst50000098, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant50000032: {inst: inst5000009A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000033: {inst: inst5000009C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000034: {inst: inst5000009A, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant50000035: {inst: inst5000009C, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant50000036: {inst: inst500000A0, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000037: {inst: inst500000A0, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant50000038: {inst: inst500000AC, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000039: {inst: inst500000AC, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant5000003A: {inst: inst500000AF, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000003B: {inst: inst500000AF, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant5000003C: {inst: inst500000B5, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant5000003D: {inst: inst500000BB, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant5000003E: {inst: inst500000C2, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant5000003F: {inst: inst500000C4, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant50000040: {inst: inst500000C6, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant50000041: {inst: inst500000CE, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant50000042: {inst: inst500000D2, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant50000043: {inst: inst500000D4, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant50000044: {inst: inst500000DA, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000045: {inst: inst500000DA, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant50000046: {inst: inst500000DD, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000047: {inst: inst500000DD, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant50000048: {inst: inst500000E1, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000049: {inst: inst500000E1, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant5000004A: {inst: inst500000E6, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000004B: {inst: inst500000E7, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000004C: {inst: inst500000EA, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000004D: {inst: inst500000EB, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000004E: {inst: inst500000ED, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000004F: {inst: inst500000EE, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000050: {inst: inst500000FC, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000051: {inst: inst500000ED, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant50000052: {inst: inst500000FC, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant50000053: {inst: inst500000FF, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000054: {inst: inst50000101, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000055: {inst: inst500000FF, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant50000056: {inst: inst50000101, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant50000057: {inst: inst50000105, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000058: {inst: inst50000105, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant50000059: {inst: inst50000111, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000005A: {inst: inst50000111, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant50000000: {inst: inst50000014, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000001: {inst: inst50000014, kind: checked, attached: {generic: generic50000000, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant50000002: {inst: inst50000021, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant50000003: {inst: inst50000027, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000004: {inst: inst50000031, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000005: {inst: inst50000031, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant50000006: {inst: inst50000034, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000007: {inst: inst50000034, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant50000008: {inst: inst50000038, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000009: {inst: inst50000038, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant5000000A: {inst: inst50000040, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000000B: {inst: inst50000043, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000000C: {inst: inst50000040, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant5000000D: {inst: inst50000043, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant5000000E: {inst: inst50000046, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000000F: {inst: inst50000048, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000010: {inst: inst50000046, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant50000011: {inst: inst50000048, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant50000012: {inst: inst5000004C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000013: {inst: inst5000004C, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant50000014: {inst: inst50000058, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000015: {inst: inst50000058, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant50000016: {inst: inst5000005A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000017: {inst: inst5000005C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000018: {inst: inst5000005A, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant50000019: {inst: inst5000005C, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant5000001A: {inst: inst50000060, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000001B: {inst: inst50000060, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant5000001C: {inst: inst5000006D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000001D: {inst: inst5000006D, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant5000001E: {inst: inst50000070, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000001F: {inst: inst50000070, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant50000020: {inst: inst50000077, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000021: {inst: inst50000077, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant50000022: {inst: inst5000007A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000023: {inst: inst5000007A, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant50000024: {inst: inst5000007E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000025: {inst: inst5000007E, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant50000026: {inst: inst50000083, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000027: {inst: inst50000085, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000028: {inst: inst50000083, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant50000029: {inst: inst50000085, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant5000002A: {inst: inst50000088, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000002B: {inst: inst5000008A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000002C: {inst: inst50000088, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant5000002D: {inst: inst5000008A, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant5000002E: {inst: inst5000008E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000002F: {inst: inst5000008E, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant50000030: {inst: inst50000097, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000031: {inst: inst50000097, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant50000032: {inst: inst50000099, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000033: {inst: inst5000009B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000034: {inst: inst50000099, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant50000035: {inst: inst5000009B, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant50000036: {inst: inst5000009F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000037: {inst: inst5000009F, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant50000038: {inst: inst500000AB, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000039: {inst: inst500000AB, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant5000003A: {inst: inst500000AE, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000003B: {inst: inst500000AE, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant5000003C: {inst: inst500000B4, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant5000003D: {inst: inst500000BA, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant5000003E: {inst: inst500000C1, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant5000003F: {inst: inst500000C3, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant50000040: {inst: inst500000C5, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant50000041: {inst: inst500000CD, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant50000042: {inst: inst500000D1, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant50000043: {inst: inst500000D3, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant50000044: {inst: inst500000D9, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000045: {inst: inst500000D9, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant50000046: {inst: inst500000DC, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000047: {inst: inst500000DC, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant50000048: {inst: inst500000E0, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000049: {inst: inst500000E0, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant5000004A: {inst: inst500000E5, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000004B: {inst: inst500000E6, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000004C: {inst: inst500000E9, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000004D: {inst: inst500000EA, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000004E: {inst: inst500000EC, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000004F: {inst: inst500000ED, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000050: {inst: inst500000FB, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000051: {inst: inst500000EC, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant50000052: {inst: inst500000FB, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant50000053: {inst: inst500000FE, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000054: {inst: inst50000100, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000055: {inst: inst500000FE, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant50000056: {inst: inst50000100, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant50000057: {inst: inst50000104, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000058: {inst: inst50000104, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant50000059: {inst: inst50000110, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000005A: {inst: inst50000110, kind: checked, attached: {generic: generic50000005, index: generic_inst_in_def0}} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst50000012 -// CHECK:STDOUT: 1: inst50000069 -// CHECK:STDOUT: 2: inst500000A8 -// CHECK:STDOUT: 3: inst5000010D +// CHECK:STDOUT: 0: inst50000011 +// CHECK:STDOUT: 1: inst50000068 +// CHECK:STDOUT: 2: inst500000A7 +// CHECK:STDOUT: 3: inst5000010C // CHECK:STDOUT: generated: {} // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: inst50000011 -// CHECK:STDOUT: 1: inst50000024 -// CHECK:STDOUT: 2: inst50000025 -// CHECK:STDOUT: 3: inst50000027 -// CHECK:STDOUT: 4: inst50000029 -// CHECK:STDOUT: 5: inst5000002A -// CHECK:STDOUT: 6: inst5000002B -// CHECK:STDOUT: 7: inst5000002C -// CHECK:STDOUT: 8: inst5000002D -// CHECK:STDOUT: 9: inst5000002E -// CHECK:STDOUT: 10: inst5000003D -// CHECK:STDOUT: 11: inst50000042 -// CHECK:STDOUT: 12: inst50000053 -// CHECK:STDOUT: 13: inst50000057 +// CHECK:STDOUT: 0: inst50000010 +// CHECK:STDOUT: 1: inst50000023 +// CHECK:STDOUT: 2: inst50000024 +// CHECK:STDOUT: 3: inst50000026 +// CHECK:STDOUT: 4: inst50000028 +// CHECK:STDOUT: 5: inst50000029 +// CHECK:STDOUT: 6: inst5000002A +// CHECK:STDOUT: 7: inst5000002B +// CHECK:STDOUT: 8: inst5000002C +// CHECK:STDOUT: 9: inst5000002D +// CHECK:STDOUT: 10: inst5000003C +// CHECK:STDOUT: 11: inst50000041 +// CHECK:STDOUT: 12: inst50000052 +// CHECK:STDOUT: 13: inst50000056 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: extra_global_variables: {} // CHECK:STDOUT: inst_block50000006: -// CHECK:STDOUT: 0: inst50000014 +// CHECK:STDOUT: 0: inst50000013 // CHECK:STDOUT: inst_block50000007: -// CHECK:STDOUT: 0: inst50000015 -// CHECK:STDOUT: inst_block50000008: // CHECK:STDOUT: 0: inst50000014 -// CHECK:STDOUT: 1: inst50000017 +// CHECK:STDOUT: inst_block50000008: +// CHECK:STDOUT: 0: inst50000013 +// CHECK:STDOUT: 1: inst50000016 // CHECK:STDOUT: inst_block50000009: -// CHECK:STDOUT: 0: inst50000019 -// CHECK:STDOUT: 1: inst5000001E -// CHECK:STDOUT: inst_block5000000A: // CHECK:STDOUT: 0: inst50000018 +// CHECK:STDOUT: 1: inst5000001D +// CHECK:STDOUT: inst_block5000000A: +// CHECK:STDOUT: 0: inst50000017 // CHECK:STDOUT: inst_block5000000B: -// CHECK:STDOUT: 0: inst5000001B +// CHECK:STDOUT: 0: inst5000001A // CHECK:STDOUT: inst_block5000000C: -// CHECK:STDOUT: 0: inst5000001D +// CHECK:STDOUT: 0: inst5000001C // CHECK:STDOUT: inst_block5000000D: -// CHECK:STDOUT: 0: inst5000001F +// CHECK:STDOUT: 0: inst5000001E // CHECK:STDOUT: inst_block5000000E: -// CHECK:STDOUT: 0: inst50000019 -// CHECK:STDOUT: 1: inst5000001E +// CHECK:STDOUT: 0: inst50000018 +// CHECK:STDOUT: 1: inst5000001D // CHECK:STDOUT: inst_block5000000F: -// CHECK:STDOUT: 0: inst50000021 -// CHECK:STDOUT: 1: inst50000023 -// CHECK:STDOUT: 2: inst5000002F +// CHECK:STDOUT: 0: inst50000020 +// CHECK:STDOUT: 1: inst50000022 +// CHECK:STDOUT: 2: inst5000002E // CHECK:STDOUT: inst_block50000010: -// CHECK:STDOUT: 0: inst5000002B -// CHECK:STDOUT: 1: inst5000002C +// CHECK:STDOUT: 0: inst5000002A +// CHECK:STDOUT: 1: inst5000002B // CHECK:STDOUT: inst_block50000011: -// CHECK:STDOUT: 0: inst5000002D +// CHECK:STDOUT: 0: inst5000002C // CHECK:STDOUT: inst_block50000012: -// CHECK:STDOUT: 0: inst50000028 +// CHECK:STDOUT: 0: inst50000027 // CHECK:STDOUT: inst_block50000013: -// CHECK:STDOUT: 0: inst50000031 +// CHECK:STDOUT: 0: inst50000030 // CHECK:STDOUT: inst_block50000014: -// CHECK:STDOUT: 0: inst50000037 -// CHECK:STDOUT: 1: inst50000038 -// CHECK:STDOUT: 2: inst5000003B -// CHECK:STDOUT: 3: inst5000003F -// CHECK:STDOUT: 4: inst50000043 -// CHECK:STDOUT: inst_block50000015: -// CHECK:STDOUT: 0: inst50000035 -// CHECK:STDOUT: inst_block50000016: -// CHECK:STDOUT: 0: inst50000041 -// CHECK:STDOUT: inst_block50000017: -// CHECK:STDOUT: 0: inst50000050 -// CHECK:STDOUT: 1: inst50000051 -// CHECK:STDOUT: 2: inst50000052 -// CHECK:STDOUT: 3: inst50000055 -// CHECK:STDOUT: 4: inst50000058 -// CHECK:STDOUT: inst_block50000018: -// CHECK:STDOUT: 0: inst5000004C -// CHECK:STDOUT: 1: inst50000060 -// CHECK:STDOUT: inst_block50000019: -// CHECK:STDOUT: 0: inst50000048 -// CHECK:STDOUT: 1: inst5000005C -// CHECK:STDOUT: inst_block5000001A: -// CHECK:STDOUT: 0: inst50000065 -// CHECK:STDOUT: 1: inst50000067 -// CHECK:STDOUT: inst_block5000001B: -// CHECK:STDOUT: 0: inst50000031 -// CHECK:STDOUT: 1: inst50000048 -// CHECK:STDOUT: 2: inst5000004C -// CHECK:STDOUT: 3: inst5000005C -// CHECK:STDOUT: 4: inst50000060 -// CHECK:STDOUT: inst_block5000001C: -// CHECK:STDOUT: 0: inst50000064 -// CHECK:STDOUT: 1: inst50000034 -// CHECK:STDOUT: 2: inst50000065 -// CHECK:STDOUT: 3: inst50000066 -// CHECK:STDOUT: 4: inst5000004F -// CHECK:STDOUT: 5: inst50000067 -// CHECK:STDOUT: 6: inst50000068 -// CHECK:STDOUT: 7: inst50000063 -// CHECK:STDOUT: inst_block5000001D: -// CHECK:STDOUT: 0: inst50000034 -// CHECK:STDOUT: inst_block5000001E: -// CHECK:STDOUT: 0: inst50000033 -// CHECK:STDOUT: 1: inst50000036 +// CHECK:STDOUT: 0: inst50000036 +// CHECK:STDOUT: 1: inst50000037 // CHECK:STDOUT: 2: inst5000003A -// CHECK:STDOUT: 3: inst50000045 -// CHECK:STDOUT: 4: inst50000046 -// CHECK:STDOUT: 5: inst5000004A -// CHECK:STDOUT: 6: inst5000004B -// CHECK:STDOUT: 7: inst5000004E -// CHECK:STDOUT: 8: inst5000005A -// CHECK:STDOUT: 9: inst5000005E -// CHECK:STDOUT: 10: inst5000005F -// CHECK:STDOUT: 11: inst50000062 -// CHECK:STDOUT: inst_block5000001F: +// CHECK:STDOUT: 3: inst5000003E +// CHECK:STDOUT: 4: inst50000042 +// CHECK:STDOUT: inst_block50000015: +// CHECK:STDOUT: 0: inst50000034 +// CHECK:STDOUT: inst_block50000016: +// CHECK:STDOUT: 0: inst50000040 +// CHECK:STDOUT: inst_block50000017: +// CHECK:STDOUT: 0: inst5000004F +// CHECK:STDOUT: 1: inst50000050 +// CHECK:STDOUT: 2: inst50000051 +// CHECK:STDOUT: 3: inst50000054 +// CHECK:STDOUT: 4: inst50000057 +// CHECK:STDOUT: inst_block50000018: +// CHECK:STDOUT: 0: inst5000004B +// CHECK:STDOUT: 1: inst5000005F +// CHECK:STDOUT: inst_block50000019: +// CHECK:STDOUT: 0: inst50000047 +// CHECK:STDOUT: 1: inst5000005B +// CHECK:STDOUT: inst_block5000001A: +// CHECK:STDOUT: 0: inst50000064 +// CHECK:STDOUT: 1: inst50000066 +// CHECK:STDOUT: inst_block5000001B: +// CHECK:STDOUT: 0: inst50000030 +// CHECK:STDOUT: 1: inst50000047 +// CHECK:STDOUT: 2: inst5000004B +// CHECK:STDOUT: 3: inst5000005B +// CHECK:STDOUT: 4: inst5000005F +// CHECK:STDOUT: inst_block5000001C: +// CHECK:STDOUT: 0: inst50000063 +// CHECK:STDOUT: 1: inst50000033 +// CHECK:STDOUT: 2: inst50000064 +// CHECK:STDOUT: 3: inst50000065 +// CHECK:STDOUT: 4: inst5000004E +// CHECK:STDOUT: 5: inst50000066 +// CHECK:STDOUT: 6: inst50000067 +// CHECK:STDOUT: 7: inst50000062 +// CHECK:STDOUT: inst_block5000001D: +// CHECK:STDOUT: 0: inst50000033 +// CHECK:STDOUT: inst_block5000001E: // CHECK:STDOUT: 0: inst50000032 // CHECK:STDOUT: 1: inst50000035 // CHECK:STDOUT: 2: inst50000039 -// CHECK:STDOUT: 3: inst50000041 -// CHECK:STDOUT: 4: inst50000044 -// CHECK:STDOUT: 5: inst50000047 -// CHECK:STDOUT: 6: inst50000049 +// CHECK:STDOUT: 3: inst50000044 +// CHECK:STDOUT: 4: inst50000045 +// CHECK:STDOUT: 5: inst50000049 +// CHECK:STDOUT: 6: inst5000004A // CHECK:STDOUT: 7: inst5000004D // CHECK:STDOUT: 8: inst50000059 -// CHECK:STDOUT: 9: inst5000005B -// CHECK:STDOUT: 10: inst5000005D +// CHECK:STDOUT: 9: inst5000005D +// CHECK:STDOUT: 10: inst5000005E // CHECK:STDOUT: 11: inst50000061 +// CHECK:STDOUT: inst_block5000001F: +// CHECK:STDOUT: 0: inst50000031 +// CHECK:STDOUT: 1: inst50000034 +// CHECK:STDOUT: 2: inst50000038 +// CHECK:STDOUT: 3: inst50000040 +// CHECK:STDOUT: 4: inst50000043 +// CHECK:STDOUT: 5: inst50000046 +// CHECK:STDOUT: 6: inst50000048 +// CHECK:STDOUT: 7: inst5000004C +// CHECK:STDOUT: 8: inst50000058 +// CHECK:STDOUT: 9: inst5000005A +// CHECK:STDOUT: 10: inst5000005C +// CHECK:STDOUT: 11: inst50000060 // CHECK:STDOUT: inst_block50000020: -// CHECK:STDOUT: 0: inst50000073 +// CHECK:STDOUT: 0: inst50000072 // CHECK:STDOUT: inst_block50000021: -// CHECK:STDOUT: 0: inst5000006F -// CHECK:STDOUT: 1: inst50000072 +// CHECK:STDOUT: 0: inst5000006E +// CHECK:STDOUT: 1: inst50000071 // CHECK:STDOUT: inst_block50000022: -// CHECK:STDOUT: 0: inst50000074 -// CHECK:STDOUT: 1: inst50000075 +// CHECK:STDOUT: 0: inst50000073 +// CHECK:STDOUT: 1: inst50000074 // CHECK:STDOUT: inst_block50000023: -// CHECK:STDOUT: 0: inst50000077 +// CHECK:STDOUT: 0: inst50000076 // CHECK:STDOUT: inst_block50000024: -// CHECK:STDOUT: 0: inst5000007D -// CHECK:STDOUT: 1: inst5000007E -// CHECK:STDOUT: 2: inst50000081 -// CHECK:STDOUT: 3: inst50000082 -// CHECK:STDOUT: 4: inst50000085 -// CHECK:STDOUT: inst_block50000025: -// CHECK:STDOUT: 0: inst5000007B -// CHECK:STDOUT: inst_block50000026: -// CHECK:STDOUT: 0: inst50000084 -// CHECK:STDOUT: inst_block50000027: -// CHECK:STDOUT: 0: inst50000092 -// CHECK:STDOUT: 1: inst50000093 -// CHECK:STDOUT: 2: inst50000094 -// CHECK:STDOUT: 3: inst50000095 -// CHECK:STDOUT: 4: inst50000097 -// CHECK:STDOUT: inst_block50000028: -// CHECK:STDOUT: 0: inst5000008E -// CHECK:STDOUT: 1: inst5000009F -// CHECK:STDOUT: inst_block50000029: -// CHECK:STDOUT: 0: inst5000008A -// CHECK:STDOUT: 1: inst5000009B -// CHECK:STDOUT: inst_block5000002A: -// CHECK:STDOUT: 0: inst500000A4 -// CHECK:STDOUT: 1: inst500000A6 -// CHECK:STDOUT: inst_block5000002B: -// CHECK:STDOUT: 0: inst50000077 -// CHECK:STDOUT: 1: inst5000008A -// CHECK:STDOUT: 2: inst5000008E -// CHECK:STDOUT: 3: inst5000009B -// CHECK:STDOUT: 4: inst5000009F -// CHECK:STDOUT: inst_block5000002C: -// CHECK:STDOUT: 0: inst500000A3 -// CHECK:STDOUT: 1: inst5000007A -// CHECK:STDOUT: 2: inst500000A4 -// CHECK:STDOUT: 3: inst500000A5 -// CHECK:STDOUT: 4: inst50000091 -// CHECK:STDOUT: 5: inst500000A6 -// CHECK:STDOUT: 6: inst500000A7 -// CHECK:STDOUT: 7: inst500000A2 -// CHECK:STDOUT: inst_block5000002D: -// CHECK:STDOUT: 0: inst5000007A -// CHECK:STDOUT: inst_block5000002E: -// CHECK:STDOUT: 0: inst50000079 -// CHECK:STDOUT: 1: inst5000007C +// CHECK:STDOUT: 0: inst5000007C +// CHECK:STDOUT: 1: inst5000007D // CHECK:STDOUT: 2: inst50000080 -// CHECK:STDOUT: 3: inst50000087 -// CHECK:STDOUT: 4: inst50000088 -// CHECK:STDOUT: 5: inst5000008C -// CHECK:STDOUT: 6: inst5000008D -// CHECK:STDOUT: 7: inst50000090 -// CHECK:STDOUT: 8: inst50000099 -// CHECK:STDOUT: 9: inst5000009D -// CHECK:STDOUT: 10: inst5000009E -// CHECK:STDOUT: 11: inst500000A1 -// CHECK:STDOUT: inst_block5000002F: +// CHECK:STDOUT: 3: inst50000081 +// CHECK:STDOUT: 4: inst50000084 +// CHECK:STDOUT: inst_block50000025: +// CHECK:STDOUT: 0: inst5000007A +// CHECK:STDOUT: inst_block50000026: +// CHECK:STDOUT: 0: inst50000083 +// CHECK:STDOUT: inst_block50000027: +// CHECK:STDOUT: 0: inst50000091 +// CHECK:STDOUT: 1: inst50000092 +// CHECK:STDOUT: 2: inst50000093 +// CHECK:STDOUT: 3: inst50000094 +// CHECK:STDOUT: 4: inst50000096 +// CHECK:STDOUT: inst_block50000028: +// CHECK:STDOUT: 0: inst5000008D +// CHECK:STDOUT: 1: inst5000009E +// CHECK:STDOUT: inst_block50000029: +// CHECK:STDOUT: 0: inst50000089 +// CHECK:STDOUT: 1: inst5000009A +// CHECK:STDOUT: inst_block5000002A: +// CHECK:STDOUT: 0: inst500000A3 +// CHECK:STDOUT: 1: inst500000A5 +// CHECK:STDOUT: inst_block5000002B: +// CHECK:STDOUT: 0: inst50000076 +// CHECK:STDOUT: 1: inst50000089 +// CHECK:STDOUT: 2: inst5000008D +// CHECK:STDOUT: 3: inst5000009A +// CHECK:STDOUT: 4: inst5000009E +// CHECK:STDOUT: inst_block5000002C: +// CHECK:STDOUT: 0: inst500000A2 +// CHECK:STDOUT: 1: inst50000079 +// CHECK:STDOUT: 2: inst500000A3 +// CHECK:STDOUT: 3: inst500000A4 +// CHECK:STDOUT: 4: inst50000090 +// CHECK:STDOUT: 5: inst500000A5 +// CHECK:STDOUT: 6: inst500000A6 +// CHECK:STDOUT: 7: inst500000A1 +// CHECK:STDOUT: inst_block5000002D: +// CHECK:STDOUT: 0: inst50000079 +// CHECK:STDOUT: inst_block5000002E: // CHECK:STDOUT: 0: inst50000078 // CHECK:STDOUT: 1: inst5000007B // CHECK:STDOUT: 2: inst5000007F -// CHECK:STDOUT: 3: inst50000084 -// CHECK:STDOUT: 4: inst50000086 -// CHECK:STDOUT: 5: inst50000089 -// CHECK:STDOUT: 6: inst5000008B +// CHECK:STDOUT: 3: inst50000086 +// CHECK:STDOUT: 4: inst50000087 +// CHECK:STDOUT: 5: inst5000008B +// CHECK:STDOUT: 6: inst5000008C // CHECK:STDOUT: 7: inst5000008F // CHECK:STDOUT: 8: inst50000098 -// CHECK:STDOUT: 9: inst5000009A -// CHECK:STDOUT: 10: inst5000009C +// CHECK:STDOUT: 9: inst5000009C +// CHECK:STDOUT: 10: inst5000009D // CHECK:STDOUT: 11: inst500000A0 +// CHECK:STDOUT: inst_block5000002F: +// CHECK:STDOUT: 0: inst50000077 +// CHECK:STDOUT: 1: inst5000007A +// CHECK:STDOUT: 2: inst5000007E +// CHECK:STDOUT: 3: inst50000083 +// CHECK:STDOUT: 4: inst50000085 +// CHECK:STDOUT: 5: inst50000088 +// CHECK:STDOUT: 6: inst5000008A +// CHECK:STDOUT: 7: inst5000008E +// CHECK:STDOUT: 8: inst50000097 +// CHECK:STDOUT: 9: inst50000099 +// CHECK:STDOUT: 10: inst5000009B +// CHECK:STDOUT: 11: inst5000009F // CHECK:STDOUT: inst_block50000030: -// CHECK:STDOUT: 0: inst500000B1 +// CHECK:STDOUT: 0: inst500000B0 // CHECK:STDOUT: inst_block50000031: -// CHECK:STDOUT: 0: inst500000AD -// CHECK:STDOUT: 1: inst500000B0 +// CHECK:STDOUT: 0: inst500000AC +// CHECK:STDOUT: 1: inst500000AF // CHECK:STDOUT: inst_block50000032: -// CHECK:STDOUT: 0: inst500000B2 -// CHECK:STDOUT: 1: inst500000B3 -// CHECK:STDOUT: 2: inst500000B4 -// CHECK:STDOUT: 3: inst500000B6 -// CHECK:STDOUT: 4: inst500000B7 -// CHECK:STDOUT: 5: inst500000B8 -// CHECK:STDOUT: 6: inst500000B9 -// CHECK:STDOUT: 7: inst500000BA -// CHECK:STDOUT: 8: inst500000BC -// CHECK:STDOUT: 9: inst500000BD -// CHECK:STDOUT: 10: inst500000BE -// CHECK:STDOUT: 11: inst500000BF -// CHECK:STDOUT: 12: inst500000C0 -// CHECK:STDOUT: 13: inst500000C1 -// CHECK:STDOUT: 14: inst500000C5 -// CHECK:STDOUT: 15: inst500000C7 -// CHECK:STDOUT: 16: inst500000C9 -// CHECK:STDOUT: 17: inst500000CA -// CHECK:STDOUT: 18: inst500000CB -// CHECK:STDOUT: 19: inst500000CC -// CHECK:STDOUT: 20: inst500000CD -// CHECK:STDOUT: 21: inst500000CF -// CHECK:STDOUT: 22: inst500000D0 -// CHECK:STDOUT: 23: inst500000D3 -// CHECK:STDOUT: 24: inst500000D5 -// CHECK:STDOUT: 25: inst500000D6 +// CHECK:STDOUT: 0: inst500000B1 +// CHECK:STDOUT: 1: inst500000B2 +// CHECK:STDOUT: 2: inst500000B3 +// CHECK:STDOUT: 3: inst500000B5 +// CHECK:STDOUT: 4: inst500000B6 +// CHECK:STDOUT: 5: inst500000B7 +// CHECK:STDOUT: 6: inst500000B8 +// CHECK:STDOUT: 7: inst500000B9 +// CHECK:STDOUT: 8: inst500000BB +// CHECK:STDOUT: 9: inst500000BC +// CHECK:STDOUT: 10: inst500000BD +// CHECK:STDOUT: 11: inst500000BE +// CHECK:STDOUT: 12: inst500000BF +// CHECK:STDOUT: 13: inst500000C0 +// CHECK:STDOUT: 14: inst500000C4 +// CHECK:STDOUT: 15: inst500000C6 +// CHECK:STDOUT: 16: inst500000C8 +// CHECK:STDOUT: 17: inst500000C9 +// CHECK:STDOUT: 18: inst500000CA +// CHECK:STDOUT: 19: inst500000CB +// CHECK:STDOUT: 20: inst500000CC +// CHECK:STDOUT: 21: inst500000CE +// CHECK:STDOUT: 22: inst500000CF +// CHECK:STDOUT: 23: inst500000D2 +// CHECK:STDOUT: 24: inst500000D4 +// CHECK:STDOUT: 25: inst500000D5 // CHECK:STDOUT: inst_block50000033: -// CHECK:STDOUT: 0: inst500000B5 +// CHECK:STDOUT: 0: inst500000B4 // CHECK:STDOUT: inst_block50000034: -// CHECK:STDOUT: 0: inst500000C4 +// CHECK:STDOUT: 0: inst500000C3 // CHECK:STDOUT: inst_block50000035: -// CHECK:STDOUT: 0: inst500000B6 -// CHECK:STDOUT: 1: inst500000BD -// CHECK:STDOUT: 2: inst500000CA +// CHECK:STDOUT: 0: inst500000B5 +// CHECK:STDOUT: 1: inst500000BC +// CHECK:STDOUT: 2: inst500000C9 // CHECK:STDOUT: inst_block50000036: -// CHECK:STDOUT: 0: inst500000B6 -// CHECK:STDOUT: 1: inst500000D0 -// CHECK:STDOUT: 2: inst500000D5 +// CHECK:STDOUT: 0: inst500000B5 +// CHECK:STDOUT: 1: inst500000CF +// CHECK:STDOUT: 2: inst500000D4 // CHECK:STDOUT: inst_block50000037: -// CHECK:STDOUT: 0: inst500000D9 +// CHECK:STDOUT: 0: inst500000D8 // CHECK:STDOUT: inst_block50000038: -// CHECK:STDOUT: 0: inst500000DF -// CHECK:STDOUT: 1: inst500000E0 -// CHECK:STDOUT: 2: inst500000E3 -// CHECK:STDOUT: 3: inst500000E4 -// CHECK:STDOUT: 4: inst500000EF -// CHECK:STDOUT: inst_block50000039: -// CHECK:STDOUT: 0: inst500000DD -// CHECK:STDOUT: inst_block5000003A: -// CHECK:STDOUT: 0: inst500000E6 -// CHECK:STDOUT: inst_block5000003B: -// CHECK:STDOUT: 0: inst500000ED -// CHECK:STDOUT: inst_block5000003C: -// CHECK:STDOUT: 0: inst500000EE -// CHECK:STDOUT: inst_block5000003D: -// CHECK:STDOUT: 0: inst500000F6 -// CHECK:STDOUT: 1: inst500000F7 -// CHECK:STDOUT: 2: inst500000F8 -// CHECK:STDOUT: 3: inst500000F9 -// CHECK:STDOUT: 4: inst500000FB -// CHECK:STDOUT: inst_block5000003E: -// CHECK:STDOUT: 0: inst500000F3 -// CHECK:STDOUT: 1: inst50000104 -// CHECK:STDOUT: inst_block5000003F: -// CHECK:STDOUT: 0: inst500000F1 -// CHECK:STDOUT: 1: inst50000100 -// CHECK:STDOUT: inst_block50000040: -// CHECK:STDOUT: 0: inst50000109 -// CHECK:STDOUT: 1: inst5000010B -// CHECK:STDOUT: inst_block50000041: -// CHECK:STDOUT: 0: inst500000D9 -// CHECK:STDOUT: 1: inst500000F1 -// CHECK:STDOUT: 2: inst500000F3 -// CHECK:STDOUT: 3: inst50000100 -// CHECK:STDOUT: 4: inst50000104 -// CHECK:STDOUT: inst_block50000042: -// CHECK:STDOUT: 0: inst50000108 -// CHECK:STDOUT: 1: inst500000DC -// CHECK:STDOUT: 2: inst50000109 -// CHECK:STDOUT: 3: inst5000010A -// CHECK:STDOUT: 4: inst500000F5 -// CHECK:STDOUT: 5: inst5000010B -// CHECK:STDOUT: 6: inst5000010C -// CHECK:STDOUT: 7: inst50000107 -// CHECK:STDOUT: inst_block50000043: -// CHECK:STDOUT: 0: inst500000DC -// CHECK:STDOUT: inst_block50000044: -// CHECK:STDOUT: 0: inst500000DB -// CHECK:STDOUT: 1: inst500000DE +// CHECK:STDOUT: 0: inst500000DE +// CHECK:STDOUT: 1: inst500000DF // CHECK:STDOUT: 2: inst500000E2 -// CHECK:STDOUT: 3: inst500000FD -// CHECK:STDOUT: 4: inst500000FE -// CHECK:STDOUT: 5: inst50000102 -// CHECK:STDOUT: 6: inst50000103 +// CHECK:STDOUT: 3: inst500000E3 +// CHECK:STDOUT: 4: inst500000EE +// CHECK:STDOUT: inst_block50000039: +// CHECK:STDOUT: 0: inst500000DC +// CHECK:STDOUT: inst_block5000003A: +// CHECK:STDOUT: 0: inst500000E5 +// CHECK:STDOUT: inst_block5000003B: +// CHECK:STDOUT: 0: inst500000EC +// CHECK:STDOUT: inst_block5000003C: +// CHECK:STDOUT: 0: inst500000ED +// CHECK:STDOUT: inst_block5000003D: +// CHECK:STDOUT: 0: inst500000F5 +// CHECK:STDOUT: 1: inst500000F6 +// CHECK:STDOUT: 2: inst500000F7 +// CHECK:STDOUT: 3: inst500000F8 +// CHECK:STDOUT: 4: inst500000FA +// CHECK:STDOUT: inst_block5000003E: +// CHECK:STDOUT: 0: inst500000F2 +// CHECK:STDOUT: 1: inst50000103 +// CHECK:STDOUT: inst_block5000003F: +// CHECK:STDOUT: 0: inst500000F0 +// CHECK:STDOUT: 1: inst500000FF +// CHECK:STDOUT: inst_block50000040: +// CHECK:STDOUT: 0: inst50000108 +// CHECK:STDOUT: 1: inst5000010A +// CHECK:STDOUT: inst_block50000041: +// CHECK:STDOUT: 0: inst500000D8 +// CHECK:STDOUT: 1: inst500000F0 +// CHECK:STDOUT: 2: inst500000F2 +// CHECK:STDOUT: 3: inst500000FF +// CHECK:STDOUT: 4: inst50000103 +// CHECK:STDOUT: inst_block50000042: +// CHECK:STDOUT: 0: inst50000107 +// CHECK:STDOUT: 1: inst500000DB +// CHECK:STDOUT: 2: inst50000108 +// CHECK:STDOUT: 3: inst50000109 +// CHECK:STDOUT: 4: inst500000F4 +// CHECK:STDOUT: 5: inst5000010A +// CHECK:STDOUT: 6: inst5000010B // CHECK:STDOUT: 7: inst50000106 -// CHECK:STDOUT: inst_block50000045: +// CHECK:STDOUT: inst_block50000043: +// CHECK:STDOUT: 0: inst500000DB +// CHECK:STDOUT: inst_block50000044: // CHECK:STDOUT: 0: inst500000DA // CHECK:STDOUT: 1: inst500000DD // CHECK:STDOUT: 2: inst500000E1 -// CHECK:STDOUT: 3: inst500000ED -// CHECK:STDOUT: 4: inst500000FC -// CHECK:STDOUT: 5: inst500000FF -// CHECK:STDOUT: 6: inst50000101 +// CHECK:STDOUT: 3: inst500000FC +// CHECK:STDOUT: 4: inst500000FD +// CHECK:STDOUT: 5: inst50000101 +// CHECK:STDOUT: 6: inst50000102 // CHECK:STDOUT: 7: inst50000105 +// CHECK:STDOUT: inst_block50000045: +// CHECK:STDOUT: 0: inst500000D9 +// CHECK:STDOUT: 1: inst500000DC +// CHECK:STDOUT: 2: inst500000E0 +// CHECK:STDOUT: 3: inst500000EC +// CHECK:STDOUT: 4: inst500000FB +// CHECK:STDOUT: 5: inst500000FE +// CHECK:STDOUT: 6: inst50000100 +// CHECK:STDOUT: 7: inst50000104 // CHECK:STDOUT: inst_block50000046: -// CHECK:STDOUT: 0: inst50000113 -// CHECK:STDOUT: inst_block50000047: // CHECK:STDOUT: 0: inst50000112 +// CHECK:STDOUT: inst_block50000047: +// CHECK:STDOUT: 0: inst50000111 // CHECK:STDOUT: inst_block50000048: // CHECK:STDOUT: 0: inst(Package) -// CHECK:STDOUT: 1: inst50000010 -// CHECK:STDOUT: 2: inst50000012 -// CHECK:STDOUT: 3: inst50000069 -// CHECK:STDOUT: 4: inst500000A8 -// CHECK:STDOUT: 5: inst5000010D +// CHECK:STDOUT: 1: inst5000000F +// CHECK:STDOUT: 2: inst50000011 +// CHECK:STDOUT: 3: inst50000068 +// CHECK:STDOUT: 4: inst500000A7 +// CHECK:STDOUT: 5: inst5000010C // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: // CHECK:STDOUT: ints: {} diff --git a/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon b/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon index 8082fa0bc2e3..7643f2b63f75 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon @@ -32,285 +32,285 @@ fn Foo[T: type](p: T*) -> (T*, ()) { // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} -// CHECK:STDOUT: import_ir78000002: {decl_id: inst78000010, is_export: false} -// CHECK:STDOUT: import_ir78000003: {decl_id: inst78000010, is_export: false} -// CHECK:STDOUT: import_ir78000004: {decl_id: inst78000010, is_export: false} -// CHECK:STDOUT: import_ir78000005: {decl_id: inst78000010, is_export: false} -// CHECK:STDOUT: import_ir78000006: {decl_id: inst78000010, is_export: false} -// CHECK:STDOUT: import_ir78000007: {decl_id: inst78000010, is_export: false} +// CHECK:STDOUT: import_ir78000002: {decl_id: inst7800000F, is_export: false} +// CHECK:STDOUT: import_ir78000003: {decl_id: inst7800000F, is_export: false} +// CHECK:STDOUT: import_ir78000004: {decl_id: inst7800000F, is_export: false} +// CHECK:STDOUT: import_ir78000005: {decl_id: inst7800000F, is_export: false} +// CHECK:STDOUT: import_ir78000006: {decl_id: inst7800000F, is_export: false} +// CHECK:STDOUT: import_ir78000007: {decl_id: inst7800000F, is_export: false} // CHECK:STDOUT: import_ir_insts: -// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir78000005, inst_id: inst48000010} -// CHECK:STDOUT: import_ir_inst1: {ir_id: import_ir78000005, inst_id: inst48000015} -// CHECK:STDOUT: import_ir_inst2: {ir_id: import_ir78000005, inst_id: inst4800003D} -// CHECK:STDOUT: import_ir_inst3: {ir_id: import_ir78000005, inst_id: inst48000035} -// CHECK:STDOUT: import_ir_inst4: {ir_id: import_ir78000005, inst_id: inst48000012} -// CHECK:STDOUT: import_ir_inst5: {ir_id: import_ir78000005, inst_id: inst4800002C} -// CHECK:STDOUT: import_ir_inst6: {ir_id: import_ir78000005, inst_id: inst4800001E} -// CHECK:STDOUT: import_ir_inst7: {ir_id: import_ir78000005, inst_id: inst4800001D} -// CHECK:STDOUT: import_ir_inst8: {ir_id: import_ir78000005, inst_id: inst4800002B} -// CHECK:STDOUT: import_ir_inst9: {ir_id: import_ir78000005, inst_id: inst48000021} -// CHECK:STDOUT: import_ir_instA: {ir_id: import_ir78000005, inst_id: inst48000027} -// CHECK:STDOUT: import_ir_instB: {ir_id: import_ir78000005, inst_id: inst48000028} -// CHECK:STDOUT: import_ir_instC: {ir_id: import_ir78000005, inst_id: inst4800002E} -// CHECK:STDOUT: import_ir_instD: {ir_id: import_ir78000005, inst_id: inst48000017} -// CHECK:STDOUT: import_ir_instE: {ir_id: import_ir78000005, inst_id: inst4800001A} -// CHECK:STDOUT: import_ir_instF: {ir_id: import_ir78000005, inst_id: inst4800001F} -// CHECK:STDOUT: import_ir_inst10: {ir_id: import_ir78000005, inst_id: inst48000020} -// CHECK:STDOUT: import_ir_inst11: {ir_id: import_ir78000005, inst_id: inst48000023} -// CHECK:STDOUT: import_ir_inst12: {ir_id: import_ir78000005, inst_id: inst4800002A} -// CHECK:STDOUT: import_ir_inst13: {ir_id: import_ir78000005, inst_id: inst4800002D} -// CHECK:STDOUT: import_ir_inst14: {ir_id: import_ir78000005, inst_id: inst48000030} -// CHECK:STDOUT: import_ir_inst15: {ir_id: import_ir78000005, inst_id: inst48000039} -// CHECK:STDOUT: import_ir_inst16: {ir_id: import_ir78000005, inst_id: inst4800003A} -// CHECK:STDOUT: import_ir_inst17: {ir_id: import_ir78000005, inst_id: inst4800003B} -// CHECK:STDOUT: import_ir_inst18: {ir_id: import_ir78000005, inst_id: inst48000094} -// CHECK:STDOUT: import_ir_inst19: {ir_id: import_ir78000005, inst_id: inst4800008F} -// CHECK:STDOUT: import_ir_inst1A: {ir_id: import_ir78000005, inst_id: inst480000B6} -// CHECK:STDOUT: import_ir_inst1B: {ir_id: import_ir78000005, inst_id: inst48000093} -// CHECK:STDOUT: import_ir_inst1C: {ir_id: import_ir78000005, inst_id: inst480000AD} -// CHECK:STDOUT: import_ir_inst1D: {ir_id: import_ir78000005, inst_id: inst480000A0} -// CHECK:STDOUT: import_ir_inst1E: {ir_id: import_ir78000005, inst_id: inst4800009F} -// CHECK:STDOUT: import_ir_inst1F: {ir_id: import_ir78000005, inst_id: inst480000AC} -// CHECK:STDOUT: import_ir_inst20: {ir_id: import_ir78000005, inst_id: inst480000A3} -// CHECK:STDOUT: import_ir_inst21: {ir_id: import_ir78000005, inst_id: inst480000A8} -// CHECK:STDOUT: import_ir_inst22: {ir_id: import_ir78000005, inst_id: inst480000A9} -// CHECK:STDOUT: import_ir_inst23: {ir_id: import_ir78000005, inst_id: inst480000AF} -// CHECK:STDOUT: import_ir_inst24: {ir_id: import_ir78000005, inst_id: inst48000082} -// CHECK:STDOUT: import_ir_inst25: {ir_id: import_ir78000005, inst_id: inst4800009A} -// CHECK:STDOUT: import_ir_inst26: {ir_id: import_ir78000005, inst_id: inst4800009B} -// CHECK:STDOUT: import_ir_inst27: {ir_id: import_ir78000005, inst_id: inst4800009C} -// CHECK:STDOUT: import_ir_inst28: {ir_id: import_ir78000005, inst_id: inst480000A1} -// CHECK:STDOUT: import_ir_inst29: {ir_id: import_ir78000005, inst_id: inst480000A2} -// CHECK:STDOUT: import_ir_inst2A: {ir_id: import_ir78000005, inst_id: inst480000A5} -// CHECK:STDOUT: import_ir_inst2B: {ir_id: import_ir78000005, inst_id: inst480000AB} -// CHECK:STDOUT: import_ir_inst2C: {ir_id: import_ir78000005, inst_id: inst480000AE} -// CHECK:STDOUT: import_ir_inst2D: {ir_id: import_ir78000005, inst_id: inst480000B1} -// CHECK:STDOUT: import_ir_inst2E: {ir_id: import_ir78000005, inst_id: inst480000C0} -// CHECK:STDOUT: import_ir_inst2F: {ir_id: import_ir78000005, inst_id: inst480000C8} -// CHECK:STDOUT: import_ir_inst30: {ir_id: import_ir78000005, inst_id: inst480000D4} -// CHECK:STDOUT: import_ir_inst31: {ir_id: import_ir78000005, inst_id: inst480000D5} -// CHECK:STDOUT: import_ir_inst32: {ir_id: import_ir78000005, inst_id: inst480000D6} -// CHECK:STDOUT: import_ir_inst33: {ir_id: import_ir78000005, inst_id: inst480000D7} -// CHECK:STDOUT: import_ir_inst34: {ir_id: import_ir78000005, inst_id: inst480000E3} -// CHECK:STDOUT: import_ir_inst35: {ir_id: import_ir78000005, inst_id: inst4800007F} -// CHECK:STDOUT: import_ir_inst36: {ir_id: import_ir78000005, inst_id: inst4800008A} -// CHECK:STDOUT: import_ir_inst37: {ir_id: import_ir78000005, inst_id: inst4800008D} -// CHECK:STDOUT: import_ir_inst38: {ir_id: import_ir78000005, inst_id: inst48000090} -// CHECK:STDOUT: import_ir_inst39: {ir_id: import_ir78000005, inst_id: inst48000081} -// CHECK:STDOUT: import_ir_inst3A: {ir_id: import_ir78000005, inst_id: inst48000084} -// CHECK:STDOUT: import_ir_inst3B: {ir_id: import_ir78000005, inst_id: inst48000088} -// CHECK:STDOUT: import_ir_inst3C: {ir_id: import_ir78000005, inst_id: inst4800008C} -// CHECK:STDOUT: import_ir_inst3D: {ir_id: import_ir78000005, inst_id: inst48000092} -// CHECK:STDOUT: import_ir_inst3E: {ir_id: import_ir78000005, inst_id: inst48000096} -// CHECK:STDOUT: import_ir_inst3F: {ir_id: import_ir78000005, inst_id: inst480000B9} -// CHECK:STDOUT: import_ir_inst40: {ir_id: import_ir78000005, inst_id: inst480000BA} -// CHECK:STDOUT: import_ir_inst41: {ir_id: import_ir78000005, inst_id: inst480000F6} -// CHECK:STDOUT: import_ir_inst42: {ir_id: import_ir78000005, inst_id: inst480000F2} -// CHECK:STDOUT: import_ir_inst43: {ir_id: import_ir78000005, inst_id: inst480000F0} -// CHECK:STDOUT: import_ir_inst44: {ir_id: import_ir78000005, inst_id: inst480000F1} -// CHECK:STDOUT: import_ir_inst45: {ir_id: import_ir78000005, inst_id: inst480000F3} -// CHECK:STDOUT: import_ir_inst46: {ir_id: import_ir78000005, inst_id: inst48000115} -// CHECK:STDOUT: import_ir_inst47: {ir_id: import_ir78000005, inst_id: inst48000111} -// CHECK:STDOUT: import_ir_inst48: {ir_id: import_ir78000005, inst_id: inst4800010F} -// CHECK:STDOUT: import_ir_inst49: {ir_id: import_ir78000005, inst_id: inst48000110} -// CHECK:STDOUT: import_ir_inst4A: {ir_id: import_ir78000005, inst_id: inst48000112} -// CHECK:STDOUT: import_ir_inst4B: {ir_id: import_ir78000005, inst_id: inst48000134} -// CHECK:STDOUT: import_ir_inst4C: {ir_id: import_ir78000005, inst_id: inst48000130} -// CHECK:STDOUT: import_ir_inst4D: {ir_id: import_ir78000005, inst_id: inst4800012E} -// CHECK:STDOUT: import_ir_inst4E: {ir_id: import_ir78000005, inst_id: inst4800012F} -// CHECK:STDOUT: import_ir_inst4F: {ir_id: import_ir78000005, inst_id: inst48000131} -// CHECK:STDOUT: import_ir_inst50: {ir_id: import_ir78000005, inst_id: inst48000153} -// CHECK:STDOUT: import_ir_inst51: {ir_id: import_ir78000005, inst_id: inst4800014F} -// CHECK:STDOUT: import_ir_inst52: {ir_id: import_ir78000005, inst_id: inst4800014D} -// CHECK:STDOUT: import_ir_inst53: {ir_id: import_ir78000005, inst_id: inst4800014E} -// CHECK:STDOUT: import_ir_inst54: {ir_id: import_ir78000005, inst_id: inst48000150} -// CHECK:STDOUT: import_ir_inst55: {ir_id: import_ir78000005, inst_id: inst4800017F} -// CHECK:STDOUT: import_ir_inst56: {ir_id: import_ir78000005, inst_id: inst4800017A} -// CHECK:STDOUT: import_ir_inst57: {ir_id: import_ir78000005, inst_id: inst4800019E} -// CHECK:STDOUT: import_ir_inst58: {ir_id: import_ir78000005, inst_id: inst4800017E} -// CHECK:STDOUT: import_ir_inst59: {ir_id: import_ir78000005, inst_id: inst4800016E} -// CHECK:STDOUT: import_ir_inst5A: {ir_id: import_ir78000005, inst_id: inst48000175} -// CHECK:STDOUT: import_ir_inst5B: {ir_id: import_ir78000005, inst_id: inst48000178} -// CHECK:STDOUT: import_ir_inst5C: {ir_id: import_ir78000005, inst_id: inst4800017B} -// CHECK:STDOUT: import_ir_inst5D: {ir_id: import_ir78000005, inst_id: inst48000171} -// CHECK:STDOUT: import_ir_inst5E: {ir_id: import_ir78000005, inst_id: inst48000170} -// CHECK:STDOUT: import_ir_inst5F: {ir_id: import_ir78000005, inst_id: inst48000173} -// CHECK:STDOUT: import_ir_inst60: {ir_id: import_ir78000005, inst_id: inst48000177} -// CHECK:STDOUT: import_ir_inst61: {ir_id: import_ir78000005, inst_id: inst4800017D} -// CHECK:STDOUT: import_ir_inst62: {ir_id: import_ir78000005, inst_id: inst48000181} -// CHECK:STDOUT: import_ir_inst63: {ir_id: import_ir78000005, inst_id: inst48000195} -// CHECK:STDOUT: import_ir_inst64: {ir_id: import_ir78000005, inst_id: inst48000188} -// CHECK:STDOUT: import_ir_inst65: {ir_id: import_ir78000005, inst_id: inst48000187} -// CHECK:STDOUT: import_ir_inst66: {ir_id: import_ir78000005, inst_id: inst48000194} -// CHECK:STDOUT: import_ir_inst67: {ir_id: import_ir78000005, inst_id: inst4800018B} -// CHECK:STDOUT: import_ir_inst68: {ir_id: import_ir78000005, inst_id: inst48000190} -// CHECK:STDOUT: import_ir_inst69: {ir_id: import_ir78000005, inst_id: inst48000191} -// CHECK:STDOUT: import_ir_inst6A: {ir_id: import_ir78000005, inst_id: inst48000197} -// CHECK:STDOUT: import_ir_inst6B: {ir_id: import_ir78000005, inst_id: inst48000183} -// CHECK:STDOUT: import_ir_inst6C: {ir_id: import_ir78000005, inst_id: inst48000184} -// CHECK:STDOUT: import_ir_inst6D: {ir_id: import_ir78000005, inst_id: inst48000189} -// CHECK:STDOUT: import_ir_inst6E: {ir_id: import_ir78000005, inst_id: inst4800018A} -// CHECK:STDOUT: import_ir_inst6F: {ir_id: import_ir78000005, inst_id: inst4800018D} -// CHECK:STDOUT: import_ir_inst70: {ir_id: import_ir78000005, inst_id: inst48000193} -// CHECK:STDOUT: import_ir_inst71: {ir_id: import_ir78000005, inst_id: inst48000196} -// CHECK:STDOUT: import_ir_inst72: {ir_id: import_ir78000005, inst_id: inst48000199} -// CHECK:STDOUT: import_ir_inst73: {ir_id: import_ir78000005, inst_id: inst480001A1} -// CHECK:STDOUT: import_ir_inst74: {ir_id: import_ir78000005, inst_id: inst480001A2} -// CHECK:STDOUT: import_ir_inst75: {ir_id: import_ir78000005, inst_id: inst480001A5} -// CHECK:STDOUT: import_ir_inst76: {ir_id: import_ir78000005, inst_id: inst480001AF} -// CHECK:STDOUT: import_ir_inst77: {ir_id: import_ir78000005, inst_id: inst480001AB} -// CHECK:STDOUT: import_ir_inst78: {ir_id: import_ir78000005, inst_id: inst480001A9} -// CHECK:STDOUT: import_ir_inst79: {ir_id: import_ir78000005, inst_id: inst480001AA} -// CHECK:STDOUT: import_ir_inst7A: {ir_id: import_ir78000005, inst_id: inst480001AC} -// CHECK:STDOUT: import_ir_inst7B: {ir_id: import_ir78000005, inst_id: inst480001CC} -// CHECK:STDOUT: import_ir_inst7C: {ir_id: import_ir78000005, inst_id: inst480001C8} -// CHECK:STDOUT: import_ir_inst7D: {ir_id: import_ir78000005, inst_id: inst480001C6} -// CHECK:STDOUT: import_ir_inst7E: {ir_id: import_ir78000005, inst_id: inst480001C7} -// CHECK:STDOUT: import_ir_inst7F: {ir_id: import_ir78000005, inst_id: inst480001C9} -// CHECK:STDOUT: import_ir_inst80: {ir_id: import_ir78000005, inst_id: inst4800020C} -// CHECK:STDOUT: import_ir_inst81: {ir_id: import_ir78000005, inst_id: inst48000207} -// CHECK:STDOUT: import_ir_inst82: {ir_id: import_ir78000005, inst_id: inst48000232} -// CHECK:STDOUT: import_ir_inst83: {ir_id: import_ir78000005, inst_id: inst4800020B} -// CHECK:STDOUT: import_ir_inst84: {ir_id: import_ir78000005, inst_id: inst48000229} -// CHECK:STDOUT: import_ir_inst85: {ir_id: import_ir78000005, inst_id: inst4800021C} -// CHECK:STDOUT: import_ir_inst86: {ir_id: import_ir78000005, inst_id: inst4800021B} -// CHECK:STDOUT: import_ir_inst87: {ir_id: import_ir78000005, inst_id: inst48000228} -// CHECK:STDOUT: import_ir_inst88: {ir_id: import_ir78000005, inst_id: inst4800021F} -// CHECK:STDOUT: import_ir_inst89: {ir_id: import_ir78000005, inst_id: inst48000224} -// CHECK:STDOUT: import_ir_inst8A: {ir_id: import_ir78000005, inst_id: inst48000225} -// CHECK:STDOUT: import_ir_inst8B: {ir_id: import_ir78000005, inst_id: inst4800022B} -// CHECK:STDOUT: import_ir_inst8C: {ir_id: import_ir78000005, inst_id: inst480001E9} -// CHECK:STDOUT: import_ir_inst8D: {ir_id: import_ir78000005, inst_id: inst480001F0} -// CHECK:STDOUT: import_ir_inst8E: {ir_id: import_ir78000005, inst_id: inst48000214} -// CHECK:STDOUT: import_ir_inst8F: {ir_id: import_ir78000005, inst_id: inst48000215} -// CHECK:STDOUT: import_ir_inst90: {ir_id: import_ir78000005, inst_id: inst48000216} -// CHECK:STDOUT: import_ir_inst91: {ir_id: import_ir78000005, inst_id: inst48000217} -// CHECK:STDOUT: import_ir_inst92: {ir_id: import_ir78000005, inst_id: inst48000218} -// CHECK:STDOUT: import_ir_inst93: {ir_id: import_ir78000005, inst_id: inst4800021D} -// CHECK:STDOUT: import_ir_inst94: {ir_id: import_ir78000005, inst_id: inst4800021E} -// CHECK:STDOUT: import_ir_inst95: {ir_id: import_ir78000005, inst_id: inst48000221} -// CHECK:STDOUT: import_ir_inst96: {ir_id: import_ir78000005, inst_id: inst48000227} -// CHECK:STDOUT: import_ir_inst97: {ir_id: import_ir78000005, inst_id: inst4800022A} -// CHECK:STDOUT: import_ir_inst98: {ir_id: import_ir78000005, inst_id: inst4800022D} -// CHECK:STDOUT: import_ir_inst99: {ir_id: import_ir78000005, inst_id: inst4800023D} -// CHECK:STDOUT: import_ir_inst9A: {ir_id: import_ir78000005, inst_id: inst48000243} -// CHECK:STDOUT: import_ir_inst9B: {ir_id: import_ir78000005, inst_id: inst48000247} -// CHECK:STDOUT: import_ir_inst9C: {ir_id: import_ir78000005, inst_id: inst48000248} -// CHECK:STDOUT: import_ir_inst9D: {ir_id: import_ir78000005, inst_id: inst48000249} -// CHECK:STDOUT: import_ir_inst9E: {ir_id: import_ir78000005, inst_id: inst4800024A} -// CHECK:STDOUT: import_ir_inst9F: {ir_id: import_ir78000005, inst_id: inst4800024F} -// CHECK:STDOUT: import_ir_instA0: {ir_id: import_ir78000005, inst_id: inst48000259} -// CHECK:STDOUT: import_ir_instA1: {ir_id: import_ir78000005, inst_id: inst48000262} -// CHECK:STDOUT: import_ir_instA2: {ir_id: import_ir78000005, inst_id: inst48000263} -// CHECK:STDOUT: import_ir_instA3: {ir_id: import_ir78000005, inst_id: inst48000264} -// CHECK:STDOUT: import_ir_instA4: {ir_id: import_ir78000005, inst_id: inst48000265} -// CHECK:STDOUT: import_ir_instA5: {ir_id: import_ir78000005, inst_id: inst48000271} -// CHECK:STDOUT: import_ir_instA6: {ir_id: import_ir78000005, inst_id: inst480001E7} -// CHECK:STDOUT: import_ir_instA7: {ir_id: import_ir78000005, inst_id: inst480001ED} -// CHECK:STDOUT: import_ir_instA8: {ir_id: import_ir78000005, inst_id: inst48000202} -// CHECK:STDOUT: import_ir_instA9: {ir_id: import_ir78000005, inst_id: inst48000204} -// CHECK:STDOUT: import_ir_instAA: {ir_id: import_ir78000005, inst_id: inst48000208} -// CHECK:STDOUT: import_ir_instAB: {ir_id: import_ir78000005, inst_id: inst480001E8} -// CHECK:STDOUT: import_ir_instAC: {ir_id: import_ir78000005, inst_id: inst480001EA} -// CHECK:STDOUT: import_ir_instAD: {ir_id: import_ir78000005, inst_id: inst480001EF} -// CHECK:STDOUT: import_ir_instAE: {ir_id: import_ir78000005, inst_id: inst480001F2} -// CHECK:STDOUT: import_ir_instAF: {ir_id: import_ir78000005, inst_id: inst480001F8} -// CHECK:STDOUT: import_ir_instB0: {ir_id: import_ir78000005, inst_id: inst480001FB} -// CHECK:STDOUT: import_ir_instB1: {ir_id: import_ir78000005, inst_id: inst480001FF} -// CHECK:STDOUT: import_ir_instB2: {ir_id: import_ir78000005, inst_id: inst48000203} -// CHECK:STDOUT: import_ir_instB3: {ir_id: import_ir78000005, inst_id: inst4800020A} -// CHECK:STDOUT: import_ir_instB4: {ir_id: import_ir78000005, inst_id: inst4800020E} -// CHECK:STDOUT: import_ir_instB5: {ir_id: import_ir78000005, inst_id: inst48000235} -// CHECK:STDOUT: import_ir_instB6: {ir_id: import_ir78000005, inst_id: inst48000236} -// CHECK:STDOUT: import_ir_instB7: {ir_id: import_ir78000005, inst_id: inst480002B2} -// CHECK:STDOUT: import_ir_instB8: {ir_id: import_ir78000005, inst_id: inst480002AD} -// CHECK:STDOUT: import_ir_instB9: {ir_id: import_ir78000005, inst_id: inst480002DC} -// CHECK:STDOUT: import_ir_instBA: {ir_id: import_ir78000005, inst_id: inst480002B1} -// CHECK:STDOUT: import_ir_instBB: {ir_id: import_ir78000005, inst_id: inst480002D3} -// CHECK:STDOUT: import_ir_instBC: {ir_id: import_ir78000005, inst_id: inst480002C6} -// CHECK:STDOUT: import_ir_instBD: {ir_id: import_ir78000005, inst_id: inst480002C5} -// CHECK:STDOUT: import_ir_instBE: {ir_id: import_ir78000005, inst_id: inst480002D2} -// CHECK:STDOUT: import_ir_instBF: {ir_id: import_ir78000005, inst_id: inst480002C9} -// CHECK:STDOUT: import_ir_instC0: {ir_id: import_ir78000005, inst_id: inst480002CE} -// CHECK:STDOUT: import_ir_instC1: {ir_id: import_ir78000005, inst_id: inst480002CF} -// CHECK:STDOUT: import_ir_instC2: {ir_id: import_ir78000005, inst_id: inst480002D5} -// CHECK:STDOUT: import_ir_instC3: {ir_id: import_ir78000005, inst_id: inst48000284} -// CHECK:STDOUT: import_ir_instC4: {ir_id: import_ir78000005, inst_id: inst4800028A} -// CHECK:STDOUT: import_ir_instC5: {ir_id: import_ir78000005, inst_id: inst48000291} -// CHECK:STDOUT: import_ir_instC6: {ir_id: import_ir78000005, inst_id: inst480002BC} -// CHECK:STDOUT: import_ir_instC7: {ir_id: import_ir78000005, inst_id: inst480002BD} -// CHECK:STDOUT: import_ir_instC8: {ir_id: import_ir78000005, inst_id: inst480002BE} -// CHECK:STDOUT: import_ir_instC9: {ir_id: import_ir78000005, inst_id: inst480002BF} -// CHECK:STDOUT: import_ir_instCA: {ir_id: import_ir78000005, inst_id: inst480002C0} -// CHECK:STDOUT: import_ir_instCB: {ir_id: import_ir78000005, inst_id: inst480002C1} -// CHECK:STDOUT: import_ir_instCC: {ir_id: import_ir78000005, inst_id: inst480002C2} -// CHECK:STDOUT: import_ir_instCD: {ir_id: import_ir78000005, inst_id: inst480002C7} -// CHECK:STDOUT: import_ir_instCE: {ir_id: import_ir78000005, inst_id: inst480002C8} -// CHECK:STDOUT: import_ir_instCF: {ir_id: import_ir78000005, inst_id: inst480002CB} -// CHECK:STDOUT: import_ir_instD0: {ir_id: import_ir78000005, inst_id: inst480002D1} -// CHECK:STDOUT: import_ir_instD1: {ir_id: import_ir78000005, inst_id: inst480002D4} -// CHECK:STDOUT: import_ir_instD2: {ir_id: import_ir78000005, inst_id: inst480002D7} -// CHECK:STDOUT: import_ir_instD3: {ir_id: import_ir78000005, inst_id: inst480002E7} -// CHECK:STDOUT: import_ir_instD4: {ir_id: import_ir78000005, inst_id: inst480002EC} -// CHECK:STDOUT: import_ir_instD5: {ir_id: import_ir78000005, inst_id: inst480002F0} -// CHECK:STDOUT: import_ir_instD6: {ir_id: import_ir78000005, inst_id: inst480002F1} -// CHECK:STDOUT: import_ir_instD7: {ir_id: import_ir78000005, inst_id: inst480002F2} -// CHECK:STDOUT: import_ir_instD8: {ir_id: import_ir78000005, inst_id: inst480002F3} -// CHECK:STDOUT: import_ir_instD9: {ir_id: import_ir78000005, inst_id: inst480002F8} -// CHECK:STDOUT: import_ir_instDA: {ir_id: import_ir78000005, inst_id: inst48000300} -// CHECK:STDOUT: import_ir_instDB: {ir_id: import_ir78000005, inst_id: inst48000304} -// CHECK:STDOUT: import_ir_instDC: {ir_id: import_ir78000005, inst_id: inst48000305} -// CHECK:STDOUT: import_ir_instDD: {ir_id: import_ir78000005, inst_id: inst48000306} -// CHECK:STDOUT: import_ir_instDE: {ir_id: import_ir78000005, inst_id: inst48000307} -// CHECK:STDOUT: import_ir_instDF: {ir_id: import_ir78000005, inst_id: inst4800030C} -// CHECK:STDOUT: import_ir_instE0: {ir_id: import_ir78000005, inst_id: inst48000316} -// CHECK:STDOUT: import_ir_instE1: {ir_id: import_ir78000005, inst_id: inst4800031F} -// CHECK:STDOUT: import_ir_instE2: {ir_id: import_ir78000005, inst_id: inst48000320} -// CHECK:STDOUT: import_ir_instE3: {ir_id: import_ir78000005, inst_id: inst48000321} -// CHECK:STDOUT: import_ir_instE4: {ir_id: import_ir78000005, inst_id: inst48000322} -// CHECK:STDOUT: import_ir_instE5: {ir_id: import_ir78000005, inst_id: inst4800032E} -// CHECK:STDOUT: import_ir_instE6: {ir_id: import_ir78000005, inst_id: inst48000282} -// CHECK:STDOUT: import_ir_instE7: {ir_id: import_ir78000005, inst_id: inst48000288} -// CHECK:STDOUT: import_ir_instE8: {ir_id: import_ir78000005, inst_id: inst4800028E} -// CHECK:STDOUT: import_ir_instE9: {ir_id: import_ir78000005, inst_id: inst480002A7} -// CHECK:STDOUT: import_ir_instEA: {ir_id: import_ir78000005, inst_id: inst480002A9} -// CHECK:STDOUT: import_ir_instEB: {ir_id: import_ir78000005, inst_id: inst480002AE} -// CHECK:STDOUT: import_ir_instEC: {ir_id: import_ir78000005, inst_id: inst48000283} -// CHECK:STDOUT: import_ir_instED: {ir_id: import_ir78000005, inst_id: inst48000285} -// CHECK:STDOUT: import_ir_instEE: {ir_id: import_ir78000005, inst_id: inst48000289} -// CHECK:STDOUT: import_ir_instEF: {ir_id: import_ir78000005, inst_id: inst4800028B} -// CHECK:STDOUT: import_ir_instF0: {ir_id: import_ir78000005, inst_id: inst48000290} -// CHECK:STDOUT: import_ir_instF1: {ir_id: import_ir78000005, inst_id: inst48000293} -// CHECK:STDOUT: import_ir_instF2: {ir_id: import_ir78000005, inst_id: inst4800029A} -// CHECK:STDOUT: import_ir_instF3: {ir_id: import_ir78000005, inst_id: inst4800029D} -// CHECK:STDOUT: import_ir_instF4: {ir_id: import_ir78000005, inst_id: inst480002A0} -// CHECK:STDOUT: import_ir_instF5: {ir_id: import_ir78000005, inst_id: inst480002A4} -// CHECK:STDOUT: import_ir_instF6: {ir_id: import_ir78000005, inst_id: inst480002A8} -// CHECK:STDOUT: import_ir_instF7: {ir_id: import_ir78000005, inst_id: inst480002B0} -// CHECK:STDOUT: import_ir_instF8: {ir_id: import_ir78000005, inst_id: inst480002B4} -// CHECK:STDOUT: import_ir_instF9: {ir_id: import_ir78000005, inst_id: inst480002DF} -// CHECK:STDOUT: import_ir_instFA: {ir_id: import_ir78000005, inst_id: inst480002E0} +// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir78000005, inst_id: inst4800000F} +// CHECK:STDOUT: import_ir_inst1: {ir_id: import_ir78000005, inst_id: inst48000014} +// CHECK:STDOUT: import_ir_inst2: {ir_id: import_ir78000005, inst_id: inst4800003C} +// CHECK:STDOUT: import_ir_inst3: {ir_id: import_ir78000005, inst_id: inst48000034} +// CHECK:STDOUT: import_ir_inst4: {ir_id: import_ir78000005, inst_id: inst48000011} +// CHECK:STDOUT: import_ir_inst5: {ir_id: import_ir78000005, inst_id: inst4800002B} +// CHECK:STDOUT: import_ir_inst6: {ir_id: import_ir78000005, inst_id: inst4800001D} +// CHECK:STDOUT: import_ir_inst7: {ir_id: import_ir78000005, inst_id: inst4800001C} +// CHECK:STDOUT: import_ir_inst8: {ir_id: import_ir78000005, inst_id: inst4800002A} +// CHECK:STDOUT: import_ir_inst9: {ir_id: import_ir78000005, inst_id: inst48000020} +// CHECK:STDOUT: import_ir_instA: {ir_id: import_ir78000005, inst_id: inst48000026} +// CHECK:STDOUT: import_ir_instB: {ir_id: import_ir78000005, inst_id: inst48000027} +// CHECK:STDOUT: import_ir_instC: {ir_id: import_ir78000005, inst_id: inst4800002D} +// CHECK:STDOUT: import_ir_instD: {ir_id: import_ir78000005, inst_id: inst48000016} +// CHECK:STDOUT: import_ir_instE: {ir_id: import_ir78000005, inst_id: inst48000019} +// CHECK:STDOUT: import_ir_instF: {ir_id: import_ir78000005, inst_id: inst4800001E} +// CHECK:STDOUT: import_ir_inst10: {ir_id: import_ir78000005, inst_id: inst4800001F} +// CHECK:STDOUT: import_ir_inst11: {ir_id: import_ir78000005, inst_id: inst48000022} +// CHECK:STDOUT: import_ir_inst12: {ir_id: import_ir78000005, inst_id: inst48000029} +// CHECK:STDOUT: import_ir_inst13: {ir_id: import_ir78000005, inst_id: inst4800002C} +// CHECK:STDOUT: import_ir_inst14: {ir_id: import_ir78000005, inst_id: inst4800002F} +// CHECK:STDOUT: import_ir_inst15: {ir_id: import_ir78000005, inst_id: inst48000038} +// CHECK:STDOUT: import_ir_inst16: {ir_id: import_ir78000005, inst_id: inst48000039} +// CHECK:STDOUT: import_ir_inst17: {ir_id: import_ir78000005, inst_id: inst4800003A} +// CHECK:STDOUT: import_ir_inst18: {ir_id: import_ir78000005, inst_id: inst48000093} +// CHECK:STDOUT: import_ir_inst19: {ir_id: import_ir78000005, inst_id: inst4800008E} +// CHECK:STDOUT: import_ir_inst1A: {ir_id: import_ir78000005, inst_id: inst480000B5} +// CHECK:STDOUT: import_ir_inst1B: {ir_id: import_ir78000005, inst_id: inst48000092} +// CHECK:STDOUT: import_ir_inst1C: {ir_id: import_ir78000005, inst_id: inst480000AC} +// CHECK:STDOUT: import_ir_inst1D: {ir_id: import_ir78000005, inst_id: inst4800009F} +// CHECK:STDOUT: import_ir_inst1E: {ir_id: import_ir78000005, inst_id: inst4800009E} +// CHECK:STDOUT: import_ir_inst1F: {ir_id: import_ir78000005, inst_id: inst480000AB} +// CHECK:STDOUT: import_ir_inst20: {ir_id: import_ir78000005, inst_id: inst480000A2} +// CHECK:STDOUT: import_ir_inst21: {ir_id: import_ir78000005, inst_id: inst480000A7} +// CHECK:STDOUT: import_ir_inst22: {ir_id: import_ir78000005, inst_id: inst480000A8} +// CHECK:STDOUT: import_ir_inst23: {ir_id: import_ir78000005, inst_id: inst480000AE} +// CHECK:STDOUT: import_ir_inst24: {ir_id: import_ir78000005, inst_id: inst48000081} +// CHECK:STDOUT: import_ir_inst25: {ir_id: import_ir78000005, inst_id: inst48000099} +// CHECK:STDOUT: import_ir_inst26: {ir_id: import_ir78000005, inst_id: inst4800009A} +// CHECK:STDOUT: import_ir_inst27: {ir_id: import_ir78000005, inst_id: inst4800009B} +// CHECK:STDOUT: import_ir_inst28: {ir_id: import_ir78000005, inst_id: inst480000A0} +// CHECK:STDOUT: import_ir_inst29: {ir_id: import_ir78000005, inst_id: inst480000A1} +// CHECK:STDOUT: import_ir_inst2A: {ir_id: import_ir78000005, inst_id: inst480000A4} +// CHECK:STDOUT: import_ir_inst2B: {ir_id: import_ir78000005, inst_id: inst480000AA} +// CHECK:STDOUT: import_ir_inst2C: {ir_id: import_ir78000005, inst_id: inst480000AD} +// CHECK:STDOUT: import_ir_inst2D: {ir_id: import_ir78000005, inst_id: inst480000B0} +// CHECK:STDOUT: import_ir_inst2E: {ir_id: import_ir78000005, inst_id: inst480000BF} +// CHECK:STDOUT: import_ir_inst2F: {ir_id: import_ir78000005, inst_id: inst480000C7} +// CHECK:STDOUT: import_ir_inst30: {ir_id: import_ir78000005, inst_id: inst480000D3} +// CHECK:STDOUT: import_ir_inst31: {ir_id: import_ir78000005, inst_id: inst480000D4} +// CHECK:STDOUT: import_ir_inst32: {ir_id: import_ir78000005, inst_id: inst480000D5} +// CHECK:STDOUT: import_ir_inst33: {ir_id: import_ir78000005, inst_id: inst480000D6} +// CHECK:STDOUT: import_ir_inst34: {ir_id: import_ir78000005, inst_id: inst480000E2} +// CHECK:STDOUT: import_ir_inst35: {ir_id: import_ir78000005, inst_id: inst4800007E} +// CHECK:STDOUT: import_ir_inst36: {ir_id: import_ir78000005, inst_id: inst48000089} +// CHECK:STDOUT: import_ir_inst37: {ir_id: import_ir78000005, inst_id: inst4800008C} +// CHECK:STDOUT: import_ir_inst38: {ir_id: import_ir78000005, inst_id: inst4800008F} +// CHECK:STDOUT: import_ir_inst39: {ir_id: import_ir78000005, inst_id: inst48000080} +// CHECK:STDOUT: import_ir_inst3A: {ir_id: import_ir78000005, inst_id: inst48000083} +// CHECK:STDOUT: import_ir_inst3B: {ir_id: import_ir78000005, inst_id: inst48000087} +// CHECK:STDOUT: import_ir_inst3C: {ir_id: import_ir78000005, inst_id: inst4800008B} +// CHECK:STDOUT: import_ir_inst3D: {ir_id: import_ir78000005, inst_id: inst48000091} +// CHECK:STDOUT: import_ir_inst3E: {ir_id: import_ir78000005, inst_id: inst48000095} +// CHECK:STDOUT: import_ir_inst3F: {ir_id: import_ir78000005, inst_id: inst480000B8} +// CHECK:STDOUT: import_ir_inst40: {ir_id: import_ir78000005, inst_id: inst480000B9} +// CHECK:STDOUT: import_ir_inst41: {ir_id: import_ir78000005, inst_id: inst480000F5} +// CHECK:STDOUT: import_ir_inst42: {ir_id: import_ir78000005, inst_id: inst480000F1} +// CHECK:STDOUT: import_ir_inst43: {ir_id: import_ir78000005, inst_id: inst480000EF} +// CHECK:STDOUT: import_ir_inst44: {ir_id: import_ir78000005, inst_id: inst480000F0} +// CHECK:STDOUT: import_ir_inst45: {ir_id: import_ir78000005, inst_id: inst480000F2} +// CHECK:STDOUT: import_ir_inst46: {ir_id: import_ir78000005, inst_id: inst48000114} +// CHECK:STDOUT: import_ir_inst47: {ir_id: import_ir78000005, inst_id: inst48000110} +// CHECK:STDOUT: import_ir_inst48: {ir_id: import_ir78000005, inst_id: inst4800010E} +// CHECK:STDOUT: import_ir_inst49: {ir_id: import_ir78000005, inst_id: inst4800010F} +// CHECK:STDOUT: import_ir_inst4A: {ir_id: import_ir78000005, inst_id: inst48000111} +// CHECK:STDOUT: import_ir_inst4B: {ir_id: import_ir78000005, inst_id: inst48000133} +// CHECK:STDOUT: import_ir_inst4C: {ir_id: import_ir78000005, inst_id: inst4800012F} +// CHECK:STDOUT: import_ir_inst4D: {ir_id: import_ir78000005, inst_id: inst4800012D} +// CHECK:STDOUT: import_ir_inst4E: {ir_id: import_ir78000005, inst_id: inst4800012E} +// CHECK:STDOUT: import_ir_inst4F: {ir_id: import_ir78000005, inst_id: inst48000130} +// CHECK:STDOUT: import_ir_inst50: {ir_id: import_ir78000005, inst_id: inst48000152} +// CHECK:STDOUT: import_ir_inst51: {ir_id: import_ir78000005, inst_id: inst4800014E} +// CHECK:STDOUT: import_ir_inst52: {ir_id: import_ir78000005, inst_id: inst4800014C} +// CHECK:STDOUT: import_ir_inst53: {ir_id: import_ir78000005, inst_id: inst4800014D} +// CHECK:STDOUT: import_ir_inst54: {ir_id: import_ir78000005, inst_id: inst4800014F} +// CHECK:STDOUT: import_ir_inst55: {ir_id: import_ir78000005, inst_id: inst4800017E} +// CHECK:STDOUT: import_ir_inst56: {ir_id: import_ir78000005, inst_id: inst48000179} +// CHECK:STDOUT: import_ir_inst57: {ir_id: import_ir78000005, inst_id: inst4800019D} +// CHECK:STDOUT: import_ir_inst58: {ir_id: import_ir78000005, inst_id: inst4800017D} +// CHECK:STDOUT: import_ir_inst59: {ir_id: import_ir78000005, inst_id: inst4800016D} +// CHECK:STDOUT: import_ir_inst5A: {ir_id: import_ir78000005, inst_id: inst48000174} +// CHECK:STDOUT: import_ir_inst5B: {ir_id: import_ir78000005, inst_id: inst48000177} +// CHECK:STDOUT: import_ir_inst5C: {ir_id: import_ir78000005, inst_id: inst4800017A} +// CHECK:STDOUT: import_ir_inst5D: {ir_id: import_ir78000005, inst_id: inst48000170} +// CHECK:STDOUT: import_ir_inst5E: {ir_id: import_ir78000005, inst_id: inst4800016F} +// CHECK:STDOUT: import_ir_inst5F: {ir_id: import_ir78000005, inst_id: inst48000172} +// CHECK:STDOUT: import_ir_inst60: {ir_id: import_ir78000005, inst_id: inst48000176} +// CHECK:STDOUT: import_ir_inst61: {ir_id: import_ir78000005, inst_id: inst4800017C} +// CHECK:STDOUT: import_ir_inst62: {ir_id: import_ir78000005, inst_id: inst48000180} +// CHECK:STDOUT: import_ir_inst63: {ir_id: import_ir78000005, inst_id: inst48000194} +// CHECK:STDOUT: import_ir_inst64: {ir_id: import_ir78000005, inst_id: inst48000187} +// CHECK:STDOUT: import_ir_inst65: {ir_id: import_ir78000005, inst_id: inst48000186} +// CHECK:STDOUT: import_ir_inst66: {ir_id: import_ir78000005, inst_id: inst48000193} +// CHECK:STDOUT: import_ir_inst67: {ir_id: import_ir78000005, inst_id: inst4800018A} +// CHECK:STDOUT: import_ir_inst68: {ir_id: import_ir78000005, inst_id: inst4800018F} +// CHECK:STDOUT: import_ir_inst69: {ir_id: import_ir78000005, inst_id: inst48000190} +// CHECK:STDOUT: import_ir_inst6A: {ir_id: import_ir78000005, inst_id: inst48000196} +// CHECK:STDOUT: import_ir_inst6B: {ir_id: import_ir78000005, inst_id: inst48000182} +// CHECK:STDOUT: import_ir_inst6C: {ir_id: import_ir78000005, inst_id: inst48000183} +// CHECK:STDOUT: import_ir_inst6D: {ir_id: import_ir78000005, inst_id: inst48000188} +// CHECK:STDOUT: import_ir_inst6E: {ir_id: import_ir78000005, inst_id: inst48000189} +// CHECK:STDOUT: import_ir_inst6F: {ir_id: import_ir78000005, inst_id: inst4800018C} +// CHECK:STDOUT: import_ir_inst70: {ir_id: import_ir78000005, inst_id: inst48000192} +// CHECK:STDOUT: import_ir_inst71: {ir_id: import_ir78000005, inst_id: inst48000195} +// CHECK:STDOUT: import_ir_inst72: {ir_id: import_ir78000005, inst_id: inst48000198} +// CHECK:STDOUT: import_ir_inst73: {ir_id: import_ir78000005, inst_id: inst480001A0} +// CHECK:STDOUT: import_ir_inst74: {ir_id: import_ir78000005, inst_id: inst480001A1} +// CHECK:STDOUT: import_ir_inst75: {ir_id: import_ir78000005, inst_id: inst480001A4} +// CHECK:STDOUT: import_ir_inst76: {ir_id: import_ir78000005, inst_id: inst480001AE} +// CHECK:STDOUT: import_ir_inst77: {ir_id: import_ir78000005, inst_id: inst480001AA} +// CHECK:STDOUT: import_ir_inst78: {ir_id: import_ir78000005, inst_id: inst480001A8} +// CHECK:STDOUT: import_ir_inst79: {ir_id: import_ir78000005, inst_id: inst480001A9} +// CHECK:STDOUT: import_ir_inst7A: {ir_id: import_ir78000005, inst_id: inst480001AB} +// CHECK:STDOUT: import_ir_inst7B: {ir_id: import_ir78000005, inst_id: inst480001CB} +// CHECK:STDOUT: import_ir_inst7C: {ir_id: import_ir78000005, inst_id: inst480001C7} +// CHECK:STDOUT: import_ir_inst7D: {ir_id: import_ir78000005, inst_id: inst480001C5} +// CHECK:STDOUT: import_ir_inst7E: {ir_id: import_ir78000005, inst_id: inst480001C6} +// CHECK:STDOUT: import_ir_inst7F: {ir_id: import_ir78000005, inst_id: inst480001C8} +// CHECK:STDOUT: import_ir_inst80: {ir_id: import_ir78000005, inst_id: inst4800020B} +// CHECK:STDOUT: import_ir_inst81: {ir_id: import_ir78000005, inst_id: inst48000206} +// CHECK:STDOUT: import_ir_inst82: {ir_id: import_ir78000005, inst_id: inst48000231} +// CHECK:STDOUT: import_ir_inst83: {ir_id: import_ir78000005, inst_id: inst4800020A} +// CHECK:STDOUT: import_ir_inst84: {ir_id: import_ir78000005, inst_id: inst48000228} +// CHECK:STDOUT: import_ir_inst85: {ir_id: import_ir78000005, inst_id: inst4800021B} +// CHECK:STDOUT: import_ir_inst86: {ir_id: import_ir78000005, inst_id: inst4800021A} +// CHECK:STDOUT: import_ir_inst87: {ir_id: import_ir78000005, inst_id: inst48000227} +// CHECK:STDOUT: import_ir_inst88: {ir_id: import_ir78000005, inst_id: inst4800021E} +// CHECK:STDOUT: import_ir_inst89: {ir_id: import_ir78000005, inst_id: inst48000223} +// CHECK:STDOUT: import_ir_inst8A: {ir_id: import_ir78000005, inst_id: inst48000224} +// CHECK:STDOUT: import_ir_inst8B: {ir_id: import_ir78000005, inst_id: inst4800022A} +// CHECK:STDOUT: import_ir_inst8C: {ir_id: import_ir78000005, inst_id: inst480001E8} +// CHECK:STDOUT: import_ir_inst8D: {ir_id: import_ir78000005, inst_id: inst480001EF} +// CHECK:STDOUT: import_ir_inst8E: {ir_id: import_ir78000005, inst_id: inst48000213} +// CHECK:STDOUT: import_ir_inst8F: {ir_id: import_ir78000005, inst_id: inst48000214} +// CHECK:STDOUT: import_ir_inst90: {ir_id: import_ir78000005, inst_id: inst48000215} +// CHECK:STDOUT: import_ir_inst91: {ir_id: import_ir78000005, inst_id: inst48000216} +// CHECK:STDOUT: import_ir_inst92: {ir_id: import_ir78000005, inst_id: inst48000217} +// CHECK:STDOUT: import_ir_inst93: {ir_id: import_ir78000005, inst_id: inst4800021C} +// CHECK:STDOUT: import_ir_inst94: {ir_id: import_ir78000005, inst_id: inst4800021D} +// CHECK:STDOUT: import_ir_inst95: {ir_id: import_ir78000005, inst_id: inst48000220} +// CHECK:STDOUT: import_ir_inst96: {ir_id: import_ir78000005, inst_id: inst48000226} +// CHECK:STDOUT: import_ir_inst97: {ir_id: import_ir78000005, inst_id: inst48000229} +// CHECK:STDOUT: import_ir_inst98: {ir_id: import_ir78000005, inst_id: inst4800022C} +// CHECK:STDOUT: import_ir_inst99: {ir_id: import_ir78000005, inst_id: inst4800023C} +// CHECK:STDOUT: import_ir_inst9A: {ir_id: import_ir78000005, inst_id: inst48000242} +// CHECK:STDOUT: import_ir_inst9B: {ir_id: import_ir78000005, inst_id: inst48000246} +// CHECK:STDOUT: import_ir_inst9C: {ir_id: import_ir78000005, inst_id: inst48000247} +// CHECK:STDOUT: import_ir_inst9D: {ir_id: import_ir78000005, inst_id: inst48000248} +// CHECK:STDOUT: import_ir_inst9E: {ir_id: import_ir78000005, inst_id: inst48000249} +// CHECK:STDOUT: import_ir_inst9F: {ir_id: import_ir78000005, inst_id: inst4800024E} +// CHECK:STDOUT: import_ir_instA0: {ir_id: import_ir78000005, inst_id: inst48000258} +// CHECK:STDOUT: import_ir_instA1: {ir_id: import_ir78000005, inst_id: inst48000261} +// CHECK:STDOUT: import_ir_instA2: {ir_id: import_ir78000005, inst_id: inst48000262} +// CHECK:STDOUT: import_ir_instA3: {ir_id: import_ir78000005, inst_id: inst48000263} +// CHECK:STDOUT: import_ir_instA4: {ir_id: import_ir78000005, inst_id: inst48000264} +// CHECK:STDOUT: import_ir_instA5: {ir_id: import_ir78000005, inst_id: inst48000270} +// CHECK:STDOUT: import_ir_instA6: {ir_id: import_ir78000005, inst_id: inst480001E6} +// CHECK:STDOUT: import_ir_instA7: {ir_id: import_ir78000005, inst_id: inst480001EC} +// CHECK:STDOUT: import_ir_instA8: {ir_id: import_ir78000005, inst_id: inst48000201} +// CHECK:STDOUT: import_ir_instA9: {ir_id: import_ir78000005, inst_id: inst48000203} +// CHECK:STDOUT: import_ir_instAA: {ir_id: import_ir78000005, inst_id: inst48000207} +// CHECK:STDOUT: import_ir_instAB: {ir_id: import_ir78000005, inst_id: inst480001E7} +// CHECK:STDOUT: import_ir_instAC: {ir_id: import_ir78000005, inst_id: inst480001E9} +// CHECK:STDOUT: import_ir_instAD: {ir_id: import_ir78000005, inst_id: inst480001EE} +// CHECK:STDOUT: import_ir_instAE: {ir_id: import_ir78000005, inst_id: inst480001F1} +// CHECK:STDOUT: import_ir_instAF: {ir_id: import_ir78000005, inst_id: inst480001F7} +// CHECK:STDOUT: import_ir_instB0: {ir_id: import_ir78000005, inst_id: inst480001FA} +// CHECK:STDOUT: import_ir_instB1: {ir_id: import_ir78000005, inst_id: inst480001FE} +// CHECK:STDOUT: import_ir_instB2: {ir_id: import_ir78000005, inst_id: inst48000202} +// CHECK:STDOUT: import_ir_instB3: {ir_id: import_ir78000005, inst_id: inst48000209} +// CHECK:STDOUT: import_ir_instB4: {ir_id: import_ir78000005, inst_id: inst4800020D} +// CHECK:STDOUT: import_ir_instB5: {ir_id: import_ir78000005, inst_id: inst48000234} +// CHECK:STDOUT: import_ir_instB6: {ir_id: import_ir78000005, inst_id: inst48000235} +// CHECK:STDOUT: import_ir_instB7: {ir_id: import_ir78000005, inst_id: inst480002B1} +// CHECK:STDOUT: import_ir_instB8: {ir_id: import_ir78000005, inst_id: inst480002AC} +// CHECK:STDOUT: import_ir_instB9: {ir_id: import_ir78000005, inst_id: inst480002DB} +// CHECK:STDOUT: import_ir_instBA: {ir_id: import_ir78000005, inst_id: inst480002B0} +// CHECK:STDOUT: import_ir_instBB: {ir_id: import_ir78000005, inst_id: inst480002D2} +// CHECK:STDOUT: import_ir_instBC: {ir_id: import_ir78000005, inst_id: inst480002C5} +// CHECK:STDOUT: import_ir_instBD: {ir_id: import_ir78000005, inst_id: inst480002C4} +// CHECK:STDOUT: import_ir_instBE: {ir_id: import_ir78000005, inst_id: inst480002D1} +// CHECK:STDOUT: import_ir_instBF: {ir_id: import_ir78000005, inst_id: inst480002C8} +// CHECK:STDOUT: import_ir_instC0: {ir_id: import_ir78000005, inst_id: inst480002CD} +// CHECK:STDOUT: import_ir_instC1: {ir_id: import_ir78000005, inst_id: inst480002CE} +// CHECK:STDOUT: import_ir_instC2: {ir_id: import_ir78000005, inst_id: inst480002D4} +// CHECK:STDOUT: import_ir_instC3: {ir_id: import_ir78000005, inst_id: inst48000283} +// CHECK:STDOUT: import_ir_instC4: {ir_id: import_ir78000005, inst_id: inst48000289} +// CHECK:STDOUT: import_ir_instC5: {ir_id: import_ir78000005, inst_id: inst48000290} +// CHECK:STDOUT: import_ir_instC6: {ir_id: import_ir78000005, inst_id: inst480002BB} +// CHECK:STDOUT: import_ir_instC7: {ir_id: import_ir78000005, inst_id: inst480002BC} +// CHECK:STDOUT: import_ir_instC8: {ir_id: import_ir78000005, inst_id: inst480002BD} +// CHECK:STDOUT: import_ir_instC9: {ir_id: import_ir78000005, inst_id: inst480002BE} +// CHECK:STDOUT: import_ir_instCA: {ir_id: import_ir78000005, inst_id: inst480002BF} +// CHECK:STDOUT: import_ir_instCB: {ir_id: import_ir78000005, inst_id: inst480002C0} +// CHECK:STDOUT: import_ir_instCC: {ir_id: import_ir78000005, inst_id: inst480002C1} +// CHECK:STDOUT: import_ir_instCD: {ir_id: import_ir78000005, inst_id: inst480002C6} +// CHECK:STDOUT: import_ir_instCE: {ir_id: import_ir78000005, inst_id: inst480002C7} +// CHECK:STDOUT: import_ir_instCF: {ir_id: import_ir78000005, inst_id: inst480002CA} +// CHECK:STDOUT: import_ir_instD0: {ir_id: import_ir78000005, inst_id: inst480002D0} +// CHECK:STDOUT: import_ir_instD1: {ir_id: import_ir78000005, inst_id: inst480002D3} +// CHECK:STDOUT: import_ir_instD2: {ir_id: import_ir78000005, inst_id: inst480002D6} +// CHECK:STDOUT: import_ir_instD3: {ir_id: import_ir78000005, inst_id: inst480002E6} +// CHECK:STDOUT: import_ir_instD4: {ir_id: import_ir78000005, inst_id: inst480002EB} +// CHECK:STDOUT: import_ir_instD5: {ir_id: import_ir78000005, inst_id: inst480002EF} +// CHECK:STDOUT: import_ir_instD6: {ir_id: import_ir78000005, inst_id: inst480002F0} +// CHECK:STDOUT: import_ir_instD7: {ir_id: import_ir78000005, inst_id: inst480002F1} +// CHECK:STDOUT: import_ir_instD8: {ir_id: import_ir78000005, inst_id: inst480002F2} +// CHECK:STDOUT: import_ir_instD9: {ir_id: import_ir78000005, inst_id: inst480002F7} +// CHECK:STDOUT: import_ir_instDA: {ir_id: import_ir78000005, inst_id: inst480002FF} +// CHECK:STDOUT: import_ir_instDB: {ir_id: import_ir78000005, inst_id: inst48000303} +// CHECK:STDOUT: import_ir_instDC: {ir_id: import_ir78000005, inst_id: inst48000304} +// CHECK:STDOUT: import_ir_instDD: {ir_id: import_ir78000005, inst_id: inst48000305} +// CHECK:STDOUT: import_ir_instDE: {ir_id: import_ir78000005, inst_id: inst48000306} +// CHECK:STDOUT: import_ir_instDF: {ir_id: import_ir78000005, inst_id: inst4800030B} +// CHECK:STDOUT: import_ir_instE0: {ir_id: import_ir78000005, inst_id: inst48000315} +// CHECK:STDOUT: import_ir_instE1: {ir_id: import_ir78000005, inst_id: inst4800031E} +// CHECK:STDOUT: import_ir_instE2: {ir_id: import_ir78000005, inst_id: inst4800031F} +// CHECK:STDOUT: import_ir_instE3: {ir_id: import_ir78000005, inst_id: inst48000320} +// CHECK:STDOUT: import_ir_instE4: {ir_id: import_ir78000005, inst_id: inst48000321} +// CHECK:STDOUT: import_ir_instE5: {ir_id: import_ir78000005, inst_id: inst4800032D} +// CHECK:STDOUT: import_ir_instE6: {ir_id: import_ir78000005, inst_id: inst48000281} +// CHECK:STDOUT: import_ir_instE7: {ir_id: import_ir78000005, inst_id: inst48000287} +// CHECK:STDOUT: import_ir_instE8: {ir_id: import_ir78000005, inst_id: inst4800028D} +// CHECK:STDOUT: import_ir_instE9: {ir_id: import_ir78000005, inst_id: inst480002A6} +// CHECK:STDOUT: import_ir_instEA: {ir_id: import_ir78000005, inst_id: inst480002A8} +// CHECK:STDOUT: import_ir_instEB: {ir_id: import_ir78000005, inst_id: inst480002AD} +// CHECK:STDOUT: import_ir_instEC: {ir_id: import_ir78000005, inst_id: inst48000282} +// CHECK:STDOUT: import_ir_instED: {ir_id: import_ir78000005, inst_id: inst48000284} +// CHECK:STDOUT: import_ir_instEE: {ir_id: import_ir78000005, inst_id: inst48000288} +// CHECK:STDOUT: import_ir_instEF: {ir_id: import_ir78000005, inst_id: inst4800028A} +// CHECK:STDOUT: import_ir_instF0: {ir_id: import_ir78000005, inst_id: inst4800028F} +// CHECK:STDOUT: import_ir_instF1: {ir_id: import_ir78000005, inst_id: inst48000292} +// CHECK:STDOUT: import_ir_instF2: {ir_id: import_ir78000005, inst_id: inst48000299} +// CHECK:STDOUT: import_ir_instF3: {ir_id: import_ir78000005, inst_id: inst4800029C} +// CHECK:STDOUT: import_ir_instF4: {ir_id: import_ir78000005, inst_id: inst4800029F} +// CHECK:STDOUT: import_ir_instF5: {ir_id: import_ir78000005, inst_id: inst480002A3} +// CHECK:STDOUT: import_ir_instF6: {ir_id: import_ir78000005, inst_id: inst480002A7} +// CHECK:STDOUT: import_ir_instF7: {ir_id: import_ir78000005, inst_id: inst480002AF} +// CHECK:STDOUT: import_ir_instF8: {ir_id: import_ir78000005, inst_id: inst480002B3} +// CHECK:STDOUT: import_ir_instF9: {ir_id: import_ir78000005, inst_id: inst480002DE} +// CHECK:STDOUT: import_ir_instFA: {ir_id: import_ir78000005, inst_id: inst480002DF} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Core): inst78000011, name0: inst78000047}} -// CHECK:STDOUT: name_scope78000001: {inst: inst78000011, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name3: inst78000057}} -// CHECK:STDOUT: name_scope78000002: {inst: inst78000058, parent_scope: name_scope78000001, has_error: false, extended_scopes: [], names: {name(SelfType): inst78000082}} -// CHECK:STDOUT: name_scope78000003: {inst: inst7800005A, parent_scope: name_scope78000002, has_error: false, extended_scopes: [], names: {name4: inst7800005C}} -// CHECK:STDOUT: name_scope78000004: {inst: inst78000088, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope78000005: {inst: inst780000D5, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope78000006: {inst: inst780000DB, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope78000007: {inst: inst780000E1, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope78000008: {inst: inst780000E7, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope78000009: {inst: inst780000ED, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope7800000A: {inst: inst7800011E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope7800000B: {inst: inst78000124, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope7800000C: {inst: inst7800012A, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope7800000D: {inst: inst78000187, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Core): inst78000010, name0: inst78000046}} +// CHECK:STDOUT: name_scope78000001: {inst: inst78000010, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name3: inst78000056}} +// CHECK:STDOUT: name_scope78000002: {inst: inst78000057, parent_scope: name_scope78000001, has_error: false, extended_scopes: [], names: {name(SelfType): inst78000081}} +// CHECK:STDOUT: name_scope78000003: {inst: inst78000059, parent_scope: name_scope78000002, has_error: false, extended_scopes: [], names: {name4: inst7800005B}} +// CHECK:STDOUT: name_scope78000004: {inst: inst78000087, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope78000005: {inst: inst780000D4, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope78000006: {inst: inst780000DA, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope78000007: {inst: inst780000E0, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope78000008: {inst: inst780000E6, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope78000009: {inst: inst780000EC, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope7800000A: {inst: inst7800011D, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope7800000B: {inst: inst78000123, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope7800000C: {inst: inst78000129, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope7800000D: {inst: inst78000186, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name78000000: {name: name(PeriodSelf), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0, is_frozen_period_self: 1, form: inst, type: inst} -// CHECK:STDOUT: entity_name78000001: {name: name1, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst78000014} -// CHECK:STDOUT: entity_name78000002: {name: name2, parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst7800001D} +// CHECK:STDOUT: entity_name78000001: {name: name1, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst78000013} +// CHECK:STDOUT: entity_name78000002: {name: name2, parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst7800001C} // CHECK:STDOUT: entity_name78000003: {name: name3, parent_scope: name_scope78000001, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst} // CHECK:STDOUT: entity_name78000004: {name: name(SelfType), parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst} // CHECK:STDOUT: entity_name78000005: {name: name4, parent_scope: name_scope78000003, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst} @@ -376,39 +376,39 @@ fn Foo[T: type](p: T*) -> (T*, ()) { // CHECK:STDOUT: entity_name78000041: {name: name5, parent_scope: name_scope, index: 1, is_template: 0, is_unused: 0, form: inst, type: inst} // CHECK:STDOUT: entity_name78000042: {name: name1, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst} // CHECK:STDOUT: functions: -// CHECK:STDOUT: function78000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block78000011, call_params_id: inst_block78000012, return_type_inst_id: inst78000035, return_form_inst_id: inst78000037, return_pattern_id: inst7800003F, body: [inst_block78000019]} -// CHECK:STDOUT: function78000001: {name: name4, parent_scope: name_scope78000003, call_param_patterns_id: inst_block7800001F, return_type_inst_id: inst78000071, return_form_inst_id: inst78000072, return_pattern_id: inst78000073} -// CHECK:STDOUT: function78000002: {name: name4, parent_scope: name_scope78000004, call_param_patterns_id: inst_block7800002A, return_type_inst_id: inst780000A3, return_form_inst_id: inst780000A4, return_pattern_id: inst780000A5} -// CHECK:STDOUT: function78000003: {name: name4, parent_scope: name_scope78000009, call_param_patterns_id: inst_block78000040, return_type_inst_id: inst7800010C, return_form_inst_id: inst7800010D, return_pattern_id: inst7800010E, builtin: primitive_copy} -// CHECK:STDOUT: function78000004: {name: name4, parent_scope: name_scope7800000C, call_param_patterns_id: inst_block7800004D, return_type_inst_id: inst78000146, return_form_inst_id: inst78000147, return_pattern_id: inst78000148} -// CHECK:STDOUT: function78000005: {name: name4, parent_scope: name_scope7800000D, call_param_patterns_id: inst_block78000069, return_type_inst_id: inst780001A3, return_form_inst_id: inst780001A4, return_pattern_id: inst780001A5} +// CHECK:STDOUT: function78000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block78000011, call_params_id: inst_block78000012, return_type_inst_id: inst78000034, return_form_inst_id: inst78000036, return_pattern_id: inst7800003E, body: [inst_block78000019]} +// CHECK:STDOUT: function78000001: {name: name4, parent_scope: name_scope78000003, call_param_patterns_id: inst_block7800001F, return_type_inst_id: inst78000070, return_form_inst_id: inst78000071, return_pattern_id: inst78000072} +// CHECK:STDOUT: function78000002: {name: name4, parent_scope: name_scope78000004, call_param_patterns_id: inst_block7800002A, return_type_inst_id: inst780000A2, return_form_inst_id: inst780000A3, return_pattern_id: inst780000A4} +// CHECK:STDOUT: function78000003: {name: name4, parent_scope: name_scope78000009, call_param_patterns_id: inst_block78000040, return_type_inst_id: inst7800010B, return_form_inst_id: inst7800010C, return_pattern_id: inst7800010D, builtin: primitive_copy} +// CHECK:STDOUT: function78000004: {name: name4, parent_scope: name_scope7800000C, call_param_patterns_id: inst_block7800004D, return_type_inst_id: inst78000145, return_form_inst_id: inst78000146, return_pattern_id: inst78000147} +// CHECK:STDOUT: function78000005: {name: name4, parent_scope: name_scope7800000D, call_param_patterns_id: inst_block78000069, return_type_inst_id: inst780001A2, return_form_inst_id: inst780001A3, return_pattern_id: inst780001A4} // CHECK:STDOUT: classes: {} // CHECK:STDOUT: interfaces: // CHECK:STDOUT: interface78000000: {name: name3, parent_scope: name_scope78000001, require_impls_block_id: require_block_empty, core_interface: Copy} // CHECK:STDOUT: associated_constants: {} // CHECK:STDOUT: impls: -// CHECK:STDOUT: impl78000000: {self: inst780000C8, constraint: inst780000C9, witness: inst78000087} -// CHECK:STDOUT: impl78000001: {self: inst780000D7, constraint: inst780000D8, witness: inst780000D4} -// CHECK:STDOUT: impl78000002: {self: inst780000DD, constraint: inst780000DE, witness: inst780000DA} -// CHECK:STDOUT: impl78000003: {self: inst780000E3, constraint: inst780000E4, witness: inst780000E0} -// CHECK:STDOUT: impl78000004: {self: inst780000E9, constraint: inst780000EA, witness: inst780000E6} -// CHECK:STDOUT: impl78000005: {self: inst780000F3, constraint: inst780000F4, witness: inst780000EC} -// CHECK:STDOUT: impl78000006: {self: inst78000120, constraint: inst78000121, witness: inst7800011D} -// CHECK:STDOUT: impl78000007: {self: inst78000126, constraint: inst78000127, witness: inst78000123} -// CHECK:STDOUT: impl78000008: {self: inst78000175, constraint: inst78000176, witness: inst78000129} -// CHECK:STDOUT: impl78000009: {self: inst780001DC, constraint: inst780001DD, witness: inst78000186} +// CHECK:STDOUT: impl78000000: {self: inst780000C7, constraint: inst780000C8, witness: inst78000086} +// CHECK:STDOUT: impl78000001: {self: inst780000D6, constraint: inst780000D7, witness: inst780000D3} +// CHECK:STDOUT: impl78000002: {self: inst780000DC, constraint: inst780000DD, witness: inst780000D9} +// CHECK:STDOUT: impl78000003: {self: inst780000E2, constraint: inst780000E3, witness: inst780000DF} +// CHECK:STDOUT: impl78000004: {self: inst780000E8, constraint: inst780000E9, witness: inst780000E5} +// CHECK:STDOUT: impl78000005: {self: inst780000F2, constraint: inst780000F3, witness: inst780000EB} +// CHECK:STDOUT: impl78000006: {self: inst7800011F, constraint: inst78000120, witness: inst7800011C} +// CHECK:STDOUT: impl78000007: {self: inst78000125, constraint: inst78000126, witness: inst78000122} +// CHECK:STDOUT: impl78000008: {self: inst78000174, constraint: inst78000175, witness: inst78000128} +// CHECK:STDOUT: impl78000009: {self: inst780001DB, constraint: inst780001DC, witness: inst78000185} // CHECK:STDOUT: generics: -// CHECK:STDOUT: generic78000000: {decl: inst78000047, bindings: inst_block78000015, self_specific_id: specific78000000, decl_block_id: inst_block78000017, definition_block_id: inst_block7800008C} -// CHECK:STDOUT: generic78000001: {decl: inst7800005A, bindings: inst_block7800001C, self_specific_id: specific78000001, decl_block_id: inst_block_empty, definition_block_id: inst_block78000025} -// CHECK:STDOUT: generic78000002: {decl: inst7800005F, bindings: inst_block78000021, self_specific_id: specific78000002, decl_block_id: inst_block78000022, definition_block_id: inst_block} -// CHECK:STDOUT: generic78000003: {decl: inst78000088, bindings: inst_block78000035, self_specific_id: specific78000004, decl_block_id: inst_block78000037, definition_block_id: inst_block78000039} -// CHECK:STDOUT: generic78000004: {decl: inst78000090, bindings: inst_block7800002C, self_specific_id: specific78000007, decl_block_id: inst_block7800002D, definition_block_id: inst_block78000032} -// CHECK:STDOUT: generic78000005: {decl: inst780000ED, bindings: inst_block7800003D, self_specific_id: specific7800000B, decl_block_id: inst_block7800003F, definition_block_id: inst_block78000046} -// CHECK:STDOUT: generic78000006: {decl: inst780000FC, bindings: inst_block78000042, self_specific_id: specific7800000D, decl_block_id: inst_block78000043, definition_block_id: inst_block_empty} -// CHECK:STDOUT: generic78000007: {decl: inst7800012A, bindings: inst_block7800005C, self_specific_id: specific7800000E, decl_block_id: inst_block78000060, definition_block_id: inst_block78000062} -// CHECK:STDOUT: generic78000008: {decl: inst78000132, bindings: inst_block7800004F, self_specific_id: specific78000011, decl_block_id: inst_block78000051, definition_block_id: inst_block78000059} -// CHECK:STDOUT: generic78000009: {decl: inst78000187, bindings: inst_block7800007A, self_specific_id: specific78000017, decl_block_id: inst_block7800007E, definition_block_id: inst_block78000080} -// CHECK:STDOUT: generic7800000A: {decl: inst7800018F, bindings: inst_block7800006B, self_specific_id: specific7800001A, decl_block_id: inst_block7800006D, definition_block_id: inst_block78000077} +// CHECK:STDOUT: generic78000000: {decl: inst78000046, bindings: inst_block78000015, self_specific_id: specific78000000, decl_block_id: inst_block78000017, definition_block_id: inst_block7800008A} +// CHECK:STDOUT: generic78000001: {decl: inst78000059, bindings: inst_block7800001C, self_specific_id: specific78000001, decl_block_id: inst_block_empty, definition_block_id: inst_block78000025} +// CHECK:STDOUT: generic78000002: {decl: inst7800005E, bindings: inst_block78000021, self_specific_id: specific78000002, decl_block_id: inst_block78000022, definition_block_id: inst_block} +// CHECK:STDOUT: generic78000003: {decl: inst78000087, bindings: inst_block78000035, self_specific_id: specific78000004, decl_block_id: inst_block78000037, definition_block_id: inst_block78000039} +// CHECK:STDOUT: generic78000004: {decl: inst7800008F, bindings: inst_block7800002C, self_specific_id: specific78000007, decl_block_id: inst_block7800002D, definition_block_id: inst_block78000032} +// CHECK:STDOUT: generic78000005: {decl: inst780000EC, bindings: inst_block7800003D, self_specific_id: specific7800000B, decl_block_id: inst_block7800003F, definition_block_id: inst_block78000046} +// CHECK:STDOUT: generic78000006: {decl: inst780000FB, bindings: inst_block78000042, self_specific_id: specific7800000D, decl_block_id: inst_block78000043, definition_block_id: inst_block_empty} +// CHECK:STDOUT: generic78000007: {decl: inst78000129, bindings: inst_block7800005C, self_specific_id: specific7800000E, decl_block_id: inst_block78000060, definition_block_id: inst_block78000062} +// CHECK:STDOUT: generic78000008: {decl: inst78000131, bindings: inst_block7800004F, self_specific_id: specific78000011, decl_block_id: inst_block78000051, definition_block_id: inst_block78000059} +// CHECK:STDOUT: generic78000009: {decl: inst78000186, bindings: inst_block7800007A, self_specific_id: specific78000017, decl_block_id: inst_block7800007E, definition_block_id: inst_block78000080} +// CHECK:STDOUT: generic7800000A: {decl: inst7800018E, bindings: inst_block7800006B, self_specific_id: specific7800001A, decl_block_id: inst_block7800006D, definition_block_id: inst_block78000077} // CHECK:STDOUT: specifics: // CHECK:STDOUT: specific78000000: {generic: generic78000000, args: inst_block78000016, identified: 0, decl_block_id: inst_block78000018, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} // CHECK:STDOUT: specific78000001: {generic: generic78000001, args: inst_block7800001D, identified: 0, decl_block_id: inst_block_empty, decl_has_error: 0, definition_block_id: inst_block7800001E, definition_has_error: 0} @@ -421,7 +421,7 @@ fn Foo[T: type](p: T*) -> (T*, ()) { // CHECK:STDOUT: specific78000008: {generic: generic78000001, args: inst_block78000030, identified: 0, decl_block_id: inst_block, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} // CHECK:STDOUT: specific78000009: {generic: generic78000002, args: inst_block78000030, identified: 0, decl_block_id: inst_block, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} // CHECK:STDOUT: specific7800000A: {generic: generic78000003, args: inst_block78000036, identified: 0, decl_block_id: inst_block, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} -// CHECK:STDOUT: specific7800000B: {generic: generic78000005, args: inst_block78000016, identified: 0, decl_block_id: inst_block7800003B, decl_has_error: 0, definition_block_id: inst_block78000081, definition_has_error: 0} +// CHECK:STDOUT: specific7800000B: {generic: generic78000005, args: inst_block78000016, identified: 0, decl_block_id: inst_block7800003B, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} // CHECK:STDOUT: specific7800000C: {generic: generic78000005, args: inst_block7800003E, identified: 0, decl_block_id: inst_block, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} // CHECK:STDOUT: specific7800000D: {generic: generic78000006, args: inst_block78000016, identified: 0, decl_block_id: inst_block78000044, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} // CHECK:STDOUT: specific7800000E: {generic: generic78000007, args: inst_block78000049, identified: 0, decl_block_id: inst_block7800004B, decl_has_error: 0, definition_block_id: inst_block7800004C, definition_has_error: 0} @@ -444,11 +444,10 @@ fn Foo[T: type](p: T*) -> (T*, ()) { // CHECK:STDOUT: specific7800001F: {generic: generic78000001, args: inst_block78000075, identified: 0, decl_block_id: inst_block, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} // CHECK:STDOUT: specific78000020: {generic: generic78000002, args: inst_block78000075, identified: 0, decl_block_id: inst_block, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} // CHECK:STDOUT: specific78000021: {generic: generic78000009, args: inst_block7800007B, identified: 0, decl_block_id: inst_block, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} -// CHECK:STDOUT: specific78000022: {generic: generic78000005, args: inst_block78000082, identified: 0, decl_block_id: inst_block, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} -// CHECK:STDOUT: specific78000023: {generic: generic78000001, args: inst_block78000084, identified: 0, decl_block_id: inst_block_empty, decl_has_error: 0, definition_block_id: inst_block78000085, definition_has_error: 0} -// CHECK:STDOUT: specific78000024: {generic: generic78000001, args: inst_block78000087, identified: 0, decl_block_id: inst_block, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} -// CHECK:STDOUT: specific78000025: {generic: generic78000002, args: inst_block78000084, identified: 0, decl_block_id: inst_block78000088, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} -// CHECK:STDOUT: specific78000026: {generic: generic78000002, args: inst_block78000087, identified: 0, decl_block_id: inst_block, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} +// CHECK:STDOUT: specific78000022: {generic: generic78000001, args: inst_block78000082, identified: 0, decl_block_id: inst_block_empty, decl_has_error: 0, definition_block_id: inst_block78000083, definition_has_error: 0} +// CHECK:STDOUT: specific78000023: {generic: generic78000001, args: inst_block78000085, identified: 0, decl_block_id: inst_block, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} +// CHECK:STDOUT: specific78000024: {generic: generic78000002, args: inst_block78000082, identified: 0, decl_block_id: inst_block78000086, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} +// CHECK:STDOUT: specific78000025: {generic: generic78000002, args: inst_block78000085, identified: 0, decl_block_id: inst_block, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} // CHECK:STDOUT: specific_interfaces: // CHECK:STDOUT: specific_interface78000000: {interface_id: interface78000000, specific_id: specific} // CHECK:STDOUT: struct_type_fields: @@ -479,23 +478,23 @@ fn Foo[T: type](p: T*) -> (T*, ()) { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst7800002B)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002B)} +// CHECK:STDOUT: 'type(inst7800002A)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002A)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst78000032)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst78000032)} +// CHECK:STDOUT: 'type(inst78000031)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst78000031)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 8 // CHECK:STDOUT: alignment: 8 -// CHECK:STDOUT: 'type(inst7800002E)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst78000032)} +// CHECK:STDOUT: 'type(inst7800002D)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst78000031)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst78000048)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002B)} +// CHECK:STDOUT: 'type(inst78000047)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002A)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -529,8 +528,8 @@ fn Foo[T: type](p: T*) -> (T*, ()) { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 8 // CHECK:STDOUT: alignment: 8 -// CHECK:STDOUT: 'type(inst78000059)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst78000059)} +// CHECK:STDOUT: 'type(inst78000058)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst78000058)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -539,18 +538,13 @@ fn Foo[T: type](p: T*) -> (T*, ()) { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst(RequireSpecificDefinitionType))': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(RequireSpecificDefinitionType))} +// CHECK:STDOUT: 'type(symbolic_constant780001D1)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002A)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(symbolic_constant780001D3)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002B)} -// CHECK:STDOUT: object_layout: -// CHECK:STDOUT: size: 0 -// CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(symbolic_constant780001D8)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002B)} +// CHECK:STDOUT: 'type(symbolic_constant780001D6)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002A)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -565,2298 +559,2279 @@ fn Foo[T: type](p: T*) -> (T*, ()) { // CHECK:STDOUT: insts: // CHECK:STDOUT: 'inst(TypeType)': {kind: FacetType, arg0: declared_facet_type(Empty), type: type(TypeType)} // CHECK:STDOUT: 'inst(Package)': {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst78000010: {kind: ImportDecl, arg0: name(Core)} -// CHECK:STDOUT: inst78000011: {kind: Namespace, arg0: name_scope78000001, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst7800000F: {kind: ImportDecl, arg0: name(Core)} +// CHECK:STDOUT: inst78000010: {kind: Namespace, arg0: name_scope78000001, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst78000011: {kind: SymbolicBinding, arg0: entity_name78000000, arg1: inst, type: type(TypeType)} // CHECK:STDOUT: inst78000012: {kind: SymbolicBinding, arg0: entity_name78000000, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst78000013: {kind: SymbolicBinding, arg0: entity_name78000000, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst78000014: {kind: TypeLiteral, arg0: inst(TypeType), type: type(TypeType)} -// CHECK:STDOUT: inst78000015: {kind: PatternType, arg0: inst(TypeType), type: type(TypeType)} -// CHECK:STDOUT: inst78000016: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000015)} -// CHECK:STDOUT: inst78000017: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000015)} -// CHECK:STDOUT: inst78000018: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000015)} +// CHECK:STDOUT: inst78000013: {kind: TypeLiteral, arg0: inst(TypeType), type: type(TypeType)} +// CHECK:STDOUT: inst78000014: {kind: PatternType, arg0: inst(TypeType), type: type(TypeType)} +// CHECK:STDOUT: inst78000015: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000014)} +// CHECK:STDOUT: inst78000016: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000014)} +// CHECK:STDOUT: inst78000017: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000014)} +// CHECK:STDOUT: inst78000018: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(TypeType)} // CHECK:STDOUT: inst78000019: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(TypeType)} // CHECK:STDOUT: inst7800001A: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst7800001B: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst7800001C: {kind: NameRef, arg0: name1, arg1: inst78000019, type: type(TypeType)} -// CHECK:STDOUT: inst7800001D: {kind: PointerType, arg0: inst7800001C, type: type(TypeType)} +// CHECK:STDOUT: inst7800001B: {kind: NameRef, arg0: name1, arg1: inst78000018, type: type(TypeType)} +// CHECK:STDOUT: inst7800001C: {kind: PointerType, arg0: inst7800001B, type: type(TypeType)} +// CHECK:STDOUT: inst7800001D: {kind: PointerType, arg0: inst78000019, type: type(TypeType)} // CHECK:STDOUT: inst7800001E: {kind: PointerType, arg0: inst7800001A, type: type(TypeType)} -// CHECK:STDOUT: inst7800001F: {kind: PointerType, arg0: inst7800001B, type: type(TypeType)} -// CHECK:STDOUT: inst78000020: {kind: PatternType, arg0: inst7800001E, type: type(TypeType)} -// CHECK:STDOUT: inst78000021: {kind: ValueParamPattern, arg0: name2, type: type(symbolic_constant78000009)} -// CHECK:STDOUT: inst78000022: {kind: ValueParamPattern, arg0: name2, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000023: {kind: PatternType, arg0: inst7800001F, type: type(TypeType)} -// CHECK:STDOUT: inst78000024: {kind: ValueParamPattern, arg0: name2, type: type(symbolic_constant78000009)} -// CHECK:STDOUT: inst78000025: {kind: WrapperBindingPattern, arg0: entity_name78000002, arg1: inst78000021, type: type(symbolic_constant78000009)} -// CHECK:STDOUT: inst78000026: {kind: WrapperBindingPattern, arg0: entity_name78000002, arg1: inst78000022, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000027: {kind: WrapperBindingPattern, arg0: entity_name78000002, arg1: inst78000024, type: type(symbolic_constant78000009)} -// CHECK:STDOUT: inst78000028: {kind: WrapperBinding, arg0: entity_name78000002, arg1: inst78000043, type: type(symbolic_constant78000006)} -// CHECK:STDOUT: inst78000029: {kind: NameRef, arg0: name1, arg1: inst78000019, type: type(TypeType)} -// CHECK:STDOUT: inst7800002A: {kind: PointerType, arg0: inst78000029, type: type(TypeType)} -// CHECK:STDOUT: inst7800002B: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst7800002C: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst7800002B)} -// CHECK:STDOUT: inst7800002D: {kind: TupleValue, arg0: inst_block_empty, type: type(inst7800002B)} -// CHECK:STDOUT: inst7800002E: {kind: TupleType, arg0: inst_block7800000B, type: type(TypeType)} -// CHECK:STDOUT: inst7800002F: {kind: TupleLiteral, arg0: inst_block7800000A, type: type(inst7800002E)} -// CHECK:STDOUT: inst78000030: {kind: TupleValue, arg0: inst_block7800000C, type: type(inst7800002E)} -// CHECK:STDOUT: inst78000031: {kind: TupleValue, arg0: inst_block7800000D, type: type(inst7800002E)} -// CHECK:STDOUT: inst78000032: {kind: PointerType, arg0: inst7800002E, type: type(TypeType)} -// CHECK:STDOUT: inst78000033: {kind: Converted, arg0: inst7800002D, arg1: inst7800002B, type: type(TypeType)} -// CHECK:STDOUT: inst78000034: {kind: TupleType, arg0: inst_block7800000F, type: type(TypeType)} -// CHECK:STDOUT: inst78000035: {kind: Converted, arg0: inst7800002F, arg1: inst78000034, type: type(TypeType)} -// CHECK:STDOUT: inst78000036: {kind: TupleType, arg0: inst_block78000010, type: type(TypeType)} -// CHECK:STDOUT: inst78000037: {kind: InitForm, arg0: inst78000035, type: type(inst(FormType))} -// CHECK:STDOUT: inst78000038: {kind: InitForm, arg0: inst78000034, type: type(inst(FormType))} -// CHECK:STDOUT: inst78000039: {kind: InitForm, arg0: inst78000036, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800003A: {kind: PatternType, arg0: inst78000034, type: type(TypeType)} -// CHECK:STDOUT: inst7800003B: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000015)} -// CHECK:STDOUT: inst7800003C: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000013)} -// CHECK:STDOUT: inst7800003D: {kind: PatternType, arg0: inst78000036, type: type(TypeType)} -// CHECK:STDOUT: inst7800003E: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000015)} -// CHECK:STDOUT: inst7800003F: {kind: ReturnSlotPattern, arg0: inst7800003B, arg1: inst78000035, type: type(symbolic_constant78000015)} -// CHECK:STDOUT: inst78000040: {kind: ReturnSlotPattern, arg0: inst7800003C, arg1: inst78000034, type: type(symbolic_constant78000013)} -// CHECK:STDOUT: inst78000041: {kind: ReturnSlotPattern, arg0: inst7800003E, arg1: inst78000036, type: type(symbolic_constant78000015)} -// CHECK:STDOUT: inst78000042: {kind: SpliceBlock, arg0: inst_block78000006, arg1: inst78000014, type: type(TypeType)} -// CHECK:STDOUT: inst78000043: {kind: ValueParam, arg0: call_param0, arg1: name2, type: type(symbolic_constant78000006)} -// CHECK:STDOUT: inst78000044: {kind: SpliceBlock, arg0: inst_block78000008, arg1: inst7800001D, type: type(TypeType)} -// CHECK:STDOUT: inst78000045: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(symbolic_constant78000010)} -// CHECK:STDOUT: inst78000046: {kind: ReturnSlot, arg0: inst78000034, arg1: inst78000045, type: type(symbolic_constant78000010)} -// CHECK:STDOUT: inst78000047: {kind: FunctionDecl, arg0: function78000000, arg1: inst_block78000014, type: type(inst78000048)} -// CHECK:STDOUT: inst78000048: {kind: FunctionType, arg0: function78000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst78000049: {kind: StructValue, arg0: inst_block_empty, type: type(inst78000048)} -// CHECK:STDOUT: inst7800004A: {kind: RequireCompleteType, arg0: inst7800001E, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800001F: {kind: PatternType, arg0: inst7800001D, type: type(TypeType)} +// CHECK:STDOUT: inst78000020: {kind: ValueParamPattern, arg0: name2, type: type(symbolic_constant78000009)} +// CHECK:STDOUT: inst78000021: {kind: ValueParamPattern, arg0: name2, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000022: {kind: PatternType, arg0: inst7800001E, type: type(TypeType)} +// CHECK:STDOUT: inst78000023: {kind: ValueParamPattern, arg0: name2, type: type(symbolic_constant78000009)} +// CHECK:STDOUT: inst78000024: {kind: WrapperBindingPattern, arg0: entity_name78000002, arg1: inst78000020, type: type(symbolic_constant78000009)} +// CHECK:STDOUT: inst78000025: {kind: WrapperBindingPattern, arg0: entity_name78000002, arg1: inst78000021, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000026: {kind: WrapperBindingPattern, arg0: entity_name78000002, arg1: inst78000023, type: type(symbolic_constant78000009)} +// CHECK:STDOUT: inst78000027: {kind: WrapperBinding, arg0: entity_name78000002, arg1: inst78000042, type: type(symbolic_constant78000006)} +// CHECK:STDOUT: inst78000028: {kind: NameRef, arg0: name1, arg1: inst78000018, type: type(TypeType)} +// CHECK:STDOUT: inst78000029: {kind: PointerType, arg0: inst78000028, type: type(TypeType)} +// CHECK:STDOUT: inst7800002A: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst7800002B: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst7800002A)} +// CHECK:STDOUT: inst7800002C: {kind: TupleValue, arg0: inst_block_empty, type: type(inst7800002A)} +// CHECK:STDOUT: inst7800002D: {kind: TupleType, arg0: inst_block7800000B, type: type(TypeType)} +// CHECK:STDOUT: inst7800002E: {kind: TupleLiteral, arg0: inst_block7800000A, type: type(inst7800002D)} +// CHECK:STDOUT: inst7800002F: {kind: TupleValue, arg0: inst_block7800000C, type: type(inst7800002D)} +// CHECK:STDOUT: inst78000030: {kind: TupleValue, arg0: inst_block7800000D, type: type(inst7800002D)} +// CHECK:STDOUT: inst78000031: {kind: PointerType, arg0: inst7800002D, type: type(TypeType)} +// CHECK:STDOUT: inst78000032: {kind: Converted, arg0: inst7800002C, arg1: inst7800002A, type: type(TypeType)} +// CHECK:STDOUT: inst78000033: {kind: TupleType, arg0: inst_block7800000F, type: type(TypeType)} +// CHECK:STDOUT: inst78000034: {kind: Converted, arg0: inst7800002E, arg1: inst78000033, type: type(TypeType)} +// CHECK:STDOUT: inst78000035: {kind: TupleType, arg0: inst_block78000010, type: type(TypeType)} +// CHECK:STDOUT: inst78000036: {kind: InitForm, arg0: inst78000034, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000037: {kind: InitForm, arg0: inst78000033, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000038: {kind: InitForm, arg0: inst78000035, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000039: {kind: PatternType, arg0: inst78000033, type: type(TypeType)} +// CHECK:STDOUT: inst7800003A: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000015)} +// CHECK:STDOUT: inst7800003B: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000013)} +// CHECK:STDOUT: inst7800003C: {kind: PatternType, arg0: inst78000035, type: type(TypeType)} +// CHECK:STDOUT: inst7800003D: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000015)} +// CHECK:STDOUT: inst7800003E: {kind: ReturnSlotPattern, arg0: inst7800003A, arg1: inst78000034, type: type(symbolic_constant78000015)} +// CHECK:STDOUT: inst7800003F: {kind: ReturnSlotPattern, arg0: inst7800003B, arg1: inst78000033, type: type(symbolic_constant78000013)} +// CHECK:STDOUT: inst78000040: {kind: ReturnSlotPattern, arg0: inst7800003D, arg1: inst78000035, type: type(symbolic_constant78000015)} +// CHECK:STDOUT: inst78000041: {kind: SpliceBlock, arg0: inst_block78000006, arg1: inst78000013, type: type(TypeType)} +// CHECK:STDOUT: inst78000042: {kind: ValueParam, arg0: call_param0, arg1: name2, type: type(symbolic_constant78000006)} +// CHECK:STDOUT: inst78000043: {kind: SpliceBlock, arg0: inst_block78000008, arg1: inst7800001C, type: type(TypeType)} +// CHECK:STDOUT: inst78000044: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(symbolic_constant78000010)} +// CHECK:STDOUT: inst78000045: {kind: ReturnSlot, arg0: inst78000033, arg1: inst78000044, type: type(symbolic_constant78000010)} +// CHECK:STDOUT: inst78000046: {kind: FunctionDecl, arg0: function78000000, arg1: inst_block78000014, type: type(inst78000047)} +// CHECK:STDOUT: inst78000047: {kind: FunctionType, arg0: function78000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst78000048: {kind: StructValue, arg0: inst_block_empty, type: type(inst78000047)} +// CHECK:STDOUT: inst78000049: {kind: RequireCompleteType, arg0: inst7800001D, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800004A: {kind: RequireCompleteType, arg0: inst7800001D, type: type(inst(WitnessType))} // CHECK:STDOUT: inst7800004B: {kind: RequireCompleteType, arg0: inst7800001E, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800004C: {kind: RequireCompleteType, arg0: inst7800001F, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800004D: {kind: PointerType, arg0: inst78000034, type: type(TypeType)} -// CHECK:STDOUT: inst7800004E: {kind: RequireCompleteType, arg0: inst78000034, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800004F: {kind: RequireCompleteType, arg0: inst78000034, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000050: {kind: RequireCompleteType, arg0: inst78000036, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000051: {kind: NameRef, arg0: name2, arg1: inst78000028, type: type(symbolic_constant78000006)} -// CHECK:STDOUT: inst78000052: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst7800002B)} -// CHECK:STDOUT: inst78000053: {kind: TupleLiteral, arg0: inst_block7800001A, type: type(symbolic_constant78000010)} -// CHECK:STDOUT: inst78000054: {kind: RequireCompleteType, arg0: inst78000034, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000055: {kind: TupleAccess, arg0: inst78000045, arg1: element0, type: type(symbolic_constant78000006)} -// CHECK:STDOUT: inst78000056: {kind: RequireCompleteType, arg0: inst7800001E, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000057: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name78000003, type: type(TypeType)} -// CHECK:STDOUT: inst78000058: {kind: InterfaceDecl, arg0: interface78000000, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst78000059: {kind: FacetType, arg0: declared_facet_type78000001, type: type(TypeType)} -// CHECK:STDOUT: inst7800005A: {kind: InterfaceWithSelfDecl, arg0: interface78000000} -// CHECK:STDOUT: inst7800005B: {kind: SymbolicBinding, arg0: entity_name78000004, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst7800005C: {kind: ImportRefLoaded, arg0: import_ir_inst2, arg1: entity_name, type: type(inst78000083)} -// CHECK:STDOUT: inst7800005D: {kind: ImportRefUnloaded, arg0: import_ir_inst3, arg1: entity_name78000005} -// CHECK:STDOUT: inst7800005E: {kind: ImportRefLoaded, arg0: import_ir_inst4, arg1: entity_name, type: type(inst78000059)} -// CHECK:STDOUT: inst7800005F: {kind: FunctionDecl, arg0: function78000001, arg1: inst_block_empty, type: type(symbolic_constant7800001F)} -// CHECK:STDOUT: inst78000060: {kind: FunctionType, arg0: function78000001, arg1: specific78000001, type: type(TypeType)} -// CHECK:STDOUT: inst78000061: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800001F)} -// CHECK:STDOUT: inst78000062: {kind: FacetAccessType, arg0: inst7800005B, type: type(TypeType)} -// CHECK:STDOUT: inst78000063: {kind: PatternType, arg0: inst78000062, type: type(TypeType)} -// CHECK:STDOUT: inst78000064: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst78000065: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst78000066: {kind: ReturnSlotPattern, arg0: inst78000064, arg1: inst, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst78000067: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst78000068: {kind: ImportRefLoaded, arg0: import_ir_inst6, arg1: entity_name, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst78000069: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000067, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst7800006A: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst7800006B: {kind: InitForm, arg0: inst78000062, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800006C: {kind: ImportRefLoaded, arg0: import_ir_inst6, arg1: entity_name, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst7800006D: {kind: ImportRefLoaded, arg0: import_ir_inst7, arg1: entity_name, type: type(symbolic_constant78000028)} -// CHECK:STDOUT: inst7800006E: {kind: ImportRefLoaded, arg0: import_ir_inst8, arg1: entity_name, type: type(symbolic_constant78000028)} +// CHECK:STDOUT: inst7800004C: {kind: PointerType, arg0: inst78000033, type: type(TypeType)} +// CHECK:STDOUT: inst7800004D: {kind: RequireCompleteType, arg0: inst78000033, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800004E: {kind: RequireCompleteType, arg0: inst78000033, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800004F: {kind: RequireCompleteType, arg0: inst78000035, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000050: {kind: NameRef, arg0: name2, arg1: inst78000027, type: type(symbolic_constant78000006)} +// CHECK:STDOUT: inst78000051: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst7800002A)} +// CHECK:STDOUT: inst78000052: {kind: TupleLiteral, arg0: inst_block7800001A, type: type(symbolic_constant78000010)} +// CHECK:STDOUT: inst78000053: {kind: RequireCompleteType, arg0: inst78000033, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000054: {kind: TupleAccess, arg0: inst78000044, arg1: element0, type: type(symbolic_constant78000006)} +// CHECK:STDOUT: inst78000055: {kind: RequireCompleteType, arg0: inst7800001D, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000056: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name78000003, type: type(TypeType)} +// CHECK:STDOUT: inst78000057: {kind: InterfaceDecl, arg0: interface78000000, arg1: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst78000058: {kind: FacetType, arg0: declared_facet_type78000001, type: type(TypeType)} +// CHECK:STDOUT: inst78000059: {kind: InterfaceWithSelfDecl, arg0: interface78000000} +// CHECK:STDOUT: inst7800005A: {kind: SymbolicBinding, arg0: entity_name78000004, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst7800005B: {kind: ImportRefLoaded, arg0: import_ir_inst2, arg1: entity_name, type: type(inst78000082)} +// CHECK:STDOUT: inst7800005C: {kind: ImportRefUnloaded, arg0: import_ir_inst3, arg1: entity_name78000005} +// CHECK:STDOUT: inst7800005D: {kind: ImportRefLoaded, arg0: import_ir_inst4, arg1: entity_name, type: type(inst78000058)} +// CHECK:STDOUT: inst7800005E: {kind: FunctionDecl, arg0: function78000001, arg1: inst_block_empty, type: type(symbolic_constant7800001F)} +// CHECK:STDOUT: inst7800005F: {kind: FunctionType, arg0: function78000001, arg1: specific78000001, type: type(TypeType)} +// CHECK:STDOUT: inst78000060: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800001F)} +// CHECK:STDOUT: inst78000061: {kind: FacetAccessType, arg0: inst7800005A, type: type(TypeType)} +// CHECK:STDOUT: inst78000062: {kind: PatternType, arg0: inst78000061, type: type(TypeType)} +// CHECK:STDOUT: inst78000063: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst78000064: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst78000065: {kind: ReturnSlotPattern, arg0: inst78000063, arg1: inst, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst78000066: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst78000067: {kind: ImportRefLoaded, arg0: import_ir_inst6, arg1: entity_name, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst78000068: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000066, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst78000069: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst7800006A: {kind: InitForm, arg0: inst78000061, type: type(inst(FormType))} +// CHECK:STDOUT: inst7800006B: {kind: ImportRefLoaded, arg0: import_ir_inst6, arg1: entity_name, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst7800006C: {kind: ImportRefLoaded, arg0: import_ir_inst7, arg1: entity_name, type: type(symbolic_constant78000028)} +// CHECK:STDOUT: inst7800006D: {kind: ImportRefLoaded, arg0: import_ir_inst8, arg1: entity_name, type: type(symbolic_constant78000028)} +// CHECK:STDOUT: inst7800006E: {kind: ImportRefLoaded, arg0: import_ir_inst9, arg1: entity_name, type: type(symbolic_constant78000028)} // CHECK:STDOUT: inst7800006F: {kind: ImportRefLoaded, arg0: import_ir_inst9, arg1: entity_name, type: type(symbolic_constant78000028)} -// CHECK:STDOUT: inst78000070: {kind: ImportRefLoaded, arg0: import_ir_inst9, arg1: entity_name, type: type(symbolic_constant78000028)} -// CHECK:STDOUT: inst78000071: {kind: ImportRefLoaded, arg0: import_ir_instA, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst78000072: {kind: ImportRefLoaded, arg0: import_ir_instB, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst78000073: {kind: ImportRefLoaded, arg0: import_ir_instC, arg1: entity_name, type: type(symbolic_constant78000028)} -// CHECK:STDOUT: inst78000074: {kind: ImportRefLoaded, arg0: import_ir_inst4, arg1: entity_name, type: type(inst78000059)} -// CHECK:STDOUT: inst78000075: {kind: SymbolicBinding, arg0: entity_name78000004, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst78000076: {kind: FacetAccessType, arg0: inst78000075, type: type(TypeType)} -// CHECK:STDOUT: inst78000077: {kind: PatternType, arg0: inst78000076, type: type(TypeType)} -// CHECK:STDOUT: inst78000078: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant7800003A)} -// CHECK:STDOUT: inst78000079: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000078, type: type(symbolic_constant7800003A)} -// CHECK:STDOUT: inst7800007A: {kind: InitForm, arg0: inst78000076, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800007B: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant7800003A)} -// CHECK:STDOUT: inst7800007C: {kind: ReturnSlotPattern, arg0: inst7800007B, arg1: inst, type: type(symbolic_constant7800003A)} -// CHECK:STDOUT: inst7800007D: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst7800007E: {kind: ImportRefLoaded, arg0: import_ir_inst6, arg1: entity_name, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst7800007F: {kind: SymbolicBinding, arg0: entity_name78000004, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst78000080: {kind: FunctionType, arg0: function78000001, arg1: specific78000003, type: type(TypeType)} -// CHECK:STDOUT: inst78000081: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000043)} -// CHECK:STDOUT: inst78000082: {kind: ImportRefUnloaded, arg0: import_ir_inst4, arg1: entity_name} -// CHECK:STDOUT: inst78000083: {kind: AssociatedEntityType, arg0: interface78000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst78000084: {kind: ImportRefLoaded, arg0: import_ir_inst3, arg1: entity_name, type: type(symbolic_constant78000025)} -// CHECK:STDOUT: inst78000085: {kind: AssociatedEntity, arg0: element0, arg1: inst78000084, type: type(inst78000083)} -// CHECK:STDOUT: inst78000086: {kind: LookupImplWitness, arg0: inst7800001E, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000087: {kind: ImportRefUnloaded, arg0: import_ir_inst18, arg1: entity_name} -// CHECK:STDOUT: inst78000088: {kind: ImplDecl, arg0: impl78000000, arg1: inst_block_empty} -// CHECK:STDOUT: inst78000089: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst7800008A: {kind: FacetAccessType, arg0: inst78000089, type: type(TypeType)} -// CHECK:STDOUT: inst7800008B: {kind: ConstType, arg0: inst7800008A, type: type(TypeType)} -// CHECK:STDOUT: inst7800008C: {kind: ImplSelfWitness, arg0: inst7800008B, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800008D: {kind: ImportRefUnloaded, arg0: import_ir_inst1A, arg1: entity_name} -// CHECK:STDOUT: inst7800008E: {kind: ImplWitnessTable, arg0: inst_block78000026, arg1: impl78000000} -// CHECK:STDOUT: inst7800008F: {kind: ImplWitness, arg0: inst7800008E, arg1: specific78000004, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000090: {kind: FunctionDecl, arg0: function78000002, arg1: inst_block_empty, type: type(symbolic_constant7800004D)} -// CHECK:STDOUT: inst78000091: {kind: FunctionType, arg0: function78000002, arg1: specific78000004, type: type(TypeType)} -// CHECK:STDOUT: inst78000092: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800004D)} -// CHECK:STDOUT: inst78000093: {kind: PatternType, arg0: inst7800008B, type: type(TypeType)} -// CHECK:STDOUT: inst78000094: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst78000095: {kind: PatternType, arg0: inst78000059, type: type(TypeType)} -// CHECK:STDOUT: inst78000096: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000095)} -// CHECK:STDOUT: inst78000097: {kind: ImportRefLoaded, arg0: import_ir_inst1C, arg1: entity_name, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst78000098: {kind: ReturnSlotPattern, arg0: inst78000094, arg1: inst, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst78000099: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst7800009A: {kind: ImportRefLoaded, arg0: import_ir_inst1D, arg1: entity_name, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst7800009B: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000099, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst7800009C: {kind: ImportRefLoaded, arg0: import_ir_inst1C, arg1: entity_name, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst7800009D: {kind: InitForm, arg0: inst7800008B, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800009E: {kind: ImportRefLoaded, arg0: import_ir_inst1D, arg1: entity_name, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst7800009F: {kind: ImportRefLoaded, arg0: import_ir_inst1E, arg1: entity_name, type: type(symbolic_constant78000056)} -// CHECK:STDOUT: inst780000A0: {kind: ImportRefLoaded, arg0: import_ir_inst1F, arg1: entity_name, type: type(symbolic_constant78000056)} +// CHECK:STDOUT: inst78000070: {kind: ImportRefLoaded, arg0: import_ir_instA, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst78000071: {kind: ImportRefLoaded, arg0: import_ir_instB, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000072: {kind: ImportRefLoaded, arg0: import_ir_instC, arg1: entity_name, type: type(symbolic_constant78000028)} +// CHECK:STDOUT: inst78000073: {kind: ImportRefLoaded, arg0: import_ir_inst4, arg1: entity_name, type: type(inst78000058)} +// CHECK:STDOUT: inst78000074: {kind: SymbolicBinding, arg0: entity_name78000004, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst78000075: {kind: FacetAccessType, arg0: inst78000074, type: type(TypeType)} +// CHECK:STDOUT: inst78000076: {kind: PatternType, arg0: inst78000075, type: type(TypeType)} +// CHECK:STDOUT: inst78000077: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant7800003A)} +// CHECK:STDOUT: inst78000078: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000077, type: type(symbolic_constant7800003A)} +// CHECK:STDOUT: inst78000079: {kind: InitForm, arg0: inst78000075, type: type(inst(FormType))} +// CHECK:STDOUT: inst7800007A: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant7800003A)} +// CHECK:STDOUT: inst7800007B: {kind: ReturnSlotPattern, arg0: inst7800007A, arg1: inst, type: type(symbolic_constant7800003A)} +// CHECK:STDOUT: inst7800007C: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst7800007D: {kind: ImportRefLoaded, arg0: import_ir_inst6, arg1: entity_name, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst7800007E: {kind: SymbolicBinding, arg0: entity_name78000004, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst7800007F: {kind: FunctionType, arg0: function78000001, arg1: specific78000003, type: type(TypeType)} +// CHECK:STDOUT: inst78000080: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000043)} +// CHECK:STDOUT: inst78000081: {kind: ImportRefUnloaded, arg0: import_ir_inst4, arg1: entity_name} +// CHECK:STDOUT: inst78000082: {kind: AssociatedEntityType, arg0: interface78000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst78000083: {kind: ImportRefLoaded, arg0: import_ir_inst3, arg1: entity_name, type: type(symbolic_constant78000025)} +// CHECK:STDOUT: inst78000084: {kind: AssociatedEntity, arg0: element0, arg1: inst78000083, type: type(inst78000082)} +// CHECK:STDOUT: inst78000085: {kind: LookupImplWitness, arg0: inst7800001D, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000086: {kind: ImportRefUnloaded, arg0: import_ir_inst18, arg1: entity_name} +// CHECK:STDOUT: inst78000087: {kind: ImplDecl, arg0: impl78000000, arg1: inst_block_empty} +// CHECK:STDOUT: inst78000088: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst78000089: {kind: FacetAccessType, arg0: inst78000088, type: type(TypeType)} +// CHECK:STDOUT: inst7800008A: {kind: ConstType, arg0: inst78000089, type: type(TypeType)} +// CHECK:STDOUT: inst7800008B: {kind: ImplSelfWitness, arg0: inst7800008A, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800008C: {kind: ImportRefUnloaded, arg0: import_ir_inst1A, arg1: entity_name} +// CHECK:STDOUT: inst7800008D: {kind: ImplWitnessTable, arg0: inst_block78000026, arg1: impl78000000} +// CHECK:STDOUT: inst7800008E: {kind: ImplWitness, arg0: inst7800008D, arg1: specific78000004, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800008F: {kind: FunctionDecl, arg0: function78000002, arg1: inst_block_empty, type: type(symbolic_constant7800004D)} +// CHECK:STDOUT: inst78000090: {kind: FunctionType, arg0: function78000002, arg1: specific78000004, type: type(TypeType)} +// CHECK:STDOUT: inst78000091: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800004D)} +// CHECK:STDOUT: inst78000092: {kind: PatternType, arg0: inst7800008A, type: type(TypeType)} +// CHECK:STDOUT: inst78000093: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst78000094: {kind: PatternType, arg0: inst78000058, type: type(TypeType)} +// CHECK:STDOUT: inst78000095: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000094)} +// CHECK:STDOUT: inst78000096: {kind: ImportRefLoaded, arg0: import_ir_inst1C, arg1: entity_name, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst78000097: {kind: ReturnSlotPattern, arg0: inst78000093, arg1: inst, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst78000098: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst78000099: {kind: ImportRefLoaded, arg0: import_ir_inst1D, arg1: entity_name, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst7800009A: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000098, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst7800009B: {kind: ImportRefLoaded, arg0: import_ir_inst1C, arg1: entity_name, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst7800009C: {kind: InitForm, arg0: inst7800008A, type: type(inst(FormType))} +// CHECK:STDOUT: inst7800009D: {kind: ImportRefLoaded, arg0: import_ir_inst1D, arg1: entity_name, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst7800009E: {kind: ImportRefLoaded, arg0: import_ir_inst1E, arg1: entity_name, type: type(symbolic_constant78000056)} +// CHECK:STDOUT: inst7800009F: {kind: ImportRefLoaded, arg0: import_ir_inst1F, arg1: entity_name, type: type(symbolic_constant78000056)} +// CHECK:STDOUT: inst780000A0: {kind: ImportRefLoaded, arg0: import_ir_inst20, arg1: entity_name, type: type(symbolic_constant78000056)} // CHECK:STDOUT: inst780000A1: {kind: ImportRefLoaded, arg0: import_ir_inst20, arg1: entity_name, type: type(symbolic_constant78000056)} -// CHECK:STDOUT: inst780000A2: {kind: ImportRefLoaded, arg0: import_ir_inst20, arg1: entity_name, type: type(symbolic_constant78000056)} -// CHECK:STDOUT: inst780000A3: {kind: ImportRefLoaded, arg0: import_ir_inst21, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000A4: {kind: ImportRefLoaded, arg0: import_ir_inst22, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst780000A5: {kind: ImportRefLoaded, arg0: import_ir_inst23, arg1: entity_name, type: type(symbolic_constant78000056)} -// CHECK:STDOUT: inst780000A6: {kind: ImportRefLoaded, arg0: import_ir_inst24, arg1: entity_name, type: type(inst78000059)} -// CHECK:STDOUT: inst780000A7: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst780000A8: {kind: FacetAccessType, arg0: inst780000A7, type: type(TypeType)} -// CHECK:STDOUT: inst780000A9: {kind: ConstType, arg0: inst780000A8, type: type(TypeType)} -// CHECK:STDOUT: inst780000AA: {kind: PatternType, arg0: inst780000A9, type: type(TypeType)} -// CHECK:STDOUT: inst780000AB: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant7800006B)} -// CHECK:STDOUT: inst780000AC: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780000AB, type: type(symbolic_constant7800006B)} -// CHECK:STDOUT: inst780000AD: {kind: InitForm, arg0: inst780000A9, type: type(inst(FormType))} -// CHECK:STDOUT: inst780000AE: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant7800006B)} -// CHECK:STDOUT: inst780000AF: {kind: ReturnSlotPattern, arg0: inst780000AE, arg1: inst, type: type(symbolic_constant7800006B)} -// CHECK:STDOUT: inst780000B0: {kind: LookupImplWitness, arg0: inst78000089, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000B1: {kind: FunctionType, arg0: function78000001, arg1: specific78000005, type: type(TypeType)} -// CHECK:STDOUT: inst780000B2: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000072)} -// CHECK:STDOUT: inst780000B3: {kind: FunctionTypeWithSelfType, arg0: inst780000B1, arg1: inst78000089, type: type(TypeType)} -// CHECK:STDOUT: inst780000B4: {kind: ImplWitnessAccess, arg0: inst780000B0, arg1: element0, type: type(symbolic_constant78000074)} -// CHECK:STDOUT: inst780000B5: {kind: PatternType, arg0: inst7800008A, type: type(TypeType)} -// CHECK:STDOUT: inst780000B6: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000076)} -// CHECK:STDOUT: inst780000B7: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780000B6, type: type(symbolic_constant78000076)} -// CHECK:STDOUT: inst780000B8: {kind: InitForm, arg0: inst7800008A, type: type(inst(FormType))} -// CHECK:STDOUT: inst780000B9: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000076)} -// CHECK:STDOUT: inst780000BA: {kind: ReturnSlotPattern, arg0: inst780000B9, arg1: inst, type: type(symbolic_constant78000076)} -// CHECK:STDOUT: inst780000BB: {kind: SpecificImplFunction, arg0: inst780000B4, arg1: specific78000006, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst780000A2: {kind: ImportRefLoaded, arg0: import_ir_inst21, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000A3: {kind: ImportRefLoaded, arg0: import_ir_inst22, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst780000A4: {kind: ImportRefLoaded, arg0: import_ir_inst23, arg1: entity_name, type: type(symbolic_constant78000056)} +// CHECK:STDOUT: inst780000A5: {kind: ImportRefLoaded, arg0: import_ir_inst24, arg1: entity_name, type: type(inst78000058)} +// CHECK:STDOUT: inst780000A6: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst780000A7: {kind: FacetAccessType, arg0: inst780000A6, type: type(TypeType)} +// CHECK:STDOUT: inst780000A8: {kind: ConstType, arg0: inst780000A7, type: type(TypeType)} +// CHECK:STDOUT: inst780000A9: {kind: PatternType, arg0: inst780000A8, type: type(TypeType)} +// CHECK:STDOUT: inst780000AA: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant7800006B)} +// CHECK:STDOUT: inst780000AB: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780000AA, type: type(symbolic_constant7800006B)} +// CHECK:STDOUT: inst780000AC: {kind: InitForm, arg0: inst780000A8, type: type(inst(FormType))} +// CHECK:STDOUT: inst780000AD: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant7800006B)} +// CHECK:STDOUT: inst780000AE: {kind: ReturnSlotPattern, arg0: inst780000AD, arg1: inst, type: type(symbolic_constant7800006B)} +// CHECK:STDOUT: inst780000AF: {kind: LookupImplWitness, arg0: inst78000088, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000B0: {kind: FunctionType, arg0: function78000001, arg1: specific78000005, type: type(TypeType)} +// CHECK:STDOUT: inst780000B1: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000072)} +// CHECK:STDOUT: inst780000B2: {kind: FunctionTypeWithSelfType, arg0: inst780000B0, arg1: inst78000088, type: type(TypeType)} +// CHECK:STDOUT: inst780000B3: {kind: ImplWitnessAccess, arg0: inst780000AF, arg1: element0, type: type(symbolic_constant78000074)} +// CHECK:STDOUT: inst780000B4: {kind: PatternType, arg0: inst78000089, type: type(TypeType)} +// CHECK:STDOUT: inst780000B5: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000076)} +// CHECK:STDOUT: inst780000B6: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780000B5, type: type(symbolic_constant78000076)} +// CHECK:STDOUT: inst780000B7: {kind: InitForm, arg0: inst78000089, type: type(inst(FormType))} +// CHECK:STDOUT: inst780000B8: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000076)} +// CHECK:STDOUT: inst780000B9: {kind: ReturnSlotPattern, arg0: inst780000B8, arg1: inst, type: type(symbolic_constant78000076)} +// CHECK:STDOUT: inst780000BA: {kind: SpecificImplFunction, arg0: inst780000B3, arg1: specific78000006, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst780000BB: {kind: RequireCompleteType, arg0: inst78000089, type: type(inst(WitnessType))} // CHECK:STDOUT: inst780000BC: {kind: RequireCompleteType, arg0: inst7800008A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000BD: {kind: RequireCompleteType, arg0: inst7800008B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000BE: {kind: RequireCompleteType, arg0: inst780000A9, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000BF: {kind: RequireCompleteType, arg0: inst780000A8, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000C0: {kind: FunctionType, arg0: function78000001, arg1: specific78000008, type: type(TypeType)} -// CHECK:STDOUT: inst780000C1: {kind: FunctionTypeWithSelfType, arg0: inst780000C0, arg1: inst780000A7, type: type(TypeType)} -// CHECK:STDOUT: inst780000C2: {kind: LookupImplWitness, arg0: inst780000A7, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000C3: {kind: ImplWitnessAccess, arg0: inst780000C2, arg1: element0, type: type(symbolic_constant78000089)} -// CHECK:STDOUT: inst780000C4: {kind: SpecificImplFunction, arg0: inst780000C3, arg1: specific78000009, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst780000C5: {kind: ImportRefLoaded, arg0: import_ir_inst1C, arg1: entity_name, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst780000C6: {kind: ImportRefLoaded, arg0: import_ir_inst1D, arg1: entity_name, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst780000C7: {kind: ImportRefLoaded, arg0: import_ir_inst35, arg1: entity_name, type: type(inst78000095)} -// CHECK:STDOUT: inst780000C8: {kind: ImportRefLoaded, arg0: import_ir_inst36, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000C9: {kind: ImportRefLoaded, arg0: import_ir_inst37, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000CA: {kind: ImportRefLoaded, arg0: import_ir_inst38, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000CB: {kind: ImportRefLoaded, arg0: import_ir_inst24, arg1: entity_name, type: type(inst78000059)} -// CHECK:STDOUT: inst780000CC: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000095)} -// CHECK:STDOUT: inst780000CD: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst780000CE: {kind: FacetAccessType, arg0: inst780000CD, type: type(TypeType)} -// CHECK:STDOUT: inst780000CF: {kind: ConstType, arg0: inst780000CE, type: type(TypeType)} -// CHECK:STDOUT: inst780000D0: {kind: ImplSelfWitness, arg0: inst780000CF, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000D1: {kind: ImplWitness, arg0: inst7800008E, arg1: specific7800000A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000D2: {kind: FunctionType, arg0: function78000002, arg1: specific7800000A, type: type(TypeType)} -// CHECK:STDOUT: inst780000D3: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800009A)} -// CHECK:STDOUT: inst780000D4: {kind: ImportRefUnloaded, arg0: import_ir_inst41, arg1: entity_name} -// CHECK:STDOUT: inst780000D5: {kind: ImplDecl, arg0: impl78000001, arg1: inst_block_empty} -// CHECK:STDOUT: inst780000D6: {kind: ImplSelfWitness, arg0: inst(BoolType), arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000D7: {kind: ImportRefLoaded, arg0: import_ir_inst43, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000D8: {kind: ImportRefLoaded, arg0: import_ir_inst44, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000D9: {kind: ImportRefLoaded, arg0: import_ir_inst45, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000DA: {kind: ImportRefUnloaded, arg0: import_ir_inst46, arg1: entity_name} -// CHECK:STDOUT: inst780000DB: {kind: ImplDecl, arg0: impl78000002, arg1: inst_block_empty} -// CHECK:STDOUT: inst780000DC: {kind: ImplSelfWitness, arg0: inst(CharLiteralType), arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000DD: {kind: ImportRefLoaded, arg0: import_ir_inst48, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000DE: {kind: ImportRefLoaded, arg0: import_ir_inst49, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000DF: {kind: ImportRefLoaded, arg0: import_ir_inst4A, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000E0: {kind: ImportRefUnloaded, arg0: import_ir_inst4B, arg1: entity_name} -// CHECK:STDOUT: inst780000E1: {kind: ImplDecl, arg0: impl78000003, arg1: inst_block_empty} -// CHECK:STDOUT: inst780000E2: {kind: ImplSelfWitness, arg0: inst(FloatLiteralType), arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000E3: {kind: ImportRefLoaded, arg0: import_ir_inst4D, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000E4: {kind: ImportRefLoaded, arg0: import_ir_inst4E, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000E5: {kind: ImportRefLoaded, arg0: import_ir_inst4F, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000E6: {kind: ImportRefUnloaded, arg0: import_ir_inst50, arg1: entity_name} -// CHECK:STDOUT: inst780000E7: {kind: ImplDecl, arg0: impl78000004, arg1: inst_block_empty} -// CHECK:STDOUT: inst780000E8: {kind: ImplSelfWitness, arg0: inst(IntLiteralType), arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000E9: {kind: ImportRefLoaded, arg0: import_ir_inst52, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000EA: {kind: ImportRefLoaded, arg0: import_ir_inst53, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000EB: {kind: ImportRefLoaded, arg0: import_ir_inst54, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000EC: {kind: ImportRefLoaded, arg0: import_ir_inst55, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000ED: {kind: ImplDecl, arg0: impl78000005, arg1: inst_block_empty} -// CHECK:STDOUT: inst780000EE: {kind: ImplSelfWitness, arg0: inst7800001E, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000EF: {kind: ImportRefUnloaded, arg0: import_ir_inst57, arg1: entity_name} -// CHECK:STDOUT: inst780000F0: {kind: ImplWitnessTable, arg0: inst_block7800003A, arg1: impl78000005} -// CHECK:STDOUT: inst780000F1: {kind: ImplWitness, arg0: inst780000F0, arg1: specific7800000B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000F2: {kind: ImportRefLoaded, arg0: import_ir_inst59, arg1: entity_name, type: type(inst78000015)} -// CHECK:STDOUT: inst780000F3: {kind: ImportRefLoaded, arg0: import_ir_inst5A, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000F4: {kind: ImportRefLoaded, arg0: import_ir_inst5B, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000F5: {kind: ImportRefLoaded, arg0: import_ir_inst5C, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000F6: {kind: ImportRefLoaded, arg0: import_ir_inst5D, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000F7: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000015)} -// CHECK:STDOUT: inst780000F8: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst780000F9: {kind: PointerType, arg0: inst780000F8, type: type(TypeType)} -// CHECK:STDOUT: inst780000FA: {kind: ImplSelfWitness, arg0: inst780000F9, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000FB: {kind: ImplWitness, arg0: inst780000F0, arg1: specific7800000C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000FC: {kind: FunctionDecl, arg0: function78000003, arg1: inst_block_empty, type: type(symbolic_constant780000AD)} -// CHECK:STDOUT: inst780000FD: {kind: FunctionType, arg0: function78000003, arg1: specific7800000B, type: type(TypeType)} -// CHECK:STDOUT: inst780000FE: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780000AD)} -// CHECK:STDOUT: inst780000FF: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000100: {kind: ImportRefLoaded, arg0: import_ir_inst63, arg1: entity_name, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000101: {kind: ReturnSlotPattern, arg0: inst780000FF, arg1: inst, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000102: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000103: {kind: ImportRefLoaded, arg0: import_ir_inst64, arg1: entity_name, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000104: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000102, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000105: {kind: ImportRefLoaded, arg0: import_ir_inst63, arg1: entity_name, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000106: {kind: InitForm, arg0: inst7800001E, type: type(inst(FormType))} -// CHECK:STDOUT: inst78000107: {kind: ImportRefLoaded, arg0: import_ir_inst64, arg1: entity_name, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000108: {kind: ImportRefLoaded, arg0: import_ir_inst65, arg1: entity_name, type: type(symbolic_constant780000B4)} -// CHECK:STDOUT: inst78000109: {kind: ImportRefLoaded, arg0: import_ir_inst66, arg1: entity_name, type: type(symbolic_constant780000B4)} +// CHECK:STDOUT: inst780000BD: {kind: RequireCompleteType, arg0: inst780000A8, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000BE: {kind: RequireCompleteType, arg0: inst780000A7, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000BF: {kind: FunctionType, arg0: function78000001, arg1: specific78000008, type: type(TypeType)} +// CHECK:STDOUT: inst780000C0: {kind: FunctionTypeWithSelfType, arg0: inst780000BF, arg1: inst780000A6, type: type(TypeType)} +// CHECK:STDOUT: inst780000C1: {kind: LookupImplWitness, arg0: inst780000A6, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000C2: {kind: ImplWitnessAccess, arg0: inst780000C1, arg1: element0, type: type(symbolic_constant78000089)} +// CHECK:STDOUT: inst780000C3: {kind: SpecificImplFunction, arg0: inst780000C2, arg1: specific78000009, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst780000C4: {kind: ImportRefLoaded, arg0: import_ir_inst1C, arg1: entity_name, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst780000C5: {kind: ImportRefLoaded, arg0: import_ir_inst1D, arg1: entity_name, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst780000C6: {kind: ImportRefLoaded, arg0: import_ir_inst35, arg1: entity_name, type: type(inst78000094)} +// CHECK:STDOUT: inst780000C7: {kind: ImportRefLoaded, arg0: import_ir_inst36, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000C8: {kind: ImportRefLoaded, arg0: import_ir_inst37, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000C9: {kind: ImportRefLoaded, arg0: import_ir_inst38, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000CA: {kind: ImportRefLoaded, arg0: import_ir_inst24, arg1: entity_name, type: type(inst78000058)} +// CHECK:STDOUT: inst780000CB: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000094)} +// CHECK:STDOUT: inst780000CC: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst780000CD: {kind: FacetAccessType, arg0: inst780000CC, type: type(TypeType)} +// CHECK:STDOUT: inst780000CE: {kind: ConstType, arg0: inst780000CD, type: type(TypeType)} +// CHECK:STDOUT: inst780000CF: {kind: ImplSelfWitness, arg0: inst780000CE, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000D0: {kind: ImplWitness, arg0: inst7800008D, arg1: specific7800000A, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000D1: {kind: FunctionType, arg0: function78000002, arg1: specific7800000A, type: type(TypeType)} +// CHECK:STDOUT: inst780000D2: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800009A)} +// CHECK:STDOUT: inst780000D3: {kind: ImportRefUnloaded, arg0: import_ir_inst41, arg1: entity_name} +// CHECK:STDOUT: inst780000D4: {kind: ImplDecl, arg0: impl78000001, arg1: inst_block_empty} +// CHECK:STDOUT: inst780000D5: {kind: ImplSelfWitness, arg0: inst(BoolType), arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000D6: {kind: ImportRefLoaded, arg0: import_ir_inst43, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000D7: {kind: ImportRefLoaded, arg0: import_ir_inst44, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000D8: {kind: ImportRefLoaded, arg0: import_ir_inst45, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000D9: {kind: ImportRefUnloaded, arg0: import_ir_inst46, arg1: entity_name} +// CHECK:STDOUT: inst780000DA: {kind: ImplDecl, arg0: impl78000002, arg1: inst_block_empty} +// CHECK:STDOUT: inst780000DB: {kind: ImplSelfWitness, arg0: inst(CharLiteralType), arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000DC: {kind: ImportRefLoaded, arg0: import_ir_inst48, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000DD: {kind: ImportRefLoaded, arg0: import_ir_inst49, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000DE: {kind: ImportRefLoaded, arg0: import_ir_inst4A, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000DF: {kind: ImportRefUnloaded, arg0: import_ir_inst4B, arg1: entity_name} +// CHECK:STDOUT: inst780000E0: {kind: ImplDecl, arg0: impl78000003, arg1: inst_block_empty} +// CHECK:STDOUT: inst780000E1: {kind: ImplSelfWitness, arg0: inst(FloatLiteralType), arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000E2: {kind: ImportRefLoaded, arg0: import_ir_inst4D, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000E3: {kind: ImportRefLoaded, arg0: import_ir_inst4E, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000E4: {kind: ImportRefLoaded, arg0: import_ir_inst4F, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000E5: {kind: ImportRefUnloaded, arg0: import_ir_inst50, arg1: entity_name} +// CHECK:STDOUT: inst780000E6: {kind: ImplDecl, arg0: impl78000004, arg1: inst_block_empty} +// CHECK:STDOUT: inst780000E7: {kind: ImplSelfWitness, arg0: inst(IntLiteralType), arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000E8: {kind: ImportRefLoaded, arg0: import_ir_inst52, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000E9: {kind: ImportRefLoaded, arg0: import_ir_inst53, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000EA: {kind: ImportRefLoaded, arg0: import_ir_inst54, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000EB: {kind: ImportRefLoaded, arg0: import_ir_inst55, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000EC: {kind: ImplDecl, arg0: impl78000005, arg1: inst_block_empty} +// CHECK:STDOUT: inst780000ED: {kind: ImplSelfWitness, arg0: inst7800001D, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000EE: {kind: ImportRefUnloaded, arg0: import_ir_inst57, arg1: entity_name} +// CHECK:STDOUT: inst780000EF: {kind: ImplWitnessTable, arg0: inst_block7800003A, arg1: impl78000005} +// CHECK:STDOUT: inst780000F0: {kind: ImplWitness, arg0: inst780000EF, arg1: specific7800000B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000F1: {kind: ImportRefLoaded, arg0: import_ir_inst59, arg1: entity_name, type: type(inst78000014)} +// CHECK:STDOUT: inst780000F2: {kind: ImportRefLoaded, arg0: import_ir_inst5A, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000F3: {kind: ImportRefLoaded, arg0: import_ir_inst5B, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000F4: {kind: ImportRefLoaded, arg0: import_ir_inst5C, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000F5: {kind: ImportRefLoaded, arg0: import_ir_inst5D, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000F6: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000014)} +// CHECK:STDOUT: inst780000F7: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst780000F8: {kind: PointerType, arg0: inst780000F7, type: type(TypeType)} +// CHECK:STDOUT: inst780000F9: {kind: ImplSelfWitness, arg0: inst780000F8, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000FA: {kind: ImplWitness, arg0: inst780000EF, arg1: specific7800000C, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000FB: {kind: FunctionDecl, arg0: function78000003, arg1: inst_block_empty, type: type(symbolic_constant780000AD)} +// CHECK:STDOUT: inst780000FC: {kind: FunctionType, arg0: function78000003, arg1: specific7800000B, type: type(TypeType)} +// CHECK:STDOUT: inst780000FD: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780000AD)} +// CHECK:STDOUT: inst780000FE: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst780000FF: {kind: ImportRefLoaded, arg0: import_ir_inst63, arg1: entity_name, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000100: {kind: ReturnSlotPattern, arg0: inst780000FE, arg1: inst, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000101: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000102: {kind: ImportRefLoaded, arg0: import_ir_inst64, arg1: entity_name, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000103: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000101, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000104: {kind: ImportRefLoaded, arg0: import_ir_inst63, arg1: entity_name, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000105: {kind: InitForm, arg0: inst7800001D, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000106: {kind: ImportRefLoaded, arg0: import_ir_inst64, arg1: entity_name, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000107: {kind: ImportRefLoaded, arg0: import_ir_inst65, arg1: entity_name, type: type(symbolic_constant780000B4)} +// CHECK:STDOUT: inst78000108: {kind: ImportRefLoaded, arg0: import_ir_inst66, arg1: entity_name, type: type(symbolic_constant780000B4)} +// CHECK:STDOUT: inst78000109: {kind: ImportRefLoaded, arg0: import_ir_inst67, arg1: entity_name, type: type(symbolic_constant780000B4)} // CHECK:STDOUT: inst7800010A: {kind: ImportRefLoaded, arg0: import_ir_inst67, arg1: entity_name, type: type(symbolic_constant780000B4)} -// CHECK:STDOUT: inst7800010B: {kind: ImportRefLoaded, arg0: import_ir_inst67, arg1: entity_name, type: type(symbolic_constant780000B4)} -// CHECK:STDOUT: inst7800010C: {kind: ImportRefLoaded, arg0: import_ir_inst68, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst7800010D: {kind: ImportRefLoaded, arg0: import_ir_inst69, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800010E: {kind: ImportRefLoaded, arg0: import_ir_inst6A, arg1: entity_name, type: type(symbolic_constant780000B4)} -// CHECK:STDOUT: inst7800010F: {kind: ImportRefLoaded, arg0: import_ir_inst5D, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst78000110: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst78000111: {kind: PointerType, arg0: inst78000110, type: type(TypeType)} -// CHECK:STDOUT: inst78000112: {kind: PatternType, arg0: inst78000111, type: type(TypeType)} -// CHECK:STDOUT: inst78000113: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant780000C6)} -// CHECK:STDOUT: inst78000114: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000113, type: type(symbolic_constant780000C6)} -// CHECK:STDOUT: inst78000115: {kind: InitForm, arg0: inst78000111, type: type(inst(FormType))} -// CHECK:STDOUT: inst78000116: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant780000C6)} -// CHECK:STDOUT: inst78000117: {kind: ReturnSlotPattern, arg0: inst78000116, arg1: inst, type: type(symbolic_constant780000C6)} -// CHECK:STDOUT: inst78000118: {kind: ImportRefLoaded, arg0: import_ir_inst63, arg1: entity_name, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000119: {kind: ImportRefLoaded, arg0: import_ir_inst64, arg1: entity_name, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst7800011A: {kind: FunctionType, arg0: function78000003, arg1: specific7800000C, type: type(TypeType)} -// CHECK:STDOUT: inst7800011B: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780000CD)} -// CHECK:STDOUT: inst7800011C: {kind: RequireCompleteType, arg0: inst780000F9, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800011D: {kind: ImportRefUnloaded, arg0: import_ir_inst76, arg1: entity_name} -// CHECK:STDOUT: inst7800011E: {kind: ImplDecl, arg0: impl78000006, arg1: inst_block_empty} -// CHECK:STDOUT: inst7800011F: {kind: ImplSelfWitness, arg0: inst(TypeType), arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000120: {kind: ImportRefLoaded, arg0: import_ir_inst78, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst78000121: {kind: ImportRefLoaded, arg0: import_ir_inst79, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst78000122: {kind: ImportRefLoaded, arg0: import_ir_inst7A, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000123: {kind: ImportRefUnloaded, arg0: import_ir_inst7B, arg1: entity_name} -// CHECK:STDOUT: inst78000124: {kind: ImplDecl, arg0: impl78000007, arg1: inst_block_empty} -// CHECK:STDOUT: inst78000125: {kind: ImplSelfWitness, arg0: inst7800002B, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000126: {kind: ImportRefLoaded, arg0: import_ir_inst7D, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst78000127: {kind: ImportRefLoaded, arg0: import_ir_inst7E, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst78000128: {kind: ImportRefLoaded, arg0: import_ir_inst7F, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000129: {kind: ImportRefUnloaded, arg0: import_ir_inst80, arg1: entity_name} -// CHECK:STDOUT: inst7800012A: {kind: ImplDecl, arg0: impl78000008, arg1: inst_block_empty} -// CHECK:STDOUT: inst7800012B: {kind: SymbolicBinding, arg0: entity_name78000020, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst7800012C: {kind: FacetAccessType, arg0: inst7800012B, type: type(TypeType)} -// CHECK:STDOUT: inst7800012D: {kind: TupleType, arg0: inst_block78000047, type: type(TypeType)} -// CHECK:STDOUT: inst7800012E: {kind: ImplSelfWitness, arg0: inst7800012D, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800012F: {kind: ImportRefUnloaded, arg0: import_ir_inst82, arg1: entity_name} -// CHECK:STDOUT: inst78000130: {kind: ImplWitnessTable, arg0: inst_block78000048, arg1: impl78000008} -// CHECK:STDOUT: inst78000131: {kind: ImplWitness, arg0: inst78000130, arg1: specific7800000E, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000132: {kind: FunctionDecl, arg0: function78000004, arg1: inst_block_empty, type: type(symbolic_constant780000D8)} -// CHECK:STDOUT: inst78000133: {kind: FunctionType, arg0: function78000004, arg1: specific7800000E, type: type(TypeType)} -// CHECK:STDOUT: inst78000134: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780000D8)} -// CHECK:STDOUT: inst78000135: {kind: PatternType, arg0: inst7800012D, type: type(TypeType)} -// CHECK:STDOUT: inst78000136: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst78000137: {kind: TupleType, arg0: inst_block7800004A, type: type(TypeType)} -// CHECK:STDOUT: inst78000138: {kind: TupleValue, arg0: inst_block78000049, type: type(inst78000137)} -// CHECK:STDOUT: inst78000139: {kind: SymbolicBindingPattern, arg0: entity_name78000020, type: type(inst78000095)} -// CHECK:STDOUT: inst7800013A: {kind: ImportRefLoaded, arg0: import_ir_inst84, arg1: entity_name, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst7800013B: {kind: ReturnSlotPattern, arg0: inst78000136, arg1: inst, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst7800013C: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst7800013D: {kind: ImportRefLoaded, arg0: import_ir_inst85, arg1: entity_name, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst7800013E: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst7800013C, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst7800013F: {kind: ImportRefLoaded, arg0: import_ir_inst84, arg1: entity_name, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst78000140: {kind: InitForm, arg0: inst7800012D, type: type(inst(FormType))} -// CHECK:STDOUT: inst78000141: {kind: ImportRefLoaded, arg0: import_ir_inst85, arg1: entity_name, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst78000142: {kind: ImportRefLoaded, arg0: import_ir_inst86, arg1: entity_name, type: type(symbolic_constant780000E2)} -// CHECK:STDOUT: inst78000143: {kind: ImportRefLoaded, arg0: import_ir_inst87, arg1: entity_name, type: type(symbolic_constant780000E2)} +// CHECK:STDOUT: inst7800010B: {kind: ImportRefLoaded, arg0: import_ir_inst68, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst7800010C: {kind: ImportRefLoaded, arg0: import_ir_inst69, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst7800010D: {kind: ImportRefLoaded, arg0: import_ir_inst6A, arg1: entity_name, type: type(symbolic_constant780000B4)} +// CHECK:STDOUT: inst7800010E: {kind: ImportRefLoaded, arg0: import_ir_inst5D, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst7800010F: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst78000110: {kind: PointerType, arg0: inst7800010F, type: type(TypeType)} +// CHECK:STDOUT: inst78000111: {kind: PatternType, arg0: inst78000110, type: type(TypeType)} +// CHECK:STDOUT: inst78000112: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant780000C6)} +// CHECK:STDOUT: inst78000113: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000112, type: type(symbolic_constant780000C6)} +// CHECK:STDOUT: inst78000114: {kind: InitForm, arg0: inst78000110, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000115: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant780000C6)} +// CHECK:STDOUT: inst78000116: {kind: ReturnSlotPattern, arg0: inst78000115, arg1: inst, type: type(symbolic_constant780000C6)} +// CHECK:STDOUT: inst78000117: {kind: ImportRefLoaded, arg0: import_ir_inst63, arg1: entity_name, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000118: {kind: ImportRefLoaded, arg0: import_ir_inst64, arg1: entity_name, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000119: {kind: FunctionType, arg0: function78000003, arg1: specific7800000C, type: type(TypeType)} +// CHECK:STDOUT: inst7800011A: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780000CD)} +// CHECK:STDOUT: inst7800011B: {kind: RequireCompleteType, arg0: inst780000F8, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800011C: {kind: ImportRefUnloaded, arg0: import_ir_inst76, arg1: entity_name} +// CHECK:STDOUT: inst7800011D: {kind: ImplDecl, arg0: impl78000006, arg1: inst_block_empty} +// CHECK:STDOUT: inst7800011E: {kind: ImplSelfWitness, arg0: inst(TypeType), arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800011F: {kind: ImportRefLoaded, arg0: import_ir_inst78, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst78000120: {kind: ImportRefLoaded, arg0: import_ir_inst79, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst78000121: {kind: ImportRefLoaded, arg0: import_ir_inst7A, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000122: {kind: ImportRefUnloaded, arg0: import_ir_inst7B, arg1: entity_name} +// CHECK:STDOUT: inst78000123: {kind: ImplDecl, arg0: impl78000007, arg1: inst_block_empty} +// CHECK:STDOUT: inst78000124: {kind: ImplSelfWitness, arg0: inst7800002A, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000125: {kind: ImportRefLoaded, arg0: import_ir_inst7D, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst78000126: {kind: ImportRefLoaded, arg0: import_ir_inst7E, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst78000127: {kind: ImportRefLoaded, arg0: import_ir_inst7F, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000128: {kind: ImportRefUnloaded, arg0: import_ir_inst80, arg1: entity_name} +// CHECK:STDOUT: inst78000129: {kind: ImplDecl, arg0: impl78000008, arg1: inst_block_empty} +// CHECK:STDOUT: inst7800012A: {kind: SymbolicBinding, arg0: entity_name78000020, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst7800012B: {kind: FacetAccessType, arg0: inst7800012A, type: type(TypeType)} +// CHECK:STDOUT: inst7800012C: {kind: TupleType, arg0: inst_block78000047, type: type(TypeType)} +// CHECK:STDOUT: inst7800012D: {kind: ImplSelfWitness, arg0: inst7800012C, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800012E: {kind: ImportRefUnloaded, arg0: import_ir_inst82, arg1: entity_name} +// CHECK:STDOUT: inst7800012F: {kind: ImplWitnessTable, arg0: inst_block78000048, arg1: impl78000008} +// CHECK:STDOUT: inst78000130: {kind: ImplWitness, arg0: inst7800012F, arg1: specific7800000E, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000131: {kind: FunctionDecl, arg0: function78000004, arg1: inst_block_empty, type: type(symbolic_constant780000D8)} +// CHECK:STDOUT: inst78000132: {kind: FunctionType, arg0: function78000004, arg1: specific7800000E, type: type(TypeType)} +// CHECK:STDOUT: inst78000133: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780000D8)} +// CHECK:STDOUT: inst78000134: {kind: PatternType, arg0: inst7800012C, type: type(TypeType)} +// CHECK:STDOUT: inst78000135: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst78000136: {kind: TupleType, arg0: inst_block7800004A, type: type(TypeType)} +// CHECK:STDOUT: inst78000137: {kind: TupleValue, arg0: inst_block78000049, type: type(inst78000136)} +// CHECK:STDOUT: inst78000138: {kind: SymbolicBindingPattern, arg0: entity_name78000020, type: type(inst78000094)} +// CHECK:STDOUT: inst78000139: {kind: ImportRefLoaded, arg0: import_ir_inst84, arg1: entity_name, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst7800013A: {kind: ReturnSlotPattern, arg0: inst78000135, arg1: inst, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst7800013B: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst7800013C: {kind: ImportRefLoaded, arg0: import_ir_inst85, arg1: entity_name, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst7800013D: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst7800013B, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst7800013E: {kind: ImportRefLoaded, arg0: import_ir_inst84, arg1: entity_name, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst7800013F: {kind: InitForm, arg0: inst7800012C, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000140: {kind: ImportRefLoaded, arg0: import_ir_inst85, arg1: entity_name, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst78000141: {kind: ImportRefLoaded, arg0: import_ir_inst86, arg1: entity_name, type: type(symbolic_constant780000E2)} +// CHECK:STDOUT: inst78000142: {kind: ImportRefLoaded, arg0: import_ir_inst87, arg1: entity_name, type: type(symbolic_constant780000E2)} +// CHECK:STDOUT: inst78000143: {kind: ImportRefLoaded, arg0: import_ir_inst88, arg1: entity_name, type: type(symbolic_constant780000E2)} // CHECK:STDOUT: inst78000144: {kind: ImportRefLoaded, arg0: import_ir_inst88, arg1: entity_name, type: type(symbolic_constant780000E2)} -// CHECK:STDOUT: inst78000145: {kind: ImportRefLoaded, arg0: import_ir_inst88, arg1: entity_name, type: type(symbolic_constant780000E2)} -// CHECK:STDOUT: inst78000146: {kind: ImportRefLoaded, arg0: import_ir_inst89, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst78000147: {kind: ImportRefLoaded, arg0: import_ir_inst8A, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst78000148: {kind: ImportRefLoaded, arg0: import_ir_inst8B, arg1: entity_name, type: type(symbolic_constant780000E2)} -// CHECK:STDOUT: inst78000149: {kind: ImportRefLoaded, arg0: import_ir_inst8C, arg1: entity_name, type: type(inst78000059)} -// CHECK:STDOUT: inst7800014A: {kind: ImportRefLoaded, arg0: import_ir_inst8D, arg1: entity_name, type: type(inst78000059)} -// CHECK:STDOUT: inst7800014B: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst7800014C: {kind: FacetAccessType, arg0: inst7800014B, type: type(TypeType)} -// CHECK:STDOUT: inst7800014D: {kind: SymbolicBinding, arg0: entity_name78000020, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst7800014E: {kind: FacetAccessType, arg0: inst7800014D, type: type(TypeType)} -// CHECK:STDOUT: inst7800014F: {kind: TupleType, arg0: inst_block78000050, type: type(TypeType)} -// CHECK:STDOUT: inst78000150: {kind: PatternType, arg0: inst7800014F, type: type(TypeType)} -// CHECK:STDOUT: inst78000151: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant780000FC)} -// CHECK:STDOUT: inst78000152: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000151, type: type(symbolic_constant780000FC)} -// CHECK:STDOUT: inst78000153: {kind: InitForm, arg0: inst7800014F, type: type(inst(FormType))} -// CHECK:STDOUT: inst78000154: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant780000FC)} -// CHECK:STDOUT: inst78000155: {kind: ReturnSlotPattern, arg0: inst78000154, arg1: inst, type: type(symbolic_constant780000FC)} -// CHECK:STDOUT: inst78000156: {kind: LookupImplWitness, arg0: inst7800012B, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000157: {kind: FunctionType, arg0: function78000001, arg1: specific7800000F, type: type(TypeType)} -// CHECK:STDOUT: inst78000158: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000103)} -// CHECK:STDOUT: inst78000159: {kind: FunctionTypeWithSelfType, arg0: inst78000157, arg1: inst7800012B, type: type(TypeType)} -// CHECK:STDOUT: inst7800015A: {kind: ImplWitnessAccess, arg0: inst78000156, arg1: element0, type: type(symbolic_constant78000105)} -// CHECK:STDOUT: inst7800015B: {kind: PatternType, arg0: inst7800012C, type: type(TypeType)} -// CHECK:STDOUT: inst7800015C: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000107)} -// CHECK:STDOUT: inst7800015D: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst7800015C, type: type(symbolic_constant78000107)} -// CHECK:STDOUT: inst7800015E: {kind: InitForm, arg0: inst7800012C, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800015F: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000107)} -// CHECK:STDOUT: inst78000160: {kind: ReturnSlotPattern, arg0: inst7800015F, arg1: inst, type: type(symbolic_constant78000107)} -// CHECK:STDOUT: inst78000161: {kind: SpecificImplFunction, arg0: inst7800015A, arg1: specific78000010, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst78000145: {kind: ImportRefLoaded, arg0: import_ir_inst89, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst78000146: {kind: ImportRefLoaded, arg0: import_ir_inst8A, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000147: {kind: ImportRefLoaded, arg0: import_ir_inst8B, arg1: entity_name, type: type(symbolic_constant780000E2)} +// CHECK:STDOUT: inst78000148: {kind: ImportRefLoaded, arg0: import_ir_inst8C, arg1: entity_name, type: type(inst78000058)} +// CHECK:STDOUT: inst78000149: {kind: ImportRefLoaded, arg0: import_ir_inst8D, arg1: entity_name, type: type(inst78000058)} +// CHECK:STDOUT: inst7800014A: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst7800014B: {kind: FacetAccessType, arg0: inst7800014A, type: type(TypeType)} +// CHECK:STDOUT: inst7800014C: {kind: SymbolicBinding, arg0: entity_name78000020, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst7800014D: {kind: FacetAccessType, arg0: inst7800014C, type: type(TypeType)} +// CHECK:STDOUT: inst7800014E: {kind: TupleType, arg0: inst_block78000050, type: type(TypeType)} +// CHECK:STDOUT: inst7800014F: {kind: PatternType, arg0: inst7800014E, type: type(TypeType)} +// CHECK:STDOUT: inst78000150: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant780000FC)} +// CHECK:STDOUT: inst78000151: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000150, type: type(symbolic_constant780000FC)} +// CHECK:STDOUT: inst78000152: {kind: InitForm, arg0: inst7800014E, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000153: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant780000FC)} +// CHECK:STDOUT: inst78000154: {kind: ReturnSlotPattern, arg0: inst78000153, arg1: inst, type: type(symbolic_constant780000FC)} +// CHECK:STDOUT: inst78000155: {kind: LookupImplWitness, arg0: inst7800012A, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000156: {kind: FunctionType, arg0: function78000001, arg1: specific7800000F, type: type(TypeType)} +// CHECK:STDOUT: inst78000157: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000103)} +// CHECK:STDOUT: inst78000158: {kind: FunctionTypeWithSelfType, arg0: inst78000156, arg1: inst7800012A, type: type(TypeType)} +// CHECK:STDOUT: inst78000159: {kind: ImplWitnessAccess, arg0: inst78000155, arg1: element0, type: type(symbolic_constant78000105)} +// CHECK:STDOUT: inst7800015A: {kind: PatternType, arg0: inst7800012B, type: type(TypeType)} +// CHECK:STDOUT: inst7800015B: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000107)} +// CHECK:STDOUT: inst7800015C: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst7800015B, type: type(symbolic_constant78000107)} +// CHECK:STDOUT: inst7800015D: {kind: InitForm, arg0: inst7800012B, type: type(inst(FormType))} +// CHECK:STDOUT: inst7800015E: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000107)} +// CHECK:STDOUT: inst7800015F: {kind: ReturnSlotPattern, arg0: inst7800015E, arg1: inst, type: type(symbolic_constant78000107)} +// CHECK:STDOUT: inst78000160: {kind: SpecificImplFunction, arg0: inst78000159, arg1: specific78000010, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst78000161: {kind: RequireCompleteType, arg0: inst7800012B, type: type(inst(WitnessType))} // CHECK:STDOUT: inst78000162: {kind: RequireCompleteType, arg0: inst7800012C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000163: {kind: RequireCompleteType, arg0: inst7800012D, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000164: {kind: RequireCompleteType, arg0: inst7800014F, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000165: {kind: RequireCompleteType, arg0: inst7800014C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000166: {kind: FunctionType, arg0: function78000001, arg1: specific78000012, type: type(TypeType)} -// CHECK:STDOUT: inst78000167: {kind: FunctionTypeWithSelfType, arg0: inst78000166, arg1: inst7800014B, type: type(TypeType)} -// CHECK:STDOUT: inst78000168: {kind: LookupImplWitness, arg0: inst7800014B, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000169: {kind: ImplWitnessAccess, arg0: inst78000168, arg1: element0, type: type(symbolic_constant78000120)} -// CHECK:STDOUT: inst7800016A: {kind: SpecificImplFunction, arg0: inst78000169, arg1: specific78000013, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst7800016B: {kind: RequireCompleteType, arg0: inst7800014E, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800016C: {kind: FunctionType, arg0: function78000001, arg1: specific78000014, type: type(TypeType)} -// CHECK:STDOUT: inst7800016D: {kind: FunctionTypeWithSelfType, arg0: inst7800016C, arg1: inst7800014D, type: type(TypeType)} -// CHECK:STDOUT: inst7800016E: {kind: LookupImplWitness, arg0: inst7800014D, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800016F: {kind: ImplWitnessAccess, arg0: inst7800016E, arg1: element0, type: type(symbolic_constant78000126)} -// CHECK:STDOUT: inst78000170: {kind: SpecificImplFunction, arg0: inst7800016F, arg1: specific78000015, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst78000171: {kind: ImportRefLoaded, arg0: import_ir_inst84, arg1: entity_name, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst78000172: {kind: ImportRefLoaded, arg0: import_ir_inst85, arg1: entity_name, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst78000173: {kind: ImportRefLoaded, arg0: import_ir_instA6, arg1: entity_name, type: type(inst78000095)} -// CHECK:STDOUT: inst78000174: {kind: ImportRefLoaded, arg0: import_ir_instA7, arg1: entity_name, type: type(inst78000095)} -// CHECK:STDOUT: inst78000175: {kind: ImportRefLoaded, arg0: import_ir_instA8, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst78000176: {kind: ImportRefLoaded, arg0: import_ir_instA9, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst78000177: {kind: ImportRefLoaded, arg0: import_ir_instAA, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000178: {kind: ImportRefLoaded, arg0: import_ir_inst8C, arg1: entity_name, type: type(inst78000059)} -// CHECK:STDOUT: inst78000179: {kind: ImportRefLoaded, arg0: import_ir_inst8D, arg1: entity_name, type: type(inst78000059)} -// CHECK:STDOUT: inst7800017A: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000095)} -// CHECK:STDOUT: inst7800017B: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst7800017C: {kind: SymbolicBindingPattern, arg0: entity_name78000020, type: type(inst78000095)} -// CHECK:STDOUT: inst7800017D: {kind: SymbolicBinding, arg0: entity_name78000020, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst7800017E: {kind: TupleValue, arg0: inst_block7800005D, type: type(inst78000137)} -// CHECK:STDOUT: inst7800017F: {kind: FacetAccessType, arg0: inst7800017B, type: type(TypeType)} -// CHECK:STDOUT: inst78000180: {kind: FacetAccessType, arg0: inst7800017D, type: type(TypeType)} -// CHECK:STDOUT: inst78000181: {kind: TupleType, arg0: inst_block7800005E, type: type(TypeType)} -// CHECK:STDOUT: inst78000182: {kind: ImplSelfWitness, arg0: inst78000181, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000183: {kind: ImplWitness, arg0: inst78000130, arg1: specific78000016, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000184: {kind: FunctionType, arg0: function78000004, arg1: specific78000016, type: type(TypeType)} -// CHECK:STDOUT: inst78000185: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000140)} -// CHECK:STDOUT: inst78000186: {kind: ImportRefUnloaded, arg0: import_ir_instB7, arg1: entity_name} -// CHECK:STDOUT: inst78000187: {kind: ImplDecl, arg0: impl78000009, arg1: inst_block_empty} -// CHECK:STDOUT: inst78000188: {kind: SymbolicBinding, arg0: entity_name7800002F, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst78000189: {kind: FacetAccessType, arg0: inst78000188, type: type(TypeType)} -// CHECK:STDOUT: inst7800018A: {kind: TupleType, arg0: inst_block78000063, type: type(TypeType)} -// CHECK:STDOUT: inst7800018B: {kind: ImplSelfWitness, arg0: inst7800018A, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800018C: {kind: ImportRefUnloaded, arg0: import_ir_instB9, arg1: entity_name} -// CHECK:STDOUT: inst7800018D: {kind: ImplWitnessTable, arg0: inst_block78000064, arg1: impl78000009} -// CHECK:STDOUT: inst7800018E: {kind: ImplWitness, arg0: inst7800018D, arg1: specific78000017, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800018F: {kind: FunctionDecl, arg0: function78000005, arg1: inst_block_empty, type: type(symbolic_constant7800014A)} -// CHECK:STDOUT: inst78000190: {kind: FunctionType, arg0: function78000005, arg1: specific78000017, type: type(TypeType)} -// CHECK:STDOUT: inst78000191: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800014A)} -// CHECK:STDOUT: inst78000192: {kind: PatternType, arg0: inst7800018A, type: type(TypeType)} -// CHECK:STDOUT: inst78000193: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst78000194: {kind: TupleType, arg0: inst_block78000066, type: type(TypeType)} -// CHECK:STDOUT: inst78000195: {kind: TupleValue, arg0: inst_block78000065, type: type(inst78000194)} -// CHECK:STDOUT: inst78000196: {kind: SymbolicBindingPattern, arg0: entity_name7800002F, type: type(inst78000095)} -// CHECK:STDOUT: inst78000197: {kind: ImportRefLoaded, arg0: import_ir_instBB, arg1: entity_name, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst78000198: {kind: ReturnSlotPattern, arg0: inst78000193, arg1: inst, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst78000199: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst7800019A: {kind: ImportRefLoaded, arg0: import_ir_instBC, arg1: entity_name, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst7800019B: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000199, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst7800019C: {kind: ImportRefLoaded, arg0: import_ir_instBB, arg1: entity_name, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst7800019D: {kind: InitForm, arg0: inst7800018A, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800019E: {kind: ImportRefLoaded, arg0: import_ir_instBC, arg1: entity_name, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst7800019F: {kind: ImportRefLoaded, arg0: import_ir_instBD, arg1: entity_name, type: type(symbolic_constant78000154)} -// CHECK:STDOUT: inst780001A0: {kind: ImportRefLoaded, arg0: import_ir_instBE, arg1: entity_name, type: type(symbolic_constant78000154)} +// CHECK:STDOUT: inst78000163: {kind: RequireCompleteType, arg0: inst7800014E, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000164: {kind: RequireCompleteType, arg0: inst7800014B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000165: {kind: FunctionType, arg0: function78000001, arg1: specific78000012, type: type(TypeType)} +// CHECK:STDOUT: inst78000166: {kind: FunctionTypeWithSelfType, arg0: inst78000165, arg1: inst7800014A, type: type(TypeType)} +// CHECK:STDOUT: inst78000167: {kind: LookupImplWitness, arg0: inst7800014A, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000168: {kind: ImplWitnessAccess, arg0: inst78000167, arg1: element0, type: type(symbolic_constant78000120)} +// CHECK:STDOUT: inst78000169: {kind: SpecificImplFunction, arg0: inst78000168, arg1: specific78000013, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst7800016A: {kind: RequireCompleteType, arg0: inst7800014D, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800016B: {kind: FunctionType, arg0: function78000001, arg1: specific78000014, type: type(TypeType)} +// CHECK:STDOUT: inst7800016C: {kind: FunctionTypeWithSelfType, arg0: inst7800016B, arg1: inst7800014C, type: type(TypeType)} +// CHECK:STDOUT: inst7800016D: {kind: LookupImplWitness, arg0: inst7800014C, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800016E: {kind: ImplWitnessAccess, arg0: inst7800016D, arg1: element0, type: type(symbolic_constant78000126)} +// CHECK:STDOUT: inst7800016F: {kind: SpecificImplFunction, arg0: inst7800016E, arg1: specific78000015, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst78000170: {kind: ImportRefLoaded, arg0: import_ir_inst84, arg1: entity_name, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst78000171: {kind: ImportRefLoaded, arg0: import_ir_inst85, arg1: entity_name, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst78000172: {kind: ImportRefLoaded, arg0: import_ir_instA6, arg1: entity_name, type: type(inst78000094)} +// CHECK:STDOUT: inst78000173: {kind: ImportRefLoaded, arg0: import_ir_instA7, arg1: entity_name, type: type(inst78000094)} +// CHECK:STDOUT: inst78000174: {kind: ImportRefLoaded, arg0: import_ir_instA8, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst78000175: {kind: ImportRefLoaded, arg0: import_ir_instA9, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst78000176: {kind: ImportRefLoaded, arg0: import_ir_instAA, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000177: {kind: ImportRefLoaded, arg0: import_ir_inst8C, arg1: entity_name, type: type(inst78000058)} +// CHECK:STDOUT: inst78000178: {kind: ImportRefLoaded, arg0: import_ir_inst8D, arg1: entity_name, type: type(inst78000058)} +// CHECK:STDOUT: inst78000179: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000094)} +// CHECK:STDOUT: inst7800017A: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst7800017B: {kind: SymbolicBindingPattern, arg0: entity_name78000020, type: type(inst78000094)} +// CHECK:STDOUT: inst7800017C: {kind: SymbolicBinding, arg0: entity_name78000020, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst7800017D: {kind: TupleValue, arg0: inst_block7800005D, type: type(inst78000136)} +// CHECK:STDOUT: inst7800017E: {kind: FacetAccessType, arg0: inst7800017A, type: type(TypeType)} +// CHECK:STDOUT: inst7800017F: {kind: FacetAccessType, arg0: inst7800017C, type: type(TypeType)} +// CHECK:STDOUT: inst78000180: {kind: TupleType, arg0: inst_block7800005E, type: type(TypeType)} +// CHECK:STDOUT: inst78000181: {kind: ImplSelfWitness, arg0: inst78000180, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000182: {kind: ImplWitness, arg0: inst7800012F, arg1: specific78000016, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000183: {kind: FunctionType, arg0: function78000004, arg1: specific78000016, type: type(TypeType)} +// CHECK:STDOUT: inst78000184: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000140)} +// CHECK:STDOUT: inst78000185: {kind: ImportRefUnloaded, arg0: import_ir_instB7, arg1: entity_name} +// CHECK:STDOUT: inst78000186: {kind: ImplDecl, arg0: impl78000009, arg1: inst_block_empty} +// CHECK:STDOUT: inst78000187: {kind: SymbolicBinding, arg0: entity_name7800002F, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst78000188: {kind: FacetAccessType, arg0: inst78000187, type: type(TypeType)} +// CHECK:STDOUT: inst78000189: {kind: TupleType, arg0: inst_block78000063, type: type(TypeType)} +// CHECK:STDOUT: inst7800018A: {kind: ImplSelfWitness, arg0: inst78000189, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800018B: {kind: ImportRefUnloaded, arg0: import_ir_instB9, arg1: entity_name} +// CHECK:STDOUT: inst7800018C: {kind: ImplWitnessTable, arg0: inst_block78000064, arg1: impl78000009} +// CHECK:STDOUT: inst7800018D: {kind: ImplWitness, arg0: inst7800018C, arg1: specific78000017, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800018E: {kind: FunctionDecl, arg0: function78000005, arg1: inst_block_empty, type: type(symbolic_constant7800014A)} +// CHECK:STDOUT: inst7800018F: {kind: FunctionType, arg0: function78000005, arg1: specific78000017, type: type(TypeType)} +// CHECK:STDOUT: inst78000190: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800014A)} +// CHECK:STDOUT: inst78000191: {kind: PatternType, arg0: inst78000189, type: type(TypeType)} +// CHECK:STDOUT: inst78000192: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst78000193: {kind: TupleType, arg0: inst_block78000066, type: type(TypeType)} +// CHECK:STDOUT: inst78000194: {kind: TupleValue, arg0: inst_block78000065, type: type(inst78000193)} +// CHECK:STDOUT: inst78000195: {kind: SymbolicBindingPattern, arg0: entity_name7800002F, type: type(inst78000094)} +// CHECK:STDOUT: inst78000196: {kind: ImportRefLoaded, arg0: import_ir_instBB, arg1: entity_name, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst78000197: {kind: ReturnSlotPattern, arg0: inst78000192, arg1: inst, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst78000198: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst78000199: {kind: ImportRefLoaded, arg0: import_ir_instBC, arg1: entity_name, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst7800019A: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000198, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst7800019B: {kind: ImportRefLoaded, arg0: import_ir_instBB, arg1: entity_name, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst7800019C: {kind: InitForm, arg0: inst78000189, type: type(inst(FormType))} +// CHECK:STDOUT: inst7800019D: {kind: ImportRefLoaded, arg0: import_ir_instBC, arg1: entity_name, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst7800019E: {kind: ImportRefLoaded, arg0: import_ir_instBD, arg1: entity_name, type: type(symbolic_constant78000154)} +// CHECK:STDOUT: inst7800019F: {kind: ImportRefLoaded, arg0: import_ir_instBE, arg1: entity_name, type: type(symbolic_constant78000154)} +// CHECK:STDOUT: inst780001A0: {kind: ImportRefLoaded, arg0: import_ir_instBF, arg1: entity_name, type: type(symbolic_constant78000154)} // CHECK:STDOUT: inst780001A1: {kind: ImportRefLoaded, arg0: import_ir_instBF, arg1: entity_name, type: type(symbolic_constant78000154)} -// CHECK:STDOUT: inst780001A2: {kind: ImportRefLoaded, arg0: import_ir_instBF, arg1: entity_name, type: type(symbolic_constant78000154)} -// CHECK:STDOUT: inst780001A3: {kind: ImportRefLoaded, arg0: import_ir_instC0, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780001A4: {kind: ImportRefLoaded, arg0: import_ir_instC1, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst780001A5: {kind: ImportRefLoaded, arg0: import_ir_instC2, arg1: entity_name, type: type(symbolic_constant78000154)} -// CHECK:STDOUT: inst780001A6: {kind: ImportRefLoaded, arg0: import_ir_instC3, arg1: entity_name, type: type(inst78000059)} -// CHECK:STDOUT: inst780001A7: {kind: ImportRefLoaded, arg0: import_ir_instC4, arg1: entity_name, type: type(inst78000059)} -// CHECK:STDOUT: inst780001A8: {kind: ImportRefLoaded, arg0: import_ir_instC5, arg1: entity_name, type: type(inst78000059)} -// CHECK:STDOUT: inst780001A9: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst780001AA: {kind: FacetAccessType, arg0: inst780001A9, type: type(TypeType)} -// CHECK:STDOUT: inst780001AB: {kind: SymbolicBinding, arg0: entity_name78000020, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst780001AC: {kind: FacetAccessType, arg0: inst780001AB, type: type(TypeType)} -// CHECK:STDOUT: inst780001AD: {kind: SymbolicBinding, arg0: entity_name7800002F, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst780001AE: {kind: FacetAccessType, arg0: inst780001AD, type: type(TypeType)} -// CHECK:STDOUT: inst780001AF: {kind: TupleType, arg0: inst_block7800006C, type: type(TypeType)} -// CHECK:STDOUT: inst780001B0: {kind: PatternType, arg0: inst780001AF, type: type(TypeType)} -// CHECK:STDOUT: inst780001B1: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000173)} -// CHECK:STDOUT: inst780001B2: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780001B1, type: type(symbolic_constant78000173)} -// CHECK:STDOUT: inst780001B3: {kind: InitForm, arg0: inst780001AF, type: type(inst(FormType))} -// CHECK:STDOUT: inst780001B4: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000173)} -// CHECK:STDOUT: inst780001B5: {kind: ReturnSlotPattern, arg0: inst780001B4, arg1: inst, type: type(symbolic_constant78000173)} -// CHECK:STDOUT: inst780001B6: {kind: LookupImplWitness, arg0: inst78000188, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001B7: {kind: FunctionType, arg0: function78000001, arg1: specific78000018, type: type(TypeType)} -// CHECK:STDOUT: inst780001B8: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800017A)} -// CHECK:STDOUT: inst780001B9: {kind: FunctionTypeWithSelfType, arg0: inst780001B7, arg1: inst78000188, type: type(TypeType)} -// CHECK:STDOUT: inst780001BA: {kind: ImplWitnessAccess, arg0: inst780001B6, arg1: element0, type: type(symbolic_constant7800017C)} -// CHECK:STDOUT: inst780001BB: {kind: PatternType, arg0: inst78000189, type: type(TypeType)} -// CHECK:STDOUT: inst780001BC: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant7800017E)} -// CHECK:STDOUT: inst780001BD: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780001BC, type: type(symbolic_constant7800017E)} -// CHECK:STDOUT: inst780001BE: {kind: InitForm, arg0: inst78000189, type: type(inst(FormType))} -// CHECK:STDOUT: inst780001BF: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant7800017E)} -// CHECK:STDOUT: inst780001C0: {kind: ReturnSlotPattern, arg0: inst780001BF, arg1: inst, type: type(symbolic_constant7800017E)} -// CHECK:STDOUT: inst780001C1: {kind: SpecificImplFunction, arg0: inst780001BA, arg1: specific78000019, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst780001A2: {kind: ImportRefLoaded, arg0: import_ir_instC0, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780001A3: {kind: ImportRefLoaded, arg0: import_ir_instC1, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst780001A4: {kind: ImportRefLoaded, arg0: import_ir_instC2, arg1: entity_name, type: type(symbolic_constant78000154)} +// CHECK:STDOUT: inst780001A5: {kind: ImportRefLoaded, arg0: import_ir_instC3, arg1: entity_name, type: type(inst78000058)} +// CHECK:STDOUT: inst780001A6: {kind: ImportRefLoaded, arg0: import_ir_instC4, arg1: entity_name, type: type(inst78000058)} +// CHECK:STDOUT: inst780001A7: {kind: ImportRefLoaded, arg0: import_ir_instC5, arg1: entity_name, type: type(inst78000058)} +// CHECK:STDOUT: inst780001A8: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst780001A9: {kind: FacetAccessType, arg0: inst780001A8, type: type(TypeType)} +// CHECK:STDOUT: inst780001AA: {kind: SymbolicBinding, arg0: entity_name78000020, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst780001AB: {kind: FacetAccessType, arg0: inst780001AA, type: type(TypeType)} +// CHECK:STDOUT: inst780001AC: {kind: SymbolicBinding, arg0: entity_name7800002F, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst780001AD: {kind: FacetAccessType, arg0: inst780001AC, type: type(TypeType)} +// CHECK:STDOUT: inst780001AE: {kind: TupleType, arg0: inst_block7800006C, type: type(TypeType)} +// CHECK:STDOUT: inst780001AF: {kind: PatternType, arg0: inst780001AE, type: type(TypeType)} +// CHECK:STDOUT: inst780001B0: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000173)} +// CHECK:STDOUT: inst780001B1: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780001B0, type: type(symbolic_constant78000173)} +// CHECK:STDOUT: inst780001B2: {kind: InitForm, arg0: inst780001AE, type: type(inst(FormType))} +// CHECK:STDOUT: inst780001B3: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000173)} +// CHECK:STDOUT: inst780001B4: {kind: ReturnSlotPattern, arg0: inst780001B3, arg1: inst, type: type(symbolic_constant78000173)} +// CHECK:STDOUT: inst780001B5: {kind: LookupImplWitness, arg0: inst78000187, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001B6: {kind: FunctionType, arg0: function78000001, arg1: specific78000018, type: type(TypeType)} +// CHECK:STDOUT: inst780001B7: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800017A)} +// CHECK:STDOUT: inst780001B8: {kind: FunctionTypeWithSelfType, arg0: inst780001B6, arg1: inst78000187, type: type(TypeType)} +// CHECK:STDOUT: inst780001B9: {kind: ImplWitnessAccess, arg0: inst780001B5, arg1: element0, type: type(symbolic_constant7800017C)} +// CHECK:STDOUT: inst780001BA: {kind: PatternType, arg0: inst78000188, type: type(TypeType)} +// CHECK:STDOUT: inst780001BB: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant7800017E)} +// CHECK:STDOUT: inst780001BC: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780001BB, type: type(symbolic_constant7800017E)} +// CHECK:STDOUT: inst780001BD: {kind: InitForm, arg0: inst78000188, type: type(inst(FormType))} +// CHECK:STDOUT: inst780001BE: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant7800017E)} +// CHECK:STDOUT: inst780001BF: {kind: ReturnSlotPattern, arg0: inst780001BE, arg1: inst, type: type(symbolic_constant7800017E)} +// CHECK:STDOUT: inst780001C0: {kind: SpecificImplFunction, arg0: inst780001B9, arg1: specific78000019, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst780001C1: {kind: RequireCompleteType, arg0: inst78000188, type: type(inst(WitnessType))} // CHECK:STDOUT: inst780001C2: {kind: RequireCompleteType, arg0: inst78000189, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001C3: {kind: RequireCompleteType, arg0: inst7800018A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001C4: {kind: RequireCompleteType, arg0: inst780001AF, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001C5: {kind: RequireCompleteType, arg0: inst780001AA, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001C6: {kind: FunctionType, arg0: function78000001, arg1: specific7800001B, type: type(TypeType)} -// CHECK:STDOUT: inst780001C7: {kind: FunctionTypeWithSelfType, arg0: inst780001C6, arg1: inst780001A9, type: type(TypeType)} -// CHECK:STDOUT: inst780001C8: {kind: LookupImplWitness, arg0: inst780001A9, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001C9: {kind: ImplWitnessAccess, arg0: inst780001C8, arg1: element0, type: type(symbolic_constant7800019D)} -// CHECK:STDOUT: inst780001CA: {kind: SpecificImplFunction, arg0: inst780001C9, arg1: specific7800001C, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst780001CB: {kind: RequireCompleteType, arg0: inst780001AC, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001CC: {kind: FunctionType, arg0: function78000001, arg1: specific7800001D, type: type(TypeType)} -// CHECK:STDOUT: inst780001CD: {kind: FunctionTypeWithSelfType, arg0: inst780001CC, arg1: inst780001AB, type: type(TypeType)} -// CHECK:STDOUT: inst780001CE: {kind: LookupImplWitness, arg0: inst780001AB, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001CF: {kind: ImplWitnessAccess, arg0: inst780001CE, arg1: element0, type: type(symbolic_constant780001A3)} -// CHECK:STDOUT: inst780001D0: {kind: SpecificImplFunction, arg0: inst780001CF, arg1: specific7800001E, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst780001D1: {kind: RequireCompleteType, arg0: inst780001AE, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001D2: {kind: FunctionType, arg0: function78000001, arg1: specific7800001F, type: type(TypeType)} -// CHECK:STDOUT: inst780001D3: {kind: FunctionTypeWithSelfType, arg0: inst780001D2, arg1: inst780001AD, type: type(TypeType)} -// CHECK:STDOUT: inst780001D4: {kind: LookupImplWitness, arg0: inst780001AD, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001D5: {kind: ImplWitnessAccess, arg0: inst780001D4, arg1: element0, type: type(symbolic_constant780001A9)} -// CHECK:STDOUT: inst780001D6: {kind: SpecificImplFunction, arg0: inst780001D5, arg1: specific78000020, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst780001D7: {kind: ImportRefLoaded, arg0: import_ir_instBB, arg1: entity_name, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst780001D8: {kind: ImportRefLoaded, arg0: import_ir_instBC, arg1: entity_name, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst780001D9: {kind: ImportRefLoaded, arg0: import_ir_instE6, arg1: entity_name, type: type(inst78000095)} -// CHECK:STDOUT: inst780001DA: {kind: ImportRefLoaded, arg0: import_ir_instE7, arg1: entity_name, type: type(inst78000095)} -// CHECK:STDOUT: inst780001DB: {kind: ImportRefLoaded, arg0: import_ir_instE8, arg1: entity_name, type: type(inst78000095)} -// CHECK:STDOUT: inst780001DC: {kind: ImportRefLoaded, arg0: import_ir_instE9, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780001DD: {kind: ImportRefLoaded, arg0: import_ir_instEA, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780001DE: {kind: ImportRefLoaded, arg0: import_ir_instEB, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001DF: {kind: ImportRefLoaded, arg0: import_ir_instC3, arg1: entity_name, type: type(inst78000059)} -// CHECK:STDOUT: inst780001E0: {kind: ImportRefLoaded, arg0: import_ir_instC4, arg1: entity_name, type: type(inst78000059)} -// CHECK:STDOUT: inst780001E1: {kind: ImportRefLoaded, arg0: import_ir_instC5, arg1: entity_name, type: type(inst78000059)} -// CHECK:STDOUT: inst780001E2: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000095)} -// CHECK:STDOUT: inst780001E3: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst780001E4: {kind: SymbolicBindingPattern, arg0: entity_name78000020, type: type(inst78000095)} -// CHECK:STDOUT: inst780001E5: {kind: SymbolicBinding, arg0: entity_name78000020, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst780001E6: {kind: SymbolicBindingPattern, arg0: entity_name7800002F, type: type(inst78000095)} -// CHECK:STDOUT: inst780001E7: {kind: SymbolicBinding, arg0: entity_name7800002F, arg1: inst, type: type(inst78000059)} -// CHECK:STDOUT: inst780001E8: {kind: TupleValue, arg0: inst_block7800007B, type: type(inst78000194)} -// CHECK:STDOUT: inst780001E9: {kind: FacetAccessType, arg0: inst780001E3, type: type(TypeType)} -// CHECK:STDOUT: inst780001EA: {kind: FacetAccessType, arg0: inst780001E5, type: type(TypeType)} -// CHECK:STDOUT: inst780001EB: {kind: FacetAccessType, arg0: inst780001E7, type: type(TypeType)} -// CHECK:STDOUT: inst780001EC: {kind: TupleType, arg0: inst_block7800007C, type: type(TypeType)} -// CHECK:STDOUT: inst780001ED: {kind: ImplSelfWitness, arg0: inst780001EC, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001EE: {kind: ImplWitness, arg0: inst7800018D, arg1: specific78000021, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001EF: {kind: FunctionType, arg0: function78000005, arg1: specific78000021, type: type(TypeType)} -// CHECK:STDOUT: inst780001F0: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780001CA)} -// CHECK:STDOUT: inst780001F1: {kind: LookupImplWitness, arg0: inst7800001E, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001F2: {kind: RequireSpecificDefinition, arg0: specific7800000B, type: type(inst(RequireSpecificDefinitionType))} -// CHECK:STDOUT: inst780001F3: {kind: RequireSpecificDefinition, arg0: specific7800000B, type: type(inst(RequireSpecificDefinitionType))} -// CHECK:STDOUT: inst780001F4: {kind: RequireSpecificDefinition, arg0: specific78000022, type: type(inst(RequireSpecificDefinitionType))} -// CHECK:STDOUT: inst780001F5: {kind: FacetValue, arg0: inst7800001E, arg1: inst_block78000083, type: type(inst78000059)} -// CHECK:STDOUT: inst780001F6: {kind: FunctionType, arg0: function78000001, arg1: specific78000023, type: type(TypeType)} -// CHECK:STDOUT: inst780001F7: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780001D1)} -// CHECK:STDOUT: inst780001F8: {kind: FunctionTypeWithSelfType, arg0: inst780001F6, arg1: inst780001F5, type: type(TypeType)} -// CHECK:STDOUT: inst780001F9: {kind: ImplWitnessAccess, arg0: inst780001F1, arg1: element0, type: type(symbolic_constant780001D8)} -// CHECK:STDOUT: inst780001FA: {kind: ImplWitnessAccess, arg0: inst780001F1, arg1: element0, type: type(symbolic_constant780001D3)} -// CHECK:STDOUT: inst780001FB: {kind: LookupImplWitness, arg0: inst7800001F, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001FC: {kind: FacetValue, arg0: inst7800001F, arg1: inst_block78000086, type: type(inst78000059)} -// CHECK:STDOUT: inst780001FD: {kind: FunctionType, arg0: function78000001, arg1: specific78000024, type: type(TypeType)} -// CHECK:STDOUT: inst780001FE: {kind: FunctionTypeWithSelfType, arg0: inst780001FD, arg1: inst780001FC, type: type(TypeType)} -// CHECK:STDOUT: inst780001FF: {kind: ImplWitnessAccess, arg0: inst780001FB, arg1: element0, type: type(symbolic_constant780001D8)} -// CHECK:STDOUT: inst78000200: {kind: BoundMethod, arg0: inst78000051, arg1: inst780001F9, type: type(inst(BoundMethodType))} -// CHECK:STDOUT: inst78000201: {kind: LookupImplWitness, arg0: inst7800001E, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000202: {kind: RequireSpecificDefinition, arg0: specific7800000B, type: type(inst(RequireSpecificDefinitionType))} -// CHECK:STDOUT: inst78000203: {kind: FacetValue, arg0: inst7800001E, arg1: inst_block78000083, type: type(inst78000059)} -// CHECK:STDOUT: inst78000204: {kind: Converted, arg0: inst7800001E, arg1: inst78000203, type: type(inst78000059)} -// CHECK:STDOUT: inst78000205: {kind: LookupImplWitness, arg0: inst7800001E, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000206: {kind: RequireSpecificDefinition, arg0: specific7800000B, type: type(inst(RequireSpecificDefinitionType))} -// CHECK:STDOUT: inst78000207: {kind: FacetValue, arg0: inst7800001E, arg1: inst_block78000083, type: type(inst78000059)} -// CHECK:STDOUT: inst78000208: {kind: Converted, arg0: inst7800001E, arg1: inst78000207, type: type(inst78000059)} -// CHECK:STDOUT: inst78000209: {kind: SpecificImplFunction, arg0: inst780001F9, arg1: specific78000025, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst7800020A: {kind: SpecificImplFunction, arg0: inst780001FA, arg1: specific78000025, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst7800020B: {kind: SpecificImplFunction, arg0: inst780001FF, arg1: specific78000026, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst7800020C: {kind: BoundMethod, arg0: inst78000051, arg1: inst78000209, type: type(inst(BoundMethodType))} -// CHECK:STDOUT: inst7800020D: {kind: Call, arg0: inst7800020C, arg1: inst_block7800008A, type: type(symbolic_constant78000006)} -// CHECK:STDOUT: inst7800020E: {kind: InPlaceInit, arg0: inst7800020D, arg1: inst78000055, type: type(symbolic_constant78000006)} -// CHECK:STDOUT: inst7800020F: {kind: TupleAccess, arg0: inst78000045, arg1: element1, type: type(inst7800002B)} -// CHECK:STDOUT: inst78000210: {kind: TupleInit, arg0: inst_block_empty, arg1: inst7800020F, type: type(inst7800002B)} -// CHECK:STDOUT: inst78000211: {kind: Converted, arg0: inst78000052, arg1: inst78000210, type: type(inst7800002B)} -// CHECK:STDOUT: inst78000212: {kind: InPlaceInit, arg0: inst78000211, arg1: inst7800020F, type: type(inst7800002B)} -// CHECK:STDOUT: inst78000213: {kind: TupleInit, arg0: inst_block7800008B, arg1: inst78000045, type: type(symbolic_constant78000010)} -// CHECK:STDOUT: inst78000214: {kind: Converted, arg0: inst78000053, arg1: inst78000213, type: type(symbolic_constant78000010)} -// CHECK:STDOUT: inst78000215: {kind: ReturnExpr, arg0: inst78000214, arg1: inst78000045} +// CHECK:STDOUT: inst780001C3: {kind: RequireCompleteType, arg0: inst780001AE, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001C4: {kind: RequireCompleteType, arg0: inst780001A9, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001C5: {kind: FunctionType, arg0: function78000001, arg1: specific7800001B, type: type(TypeType)} +// CHECK:STDOUT: inst780001C6: {kind: FunctionTypeWithSelfType, arg0: inst780001C5, arg1: inst780001A8, type: type(TypeType)} +// CHECK:STDOUT: inst780001C7: {kind: LookupImplWitness, arg0: inst780001A8, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001C8: {kind: ImplWitnessAccess, arg0: inst780001C7, arg1: element0, type: type(symbolic_constant7800019D)} +// CHECK:STDOUT: inst780001C9: {kind: SpecificImplFunction, arg0: inst780001C8, arg1: specific7800001C, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst780001CA: {kind: RequireCompleteType, arg0: inst780001AB, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001CB: {kind: FunctionType, arg0: function78000001, arg1: specific7800001D, type: type(TypeType)} +// CHECK:STDOUT: inst780001CC: {kind: FunctionTypeWithSelfType, arg0: inst780001CB, arg1: inst780001AA, type: type(TypeType)} +// CHECK:STDOUT: inst780001CD: {kind: LookupImplWitness, arg0: inst780001AA, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001CE: {kind: ImplWitnessAccess, arg0: inst780001CD, arg1: element0, type: type(symbolic_constant780001A3)} +// CHECK:STDOUT: inst780001CF: {kind: SpecificImplFunction, arg0: inst780001CE, arg1: specific7800001E, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst780001D0: {kind: RequireCompleteType, arg0: inst780001AD, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001D1: {kind: FunctionType, arg0: function78000001, arg1: specific7800001F, type: type(TypeType)} +// CHECK:STDOUT: inst780001D2: {kind: FunctionTypeWithSelfType, arg0: inst780001D1, arg1: inst780001AC, type: type(TypeType)} +// CHECK:STDOUT: inst780001D3: {kind: LookupImplWitness, arg0: inst780001AC, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001D4: {kind: ImplWitnessAccess, arg0: inst780001D3, arg1: element0, type: type(symbolic_constant780001A9)} +// CHECK:STDOUT: inst780001D5: {kind: SpecificImplFunction, arg0: inst780001D4, arg1: specific78000020, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst780001D6: {kind: ImportRefLoaded, arg0: import_ir_instBB, arg1: entity_name, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst780001D7: {kind: ImportRefLoaded, arg0: import_ir_instBC, arg1: entity_name, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst780001D8: {kind: ImportRefLoaded, arg0: import_ir_instE6, arg1: entity_name, type: type(inst78000094)} +// CHECK:STDOUT: inst780001D9: {kind: ImportRefLoaded, arg0: import_ir_instE7, arg1: entity_name, type: type(inst78000094)} +// CHECK:STDOUT: inst780001DA: {kind: ImportRefLoaded, arg0: import_ir_instE8, arg1: entity_name, type: type(inst78000094)} +// CHECK:STDOUT: inst780001DB: {kind: ImportRefLoaded, arg0: import_ir_instE9, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780001DC: {kind: ImportRefLoaded, arg0: import_ir_instEA, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780001DD: {kind: ImportRefLoaded, arg0: import_ir_instEB, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001DE: {kind: ImportRefLoaded, arg0: import_ir_instC3, arg1: entity_name, type: type(inst78000058)} +// CHECK:STDOUT: inst780001DF: {kind: ImportRefLoaded, arg0: import_ir_instC4, arg1: entity_name, type: type(inst78000058)} +// CHECK:STDOUT: inst780001E0: {kind: ImportRefLoaded, arg0: import_ir_instC5, arg1: entity_name, type: type(inst78000058)} +// CHECK:STDOUT: inst780001E1: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000094)} +// CHECK:STDOUT: inst780001E2: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst780001E3: {kind: SymbolicBindingPattern, arg0: entity_name78000020, type: type(inst78000094)} +// CHECK:STDOUT: inst780001E4: {kind: SymbolicBinding, arg0: entity_name78000020, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst780001E5: {kind: SymbolicBindingPattern, arg0: entity_name7800002F, type: type(inst78000094)} +// CHECK:STDOUT: inst780001E6: {kind: SymbolicBinding, arg0: entity_name7800002F, arg1: inst, type: type(inst78000058)} +// CHECK:STDOUT: inst780001E7: {kind: TupleValue, arg0: inst_block7800007B, type: type(inst78000193)} +// CHECK:STDOUT: inst780001E8: {kind: FacetAccessType, arg0: inst780001E2, type: type(TypeType)} +// CHECK:STDOUT: inst780001E9: {kind: FacetAccessType, arg0: inst780001E4, type: type(TypeType)} +// CHECK:STDOUT: inst780001EA: {kind: FacetAccessType, arg0: inst780001E6, type: type(TypeType)} +// CHECK:STDOUT: inst780001EB: {kind: TupleType, arg0: inst_block7800007C, type: type(TypeType)} +// CHECK:STDOUT: inst780001EC: {kind: ImplSelfWitness, arg0: inst780001EB, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001ED: {kind: ImplWitness, arg0: inst7800018C, arg1: specific78000021, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001EE: {kind: FunctionType, arg0: function78000005, arg1: specific78000021, type: type(TypeType)} +// CHECK:STDOUT: inst780001EF: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780001CA)} +// CHECK:STDOUT: inst780001F0: {kind: LookupImplWitness, arg0: inst7800001D, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001F1: {kind: FacetValue, arg0: inst7800001D, arg1: inst_block78000081, type: type(inst78000058)} +// CHECK:STDOUT: inst780001F2: {kind: FunctionType, arg0: function78000001, arg1: specific78000022, type: type(TypeType)} +// CHECK:STDOUT: inst780001F3: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780001CF)} +// CHECK:STDOUT: inst780001F4: {kind: FunctionTypeWithSelfType, arg0: inst780001F2, arg1: inst780001F1, type: type(TypeType)} +// CHECK:STDOUT: inst780001F5: {kind: ImplWitnessAccess, arg0: inst780001F0, arg1: element0, type: type(symbolic_constant780001D6)} +// CHECK:STDOUT: inst780001F6: {kind: ImplWitnessAccess, arg0: inst780001F0, arg1: element0, type: type(symbolic_constant780001D1)} +// CHECK:STDOUT: inst780001F7: {kind: LookupImplWitness, arg0: inst7800001E, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001F8: {kind: FacetValue, arg0: inst7800001E, arg1: inst_block78000084, type: type(inst78000058)} +// CHECK:STDOUT: inst780001F9: {kind: FunctionType, arg0: function78000001, arg1: specific78000023, type: type(TypeType)} +// CHECK:STDOUT: inst780001FA: {kind: FunctionTypeWithSelfType, arg0: inst780001F9, arg1: inst780001F8, type: type(TypeType)} +// CHECK:STDOUT: inst780001FB: {kind: ImplWitnessAccess, arg0: inst780001F7, arg1: element0, type: type(symbolic_constant780001D6)} +// CHECK:STDOUT: inst780001FC: {kind: BoundMethod, arg0: inst78000050, arg1: inst780001F5, type: type(inst(BoundMethodType))} +// CHECK:STDOUT: inst780001FD: {kind: LookupImplWitness, arg0: inst7800001D, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001FE: {kind: FacetValue, arg0: inst7800001D, arg1: inst_block78000081, type: type(inst78000058)} +// CHECK:STDOUT: inst780001FF: {kind: Converted, arg0: inst7800001D, arg1: inst780001FE, type: type(inst78000058)} +// CHECK:STDOUT: inst78000200: {kind: LookupImplWitness, arg0: inst7800001D, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000201: {kind: FacetValue, arg0: inst7800001D, arg1: inst_block78000081, type: type(inst78000058)} +// CHECK:STDOUT: inst78000202: {kind: Converted, arg0: inst7800001D, arg1: inst78000201, type: type(inst78000058)} +// CHECK:STDOUT: inst78000203: {kind: SpecificImplFunction, arg0: inst780001F5, arg1: specific78000024, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst78000204: {kind: SpecificImplFunction, arg0: inst780001F6, arg1: specific78000024, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst78000205: {kind: SpecificImplFunction, arg0: inst780001FB, arg1: specific78000025, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst78000206: {kind: BoundMethod, arg0: inst78000050, arg1: inst78000203, type: type(inst(BoundMethodType))} +// CHECK:STDOUT: inst78000207: {kind: Call, arg0: inst78000206, arg1: inst_block78000088, type: type(symbolic_constant78000006)} +// CHECK:STDOUT: inst78000208: {kind: InPlaceInit, arg0: inst78000207, arg1: inst78000054, type: type(symbolic_constant78000006)} +// CHECK:STDOUT: inst78000209: {kind: TupleAccess, arg0: inst78000044, arg1: element1, type: type(inst7800002A)} +// CHECK:STDOUT: inst7800020A: {kind: TupleInit, arg0: inst_block_empty, arg1: inst78000209, type: type(inst7800002A)} +// CHECK:STDOUT: inst7800020B: {kind: Converted, arg0: inst78000051, arg1: inst7800020A, type: type(inst7800002A)} +// CHECK:STDOUT: inst7800020C: {kind: InPlaceInit, arg0: inst7800020B, arg1: inst78000209, type: type(inst7800002A)} +// CHECK:STDOUT: inst7800020D: {kind: TupleInit, arg0: inst_block78000089, arg1: inst78000044, type: type(symbolic_constant78000010)} +// CHECK:STDOUT: inst7800020E: {kind: Converted, arg0: inst78000052, arg1: inst7800020D, type: type(symbolic_constant78000010)} +// CHECK:STDOUT: inst7800020F: {kind: ReturnExpr, arg0: inst7800020E, arg1: inst78000044} // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) // CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) -// CHECK:STDOUT: inst78000011: concrete_constant(inst78000011) +// CHECK:STDOUT: inst78000010: concrete_constant(inst78000010) +// CHECK:STDOUT: inst78000011: symbolic_constant78000000 // CHECK:STDOUT: inst78000012: symbolic_constant78000000 -// CHECK:STDOUT: inst78000013: symbolic_constant78000000 -// CHECK:STDOUT: inst78000014: concrete_constant(inst(TypeType)) -// CHECK:STDOUT: inst78000015: concrete_constant(inst78000015) -// CHECK:STDOUT: inst78000016: symbolic_constant78000002 -// CHECK:STDOUT: inst78000017: symbolic_constant78000001 -// CHECK:STDOUT: inst78000018: symbolic_constant78000002 -// CHECK:STDOUT: inst78000019: symbolic_constant78000004 -// CHECK:STDOUT: inst7800001A: symbolic_constant78000003 +// CHECK:STDOUT: inst78000013: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst78000014: concrete_constant(inst78000014) +// CHECK:STDOUT: inst78000015: symbolic_constant78000002 +// CHECK:STDOUT: inst78000016: symbolic_constant78000001 +// CHECK:STDOUT: inst78000017: symbolic_constant78000002 +// CHECK:STDOUT: inst78000018: symbolic_constant78000004 +// CHECK:STDOUT: inst78000019: symbolic_constant78000003 +// CHECK:STDOUT: inst7800001A: symbolic_constant78000004 // CHECK:STDOUT: inst7800001B: symbolic_constant78000004 -// CHECK:STDOUT: inst7800001C: symbolic_constant78000004 -// CHECK:STDOUT: inst7800001D: symbolic_constant78000006 -// CHECK:STDOUT: inst7800001E: symbolic_constant78000005 -// CHECK:STDOUT: inst7800001F: symbolic_constant78000006 -// CHECK:STDOUT: inst78000020: symbolic_constant78000007 -// CHECK:STDOUT: inst78000021: symbolic_constant7800000A -// CHECK:STDOUT: inst78000022: symbolic_constant78000008 -// CHECK:STDOUT: inst78000023: symbolic_constant78000009 -// CHECK:STDOUT: inst78000024: symbolic_constant7800000A -// CHECK:STDOUT: inst78000025: symbolic_constant7800000C -// CHECK:STDOUT: inst78000026: symbolic_constant7800000B -// CHECK:STDOUT: inst78000027: symbolic_constant7800000C -// CHECK:STDOUT: inst78000029: symbolic_constant78000004 -// CHECK:STDOUT: inst7800002A: symbolic_constant78000006 -// CHECK:STDOUT: inst7800002B: concrete_constant(inst7800002B) -// CHECK:STDOUT: inst7800002C: concrete_constant(inst7800002D) +// CHECK:STDOUT: inst7800001C: symbolic_constant78000006 +// CHECK:STDOUT: inst7800001D: symbolic_constant78000005 +// CHECK:STDOUT: inst7800001E: symbolic_constant78000006 +// CHECK:STDOUT: inst7800001F: symbolic_constant78000007 +// CHECK:STDOUT: inst78000020: symbolic_constant7800000A +// CHECK:STDOUT: inst78000021: symbolic_constant78000008 +// CHECK:STDOUT: inst78000022: symbolic_constant78000009 +// CHECK:STDOUT: inst78000023: symbolic_constant7800000A +// CHECK:STDOUT: inst78000024: symbolic_constant7800000C +// CHECK:STDOUT: inst78000025: symbolic_constant7800000B +// CHECK:STDOUT: inst78000026: symbolic_constant7800000C +// CHECK:STDOUT: inst78000028: symbolic_constant78000004 +// CHECK:STDOUT: inst78000029: symbolic_constant78000006 +// CHECK:STDOUT: inst7800002A: concrete_constant(inst7800002A) +// CHECK:STDOUT: inst7800002B: concrete_constant(inst7800002C) +// CHECK:STDOUT: inst7800002C: concrete_constant(inst7800002C) // CHECK:STDOUT: inst7800002D: concrete_constant(inst7800002D) -// CHECK:STDOUT: inst7800002E: concrete_constant(inst7800002E) -// CHECK:STDOUT: inst7800002F: symbolic_constant7800000E -// CHECK:STDOUT: inst78000030: symbolic_constant7800000D -// CHECK:STDOUT: inst78000031: symbolic_constant7800000E -// CHECK:STDOUT: inst78000032: concrete_constant(inst78000032) -// CHECK:STDOUT: inst78000033: concrete_constant(inst7800002B) -// CHECK:STDOUT: inst78000034: symbolic_constant7800000F +// CHECK:STDOUT: inst7800002E: symbolic_constant7800000E +// CHECK:STDOUT: inst7800002F: symbolic_constant7800000D +// CHECK:STDOUT: inst78000030: symbolic_constant7800000E +// CHECK:STDOUT: inst78000031: concrete_constant(inst78000031) +// CHECK:STDOUT: inst78000032: concrete_constant(inst7800002A) +// CHECK:STDOUT: inst78000033: symbolic_constant7800000F +// CHECK:STDOUT: inst78000034: symbolic_constant78000010 // CHECK:STDOUT: inst78000035: symbolic_constant78000010 -// CHECK:STDOUT: inst78000036: symbolic_constant78000010 -// CHECK:STDOUT: inst78000037: symbolic_constant78000012 -// CHECK:STDOUT: inst78000038: symbolic_constant78000011 -// CHECK:STDOUT: inst78000039: symbolic_constant78000012 -// CHECK:STDOUT: inst7800003A: symbolic_constant78000013 -// CHECK:STDOUT: inst7800003B: symbolic_constant78000016 -// CHECK:STDOUT: inst7800003C: symbolic_constant78000014 -// CHECK:STDOUT: inst7800003D: symbolic_constant78000015 -// CHECK:STDOUT: inst7800003E: symbolic_constant78000016 -// CHECK:STDOUT: inst7800003F: symbolic_constant78000018 -// CHECK:STDOUT: inst78000040: symbolic_constant78000017 -// CHECK:STDOUT: inst78000041: symbolic_constant78000018 -// CHECK:STDOUT: inst78000042: concrete_constant(inst(TypeType)) -// CHECK:STDOUT: inst78000044: symbolic_constant78000006 -// CHECK:STDOUT: inst78000047: concrete_constant(inst78000049) +// CHECK:STDOUT: inst78000036: symbolic_constant78000012 +// CHECK:STDOUT: inst78000037: symbolic_constant78000011 +// CHECK:STDOUT: inst78000038: symbolic_constant78000012 +// CHECK:STDOUT: inst78000039: symbolic_constant78000013 +// CHECK:STDOUT: inst7800003A: symbolic_constant78000016 +// CHECK:STDOUT: inst7800003B: symbolic_constant78000014 +// CHECK:STDOUT: inst7800003C: symbolic_constant78000015 +// CHECK:STDOUT: inst7800003D: symbolic_constant78000016 +// CHECK:STDOUT: inst7800003E: symbolic_constant78000018 +// CHECK:STDOUT: inst7800003F: symbolic_constant78000017 +// CHECK:STDOUT: inst78000040: symbolic_constant78000018 +// CHECK:STDOUT: inst78000041: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst78000043: symbolic_constant78000006 +// CHECK:STDOUT: inst78000046: concrete_constant(inst78000048) +// CHECK:STDOUT: inst78000047: concrete_constant(inst78000047) // CHECK:STDOUT: inst78000048: concrete_constant(inst78000048) -// CHECK:STDOUT: inst78000049: concrete_constant(inst78000049) -// CHECK:STDOUT: inst7800004A: symbolic_constant7800001A -// CHECK:STDOUT: inst7800004B: symbolic_constant78000019 -// CHECK:STDOUT: inst7800004C: symbolic_constant7800001A -// CHECK:STDOUT: inst7800004D: symbolic_constant7800001B -// CHECK:STDOUT: inst7800004E: symbolic_constant7800001D -// CHECK:STDOUT: inst7800004F: symbolic_constant7800001C -// CHECK:STDOUT: inst78000050: symbolic_constant7800001D -// CHECK:STDOUT: inst78000052: concrete_constant(inst7800002D) -// CHECK:STDOUT: inst78000054: symbolic_constant7800001D -// CHECK:STDOUT: inst78000056: symbolic_constant7800001A -// CHECK:STDOUT: inst78000057: concrete_constant(inst78000059) -// CHECK:STDOUT: inst78000058: concrete_constant(inst78000059) +// CHECK:STDOUT: inst78000049: symbolic_constant7800001A +// CHECK:STDOUT: inst7800004A: symbolic_constant78000019 +// CHECK:STDOUT: inst7800004B: symbolic_constant7800001A +// CHECK:STDOUT: inst7800004C: symbolic_constant7800001B +// CHECK:STDOUT: inst7800004D: symbolic_constant7800001D +// CHECK:STDOUT: inst7800004E: symbolic_constant7800001C +// CHECK:STDOUT: inst7800004F: symbolic_constant7800001D +// CHECK:STDOUT: inst78000051: concrete_constant(inst7800002C) +// CHECK:STDOUT: inst78000053: symbolic_constant7800001D +// CHECK:STDOUT: inst78000055: symbolic_constant7800001A +// CHECK:STDOUT: inst78000056: concrete_constant(inst78000058) +// CHECK:STDOUT: inst78000057: concrete_constant(inst78000058) +// CHECK:STDOUT: inst78000058: concrete_constant(inst78000058) // CHECK:STDOUT: inst78000059: concrete_constant(inst78000059) -// CHECK:STDOUT: inst7800005A: concrete_constant(inst7800005A) -// CHECK:STDOUT: inst7800005B: symbolic_constant7800001E -// CHECK:STDOUT: inst7800005C: concrete_constant(inst78000085) -// CHECK:STDOUT: inst7800005D: constant -// CHECK:STDOUT: inst7800005E: symbolic_constant7800001E -// CHECK:STDOUT: inst7800005F: symbolic_constant78000021 -// CHECK:STDOUT: inst78000060: symbolic_constant7800001F -// CHECK:STDOUT: inst78000061: symbolic_constant78000020 -// CHECK:STDOUT: inst78000062: symbolic_constant78000022 -// CHECK:STDOUT: inst78000063: symbolic_constant78000023 +// CHECK:STDOUT: inst7800005A: symbolic_constant7800001E +// CHECK:STDOUT: inst7800005B: concrete_constant(inst78000084) +// CHECK:STDOUT: inst7800005C: constant +// CHECK:STDOUT: inst7800005D: symbolic_constant7800001E +// CHECK:STDOUT: inst7800005E: symbolic_constant78000021 +// CHECK:STDOUT: inst7800005F: symbolic_constant7800001F +// CHECK:STDOUT: inst78000060: symbolic_constant78000020 +// CHECK:STDOUT: inst78000061: symbolic_constant78000022 +// CHECK:STDOUT: inst78000062: symbolic_constant78000023 +// CHECK:STDOUT: inst78000063: symbolic_constant78000024 // CHECK:STDOUT: inst78000064: symbolic_constant78000024 -// CHECK:STDOUT: inst78000065: symbolic_constant78000024 -// CHECK:STDOUT: inst78000066: symbolic_constant78000026 +// CHECK:STDOUT: inst78000065: symbolic_constant78000026 +// CHECK:STDOUT: inst78000066: symbolic_constant78000029 // CHECK:STDOUT: inst78000067: symbolic_constant78000029 -// CHECK:STDOUT: inst78000068: symbolic_constant78000029 -// CHECK:STDOUT: inst78000069: symbolic_constant7800002A -// CHECK:STDOUT: inst7800006A: symbolic_constant78000024 -// CHECK:STDOUT: inst7800006B: symbolic_constant7800002E -// CHECK:STDOUT: inst7800006C: symbolic_constant78000029 -// CHECK:STDOUT: inst7800006D: symbolic_constant78000037 -// CHECK:STDOUT: inst7800006E: symbolic_constant78000036 +// CHECK:STDOUT: inst78000068: symbolic_constant7800002A +// CHECK:STDOUT: inst78000069: symbolic_constant78000024 +// CHECK:STDOUT: inst7800006A: symbolic_constant7800002E +// CHECK:STDOUT: inst7800006B: symbolic_constant78000029 +// CHECK:STDOUT: inst7800006C: symbolic_constant78000037 +// CHECK:STDOUT: inst7800006D: symbolic_constant78000036 +// CHECK:STDOUT: inst7800006E: symbolic_constant7800002B // CHECK:STDOUT: inst7800006F: symbolic_constant7800002B -// CHECK:STDOUT: inst78000070: symbolic_constant7800002B -// CHECK:STDOUT: inst78000071: symbolic_constant78000035 -// CHECK:STDOUT: inst78000072: symbolic_constant78000034 -// CHECK:STDOUT: inst78000073: symbolic_constant78000027 -// CHECK:STDOUT: inst78000074: symbolic_constant7800001E -// CHECK:STDOUT: inst78000075: symbolic_constant78000038 -// CHECK:STDOUT: inst78000076: symbolic_constant78000039 -// CHECK:STDOUT: inst78000077: symbolic_constant7800003A -// CHECK:STDOUT: inst78000078: symbolic_constant7800003B -// CHECK:STDOUT: inst78000079: symbolic_constant7800003C -// CHECK:STDOUT: inst7800007A: symbolic_constant7800003D -// CHECK:STDOUT: inst7800007B: symbolic_constant7800003E -// CHECK:STDOUT: inst7800007C: symbolic_constant7800003F -// CHECK:STDOUT: inst7800007D: symbolic_constant78000024 -// CHECK:STDOUT: inst7800007E: symbolic_constant78000029 -// CHECK:STDOUT: inst7800007F: symbolic_constant78000042 -// CHECK:STDOUT: inst78000080: symbolic_constant78000043 -// CHECK:STDOUT: inst78000081: symbolic_constant78000044 -// CHECK:STDOUT: inst78000082: constant -// CHECK:STDOUT: inst78000083: concrete_constant(inst78000083) -// CHECK:STDOUT: inst78000084: symbolic_constant78000021 -// CHECK:STDOUT: inst78000085: concrete_constant(inst78000085) -// CHECK:STDOUT: inst78000087: constant -// CHECK:STDOUT: inst78000088: concrete_constant(inst78000088) -// CHECK:STDOUT: inst78000089: symbolic_constant78000045 -// CHECK:STDOUT: inst7800008A: symbolic_constant78000046 -// CHECK:STDOUT: inst7800008B: symbolic_constant78000047 -// CHECK:STDOUT: inst7800008C: symbolic_constant78000048 -// CHECK:STDOUT: inst7800008D: constant -// CHECK:STDOUT: inst7800008E: concrete_constant(inst7800008E) -// CHECK:STDOUT: inst7800008F: symbolic_constant7800004B -// CHECK:STDOUT: inst78000090: symbolic_constant7800004F -// CHECK:STDOUT: inst78000091: symbolic_constant7800004D -// CHECK:STDOUT: inst78000092: symbolic_constant7800004E -// CHECK:STDOUT: inst78000093: symbolic_constant78000050 -// CHECK:STDOUT: inst78000094: symbolic_constant78000051 -// CHECK:STDOUT: inst78000095: concrete_constant(inst78000095) -// CHECK:STDOUT: inst78000096: symbolic_constant78000053 -// CHECK:STDOUT: inst78000097: symbolic_constant78000051 -// CHECK:STDOUT: inst78000098: symbolic_constant78000054 +// CHECK:STDOUT: inst78000070: symbolic_constant78000035 +// CHECK:STDOUT: inst78000071: symbolic_constant78000034 +// CHECK:STDOUT: inst78000072: symbolic_constant78000027 +// CHECK:STDOUT: inst78000073: symbolic_constant7800001E +// CHECK:STDOUT: inst78000074: symbolic_constant78000038 +// CHECK:STDOUT: inst78000075: symbolic_constant78000039 +// CHECK:STDOUT: inst78000076: symbolic_constant7800003A +// CHECK:STDOUT: inst78000077: symbolic_constant7800003B +// CHECK:STDOUT: inst78000078: symbolic_constant7800003C +// CHECK:STDOUT: inst78000079: symbolic_constant7800003D +// CHECK:STDOUT: inst7800007A: symbolic_constant7800003E +// CHECK:STDOUT: inst7800007B: symbolic_constant7800003F +// CHECK:STDOUT: inst7800007C: symbolic_constant78000024 +// CHECK:STDOUT: inst7800007D: symbolic_constant78000029 +// CHECK:STDOUT: inst7800007E: symbolic_constant78000042 +// CHECK:STDOUT: inst7800007F: symbolic_constant78000043 +// CHECK:STDOUT: inst78000080: symbolic_constant78000044 +// CHECK:STDOUT: inst78000081: constant +// CHECK:STDOUT: inst78000082: concrete_constant(inst78000082) +// CHECK:STDOUT: inst78000083: symbolic_constant78000021 +// CHECK:STDOUT: inst78000084: concrete_constant(inst78000084) +// CHECK:STDOUT: inst78000086: constant +// CHECK:STDOUT: inst78000087: concrete_constant(inst78000087) +// CHECK:STDOUT: inst78000088: symbolic_constant78000045 +// CHECK:STDOUT: inst78000089: symbolic_constant78000046 +// CHECK:STDOUT: inst7800008A: symbolic_constant78000047 +// CHECK:STDOUT: inst7800008B: symbolic_constant78000048 +// CHECK:STDOUT: inst7800008C: constant +// CHECK:STDOUT: inst7800008D: concrete_constant(inst7800008D) +// CHECK:STDOUT: inst7800008E: symbolic_constant7800004B +// CHECK:STDOUT: inst7800008F: symbolic_constant7800004F +// CHECK:STDOUT: inst78000090: symbolic_constant7800004D +// CHECK:STDOUT: inst78000091: symbolic_constant7800004E +// CHECK:STDOUT: inst78000092: symbolic_constant78000050 +// CHECK:STDOUT: inst78000093: symbolic_constant78000051 +// CHECK:STDOUT: inst78000094: concrete_constant(inst78000094) +// CHECK:STDOUT: inst78000095: symbolic_constant78000053 +// CHECK:STDOUT: inst78000096: symbolic_constant78000051 +// CHECK:STDOUT: inst78000097: symbolic_constant78000054 +// CHECK:STDOUT: inst78000098: symbolic_constant78000057 // CHECK:STDOUT: inst78000099: symbolic_constant78000057 -// CHECK:STDOUT: inst7800009A: symbolic_constant78000057 -// CHECK:STDOUT: inst7800009B: symbolic_constant78000058 -// CHECK:STDOUT: inst7800009C: symbolic_constant78000051 -// CHECK:STDOUT: inst7800009D: symbolic_constant7800005C -// CHECK:STDOUT: inst7800009E: symbolic_constant78000057 -// CHECK:STDOUT: inst7800009F: symbolic_constant78000067 -// CHECK:STDOUT: inst780000A0: symbolic_constant78000066 +// CHECK:STDOUT: inst7800009A: symbolic_constant78000058 +// CHECK:STDOUT: inst7800009B: symbolic_constant78000051 +// CHECK:STDOUT: inst7800009C: symbolic_constant7800005C +// CHECK:STDOUT: inst7800009D: symbolic_constant78000057 +// CHECK:STDOUT: inst7800009E: symbolic_constant78000067 +// CHECK:STDOUT: inst7800009F: symbolic_constant78000066 +// CHECK:STDOUT: inst780000A0: symbolic_constant78000059 // CHECK:STDOUT: inst780000A1: symbolic_constant78000059 -// CHECK:STDOUT: inst780000A2: symbolic_constant78000059 -// CHECK:STDOUT: inst780000A3: symbolic_constant78000065 -// CHECK:STDOUT: inst780000A4: symbolic_constant78000064 -// CHECK:STDOUT: inst780000A5: symbolic_constant78000055 -// CHECK:STDOUT: inst780000A6: symbolic_constant78000063 -// CHECK:STDOUT: inst780000A7: symbolic_constant78000068 -// CHECK:STDOUT: inst780000A8: symbolic_constant78000069 -// CHECK:STDOUT: inst780000A9: symbolic_constant7800006A -// CHECK:STDOUT: inst780000AA: symbolic_constant7800006B -// CHECK:STDOUT: inst780000AB: symbolic_constant7800006C -// CHECK:STDOUT: inst780000AC: symbolic_constant7800006D -// CHECK:STDOUT: inst780000AD: symbolic_constant7800006E -// CHECK:STDOUT: inst780000AE: symbolic_constant7800006F -// CHECK:STDOUT: inst780000AF: symbolic_constant78000070 -// CHECK:STDOUT: inst780000B0: symbolic_constant78000071 -// CHECK:STDOUT: inst780000B1: symbolic_constant78000072 -// CHECK:STDOUT: inst780000B2: symbolic_constant78000073 -// CHECK:STDOUT: inst780000B3: symbolic_constant78000074 -// CHECK:STDOUT: inst780000B4: symbolic_constant78000075 -// CHECK:STDOUT: inst780000B5: symbolic_constant78000076 -// CHECK:STDOUT: inst780000B6: symbolic_constant78000077 -// CHECK:STDOUT: inst780000B7: symbolic_constant78000078 -// CHECK:STDOUT: inst780000B8: symbolic_constant78000079 -// CHECK:STDOUT: inst780000B9: symbolic_constant7800007A -// CHECK:STDOUT: inst780000BA: symbolic_constant7800007B -// CHECK:STDOUT: inst780000BB: symbolic_constant7800007C -// CHECK:STDOUT: inst780000BC: symbolic_constant78000082 -// CHECK:STDOUT: inst780000BD: symbolic_constant78000084 -// CHECK:STDOUT: inst780000BE: symbolic_constant78000086 -// CHECK:STDOUT: inst780000BF: symbolic_constant78000087 -// CHECK:STDOUT: inst780000C0: symbolic_constant78000088 -// CHECK:STDOUT: inst780000C1: symbolic_constant78000089 -// CHECK:STDOUT: inst780000C2: symbolic_constant7800008A -// CHECK:STDOUT: inst780000C3: symbolic_constant7800008B -// CHECK:STDOUT: inst780000C4: symbolic_constant7800008C -// CHECK:STDOUT: inst780000C5: symbolic_constant78000051 -// CHECK:STDOUT: inst780000C6: symbolic_constant78000057 -// CHECK:STDOUT: inst780000C7: symbolic_constant78000092 -// CHECK:STDOUT: inst780000C8: symbolic_constant7800004A -// CHECK:STDOUT: inst780000C9: concrete_constant(inst78000059) -// CHECK:STDOUT: inst780000CA: symbolic_constant78000049 -// CHECK:STDOUT: inst780000CB: symbolic_constant78000063 -// CHECK:STDOUT: inst780000CC: symbolic_constant78000093 -// CHECK:STDOUT: inst780000CD: symbolic_constant78000094 -// CHECK:STDOUT: inst780000CE: symbolic_constant78000095 -// CHECK:STDOUT: inst780000CF: symbolic_constant78000096 -// CHECK:STDOUT: inst780000D0: symbolic_constant78000097 -// CHECK:STDOUT: inst780000D1: symbolic_constant78000098 -// CHECK:STDOUT: inst780000D2: symbolic_constant7800009A -// CHECK:STDOUT: inst780000D3: symbolic_constant7800009B -// CHECK:STDOUT: inst780000D4: constant +// CHECK:STDOUT: inst780000A2: symbolic_constant78000065 +// CHECK:STDOUT: inst780000A3: symbolic_constant78000064 +// CHECK:STDOUT: inst780000A4: symbolic_constant78000055 +// CHECK:STDOUT: inst780000A5: symbolic_constant78000063 +// CHECK:STDOUT: inst780000A6: symbolic_constant78000068 +// CHECK:STDOUT: inst780000A7: symbolic_constant78000069 +// CHECK:STDOUT: inst780000A8: symbolic_constant7800006A +// CHECK:STDOUT: inst780000A9: symbolic_constant7800006B +// CHECK:STDOUT: inst780000AA: symbolic_constant7800006C +// CHECK:STDOUT: inst780000AB: symbolic_constant7800006D +// CHECK:STDOUT: inst780000AC: symbolic_constant7800006E +// CHECK:STDOUT: inst780000AD: symbolic_constant7800006F +// CHECK:STDOUT: inst780000AE: symbolic_constant78000070 +// CHECK:STDOUT: inst780000AF: symbolic_constant78000071 +// CHECK:STDOUT: inst780000B0: symbolic_constant78000072 +// CHECK:STDOUT: inst780000B1: symbolic_constant78000073 +// CHECK:STDOUT: inst780000B2: symbolic_constant78000074 +// CHECK:STDOUT: inst780000B3: symbolic_constant78000075 +// CHECK:STDOUT: inst780000B4: symbolic_constant78000076 +// CHECK:STDOUT: inst780000B5: symbolic_constant78000077 +// CHECK:STDOUT: inst780000B6: symbolic_constant78000078 +// CHECK:STDOUT: inst780000B7: symbolic_constant78000079 +// CHECK:STDOUT: inst780000B8: symbolic_constant7800007A +// CHECK:STDOUT: inst780000B9: symbolic_constant7800007B +// CHECK:STDOUT: inst780000BA: symbolic_constant7800007C +// CHECK:STDOUT: inst780000BB: symbolic_constant78000082 +// CHECK:STDOUT: inst780000BC: symbolic_constant78000084 +// CHECK:STDOUT: inst780000BD: symbolic_constant78000086 +// CHECK:STDOUT: inst780000BE: symbolic_constant78000087 +// CHECK:STDOUT: inst780000BF: symbolic_constant78000088 +// CHECK:STDOUT: inst780000C0: symbolic_constant78000089 +// CHECK:STDOUT: inst780000C1: symbolic_constant7800008A +// CHECK:STDOUT: inst780000C2: symbolic_constant7800008B +// CHECK:STDOUT: inst780000C3: symbolic_constant7800008C +// CHECK:STDOUT: inst780000C4: symbolic_constant78000051 +// CHECK:STDOUT: inst780000C5: symbolic_constant78000057 +// CHECK:STDOUT: inst780000C6: symbolic_constant78000092 +// CHECK:STDOUT: inst780000C7: symbolic_constant7800004A +// CHECK:STDOUT: inst780000C8: concrete_constant(inst78000058) +// CHECK:STDOUT: inst780000C9: symbolic_constant78000049 +// CHECK:STDOUT: inst780000CA: symbolic_constant78000063 +// CHECK:STDOUT: inst780000CB: symbolic_constant78000093 +// CHECK:STDOUT: inst780000CC: symbolic_constant78000094 +// CHECK:STDOUT: inst780000CD: symbolic_constant78000095 +// CHECK:STDOUT: inst780000CE: symbolic_constant78000096 +// CHECK:STDOUT: inst780000CF: symbolic_constant78000097 +// CHECK:STDOUT: inst780000D0: symbolic_constant78000098 +// CHECK:STDOUT: inst780000D1: symbolic_constant7800009A +// CHECK:STDOUT: inst780000D2: symbolic_constant7800009B +// CHECK:STDOUT: inst780000D3: constant +// CHECK:STDOUT: inst780000D4: concrete_constant(inst780000D4) // CHECK:STDOUT: inst780000D5: concrete_constant(inst780000D5) -// CHECK:STDOUT: inst780000D6: concrete_constant(inst780000D6) -// CHECK:STDOUT: inst780000D7: concrete_constant(inst(BoolType)) -// CHECK:STDOUT: inst780000D8: concrete_constant(inst78000059) -// CHECK:STDOUT: inst780000D9: concrete_constant(inst780000D6) -// CHECK:STDOUT: inst780000DA: constant +// CHECK:STDOUT: inst780000D6: concrete_constant(inst(BoolType)) +// CHECK:STDOUT: inst780000D7: concrete_constant(inst78000058) +// CHECK:STDOUT: inst780000D8: concrete_constant(inst780000D5) +// CHECK:STDOUT: inst780000D9: constant +// CHECK:STDOUT: inst780000DA: concrete_constant(inst780000DA) // CHECK:STDOUT: inst780000DB: concrete_constant(inst780000DB) -// CHECK:STDOUT: inst780000DC: concrete_constant(inst780000DC) -// CHECK:STDOUT: inst780000DD: concrete_constant(inst(CharLiteralType)) -// CHECK:STDOUT: inst780000DE: concrete_constant(inst78000059) -// CHECK:STDOUT: inst780000DF: concrete_constant(inst780000DC) -// CHECK:STDOUT: inst780000E0: constant +// CHECK:STDOUT: inst780000DC: concrete_constant(inst(CharLiteralType)) +// CHECK:STDOUT: inst780000DD: concrete_constant(inst78000058) +// CHECK:STDOUT: inst780000DE: concrete_constant(inst780000DB) +// CHECK:STDOUT: inst780000DF: constant +// CHECK:STDOUT: inst780000E0: concrete_constant(inst780000E0) // CHECK:STDOUT: inst780000E1: concrete_constant(inst780000E1) -// CHECK:STDOUT: inst780000E2: concrete_constant(inst780000E2) -// CHECK:STDOUT: inst780000E3: concrete_constant(inst(FloatLiteralType)) -// CHECK:STDOUT: inst780000E4: concrete_constant(inst78000059) -// CHECK:STDOUT: inst780000E5: concrete_constant(inst780000E2) -// CHECK:STDOUT: inst780000E6: constant +// CHECK:STDOUT: inst780000E2: concrete_constant(inst(FloatLiteralType)) +// CHECK:STDOUT: inst780000E3: concrete_constant(inst78000058) +// CHECK:STDOUT: inst780000E4: concrete_constant(inst780000E1) +// CHECK:STDOUT: inst780000E5: constant +// CHECK:STDOUT: inst780000E6: concrete_constant(inst780000E6) // CHECK:STDOUT: inst780000E7: concrete_constant(inst780000E7) -// CHECK:STDOUT: inst780000E8: concrete_constant(inst780000E8) -// CHECK:STDOUT: inst780000E9: concrete_constant(inst(IntLiteralType)) -// CHECK:STDOUT: inst780000EA: concrete_constant(inst78000059) -// CHECK:STDOUT: inst780000EB: concrete_constant(inst780000E8) -// CHECK:STDOUT: inst780000EC: symbolic_constant780001CD -// CHECK:STDOUT: inst780000ED: concrete_constant(inst780000ED) -// CHECK:STDOUT: inst780000EE: symbolic_constant7800009C -// CHECK:STDOUT: inst780000EF: constant -// CHECK:STDOUT: inst780000F0: concrete_constant(inst780000F0) -// CHECK:STDOUT: inst780000F1: symbolic_constant7800009F -// CHECK:STDOUT: inst780000F2: symbolic_constant780000A6 -// CHECK:STDOUT: inst780000F3: symbolic_constant7800009E -// CHECK:STDOUT: inst780000F4: concrete_constant(inst78000059) -// CHECK:STDOUT: inst780000F5: symbolic_constant7800009D -// CHECK:STDOUT: inst780000F6: symbolic_constant780000A5 -// CHECK:STDOUT: inst780000F7: symbolic_constant780000A7 -// CHECK:STDOUT: inst780000F8: symbolic_constant780000A8 -// CHECK:STDOUT: inst780000F9: symbolic_constant780000A9 -// CHECK:STDOUT: inst780000FA: symbolic_constant780000AA -// CHECK:STDOUT: inst780000FB: symbolic_constant780000AB -// CHECK:STDOUT: inst780000FC: symbolic_constant780000AF -// CHECK:STDOUT: inst780000FD: symbolic_constant780000AD -// CHECK:STDOUT: inst780000FE: symbolic_constant780000AE +// CHECK:STDOUT: inst780000E8: concrete_constant(inst(IntLiteralType)) +// CHECK:STDOUT: inst780000E9: concrete_constant(inst78000058) +// CHECK:STDOUT: inst780000EA: concrete_constant(inst780000E7) +// CHECK:STDOUT: inst780000EB: symbolic_constant780001CD +// CHECK:STDOUT: inst780000EC: concrete_constant(inst780000EC) +// CHECK:STDOUT: inst780000ED: symbolic_constant7800009C +// CHECK:STDOUT: inst780000EE: constant +// CHECK:STDOUT: inst780000EF: concrete_constant(inst780000EF) +// CHECK:STDOUT: inst780000F0: symbolic_constant7800009F +// CHECK:STDOUT: inst780000F1: symbolic_constant780000A6 +// CHECK:STDOUT: inst780000F2: symbolic_constant7800009E +// CHECK:STDOUT: inst780000F3: concrete_constant(inst78000058) +// CHECK:STDOUT: inst780000F4: symbolic_constant7800009D +// CHECK:STDOUT: inst780000F5: symbolic_constant780000A5 +// CHECK:STDOUT: inst780000F6: symbolic_constant780000A7 +// CHECK:STDOUT: inst780000F7: symbolic_constant780000A8 +// CHECK:STDOUT: inst780000F8: symbolic_constant780000A9 +// CHECK:STDOUT: inst780000F9: symbolic_constant780000AA +// CHECK:STDOUT: inst780000FA: symbolic_constant780000AB +// CHECK:STDOUT: inst780000FB: symbolic_constant780000AF +// CHECK:STDOUT: inst780000FC: symbolic_constant780000AD +// CHECK:STDOUT: inst780000FD: symbolic_constant780000AE +// CHECK:STDOUT: inst780000FE: symbolic_constant780000B0 // CHECK:STDOUT: inst780000FF: symbolic_constant780000B0 -// CHECK:STDOUT: inst78000100: symbolic_constant780000B0 -// CHECK:STDOUT: inst78000101: symbolic_constant780000B2 +// CHECK:STDOUT: inst78000100: symbolic_constant780000B2 +// CHECK:STDOUT: inst78000101: symbolic_constant780000B5 // CHECK:STDOUT: inst78000102: symbolic_constant780000B5 -// CHECK:STDOUT: inst78000103: symbolic_constant780000B5 -// CHECK:STDOUT: inst78000104: symbolic_constant780000B6 -// CHECK:STDOUT: inst78000105: symbolic_constant780000B0 -// CHECK:STDOUT: inst78000106: symbolic_constant780000BA -// CHECK:STDOUT: inst78000107: symbolic_constant780000B5 -// CHECK:STDOUT: inst78000108: symbolic_constant780000C3 -// CHECK:STDOUT: inst78000109: symbolic_constant780000C2 +// CHECK:STDOUT: inst78000103: symbolic_constant780000B6 +// CHECK:STDOUT: inst78000104: symbolic_constant780000B0 +// CHECK:STDOUT: inst78000105: symbolic_constant780000BA +// CHECK:STDOUT: inst78000106: symbolic_constant780000B5 +// CHECK:STDOUT: inst78000107: symbolic_constant780000C3 +// CHECK:STDOUT: inst78000108: symbolic_constant780000C2 +// CHECK:STDOUT: inst78000109: symbolic_constant780000B7 // CHECK:STDOUT: inst7800010A: symbolic_constant780000B7 -// CHECK:STDOUT: inst7800010B: symbolic_constant780000B7 -// CHECK:STDOUT: inst7800010C: symbolic_constant780000C1 -// CHECK:STDOUT: inst7800010D: symbolic_constant780000C0 -// CHECK:STDOUT: inst7800010E: symbolic_constant780000B3 -// CHECK:STDOUT: inst7800010F: symbolic_constant780000A5 -// CHECK:STDOUT: inst78000110: symbolic_constant780000C4 -// CHECK:STDOUT: inst78000111: symbolic_constant780000C5 -// CHECK:STDOUT: inst78000112: symbolic_constant780000C6 -// CHECK:STDOUT: inst78000113: symbolic_constant780000C7 -// CHECK:STDOUT: inst78000114: symbolic_constant780000C8 -// CHECK:STDOUT: inst78000115: symbolic_constant780000C9 -// CHECK:STDOUT: inst78000116: symbolic_constant780000CA -// CHECK:STDOUT: inst78000117: symbolic_constant780000CB -// CHECK:STDOUT: inst78000118: symbolic_constant780000B0 -// CHECK:STDOUT: inst78000119: symbolic_constant780000B5 -// CHECK:STDOUT: inst7800011A: symbolic_constant780000CD -// CHECK:STDOUT: inst7800011B: symbolic_constant780000CE -// CHECK:STDOUT: inst7800011C: symbolic_constant780000CF -// CHECK:STDOUT: inst7800011D: constant +// CHECK:STDOUT: inst7800010B: symbolic_constant780000C1 +// CHECK:STDOUT: inst7800010C: symbolic_constant780000C0 +// CHECK:STDOUT: inst7800010D: symbolic_constant780000B3 +// CHECK:STDOUT: inst7800010E: symbolic_constant780000A5 +// CHECK:STDOUT: inst7800010F: symbolic_constant780000C4 +// CHECK:STDOUT: inst78000110: symbolic_constant780000C5 +// CHECK:STDOUT: inst78000111: symbolic_constant780000C6 +// CHECK:STDOUT: inst78000112: symbolic_constant780000C7 +// CHECK:STDOUT: inst78000113: symbolic_constant780000C8 +// CHECK:STDOUT: inst78000114: symbolic_constant780000C9 +// CHECK:STDOUT: inst78000115: symbolic_constant780000CA +// CHECK:STDOUT: inst78000116: symbolic_constant780000CB +// CHECK:STDOUT: inst78000117: symbolic_constant780000B0 +// CHECK:STDOUT: inst78000118: symbolic_constant780000B5 +// CHECK:STDOUT: inst78000119: symbolic_constant780000CD +// CHECK:STDOUT: inst7800011A: symbolic_constant780000CE +// CHECK:STDOUT: inst7800011B: symbolic_constant780000CF +// CHECK:STDOUT: inst7800011C: constant +// CHECK:STDOUT: inst7800011D: concrete_constant(inst7800011D) // CHECK:STDOUT: inst7800011E: concrete_constant(inst7800011E) -// CHECK:STDOUT: inst7800011F: concrete_constant(inst7800011F) -// CHECK:STDOUT: inst78000120: concrete_constant(inst(TypeType)) -// CHECK:STDOUT: inst78000121: concrete_constant(inst78000059) -// CHECK:STDOUT: inst78000122: concrete_constant(inst7800011F) -// CHECK:STDOUT: inst78000123: constant +// CHECK:STDOUT: inst7800011F: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst78000120: concrete_constant(inst78000058) +// CHECK:STDOUT: inst78000121: concrete_constant(inst7800011E) +// CHECK:STDOUT: inst78000122: constant +// CHECK:STDOUT: inst78000123: concrete_constant(inst78000123) // CHECK:STDOUT: inst78000124: concrete_constant(inst78000124) -// CHECK:STDOUT: inst78000125: concrete_constant(inst78000125) -// CHECK:STDOUT: inst78000126: concrete_constant(inst7800002B) -// CHECK:STDOUT: inst78000127: concrete_constant(inst78000059) -// CHECK:STDOUT: inst78000128: concrete_constant(inst78000125) -// CHECK:STDOUT: inst78000129: constant -// CHECK:STDOUT: inst7800012A: concrete_constant(inst7800012A) -// CHECK:STDOUT: inst7800012B: symbolic_constant780000D0 -// CHECK:STDOUT: inst7800012C: symbolic_constant780000D1 -// CHECK:STDOUT: inst7800012D: symbolic_constant780000D2 -// CHECK:STDOUT: inst7800012E: symbolic_constant780000D3 -// CHECK:STDOUT: inst7800012F: constant -// CHECK:STDOUT: inst78000130: concrete_constant(inst78000130) -// CHECK:STDOUT: inst78000131: symbolic_constant780000D6 -// CHECK:STDOUT: inst78000132: symbolic_constant780000DA -// CHECK:STDOUT: inst78000133: symbolic_constant780000D8 -// CHECK:STDOUT: inst78000134: symbolic_constant780000D9 -// CHECK:STDOUT: inst78000135: symbolic_constant780000DB -// CHECK:STDOUT: inst78000136: symbolic_constant780000DC -// CHECK:STDOUT: inst78000137: concrete_constant(inst78000137) -// CHECK:STDOUT: inst78000138: symbolic_constant780000DE -// CHECK:STDOUT: inst78000139: symbolic_constant780000DF -// CHECK:STDOUT: inst7800013A: symbolic_constant780000DC -// CHECK:STDOUT: inst7800013B: symbolic_constant780000E0 +// CHECK:STDOUT: inst78000125: concrete_constant(inst7800002A) +// CHECK:STDOUT: inst78000126: concrete_constant(inst78000058) +// CHECK:STDOUT: inst78000127: concrete_constant(inst78000124) +// CHECK:STDOUT: inst78000128: constant +// CHECK:STDOUT: inst78000129: concrete_constant(inst78000129) +// CHECK:STDOUT: inst7800012A: symbolic_constant780000D0 +// CHECK:STDOUT: inst7800012B: symbolic_constant780000D1 +// CHECK:STDOUT: inst7800012C: symbolic_constant780000D2 +// CHECK:STDOUT: inst7800012D: symbolic_constant780000D3 +// CHECK:STDOUT: inst7800012E: constant +// CHECK:STDOUT: inst7800012F: concrete_constant(inst7800012F) +// CHECK:STDOUT: inst78000130: symbolic_constant780000D6 +// CHECK:STDOUT: inst78000131: symbolic_constant780000DA +// CHECK:STDOUT: inst78000132: symbolic_constant780000D8 +// CHECK:STDOUT: inst78000133: symbolic_constant780000D9 +// CHECK:STDOUT: inst78000134: symbolic_constant780000DB +// CHECK:STDOUT: inst78000135: symbolic_constant780000DC +// CHECK:STDOUT: inst78000136: concrete_constant(inst78000136) +// CHECK:STDOUT: inst78000137: symbolic_constant780000DE +// CHECK:STDOUT: inst78000138: symbolic_constant780000DF +// CHECK:STDOUT: inst78000139: symbolic_constant780000DC +// CHECK:STDOUT: inst7800013A: symbolic_constant780000E0 +// CHECK:STDOUT: inst7800013B: symbolic_constant780000E3 // CHECK:STDOUT: inst7800013C: symbolic_constant780000E3 -// CHECK:STDOUT: inst7800013D: symbolic_constant780000E3 -// CHECK:STDOUT: inst7800013E: symbolic_constant780000E4 -// CHECK:STDOUT: inst7800013F: symbolic_constant780000DC -// CHECK:STDOUT: inst78000140: symbolic_constant780000E8 -// CHECK:STDOUT: inst78000141: symbolic_constant780000E3 -// CHECK:STDOUT: inst78000142: symbolic_constant780000F6 -// CHECK:STDOUT: inst78000143: symbolic_constant780000F5 +// CHECK:STDOUT: inst7800013D: symbolic_constant780000E4 +// CHECK:STDOUT: inst7800013E: symbolic_constant780000DC +// CHECK:STDOUT: inst7800013F: symbolic_constant780000E8 +// CHECK:STDOUT: inst78000140: symbolic_constant780000E3 +// CHECK:STDOUT: inst78000141: symbolic_constant780000F6 +// CHECK:STDOUT: inst78000142: symbolic_constant780000F5 +// CHECK:STDOUT: inst78000143: symbolic_constant780000E5 // CHECK:STDOUT: inst78000144: symbolic_constant780000E5 -// CHECK:STDOUT: inst78000145: symbolic_constant780000E5 -// CHECK:STDOUT: inst78000146: symbolic_constant780000F4 -// CHECK:STDOUT: inst78000147: symbolic_constant780000F3 -// CHECK:STDOUT: inst78000148: symbolic_constant780000E1 -// CHECK:STDOUT: inst78000149: symbolic_constant780000F2 -// CHECK:STDOUT: inst7800014A: symbolic_constant780000F1 -// CHECK:STDOUT: inst7800014B: symbolic_constant780000F7 -// CHECK:STDOUT: inst7800014C: symbolic_constant780000F8 -// CHECK:STDOUT: inst7800014D: symbolic_constant780000F9 -// CHECK:STDOUT: inst7800014E: symbolic_constant780000FA -// CHECK:STDOUT: inst7800014F: symbolic_constant780000FB -// CHECK:STDOUT: inst78000150: symbolic_constant780000FC -// CHECK:STDOUT: inst78000151: symbolic_constant780000FD -// CHECK:STDOUT: inst78000152: symbolic_constant780000FE -// CHECK:STDOUT: inst78000153: symbolic_constant780000FF -// CHECK:STDOUT: inst78000154: symbolic_constant78000100 -// CHECK:STDOUT: inst78000155: symbolic_constant78000101 -// CHECK:STDOUT: inst78000156: symbolic_constant78000102 -// CHECK:STDOUT: inst78000157: symbolic_constant78000103 -// CHECK:STDOUT: inst78000158: symbolic_constant78000104 -// CHECK:STDOUT: inst78000159: symbolic_constant78000105 -// CHECK:STDOUT: inst7800015A: symbolic_constant78000106 -// CHECK:STDOUT: inst7800015B: symbolic_constant78000107 -// CHECK:STDOUT: inst7800015C: symbolic_constant78000108 -// CHECK:STDOUT: inst7800015D: symbolic_constant78000109 -// CHECK:STDOUT: inst7800015E: symbolic_constant7800010A -// CHECK:STDOUT: inst7800015F: symbolic_constant7800010B -// CHECK:STDOUT: inst78000160: symbolic_constant7800010C -// CHECK:STDOUT: inst78000161: symbolic_constant7800010D -// CHECK:STDOUT: inst78000162: symbolic_constant78000113 -// CHECK:STDOUT: inst78000163: symbolic_constant7800011B -// CHECK:STDOUT: inst78000164: symbolic_constant7800011D -// CHECK:STDOUT: inst78000165: symbolic_constant7800011E -// CHECK:STDOUT: inst78000166: symbolic_constant7800011F -// CHECK:STDOUT: inst78000167: symbolic_constant78000120 -// CHECK:STDOUT: inst78000168: symbolic_constant78000121 -// CHECK:STDOUT: inst78000169: symbolic_constant78000122 -// CHECK:STDOUT: inst7800016A: symbolic_constant78000123 -// CHECK:STDOUT: inst7800016B: symbolic_constant78000124 -// CHECK:STDOUT: inst7800016C: symbolic_constant78000125 -// CHECK:STDOUT: inst7800016D: symbolic_constant78000126 -// CHECK:STDOUT: inst7800016E: symbolic_constant78000127 -// CHECK:STDOUT: inst7800016F: symbolic_constant78000128 -// CHECK:STDOUT: inst78000170: symbolic_constant78000129 -// CHECK:STDOUT: inst78000171: symbolic_constant780000DC -// CHECK:STDOUT: inst78000172: symbolic_constant780000E3 -// CHECK:STDOUT: inst78000173: symbolic_constant78000134 -// CHECK:STDOUT: inst78000174: symbolic_constant78000133 -// CHECK:STDOUT: inst78000175: symbolic_constant780000D5 -// CHECK:STDOUT: inst78000176: concrete_constant(inst78000059) -// CHECK:STDOUT: inst78000177: symbolic_constant780000D4 -// CHECK:STDOUT: inst78000178: symbolic_constant780000F2 -// CHECK:STDOUT: inst78000179: symbolic_constant780000F1 -// CHECK:STDOUT: inst7800017A: symbolic_constant78000135 -// CHECK:STDOUT: inst7800017B: symbolic_constant78000136 -// CHECK:STDOUT: inst7800017C: symbolic_constant78000137 -// CHECK:STDOUT: inst7800017D: symbolic_constant78000138 -// CHECK:STDOUT: inst7800017E: symbolic_constant78000139 -// CHECK:STDOUT: inst7800017F: symbolic_constant7800013A -// CHECK:STDOUT: inst78000180: symbolic_constant7800013B -// CHECK:STDOUT: inst78000181: symbolic_constant7800013C -// CHECK:STDOUT: inst78000182: symbolic_constant7800013D -// CHECK:STDOUT: inst78000183: symbolic_constant7800013E -// CHECK:STDOUT: inst78000184: symbolic_constant78000140 -// CHECK:STDOUT: inst78000185: symbolic_constant78000141 -// CHECK:STDOUT: inst78000186: constant -// CHECK:STDOUT: inst78000187: concrete_constant(inst78000187) -// CHECK:STDOUT: inst78000188: symbolic_constant78000142 -// CHECK:STDOUT: inst78000189: symbolic_constant78000143 -// CHECK:STDOUT: inst7800018A: symbolic_constant78000144 -// CHECK:STDOUT: inst7800018B: symbolic_constant78000145 -// CHECK:STDOUT: inst7800018C: constant -// CHECK:STDOUT: inst7800018D: concrete_constant(inst7800018D) -// CHECK:STDOUT: inst7800018E: symbolic_constant78000148 -// CHECK:STDOUT: inst7800018F: symbolic_constant7800014C -// CHECK:STDOUT: inst78000190: symbolic_constant7800014A -// CHECK:STDOUT: inst78000191: symbolic_constant7800014B -// CHECK:STDOUT: inst78000192: symbolic_constant7800014D -// CHECK:STDOUT: inst78000193: symbolic_constant7800014E -// CHECK:STDOUT: inst78000194: concrete_constant(inst78000194) -// CHECK:STDOUT: inst78000195: symbolic_constant78000150 -// CHECK:STDOUT: inst78000196: symbolic_constant78000151 -// CHECK:STDOUT: inst78000197: symbolic_constant7800014E -// CHECK:STDOUT: inst78000198: symbolic_constant78000152 +// CHECK:STDOUT: inst78000145: symbolic_constant780000F4 +// CHECK:STDOUT: inst78000146: symbolic_constant780000F3 +// CHECK:STDOUT: inst78000147: symbolic_constant780000E1 +// CHECK:STDOUT: inst78000148: symbolic_constant780000F2 +// CHECK:STDOUT: inst78000149: symbolic_constant780000F1 +// CHECK:STDOUT: inst7800014A: symbolic_constant780000F7 +// CHECK:STDOUT: inst7800014B: symbolic_constant780000F8 +// CHECK:STDOUT: inst7800014C: symbolic_constant780000F9 +// CHECK:STDOUT: inst7800014D: symbolic_constant780000FA +// CHECK:STDOUT: inst7800014E: symbolic_constant780000FB +// CHECK:STDOUT: inst7800014F: symbolic_constant780000FC +// CHECK:STDOUT: inst78000150: symbolic_constant780000FD +// CHECK:STDOUT: inst78000151: symbolic_constant780000FE +// CHECK:STDOUT: inst78000152: symbolic_constant780000FF +// CHECK:STDOUT: inst78000153: symbolic_constant78000100 +// CHECK:STDOUT: inst78000154: symbolic_constant78000101 +// CHECK:STDOUT: inst78000155: symbolic_constant78000102 +// CHECK:STDOUT: inst78000156: symbolic_constant78000103 +// CHECK:STDOUT: inst78000157: symbolic_constant78000104 +// CHECK:STDOUT: inst78000158: symbolic_constant78000105 +// CHECK:STDOUT: inst78000159: symbolic_constant78000106 +// CHECK:STDOUT: inst7800015A: symbolic_constant78000107 +// CHECK:STDOUT: inst7800015B: symbolic_constant78000108 +// CHECK:STDOUT: inst7800015C: symbolic_constant78000109 +// CHECK:STDOUT: inst7800015D: symbolic_constant7800010A +// CHECK:STDOUT: inst7800015E: symbolic_constant7800010B +// CHECK:STDOUT: inst7800015F: symbolic_constant7800010C +// CHECK:STDOUT: inst78000160: symbolic_constant7800010D +// CHECK:STDOUT: inst78000161: symbolic_constant78000113 +// CHECK:STDOUT: inst78000162: symbolic_constant7800011B +// CHECK:STDOUT: inst78000163: symbolic_constant7800011D +// CHECK:STDOUT: inst78000164: symbolic_constant7800011E +// CHECK:STDOUT: inst78000165: symbolic_constant7800011F +// CHECK:STDOUT: inst78000166: symbolic_constant78000120 +// CHECK:STDOUT: inst78000167: symbolic_constant78000121 +// CHECK:STDOUT: inst78000168: symbolic_constant78000122 +// CHECK:STDOUT: inst78000169: symbolic_constant78000123 +// CHECK:STDOUT: inst7800016A: symbolic_constant78000124 +// CHECK:STDOUT: inst7800016B: symbolic_constant78000125 +// CHECK:STDOUT: inst7800016C: symbolic_constant78000126 +// CHECK:STDOUT: inst7800016D: symbolic_constant78000127 +// CHECK:STDOUT: inst7800016E: symbolic_constant78000128 +// CHECK:STDOUT: inst7800016F: symbolic_constant78000129 +// CHECK:STDOUT: inst78000170: symbolic_constant780000DC +// CHECK:STDOUT: inst78000171: symbolic_constant780000E3 +// CHECK:STDOUT: inst78000172: symbolic_constant78000134 +// CHECK:STDOUT: inst78000173: symbolic_constant78000133 +// CHECK:STDOUT: inst78000174: symbolic_constant780000D5 +// CHECK:STDOUT: inst78000175: concrete_constant(inst78000058) +// CHECK:STDOUT: inst78000176: symbolic_constant780000D4 +// CHECK:STDOUT: inst78000177: symbolic_constant780000F2 +// CHECK:STDOUT: inst78000178: symbolic_constant780000F1 +// CHECK:STDOUT: inst78000179: symbolic_constant78000135 +// CHECK:STDOUT: inst7800017A: symbolic_constant78000136 +// CHECK:STDOUT: inst7800017B: symbolic_constant78000137 +// CHECK:STDOUT: inst7800017C: symbolic_constant78000138 +// CHECK:STDOUT: inst7800017D: symbolic_constant78000139 +// CHECK:STDOUT: inst7800017E: symbolic_constant7800013A +// CHECK:STDOUT: inst7800017F: symbolic_constant7800013B +// CHECK:STDOUT: inst78000180: symbolic_constant7800013C +// CHECK:STDOUT: inst78000181: symbolic_constant7800013D +// CHECK:STDOUT: inst78000182: symbolic_constant7800013E +// CHECK:STDOUT: inst78000183: symbolic_constant78000140 +// CHECK:STDOUT: inst78000184: symbolic_constant78000141 +// CHECK:STDOUT: inst78000185: constant +// CHECK:STDOUT: inst78000186: concrete_constant(inst78000186) +// CHECK:STDOUT: inst78000187: symbolic_constant78000142 +// CHECK:STDOUT: inst78000188: symbolic_constant78000143 +// CHECK:STDOUT: inst78000189: symbolic_constant78000144 +// CHECK:STDOUT: inst7800018A: symbolic_constant78000145 +// CHECK:STDOUT: inst7800018B: constant +// CHECK:STDOUT: inst7800018C: concrete_constant(inst7800018C) +// CHECK:STDOUT: inst7800018D: symbolic_constant78000148 +// CHECK:STDOUT: inst7800018E: symbolic_constant7800014C +// CHECK:STDOUT: inst7800018F: symbolic_constant7800014A +// CHECK:STDOUT: inst78000190: symbolic_constant7800014B +// CHECK:STDOUT: inst78000191: symbolic_constant7800014D +// CHECK:STDOUT: inst78000192: symbolic_constant7800014E +// CHECK:STDOUT: inst78000193: concrete_constant(inst78000193) +// CHECK:STDOUT: inst78000194: symbolic_constant78000150 +// CHECK:STDOUT: inst78000195: symbolic_constant78000151 +// CHECK:STDOUT: inst78000196: symbolic_constant7800014E +// CHECK:STDOUT: inst78000197: symbolic_constant78000152 +// CHECK:STDOUT: inst78000198: symbolic_constant78000155 // CHECK:STDOUT: inst78000199: symbolic_constant78000155 -// CHECK:STDOUT: inst7800019A: symbolic_constant78000155 -// CHECK:STDOUT: inst7800019B: symbolic_constant78000156 -// CHECK:STDOUT: inst7800019C: symbolic_constant7800014E -// CHECK:STDOUT: inst7800019D: symbolic_constant7800015A -// CHECK:STDOUT: inst7800019E: symbolic_constant78000155 -// CHECK:STDOUT: inst7800019F: symbolic_constant7800016B -// CHECK:STDOUT: inst780001A0: symbolic_constant7800016A +// CHECK:STDOUT: inst7800019A: symbolic_constant78000156 +// CHECK:STDOUT: inst7800019B: symbolic_constant7800014E +// CHECK:STDOUT: inst7800019C: symbolic_constant7800015A +// CHECK:STDOUT: inst7800019D: symbolic_constant78000155 +// CHECK:STDOUT: inst7800019E: symbolic_constant7800016B +// CHECK:STDOUT: inst7800019F: symbolic_constant7800016A +// CHECK:STDOUT: inst780001A0: symbolic_constant78000157 // CHECK:STDOUT: inst780001A1: symbolic_constant78000157 -// CHECK:STDOUT: inst780001A2: symbolic_constant78000157 -// CHECK:STDOUT: inst780001A3: symbolic_constant78000169 -// CHECK:STDOUT: inst780001A4: symbolic_constant78000168 -// CHECK:STDOUT: inst780001A5: symbolic_constant78000153 -// CHECK:STDOUT: inst780001A6: symbolic_constant78000167 -// CHECK:STDOUT: inst780001A7: symbolic_constant78000166 -// CHECK:STDOUT: inst780001A8: symbolic_constant78000165 -// CHECK:STDOUT: inst780001A9: symbolic_constant7800016C -// CHECK:STDOUT: inst780001AA: symbolic_constant7800016D -// CHECK:STDOUT: inst780001AB: symbolic_constant7800016E -// CHECK:STDOUT: inst780001AC: symbolic_constant7800016F -// CHECK:STDOUT: inst780001AD: symbolic_constant78000170 -// CHECK:STDOUT: inst780001AE: symbolic_constant78000171 -// CHECK:STDOUT: inst780001AF: symbolic_constant78000172 -// CHECK:STDOUT: inst780001B0: symbolic_constant78000173 -// CHECK:STDOUT: inst780001B1: symbolic_constant78000174 -// CHECK:STDOUT: inst780001B2: symbolic_constant78000175 -// CHECK:STDOUT: inst780001B3: symbolic_constant78000176 -// CHECK:STDOUT: inst780001B4: symbolic_constant78000177 -// CHECK:STDOUT: inst780001B5: symbolic_constant78000178 -// CHECK:STDOUT: inst780001B6: symbolic_constant78000179 -// CHECK:STDOUT: inst780001B7: symbolic_constant7800017A -// CHECK:STDOUT: inst780001B8: symbolic_constant7800017B -// CHECK:STDOUT: inst780001B9: symbolic_constant7800017C -// CHECK:STDOUT: inst780001BA: symbolic_constant7800017D -// CHECK:STDOUT: inst780001BB: symbolic_constant7800017E -// CHECK:STDOUT: inst780001BC: symbolic_constant7800017F -// CHECK:STDOUT: inst780001BD: symbolic_constant78000180 -// CHECK:STDOUT: inst780001BE: symbolic_constant78000181 -// CHECK:STDOUT: inst780001BF: symbolic_constant78000182 -// CHECK:STDOUT: inst780001C0: symbolic_constant78000183 -// CHECK:STDOUT: inst780001C1: symbolic_constant78000184 -// CHECK:STDOUT: inst780001C2: symbolic_constant7800018A -// CHECK:STDOUT: inst780001C3: symbolic_constant78000198 -// CHECK:STDOUT: inst780001C4: symbolic_constant7800019A -// CHECK:STDOUT: inst780001C5: symbolic_constant7800019B -// CHECK:STDOUT: inst780001C6: symbolic_constant7800019C -// CHECK:STDOUT: inst780001C7: symbolic_constant7800019D -// CHECK:STDOUT: inst780001C8: symbolic_constant7800019E -// CHECK:STDOUT: inst780001C9: symbolic_constant7800019F -// CHECK:STDOUT: inst780001CA: symbolic_constant780001A0 -// CHECK:STDOUT: inst780001CB: symbolic_constant780001A1 -// CHECK:STDOUT: inst780001CC: symbolic_constant780001A2 -// CHECK:STDOUT: inst780001CD: symbolic_constant780001A3 -// CHECK:STDOUT: inst780001CE: symbolic_constant780001A4 -// CHECK:STDOUT: inst780001CF: symbolic_constant780001A5 -// CHECK:STDOUT: inst780001D0: symbolic_constant780001A6 -// CHECK:STDOUT: inst780001D1: symbolic_constant780001A7 -// CHECK:STDOUT: inst780001D2: symbolic_constant780001A8 -// CHECK:STDOUT: inst780001D3: symbolic_constant780001A9 -// CHECK:STDOUT: inst780001D4: symbolic_constant780001AA -// CHECK:STDOUT: inst780001D5: symbolic_constant780001AB -// CHECK:STDOUT: inst780001D6: symbolic_constant780001AC -// CHECK:STDOUT: inst780001D7: symbolic_constant7800014E -// CHECK:STDOUT: inst780001D8: symbolic_constant78000155 -// CHECK:STDOUT: inst780001D9: symbolic_constant780001BB -// CHECK:STDOUT: inst780001DA: symbolic_constant780001BA -// CHECK:STDOUT: inst780001DB: symbolic_constant780001B9 -// CHECK:STDOUT: inst780001DC: symbolic_constant78000147 -// CHECK:STDOUT: inst780001DD: concrete_constant(inst78000059) -// CHECK:STDOUT: inst780001DE: symbolic_constant78000146 -// CHECK:STDOUT: inst780001DF: symbolic_constant78000167 -// CHECK:STDOUT: inst780001E0: symbolic_constant78000166 -// CHECK:STDOUT: inst780001E1: symbolic_constant78000165 -// CHECK:STDOUT: inst780001E2: symbolic_constant780001BC -// CHECK:STDOUT: inst780001E3: symbolic_constant780001BD -// CHECK:STDOUT: inst780001E4: symbolic_constant780001BE -// CHECK:STDOUT: inst780001E5: symbolic_constant780001BF -// CHECK:STDOUT: inst780001E6: symbolic_constant780001C0 -// CHECK:STDOUT: inst780001E7: symbolic_constant780001C1 -// CHECK:STDOUT: inst780001E8: symbolic_constant780001C2 -// CHECK:STDOUT: inst780001E9: symbolic_constant780001C3 -// CHECK:STDOUT: inst780001EA: symbolic_constant780001C4 -// CHECK:STDOUT: inst780001EB: symbolic_constant780001C5 -// CHECK:STDOUT: inst780001EC: symbolic_constant780001C6 -// CHECK:STDOUT: inst780001ED: symbolic_constant780001C7 -// CHECK:STDOUT: inst780001EE: symbolic_constant780001C8 -// CHECK:STDOUT: inst780001EF: symbolic_constant780001CA -// CHECK:STDOUT: inst780001F0: symbolic_constant780001CB -// CHECK:STDOUT: inst780001F1: symbolic_constant780001CC +// CHECK:STDOUT: inst780001A2: symbolic_constant78000169 +// CHECK:STDOUT: inst780001A3: symbolic_constant78000168 +// CHECK:STDOUT: inst780001A4: symbolic_constant78000153 +// CHECK:STDOUT: inst780001A5: symbolic_constant78000167 +// CHECK:STDOUT: inst780001A6: symbolic_constant78000166 +// CHECK:STDOUT: inst780001A7: symbolic_constant78000165 +// CHECK:STDOUT: inst780001A8: symbolic_constant7800016C +// CHECK:STDOUT: inst780001A9: symbolic_constant7800016D +// CHECK:STDOUT: inst780001AA: symbolic_constant7800016E +// CHECK:STDOUT: inst780001AB: symbolic_constant7800016F +// CHECK:STDOUT: inst780001AC: symbolic_constant78000170 +// CHECK:STDOUT: inst780001AD: symbolic_constant78000171 +// CHECK:STDOUT: inst780001AE: symbolic_constant78000172 +// CHECK:STDOUT: inst780001AF: symbolic_constant78000173 +// CHECK:STDOUT: inst780001B0: symbolic_constant78000174 +// CHECK:STDOUT: inst780001B1: symbolic_constant78000175 +// CHECK:STDOUT: inst780001B2: symbolic_constant78000176 +// CHECK:STDOUT: inst780001B3: symbolic_constant78000177 +// CHECK:STDOUT: inst780001B4: symbolic_constant78000178 +// CHECK:STDOUT: inst780001B5: symbolic_constant78000179 +// CHECK:STDOUT: inst780001B6: symbolic_constant7800017A +// CHECK:STDOUT: inst780001B7: symbolic_constant7800017B +// CHECK:STDOUT: inst780001B8: symbolic_constant7800017C +// CHECK:STDOUT: inst780001B9: symbolic_constant7800017D +// CHECK:STDOUT: inst780001BA: symbolic_constant7800017E +// CHECK:STDOUT: inst780001BB: symbolic_constant7800017F +// CHECK:STDOUT: inst780001BC: symbolic_constant78000180 +// CHECK:STDOUT: inst780001BD: symbolic_constant78000181 +// CHECK:STDOUT: inst780001BE: symbolic_constant78000182 +// CHECK:STDOUT: inst780001BF: symbolic_constant78000183 +// CHECK:STDOUT: inst780001C0: symbolic_constant78000184 +// CHECK:STDOUT: inst780001C1: symbolic_constant7800018A +// CHECK:STDOUT: inst780001C2: symbolic_constant78000198 +// CHECK:STDOUT: inst780001C3: symbolic_constant7800019A +// CHECK:STDOUT: inst780001C4: symbolic_constant7800019B +// CHECK:STDOUT: inst780001C5: symbolic_constant7800019C +// CHECK:STDOUT: inst780001C6: symbolic_constant7800019D +// CHECK:STDOUT: inst780001C7: symbolic_constant7800019E +// CHECK:STDOUT: inst780001C8: symbolic_constant7800019F +// CHECK:STDOUT: inst780001C9: symbolic_constant780001A0 +// CHECK:STDOUT: inst780001CA: symbolic_constant780001A1 +// CHECK:STDOUT: inst780001CB: symbolic_constant780001A2 +// CHECK:STDOUT: inst780001CC: symbolic_constant780001A3 +// CHECK:STDOUT: inst780001CD: symbolic_constant780001A4 +// CHECK:STDOUT: inst780001CE: symbolic_constant780001A5 +// CHECK:STDOUT: inst780001CF: symbolic_constant780001A6 +// CHECK:STDOUT: inst780001D0: symbolic_constant780001A7 +// CHECK:STDOUT: inst780001D1: symbolic_constant780001A8 +// CHECK:STDOUT: inst780001D2: symbolic_constant780001A9 +// CHECK:STDOUT: inst780001D3: symbolic_constant780001AA +// CHECK:STDOUT: inst780001D4: symbolic_constant780001AB +// CHECK:STDOUT: inst780001D5: symbolic_constant780001AC +// CHECK:STDOUT: inst780001D6: symbolic_constant7800014E +// CHECK:STDOUT: inst780001D7: symbolic_constant78000155 +// CHECK:STDOUT: inst780001D8: symbolic_constant780001BB +// CHECK:STDOUT: inst780001D9: symbolic_constant780001BA +// CHECK:STDOUT: inst780001DA: symbolic_constant780001B9 +// CHECK:STDOUT: inst780001DB: symbolic_constant78000147 +// CHECK:STDOUT: inst780001DC: concrete_constant(inst78000058) +// CHECK:STDOUT: inst780001DD: symbolic_constant78000146 +// CHECK:STDOUT: inst780001DE: symbolic_constant78000167 +// CHECK:STDOUT: inst780001DF: symbolic_constant78000166 +// CHECK:STDOUT: inst780001E0: symbolic_constant78000165 +// CHECK:STDOUT: inst780001E1: symbolic_constant780001BC +// CHECK:STDOUT: inst780001E2: symbolic_constant780001BD +// CHECK:STDOUT: inst780001E3: symbolic_constant780001BE +// CHECK:STDOUT: inst780001E4: symbolic_constant780001BF +// CHECK:STDOUT: inst780001E5: symbolic_constant780001C0 +// CHECK:STDOUT: inst780001E6: symbolic_constant780001C1 +// CHECK:STDOUT: inst780001E7: symbolic_constant780001C2 +// CHECK:STDOUT: inst780001E8: symbolic_constant780001C3 +// CHECK:STDOUT: inst780001E9: symbolic_constant780001C4 +// CHECK:STDOUT: inst780001EA: symbolic_constant780001C5 +// CHECK:STDOUT: inst780001EB: symbolic_constant780001C6 +// CHECK:STDOUT: inst780001EC: symbolic_constant780001C7 +// CHECK:STDOUT: inst780001ED: symbolic_constant780001C8 +// CHECK:STDOUT: inst780001EE: symbolic_constant780001CA +// CHECK:STDOUT: inst780001EF: symbolic_constant780001CB +// CHECK:STDOUT: inst780001F0: symbolic_constant780001CC +// CHECK:STDOUT: inst780001F1: symbolic_constant780001CE // CHECK:STDOUT: inst780001F2: symbolic_constant780001CF -// CHECK:STDOUT: inst780001F3: symbolic_constant780001CE -// CHECK:STDOUT: inst780001F4: symbolic_constant780001CF -// CHECK:STDOUT: inst780001F5: symbolic_constant780001D0 -// CHECK:STDOUT: inst780001F6: symbolic_constant780001D1 -// CHECK:STDOUT: inst780001F7: symbolic_constant780001D2 -// CHECK:STDOUT: inst780001F8: symbolic_constant780001D3 -// CHECK:STDOUT: inst780001F9: symbolic_constant780001D9 -// CHECK:STDOUT: inst780001FA: symbolic_constant780001D4 -// CHECK:STDOUT: inst780001FB: symbolic_constant780001D5 -// CHECK:STDOUT: inst780001FC: symbolic_constant780001D6 -// CHECK:STDOUT: inst780001FD: symbolic_constant780001D7 -// CHECK:STDOUT: inst780001FE: symbolic_constant780001D8 -// CHECK:STDOUT: inst780001FF: symbolic_constant780001D9 -// CHECK:STDOUT: inst78000202: symbolic_constant780001CF -// CHECK:STDOUT: inst78000203: symbolic_constant780001D6 -// CHECK:STDOUT: inst78000204: symbolic_constant780001D6 -// CHECK:STDOUT: inst78000206: symbolic_constant780001CF -// CHECK:STDOUT: inst78000207: symbolic_constant780001D6 -// CHECK:STDOUT: inst78000208: symbolic_constant780001D6 -// CHECK:STDOUT: inst78000209: symbolic_constant780001DB -// CHECK:STDOUT: inst7800020A: symbolic_constant780001DA -// CHECK:STDOUT: inst7800020B: symbolic_constant780001DB -// CHECK:STDOUT: inst78000210: concrete_constant(inst7800002D) -// CHECK:STDOUT: inst78000211: concrete_constant(inst7800002D) -// CHECK:STDOUT: inst78000212: concrete_constant(inst7800002D) +// CHECK:STDOUT: inst780001F3: symbolic_constant780001D0 +// CHECK:STDOUT: inst780001F4: symbolic_constant780001D1 +// CHECK:STDOUT: inst780001F5: symbolic_constant780001D7 +// CHECK:STDOUT: inst780001F6: symbolic_constant780001D2 +// CHECK:STDOUT: inst780001F7: symbolic_constant780001D3 +// CHECK:STDOUT: inst780001F8: symbolic_constant780001D4 +// CHECK:STDOUT: inst780001F9: symbolic_constant780001D5 +// CHECK:STDOUT: inst780001FA: symbolic_constant780001D6 +// CHECK:STDOUT: inst780001FB: symbolic_constant780001D7 +// CHECK:STDOUT: inst780001FE: symbolic_constant780001D4 +// CHECK:STDOUT: inst780001FF: symbolic_constant780001D4 +// CHECK:STDOUT: inst78000201: symbolic_constant780001D4 +// CHECK:STDOUT: inst78000202: symbolic_constant780001D4 +// CHECK:STDOUT: inst78000203: symbolic_constant780001D9 +// CHECK:STDOUT: inst78000204: symbolic_constant780001D8 +// CHECK:STDOUT: inst78000205: symbolic_constant780001D9 +// CHECK:STDOUT: inst7800020A: concrete_constant(inst7800002C) +// CHECK:STDOUT: inst7800020B: concrete_constant(inst7800002C) +// CHECK:STDOUT: inst7800020C: concrete_constant(inst7800002C) // CHECK:STDOUT: symbolic_constants: -// CHECK:STDOUT: symbolic_constant78000000: {inst: inst78000013, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant78000001: {inst: inst78000017, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000002: {inst: inst78000017, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000003: {inst: inst7800001A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000004: {inst: inst7800001A, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000005: {inst: inst7800001E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000006: {inst: inst7800001E, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000007: {inst: inst78000020, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000008: {inst: inst78000022, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000009: {inst: inst78000020, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant7800000A: {inst: inst78000022, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800000B: {inst: inst78000026, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800000C: {inst: inst78000026, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800000D: {inst: inst78000030, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800000E: {inst: inst78000030, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800000F: {inst: inst78000034, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000010: {inst: inst78000034, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant78000011: {inst: inst78000038, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000012: {inst: inst78000038, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant78000013: {inst: inst7800003A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000014: {inst: inst7800003C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000015: {inst: inst7800003A, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant78000016: {inst: inst7800003C, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant78000017: {inst: inst78000040, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000018: {inst: inst78000040, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant78000019: {inst: inst7800004B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800001A: {inst: inst7800004B, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant7800001B: {inst: inst7800004D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800001C: {inst: inst7800004F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800001D: {inst: inst7800004F, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant7800001E: {inst: inst7800005B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800001F: {inst: inst78000060, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000020: {inst: inst78000061, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000021: {inst: inst78000061, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant78000022: {inst: inst78000062, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000023: {inst: inst78000063, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000024: {inst: inst78000064, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000025: {inst: inst78000060, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000026: {inst: inst78000066, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000027: {inst: inst78000066, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant78000028: {inst: inst78000063, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000029: {inst: inst78000067, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800002A: {inst: inst78000069, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800002B: {inst: inst78000069, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800002C: {inst: inst78000066, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant7800002D: {inst: inst78000064, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800002E: {inst: inst7800006B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800002F: {inst: inst7800006B, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant78000030: {inst: inst78000069, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant78000031: {inst: inst78000067, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000032: {inst: inst78000062, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000033: {inst: inst7800005B, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000034: {inst: inst7800006B, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant78000035: {inst: inst78000062, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000036: {inst: inst78000064, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant78000037: {inst: inst78000067, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000038: {inst: inst7800005B, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000039: {inst: inst78000062, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant7800003A: {inst: inst78000063, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant7800003B: {inst: inst78000067, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant7800003C: {inst: inst78000069, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800003D: {inst: inst7800006B, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800003E: {inst: inst78000064, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800003F: {inst: inst78000066, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant78000040: {inst: inst78000061, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant78000041: {inst: inst7800005B, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant78000042: {inst: inst7800005B, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant78000043: {inst: inst78000060, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000044: {inst: inst78000061, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant78000045: {inst: inst78000089, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000046: {inst: inst7800008A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000047: {inst: inst7800008B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000048: {inst: inst7800008C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000049: {inst: inst7800008C, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800004A: {inst: inst7800008B, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant7800004B: {inst: inst7800008F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800004C: {inst: inst7800008F, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800004D: {inst: inst78000091, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800004E: {inst: inst78000092, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800004F: {inst: inst78000092, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000050: {inst: inst78000093, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000051: {inst: inst78000094, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000052: {inst: inst78000091, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant78000053: {inst: inst78000096, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000054: {inst: inst78000098, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000055: {inst: inst78000098, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant78000056: {inst: inst78000093, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000057: {inst: inst78000099, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000058: {inst: inst7800009B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000059: {inst: inst7800009B, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800005A: {inst: inst78000098, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant7800005B: {inst: inst78000094, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant7800005C: {inst: inst7800009D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800005D: {inst: inst7800009D, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800005E: {inst: inst7800009B, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800005F: {inst: inst78000099, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant78000060: {inst: inst7800008B, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000061: {inst: inst7800008A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000062: {inst: inst78000089, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000063: {inst: inst78000089, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000064: {inst: inst7800009D, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant78000065: {inst: inst7800008B, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000066: {inst: inst78000094, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant78000067: {inst: inst78000099, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant78000068: {inst: inst78000089, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000069: {inst: inst7800008A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant7800006A: {inst: inst7800008B, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant7800006B: {inst: inst78000093, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant7800006C: {inst: inst78000099, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800006D: {inst: inst7800009B, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800006E: {inst: inst7800009D, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800006F: {inst: inst78000094, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant78000070: {inst: inst78000098, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant78000071: {inst: inst780000B0, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000072: {inst: inst780000B1, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000073: {inst: inst780000B2, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000074: {inst: inst780000B3, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000075: {inst: inst780000B4, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000076: {inst: inst780000B5, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000077: {inst: inst780000B6, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000078: {inst: inst780000B7, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000079: {inst: inst780000B8, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800007A: {inst: inst780000B9, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800007B: {inst: inst780000BA, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800007C: {inst: inst780000BB, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800007D: {inst: inst780000BB, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant7800007E: {inst: inst780000B4, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant7800007F: {inst: inst780000B0, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant78000080: {inst: inst780000B3, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant78000081: {inst: inst780000B1, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant78000082: {inst: inst780000BC, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000083: {inst: inst780000BC, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000084: {inst: inst780000BD, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000085: {inst: inst780000BD, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant78000086: {inst: inst780000BD, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant78000087: {inst: inst780000BC, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000088: {inst: inst780000B1, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant78000089: {inst: inst780000B3, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant7800008A: {inst: inst780000B0, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant7800008B: {inst: inst780000B4, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant7800008C: {inst: inst780000BB, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant7800008D: {inst: inst7800008C, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800008E: {inst: inst7800008B, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant7800008F: {inst: inst7800008A, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000090: {inst: inst78000089, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000091: {inst: inst78000096, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000092: {inst: inst78000096, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000093: {inst: inst78000096, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000094: {inst: inst78000089, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000095: {inst: inst7800008A, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000096: {inst: inst7800008B, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000097: {inst: inst7800008C, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant78000098: {inst: inst7800008F, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant78000099: {inst: inst78000092, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant7800009A: {inst: inst78000091, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant7800009B: {inst: inst78000092, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant7800009C: {inst: inst780000EE, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800009D: {inst: inst780000EE, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant7800009E: {inst: inst7800001E, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant7800009F: {inst: inst780000F1, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000A0: {inst: inst780000F1, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000A1: {inst: inst780000EE, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000A2: {inst: inst7800001E, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780000A3: {inst: inst7800001A, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000A4: {inst: inst78000017, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780000A5: {inst: inst7800001A, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000A6: {inst: inst78000017, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780000A7: {inst: inst78000017, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780000A8: {inst: inst7800001A, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000A9: {inst: inst7800001E, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780000AA: {inst: inst780000EE, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000AB: {inst: inst780000F1, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000AC: {inst: inst7800004B, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant780000AD: {inst: inst780000FD, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000AE: {inst: inst780000FE, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000AF: {inst: inst780000FE, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant780000B0: {inst: inst780000FF, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000B1: {inst: inst780000FD, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant780000B2: {inst: inst78000101, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000B3: {inst: inst78000101, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780000B4: {inst: inst78000020, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780000B5: {inst: inst78000102, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000B6: {inst: inst78000104, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000B7: {inst: inst78000104, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000B8: {inst: inst78000101, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780000B9: {inst: inst780000FF, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780000BA: {inst: inst78000106, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000BB: {inst: inst78000106, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant780000BC: {inst: inst78000104, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000BD: {inst: inst78000102, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000BE: {inst: inst7800001E, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000BF: {inst: inst7800001A, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780000C0: {inst: inst78000106, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant780000C1: {inst: inst7800001E, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000C2: {inst: inst780000FF, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780000C3: {inst: inst78000102, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000C4: {inst: inst7800001A, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780000C5: {inst: inst7800001E, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000C6: {inst: inst78000020, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780000C7: {inst: inst78000102, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000C8: {inst: inst78000104, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000C9: {inst: inst78000106, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant780000CA: {inst: inst780000FF, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780000CB: {inst: inst78000101, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780000CC: {inst: inst780000FE, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant780000CD: {inst: inst780000FD, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant780000CE: {inst: inst780000FE, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant780000CF: {inst: inst7800004B, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant780000D0: {inst: inst7800012B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000D1: {inst: inst7800012C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000D2: {inst: inst7800012D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000D3: {inst: inst7800012E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000D4: {inst: inst7800012E, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant780000D5: {inst: inst7800012D, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780000D6: {inst: inst78000131, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000D7: {inst: inst78000131, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant780000D8: {inst: inst78000133, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000D9: {inst: inst78000134, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000DA: {inst: inst78000134, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant780000DB: {inst: inst78000135, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000DC: {inst: inst78000136, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000DD: {inst: inst78000133, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant780000DE: {inst: inst78000138, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000DF: {inst: inst78000139, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000E0: {inst: inst7800013B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000E1: {inst: inst7800013B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant780000E2: {inst: inst78000135, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant780000E3: {inst: inst7800013C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000E4: {inst: inst7800013E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000E5: {inst: inst7800013E, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780000E6: {inst: inst7800013B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant780000E7: {inst: inst78000136, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant780000E8: {inst: inst78000140, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000E9: {inst: inst78000140, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant780000EA: {inst: inst7800013E, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780000EB: {inst: inst7800013C, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780000EC: {inst: inst7800012D, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000ED: {inst: inst7800012C, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000EE: {inst: inst7800012B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780000EF: {inst: inst7800008A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000F0: {inst: inst78000089, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780000F1: {inst: inst7800012B, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000F2: {inst: inst78000089, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000F3: {inst: inst78000140, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant780000F4: {inst: inst7800012D, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000F5: {inst: inst78000136, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant780000F6: {inst: inst7800013C, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780000F7: {inst: inst78000089, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780000F8: {inst: inst7800008A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000F9: {inst: inst7800012B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780000FA: {inst: inst7800012C, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000FB: {inst: inst7800012D, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000FC: {inst: inst78000135, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant780000FD: {inst: inst7800013C, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780000FE: {inst: inst7800013E, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780000FF: {inst: inst78000140, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant78000100: {inst: inst78000136, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant78000101: {inst: inst7800013B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant78000102: {inst: inst78000156, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000103: {inst: inst78000157, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000104: {inst: inst78000158, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000105: {inst: inst78000159, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000106: {inst: inst7800015A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000107: {inst: inst7800015B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000108: {inst: inst7800015C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000109: {inst: inst7800015D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800010A: {inst: inst7800015E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800010B: {inst: inst7800015F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800010C: {inst: inst78000160, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800010D: {inst: inst78000161, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800010E: {inst: inst78000161, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def12}} -// CHECK:STDOUT: symbolic_constant7800010F: {inst: inst7800015A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def11}} -// CHECK:STDOUT: symbolic_constant78000110: {inst: inst78000156, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def10}} -// CHECK:STDOUT: symbolic_constant78000111: {inst: inst78000159, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def9}} -// CHECK:STDOUT: symbolic_constant78000112: {inst: inst78000157, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def8}} -// CHECK:STDOUT: symbolic_constant78000113: {inst: inst78000162, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000114: {inst: inst78000162, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant78000115: {inst: inst780000BB, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant78000116: {inst: inst780000B4, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant78000117: {inst: inst780000B0, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant78000118: {inst: inst780000B3, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant78000119: {inst: inst780000B1, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant7800011A: {inst: inst780000BC, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant7800011B: {inst: inst78000163, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800011C: {inst: inst78000163, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant7800011D: {inst: inst78000163, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant7800011E: {inst: inst780000BC, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant7800011F: {inst: inst780000B1, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant78000120: {inst: inst780000B3, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant78000121: {inst: inst780000B0, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant78000122: {inst: inst780000B4, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant78000123: {inst: inst780000BB, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant78000124: {inst: inst78000162, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant78000125: {inst: inst78000157, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def8}} -// CHECK:STDOUT: symbolic_constant78000126: {inst: inst78000159, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def9}} -// CHECK:STDOUT: symbolic_constant78000127: {inst: inst78000156, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def10}} -// CHECK:STDOUT: symbolic_constant78000128: {inst: inst7800015A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def11}} -// CHECK:STDOUT: symbolic_constant78000129: {inst: inst78000161, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def12}} -// CHECK:STDOUT: symbolic_constant7800012A: {inst: inst7800012E, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant7800012B: {inst: inst7800012D, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant7800012C: {inst: inst7800012C, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800012D: {inst: inst7800008A, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800012E: {inst: inst78000138, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800012F: {inst: inst7800012B, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000130: {inst: inst78000139, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000131: {inst: inst78000089, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000132: {inst: inst78000096, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000133: {inst: inst78000139, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000134: {inst: inst78000096, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000135: {inst: inst78000096, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000136: {inst: inst78000089, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000137: {inst: inst78000139, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000138: {inst: inst7800012B, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000139: {inst: inst78000138, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800013A: {inst: inst7800008A, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800013B: {inst: inst7800012C, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800013C: {inst: inst7800012D, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant7800013D: {inst: inst7800012E, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant7800013E: {inst: inst78000131, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant7800013F: {inst: inst78000134, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000140: {inst: inst78000133, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant78000141: {inst: inst78000134, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000142: {inst: inst78000188, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000143: {inst: inst78000189, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000144: {inst: inst7800018A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000145: {inst: inst7800018B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000146: {inst: inst7800018B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant78000147: {inst: inst7800018A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant78000148: {inst: inst7800018E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000149: {inst: inst7800018E, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl12}} -// CHECK:STDOUT: symbolic_constant7800014A: {inst: inst78000190, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800014B: {inst: inst78000191, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800014C: {inst: inst78000191, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant7800014D: {inst: inst78000192, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800014E: {inst: inst78000193, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800014F: {inst: inst78000190, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant78000150: {inst: inst78000195, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000151: {inst: inst78000196, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000152: {inst: inst78000198, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000153: {inst: inst78000198, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl12}} -// CHECK:STDOUT: symbolic_constant78000154: {inst: inst78000192, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant78000155: {inst: inst78000199, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000156: {inst: inst7800019B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000157: {inst: inst7800019B, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant78000158: {inst: inst78000198, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl12}} -// CHECK:STDOUT: symbolic_constant78000159: {inst: inst78000193, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant7800015A: {inst: inst7800019D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800015B: {inst: inst7800019D, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant7800015C: {inst: inst7800019B, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant7800015D: {inst: inst78000199, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant7800015E: {inst: inst7800018A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800015F: {inst: inst78000189, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant78000160: {inst: inst78000188, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant78000161: {inst: inst7800012C, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000162: {inst: inst7800012B, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000163: {inst: inst7800008A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000164: {inst: inst78000089, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000165: {inst: inst78000188, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant78000166: {inst: inst7800012B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000167: {inst: inst78000089, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000168: {inst: inst7800019D, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant78000169: {inst: inst7800018A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800016A: {inst: inst78000193, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant7800016B: {inst: inst78000199, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant7800016C: {inst: inst78000089, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant7800016D: {inst: inst7800008A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant7800016E: {inst: inst7800012B, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant7800016F: {inst: inst7800012C, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000170: {inst: inst78000188, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant78000171: {inst: inst78000189, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant78000172: {inst: inst7800018A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant78000173: {inst: inst78000192, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant78000174: {inst: inst78000199, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant78000175: {inst: inst7800019B, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant78000176: {inst: inst7800019D, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant78000177: {inst: inst78000193, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant78000178: {inst: inst78000198, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl12}} -// CHECK:STDOUT: symbolic_constant78000179: {inst: inst780001B6, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800017A: {inst: inst780001B7, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800017B: {inst: inst780001B8, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800017C: {inst: inst780001B9, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800017D: {inst: inst780001BA, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800017E: {inst: inst780001BB, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800017F: {inst: inst780001BC, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000180: {inst: inst780001BD, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000181: {inst: inst780001BE, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000182: {inst: inst780001BF, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000183: {inst: inst780001C0, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000184: {inst: inst780001C1, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000185: {inst: inst780001C1, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def18}} -// CHECK:STDOUT: symbolic_constant78000186: {inst: inst780001BA, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def17}} -// CHECK:STDOUT: symbolic_constant78000187: {inst: inst780001B6, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def16}} -// CHECK:STDOUT: symbolic_constant78000188: {inst: inst780001B9, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def15}} -// CHECK:STDOUT: symbolic_constant78000189: {inst: inst780001B7, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def14}} -// CHECK:STDOUT: symbolic_constant7800018A: {inst: inst780001C2, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800018B: {inst: inst780001C2, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def13}} -// CHECK:STDOUT: symbolic_constant7800018C: {inst: inst78000161, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def12}} -// CHECK:STDOUT: symbolic_constant7800018D: {inst: inst7800015A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def11}} -// CHECK:STDOUT: symbolic_constant7800018E: {inst: inst78000156, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def10}} -// CHECK:STDOUT: symbolic_constant7800018F: {inst: inst78000159, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def9}} -// CHECK:STDOUT: symbolic_constant78000190: {inst: inst78000157, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def8}} -// CHECK:STDOUT: symbolic_constant78000191: {inst: inst78000162, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant78000192: {inst: inst780000BB, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant78000193: {inst: inst780000B4, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant78000194: {inst: inst780000B0, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant78000195: {inst: inst780000B3, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant78000196: {inst: inst780000B1, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant78000197: {inst: inst780000BC, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000198: {inst: inst780001C3, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000199: {inst: inst780001C3, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant7800019A: {inst: inst780001C3, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant7800019B: {inst: inst780000BC, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant7800019C: {inst: inst780000B1, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant7800019D: {inst: inst780000B3, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant7800019E: {inst: inst780000B0, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant7800019F: {inst: inst780000B4, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant780001A0: {inst: inst780000BB, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant780001A1: {inst: inst78000162, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant780001A2: {inst: inst78000157, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def8}} -// CHECK:STDOUT: symbolic_constant780001A3: {inst: inst78000159, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def9}} -// CHECK:STDOUT: symbolic_constant780001A4: {inst: inst78000156, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def10}} -// CHECK:STDOUT: symbolic_constant780001A5: {inst: inst7800015A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def11}} -// CHECK:STDOUT: symbolic_constant780001A6: {inst: inst78000161, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def12}} -// CHECK:STDOUT: symbolic_constant780001A7: {inst: inst780001C2, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def13}} -// CHECK:STDOUT: symbolic_constant780001A8: {inst: inst780001B7, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def14}} -// CHECK:STDOUT: symbolic_constant780001A9: {inst: inst780001B9, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def15}} -// CHECK:STDOUT: symbolic_constant780001AA: {inst: inst780001B6, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def16}} -// CHECK:STDOUT: symbolic_constant780001AB: {inst: inst780001BA, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def17}} -// CHECK:STDOUT: symbolic_constant780001AC: {inst: inst780001C1, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def18}} -// CHECK:STDOUT: symbolic_constant780001AD: {inst: inst7800018B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant780001AE: {inst: inst7800018A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant780001AF: {inst: inst78000189, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant780001B0: {inst: inst7800012C, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant780001B1: {inst: inst7800008A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780001B2: {inst: inst78000195, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780001B3: {inst: inst78000188, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant780001B4: {inst: inst78000196, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780001B5: {inst: inst7800012B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780001B6: {inst: inst78000139, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780001B7: {inst: inst78000089, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780001B8: {inst: inst78000096, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780001B9: {inst: inst78000196, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780001BA: {inst: inst78000139, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780001BB: {inst: inst78000096, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780001BC: {inst: inst78000096, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780001BD: {inst: inst78000089, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780001BE: {inst: inst78000139, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780001BF: {inst: inst7800012B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780001C0: {inst: inst78000196, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780001C1: {inst: inst78000188, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant780001C2: {inst: inst78000195, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780001C3: {inst: inst7800008A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780001C4: {inst: inst7800012C, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant780001C5: {inst: inst78000189, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant780001C6: {inst: inst7800018A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant780001C7: {inst: inst7800018B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant780001C8: {inst: inst7800018E, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl12}} -// CHECK:STDOUT: symbolic_constant780001C9: {inst: inst78000191, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant780001CA: {inst: inst78000190, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant780001CB: {inst: inst78000191, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant780001CC: {inst: inst780001F1, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001CD: {inst: inst780000F1, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780001CE: {inst: inst780001F3, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001CF: {inst: inst780001F3, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant780001D0: {inst: inst780001F5, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001D1: {inst: inst780001F6, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001D2: {inst: inst780001F7, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001D3: {inst: inst780001F8, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001D4: {inst: inst780001FA, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001D5: {inst: inst780001F1, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant780001D6: {inst: inst780001F5, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant780001D7: {inst: inst780001F6, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant780001D8: {inst: inst780001F8, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant780001D9: {inst: inst780001FA, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant780001DA: {inst: inst7800020A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001DB: {inst: inst7800020A, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant78000000: {inst: inst78000012, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant78000001: {inst: inst78000016, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000002: {inst: inst78000016, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000003: {inst: inst78000019, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000004: {inst: inst78000019, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000005: {inst: inst7800001D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000006: {inst: inst7800001D, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000007: {inst: inst7800001F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000008: {inst: inst78000021, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000009: {inst: inst7800001F, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant7800000A: {inst: inst78000021, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800000B: {inst: inst78000025, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800000C: {inst: inst78000025, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800000D: {inst: inst7800002F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800000E: {inst: inst7800002F, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800000F: {inst: inst78000033, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000010: {inst: inst78000033, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant78000011: {inst: inst78000037, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000012: {inst: inst78000037, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant78000013: {inst: inst78000039, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000014: {inst: inst7800003B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000015: {inst: inst78000039, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant78000016: {inst: inst7800003B, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant78000017: {inst: inst7800003F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000018: {inst: inst7800003F, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant78000019: {inst: inst7800004A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800001A: {inst: inst7800004A, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant7800001B: {inst: inst7800004C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800001C: {inst: inst7800004E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800001D: {inst: inst7800004E, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant7800001E: {inst: inst7800005A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800001F: {inst: inst7800005F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000020: {inst: inst78000060, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000021: {inst: inst78000060, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant78000022: {inst: inst78000061, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000023: {inst: inst78000062, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000024: {inst: inst78000063, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000025: {inst: inst7800005F, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000026: {inst: inst78000065, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000027: {inst: inst78000065, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant78000028: {inst: inst78000062, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000029: {inst: inst78000066, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800002A: {inst: inst78000068, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800002B: {inst: inst78000068, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800002C: {inst: inst78000065, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant7800002D: {inst: inst78000063, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800002E: {inst: inst7800006A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800002F: {inst: inst7800006A, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant78000030: {inst: inst78000068, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant78000031: {inst: inst78000066, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000032: {inst: inst78000061, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000033: {inst: inst7800005A, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000034: {inst: inst7800006A, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant78000035: {inst: inst78000061, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000036: {inst: inst78000063, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant78000037: {inst: inst78000066, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000038: {inst: inst7800005A, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000039: {inst: inst78000061, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant7800003A: {inst: inst78000062, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant7800003B: {inst: inst78000066, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant7800003C: {inst: inst78000068, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800003D: {inst: inst7800006A, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800003E: {inst: inst78000063, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800003F: {inst: inst78000065, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant78000040: {inst: inst78000060, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant78000041: {inst: inst7800005A, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant78000042: {inst: inst7800005A, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant78000043: {inst: inst7800005F, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000044: {inst: inst78000060, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant78000045: {inst: inst78000088, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000046: {inst: inst78000089, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000047: {inst: inst7800008A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000048: {inst: inst7800008B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000049: {inst: inst7800008B, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800004A: {inst: inst7800008A, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant7800004B: {inst: inst7800008E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800004C: {inst: inst7800008E, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800004D: {inst: inst78000090, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800004E: {inst: inst78000091, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800004F: {inst: inst78000091, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000050: {inst: inst78000092, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000051: {inst: inst78000093, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000052: {inst: inst78000090, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant78000053: {inst: inst78000095, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000054: {inst: inst78000097, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000055: {inst: inst78000097, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant78000056: {inst: inst78000092, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000057: {inst: inst78000098, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000058: {inst: inst7800009A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000059: {inst: inst7800009A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800005A: {inst: inst78000097, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant7800005B: {inst: inst78000093, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant7800005C: {inst: inst7800009C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800005D: {inst: inst7800009C, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800005E: {inst: inst7800009A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800005F: {inst: inst78000098, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant78000060: {inst: inst7800008A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000061: {inst: inst78000089, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000062: {inst: inst78000088, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000063: {inst: inst78000088, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000064: {inst: inst7800009C, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant78000065: {inst: inst7800008A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000066: {inst: inst78000093, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant78000067: {inst: inst78000098, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant78000068: {inst: inst78000088, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000069: {inst: inst78000089, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant7800006A: {inst: inst7800008A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant7800006B: {inst: inst78000092, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant7800006C: {inst: inst78000098, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800006D: {inst: inst7800009A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800006E: {inst: inst7800009C, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800006F: {inst: inst78000093, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant78000070: {inst: inst78000097, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant78000071: {inst: inst780000AF, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000072: {inst: inst780000B0, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000073: {inst: inst780000B1, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000074: {inst: inst780000B2, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000075: {inst: inst780000B3, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000076: {inst: inst780000B4, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000077: {inst: inst780000B5, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000078: {inst: inst780000B6, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000079: {inst: inst780000B7, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800007A: {inst: inst780000B8, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800007B: {inst: inst780000B9, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800007C: {inst: inst780000BA, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800007D: {inst: inst780000BA, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant7800007E: {inst: inst780000B3, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant7800007F: {inst: inst780000AF, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant78000080: {inst: inst780000B2, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant78000081: {inst: inst780000B0, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant78000082: {inst: inst780000BB, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000083: {inst: inst780000BB, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000084: {inst: inst780000BC, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000085: {inst: inst780000BC, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant78000086: {inst: inst780000BC, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant78000087: {inst: inst780000BB, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000088: {inst: inst780000B0, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant78000089: {inst: inst780000B2, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant7800008A: {inst: inst780000AF, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant7800008B: {inst: inst780000B3, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant7800008C: {inst: inst780000BA, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant7800008D: {inst: inst7800008B, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800008E: {inst: inst7800008A, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant7800008F: {inst: inst78000089, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000090: {inst: inst78000088, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000091: {inst: inst78000095, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000092: {inst: inst78000095, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000093: {inst: inst78000095, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000094: {inst: inst78000088, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000095: {inst: inst78000089, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000096: {inst: inst7800008A, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000097: {inst: inst7800008B, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant78000098: {inst: inst7800008E, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant78000099: {inst: inst78000091, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant7800009A: {inst: inst78000090, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant7800009B: {inst: inst78000091, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant7800009C: {inst: inst780000ED, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800009D: {inst: inst780000ED, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant7800009E: {inst: inst7800001D, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant7800009F: {inst: inst780000F0, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000A0: {inst: inst780000F0, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000A1: {inst: inst780000ED, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000A2: {inst: inst7800001D, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780000A3: {inst: inst78000019, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000A4: {inst: inst78000016, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780000A5: {inst: inst78000019, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000A6: {inst: inst78000016, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780000A7: {inst: inst78000016, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780000A8: {inst: inst78000019, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000A9: {inst: inst7800001D, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780000AA: {inst: inst780000ED, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000AB: {inst: inst780000F0, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000AC: {inst: inst7800004A, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant780000AD: {inst: inst780000FC, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000AE: {inst: inst780000FD, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000AF: {inst: inst780000FD, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant780000B0: {inst: inst780000FE, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000B1: {inst: inst780000FC, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant780000B2: {inst: inst78000100, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000B3: {inst: inst78000100, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780000B4: {inst: inst7800001F, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780000B5: {inst: inst78000101, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000B6: {inst: inst78000103, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000B7: {inst: inst78000103, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000B8: {inst: inst78000100, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780000B9: {inst: inst780000FE, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780000BA: {inst: inst78000105, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000BB: {inst: inst78000105, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant780000BC: {inst: inst78000103, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000BD: {inst: inst78000101, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000BE: {inst: inst7800001D, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000BF: {inst: inst78000019, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780000C0: {inst: inst78000105, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant780000C1: {inst: inst7800001D, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000C2: {inst: inst780000FE, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780000C3: {inst: inst78000101, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000C4: {inst: inst78000019, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780000C5: {inst: inst7800001D, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000C6: {inst: inst7800001F, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780000C7: {inst: inst78000101, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000C8: {inst: inst78000103, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000C9: {inst: inst78000105, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant780000CA: {inst: inst780000FE, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780000CB: {inst: inst78000100, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780000CC: {inst: inst780000FD, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant780000CD: {inst: inst780000FC, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant780000CE: {inst: inst780000FD, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant780000CF: {inst: inst7800004A, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant780000D0: {inst: inst7800012A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000D1: {inst: inst7800012B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000D2: {inst: inst7800012C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000D3: {inst: inst7800012D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000D4: {inst: inst7800012D, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant780000D5: {inst: inst7800012C, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780000D6: {inst: inst78000130, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000D7: {inst: inst78000130, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant780000D8: {inst: inst78000132, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000D9: {inst: inst78000133, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000DA: {inst: inst78000133, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant780000DB: {inst: inst78000134, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000DC: {inst: inst78000135, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000DD: {inst: inst78000132, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant780000DE: {inst: inst78000137, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000DF: {inst: inst78000138, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000E0: {inst: inst7800013A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000E1: {inst: inst7800013A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant780000E2: {inst: inst78000134, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant780000E3: {inst: inst7800013B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000E4: {inst: inst7800013D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000E5: {inst: inst7800013D, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780000E6: {inst: inst7800013A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant780000E7: {inst: inst78000135, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant780000E8: {inst: inst7800013F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000E9: {inst: inst7800013F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant780000EA: {inst: inst7800013D, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780000EB: {inst: inst7800013B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780000EC: {inst: inst7800012C, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000ED: {inst: inst7800012B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000EE: {inst: inst7800012A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780000EF: {inst: inst78000089, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000F0: {inst: inst78000088, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780000F1: {inst: inst7800012A, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000F2: {inst: inst78000088, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000F3: {inst: inst7800013F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant780000F4: {inst: inst7800012C, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000F5: {inst: inst78000135, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant780000F6: {inst: inst7800013B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780000F7: {inst: inst78000088, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780000F8: {inst: inst78000089, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000F9: {inst: inst7800012A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780000FA: {inst: inst7800012B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000FB: {inst: inst7800012C, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000FC: {inst: inst78000134, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant780000FD: {inst: inst7800013B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780000FE: {inst: inst7800013D, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780000FF: {inst: inst7800013F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant78000100: {inst: inst78000135, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant78000101: {inst: inst7800013A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant78000102: {inst: inst78000155, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000103: {inst: inst78000156, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000104: {inst: inst78000157, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000105: {inst: inst78000158, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000106: {inst: inst78000159, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000107: {inst: inst7800015A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000108: {inst: inst7800015B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000109: {inst: inst7800015C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800010A: {inst: inst7800015D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800010B: {inst: inst7800015E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800010C: {inst: inst7800015F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800010D: {inst: inst78000160, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800010E: {inst: inst78000160, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def12}} +// CHECK:STDOUT: symbolic_constant7800010F: {inst: inst78000159, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def11}} +// CHECK:STDOUT: symbolic_constant78000110: {inst: inst78000155, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant78000111: {inst: inst78000158, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant78000112: {inst: inst78000156, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant78000113: {inst: inst78000161, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000114: {inst: inst78000161, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant78000115: {inst: inst780000BA, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant78000116: {inst: inst780000B3, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant78000117: {inst: inst780000AF, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant78000118: {inst: inst780000B2, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant78000119: {inst: inst780000B0, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant7800011A: {inst: inst780000BB, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant7800011B: {inst: inst78000162, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800011C: {inst: inst78000162, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant7800011D: {inst: inst78000162, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant7800011E: {inst: inst780000BB, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant7800011F: {inst: inst780000B0, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant78000120: {inst: inst780000B2, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant78000121: {inst: inst780000AF, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant78000122: {inst: inst780000B3, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant78000123: {inst: inst780000BA, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant78000124: {inst: inst78000161, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant78000125: {inst: inst78000156, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant78000126: {inst: inst78000158, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant78000127: {inst: inst78000155, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant78000128: {inst: inst78000159, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def11}} +// CHECK:STDOUT: symbolic_constant78000129: {inst: inst78000160, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def12}} +// CHECK:STDOUT: symbolic_constant7800012A: {inst: inst7800012D, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant7800012B: {inst: inst7800012C, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant7800012C: {inst: inst7800012B, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800012D: {inst: inst78000089, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800012E: {inst: inst78000137, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800012F: {inst: inst7800012A, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000130: {inst: inst78000138, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000131: {inst: inst78000088, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000132: {inst: inst78000095, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000133: {inst: inst78000138, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000134: {inst: inst78000095, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000135: {inst: inst78000095, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000136: {inst: inst78000088, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000137: {inst: inst78000138, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000138: {inst: inst7800012A, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000139: {inst: inst78000137, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800013A: {inst: inst78000089, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800013B: {inst: inst7800012B, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800013C: {inst: inst7800012C, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant7800013D: {inst: inst7800012D, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant7800013E: {inst: inst78000130, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant7800013F: {inst: inst78000133, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000140: {inst: inst78000132, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant78000141: {inst: inst78000133, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000142: {inst: inst78000187, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000143: {inst: inst78000188, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000144: {inst: inst78000189, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000145: {inst: inst7800018A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000146: {inst: inst7800018A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant78000147: {inst: inst78000189, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant78000148: {inst: inst7800018D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000149: {inst: inst7800018D, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl12}} +// CHECK:STDOUT: symbolic_constant7800014A: {inst: inst7800018F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800014B: {inst: inst78000190, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800014C: {inst: inst78000190, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant7800014D: {inst: inst78000191, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800014E: {inst: inst78000192, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800014F: {inst: inst7800018F, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant78000150: {inst: inst78000194, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000151: {inst: inst78000195, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000152: {inst: inst78000197, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000153: {inst: inst78000197, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl12}} +// CHECK:STDOUT: symbolic_constant78000154: {inst: inst78000191, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant78000155: {inst: inst78000198, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000156: {inst: inst7800019A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000157: {inst: inst7800019A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant78000158: {inst: inst78000197, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl12}} +// CHECK:STDOUT: symbolic_constant78000159: {inst: inst78000192, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant7800015A: {inst: inst7800019C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800015B: {inst: inst7800019C, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant7800015C: {inst: inst7800019A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant7800015D: {inst: inst78000198, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant7800015E: {inst: inst78000189, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800015F: {inst: inst78000188, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant78000160: {inst: inst78000187, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant78000161: {inst: inst7800012B, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000162: {inst: inst7800012A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000163: {inst: inst78000089, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000164: {inst: inst78000088, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000165: {inst: inst78000187, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant78000166: {inst: inst7800012A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000167: {inst: inst78000088, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000168: {inst: inst7800019C, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant78000169: {inst: inst78000189, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800016A: {inst: inst78000192, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant7800016B: {inst: inst78000198, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant7800016C: {inst: inst78000088, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant7800016D: {inst: inst78000089, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant7800016E: {inst: inst7800012A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant7800016F: {inst: inst7800012B, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000170: {inst: inst78000187, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant78000171: {inst: inst78000188, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant78000172: {inst: inst78000189, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant78000173: {inst: inst78000191, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant78000174: {inst: inst78000198, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant78000175: {inst: inst7800019A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant78000176: {inst: inst7800019C, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant78000177: {inst: inst78000192, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant78000178: {inst: inst78000197, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl12}} +// CHECK:STDOUT: symbolic_constant78000179: {inst: inst780001B5, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800017A: {inst: inst780001B6, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800017B: {inst: inst780001B7, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800017C: {inst: inst780001B8, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800017D: {inst: inst780001B9, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800017E: {inst: inst780001BA, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800017F: {inst: inst780001BB, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000180: {inst: inst780001BC, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000181: {inst: inst780001BD, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000182: {inst: inst780001BE, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000183: {inst: inst780001BF, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000184: {inst: inst780001C0, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000185: {inst: inst780001C0, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def18}} +// CHECK:STDOUT: symbolic_constant78000186: {inst: inst780001B9, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def17}} +// CHECK:STDOUT: symbolic_constant78000187: {inst: inst780001B5, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def16}} +// CHECK:STDOUT: symbolic_constant78000188: {inst: inst780001B8, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def15}} +// CHECK:STDOUT: symbolic_constant78000189: {inst: inst780001B6, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def14}} +// CHECK:STDOUT: symbolic_constant7800018A: {inst: inst780001C1, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800018B: {inst: inst780001C1, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def13}} +// CHECK:STDOUT: symbolic_constant7800018C: {inst: inst78000160, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def12}} +// CHECK:STDOUT: symbolic_constant7800018D: {inst: inst78000159, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def11}} +// CHECK:STDOUT: symbolic_constant7800018E: {inst: inst78000155, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant7800018F: {inst: inst78000158, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant78000190: {inst: inst78000156, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant78000191: {inst: inst78000161, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant78000192: {inst: inst780000BA, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant78000193: {inst: inst780000B3, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant78000194: {inst: inst780000AF, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant78000195: {inst: inst780000B2, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant78000196: {inst: inst780000B0, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant78000197: {inst: inst780000BB, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000198: {inst: inst780001C2, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000199: {inst: inst780001C2, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant7800019A: {inst: inst780001C2, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant7800019B: {inst: inst780000BB, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant7800019C: {inst: inst780000B0, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant7800019D: {inst: inst780000B2, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant7800019E: {inst: inst780000AF, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant7800019F: {inst: inst780000B3, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant780001A0: {inst: inst780000BA, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant780001A1: {inst: inst78000161, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant780001A2: {inst: inst78000156, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant780001A3: {inst: inst78000158, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant780001A4: {inst: inst78000155, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant780001A5: {inst: inst78000159, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def11}} +// CHECK:STDOUT: symbolic_constant780001A6: {inst: inst78000160, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def12}} +// CHECK:STDOUT: symbolic_constant780001A7: {inst: inst780001C1, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def13}} +// CHECK:STDOUT: symbolic_constant780001A8: {inst: inst780001B6, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def14}} +// CHECK:STDOUT: symbolic_constant780001A9: {inst: inst780001B8, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def15}} +// CHECK:STDOUT: symbolic_constant780001AA: {inst: inst780001B5, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def16}} +// CHECK:STDOUT: symbolic_constant780001AB: {inst: inst780001B9, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def17}} +// CHECK:STDOUT: symbolic_constant780001AC: {inst: inst780001C0, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def18}} +// CHECK:STDOUT: symbolic_constant780001AD: {inst: inst7800018A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant780001AE: {inst: inst78000189, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant780001AF: {inst: inst78000188, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant780001B0: {inst: inst7800012B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant780001B1: {inst: inst78000089, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780001B2: {inst: inst78000194, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780001B3: {inst: inst78000187, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant780001B4: {inst: inst78000195, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780001B5: {inst: inst7800012A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780001B6: {inst: inst78000138, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780001B7: {inst: inst78000088, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780001B8: {inst: inst78000095, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780001B9: {inst: inst78000195, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780001BA: {inst: inst78000138, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780001BB: {inst: inst78000095, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780001BC: {inst: inst78000095, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780001BD: {inst: inst78000088, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780001BE: {inst: inst78000138, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780001BF: {inst: inst7800012A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780001C0: {inst: inst78000195, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780001C1: {inst: inst78000187, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant780001C2: {inst: inst78000194, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780001C3: {inst: inst78000089, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780001C4: {inst: inst7800012B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant780001C5: {inst: inst78000188, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant780001C6: {inst: inst78000189, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant780001C7: {inst: inst7800018A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant780001C8: {inst: inst7800018D, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl12}} +// CHECK:STDOUT: symbolic_constant780001C9: {inst: inst78000190, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant780001CA: {inst: inst7800018F, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant780001CB: {inst: inst78000190, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant780001CC: {inst: inst780001F0, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001CD: {inst: inst780000F0, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780001CE: {inst: inst780001F1, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001CF: {inst: inst780001F2, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001D0: {inst: inst780001F3, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001D1: {inst: inst780001F4, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001D2: {inst: inst780001F6, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001D3: {inst: inst780001F0, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant780001D4: {inst: inst780001F1, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant780001D5: {inst: inst780001F2, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant780001D6: {inst: inst780001F4, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant780001D7: {inst: inst780001F6, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant780001D8: {inst: inst78000204, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001D9: {inst: inst78000204, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def7}} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst78000047 +// CHECK:STDOUT: 0: inst78000046 // CHECK:STDOUT: generated: {} // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: inst78000011 -// CHECK:STDOUT: 1: inst78000057 -// CHECK:STDOUT: 2: inst78000058 -// CHECK:STDOUT: 3: inst7800005A -// CHECK:STDOUT: 4: inst7800005C -// CHECK:STDOUT: 5: inst7800005D -// CHECK:STDOUT: 6: inst7800005E -// CHECK:STDOUT: 7: inst7800005F -// CHECK:STDOUT: 8: inst78000065 -// CHECK:STDOUT: 9: inst78000068 -// CHECK:STDOUT: 10: inst7800006A -// CHECK:STDOUT: 11: inst7800006C -// CHECK:STDOUT: 12: inst7800006D -// CHECK:STDOUT: 13: inst7800006E -// CHECK:STDOUT: 14: inst7800006F -// CHECK:STDOUT: 15: inst78000070 -// CHECK:STDOUT: 16: inst78000071 -// CHECK:STDOUT: 17: inst78000072 -// CHECK:STDOUT: 18: inst78000073 -// CHECK:STDOUT: 19: inst78000074 -// CHECK:STDOUT: 20: inst7800007D -// CHECK:STDOUT: 21: inst7800007E -// CHECK:STDOUT: 22: inst78000082 -// CHECK:STDOUT: 23: inst78000084 -// CHECK:STDOUT: 24: inst78000087 -// CHECK:STDOUT: 25: inst78000088 -// CHECK:STDOUT: 26: inst7800008D -// CHECK:STDOUT: 27: inst7800008E -// CHECK:STDOUT: 28: inst78000090 -// CHECK:STDOUT: 29: inst78000097 -// CHECK:STDOUT: 30: inst7800009A -// CHECK:STDOUT: 31: inst7800009C -// CHECK:STDOUT: 32: inst7800009E -// CHECK:STDOUT: 33: inst7800009F -// CHECK:STDOUT: 34: inst780000A0 -// CHECK:STDOUT: 35: inst780000A1 -// CHECK:STDOUT: 36: inst780000A2 -// CHECK:STDOUT: 37: inst780000A3 -// CHECK:STDOUT: 38: inst780000A4 -// CHECK:STDOUT: 39: inst780000A5 -// CHECK:STDOUT: 40: inst780000A6 -// CHECK:STDOUT: 41: inst780000C5 -// CHECK:STDOUT: 42: inst780000C6 -// CHECK:STDOUT: 43: inst780000C7 -// CHECK:STDOUT: 44: inst780000C8 -// CHECK:STDOUT: 45: inst780000C9 -// CHECK:STDOUT: 46: inst780000CA -// CHECK:STDOUT: 47: inst780000CB -// CHECK:STDOUT: 48: inst780000D4 -// CHECK:STDOUT: 49: inst780000D5 -// CHECK:STDOUT: 50: inst780000D7 -// CHECK:STDOUT: 51: inst780000D8 -// CHECK:STDOUT: 52: inst780000D9 -// CHECK:STDOUT: 53: inst780000DA -// CHECK:STDOUT: 54: inst780000DB -// CHECK:STDOUT: 55: inst780000DD -// CHECK:STDOUT: 56: inst780000DE -// CHECK:STDOUT: 57: inst780000DF -// CHECK:STDOUT: 58: inst780000E0 -// CHECK:STDOUT: 59: inst780000E1 -// CHECK:STDOUT: 60: inst780000E3 -// CHECK:STDOUT: 61: inst780000E4 -// CHECK:STDOUT: 62: inst780000E5 -// CHECK:STDOUT: 63: inst780000E6 -// CHECK:STDOUT: 64: inst780000E7 -// CHECK:STDOUT: 65: inst780000E9 -// CHECK:STDOUT: 66: inst780000EA -// CHECK:STDOUT: 67: inst780000EB -// CHECK:STDOUT: 68: inst780000EC -// CHECK:STDOUT: 69: inst780000ED -// CHECK:STDOUT: 70: inst780000EF -// CHECK:STDOUT: 71: inst780000F0 -// CHECK:STDOUT: 72: inst780000F2 -// CHECK:STDOUT: 73: inst780000F3 -// CHECK:STDOUT: 74: inst780000F4 -// CHECK:STDOUT: 75: inst780000F5 -// CHECK:STDOUT: 76: inst780000F6 -// CHECK:STDOUT: 77: inst780000FC -// CHECK:STDOUT: 78: inst78000100 -// CHECK:STDOUT: 79: inst78000103 -// CHECK:STDOUT: 80: inst78000105 -// CHECK:STDOUT: 81: inst78000107 -// CHECK:STDOUT: 82: inst78000108 -// CHECK:STDOUT: 83: inst78000109 -// CHECK:STDOUT: 84: inst7800010A -// CHECK:STDOUT: 85: inst7800010B -// CHECK:STDOUT: 86: inst7800010C -// CHECK:STDOUT: 87: inst7800010D -// CHECK:STDOUT: 88: inst7800010E -// CHECK:STDOUT: 89: inst7800010F -// CHECK:STDOUT: 90: inst78000118 -// CHECK:STDOUT: 91: inst78000119 -// CHECK:STDOUT: 92: inst7800011D -// CHECK:STDOUT: 93: inst7800011E -// CHECK:STDOUT: 94: inst78000120 -// CHECK:STDOUT: 95: inst78000121 -// CHECK:STDOUT: 96: inst78000122 -// CHECK:STDOUT: 97: inst78000123 -// CHECK:STDOUT: 98: inst78000124 -// CHECK:STDOUT: 99: inst78000126 -// CHECK:STDOUT: 100: inst78000127 -// CHECK:STDOUT: 101: inst78000128 -// CHECK:STDOUT: 102: inst78000129 -// CHECK:STDOUT: 103: inst7800012A -// CHECK:STDOUT: 104: inst7800012F -// CHECK:STDOUT: 105: inst78000130 -// CHECK:STDOUT: 106: inst78000132 -// CHECK:STDOUT: 107: inst7800013A -// CHECK:STDOUT: 108: inst7800013D -// CHECK:STDOUT: 109: inst7800013F -// CHECK:STDOUT: 110: inst78000141 -// CHECK:STDOUT: 111: inst78000142 -// CHECK:STDOUT: 112: inst78000143 -// CHECK:STDOUT: 113: inst78000144 -// CHECK:STDOUT: 114: inst78000145 -// CHECK:STDOUT: 115: inst78000146 -// CHECK:STDOUT: 116: inst78000147 -// CHECK:STDOUT: 117: inst78000148 -// CHECK:STDOUT: 118: inst78000149 -// CHECK:STDOUT: 119: inst7800014A -// CHECK:STDOUT: 120: inst78000171 -// CHECK:STDOUT: 121: inst78000172 -// CHECK:STDOUT: 122: inst78000173 -// CHECK:STDOUT: 123: inst78000174 -// CHECK:STDOUT: 124: inst78000175 -// CHECK:STDOUT: 125: inst78000176 -// CHECK:STDOUT: 126: inst78000177 -// CHECK:STDOUT: 127: inst78000178 -// CHECK:STDOUT: 128: inst78000179 -// CHECK:STDOUT: 129: inst78000186 -// CHECK:STDOUT: 130: inst78000187 -// CHECK:STDOUT: 131: inst7800018C -// CHECK:STDOUT: 132: inst7800018D -// CHECK:STDOUT: 133: inst7800018F -// CHECK:STDOUT: 134: inst78000197 -// CHECK:STDOUT: 135: inst7800019A -// CHECK:STDOUT: 136: inst7800019C -// CHECK:STDOUT: 137: inst7800019E -// CHECK:STDOUT: 138: inst7800019F -// CHECK:STDOUT: 139: inst780001A0 -// CHECK:STDOUT: 140: inst780001A1 -// CHECK:STDOUT: 141: inst780001A2 -// CHECK:STDOUT: 142: inst780001A3 -// CHECK:STDOUT: 143: inst780001A4 -// CHECK:STDOUT: 144: inst780001A5 -// CHECK:STDOUT: 145: inst780001A6 -// CHECK:STDOUT: 146: inst780001A7 -// CHECK:STDOUT: 147: inst780001A8 -// CHECK:STDOUT: 148: inst780001D7 -// CHECK:STDOUT: 149: inst780001D8 -// CHECK:STDOUT: 150: inst780001D9 -// CHECK:STDOUT: 151: inst780001DA -// CHECK:STDOUT: 152: inst780001DB -// CHECK:STDOUT: 153: inst780001DC -// CHECK:STDOUT: 154: inst780001DD -// CHECK:STDOUT: 155: inst780001DE -// CHECK:STDOUT: 156: inst780001DF -// CHECK:STDOUT: 157: inst780001E0 -// CHECK:STDOUT: 158: inst780001E1 +// CHECK:STDOUT: 0: inst78000010 +// CHECK:STDOUT: 1: inst78000056 +// CHECK:STDOUT: 2: inst78000057 +// CHECK:STDOUT: 3: inst78000059 +// CHECK:STDOUT: 4: inst7800005B +// CHECK:STDOUT: 5: inst7800005C +// CHECK:STDOUT: 6: inst7800005D +// CHECK:STDOUT: 7: inst7800005E +// CHECK:STDOUT: 8: inst78000064 +// CHECK:STDOUT: 9: inst78000067 +// CHECK:STDOUT: 10: inst78000069 +// CHECK:STDOUT: 11: inst7800006B +// CHECK:STDOUT: 12: inst7800006C +// CHECK:STDOUT: 13: inst7800006D +// CHECK:STDOUT: 14: inst7800006E +// CHECK:STDOUT: 15: inst7800006F +// CHECK:STDOUT: 16: inst78000070 +// CHECK:STDOUT: 17: inst78000071 +// CHECK:STDOUT: 18: inst78000072 +// CHECK:STDOUT: 19: inst78000073 +// CHECK:STDOUT: 20: inst7800007C +// CHECK:STDOUT: 21: inst7800007D +// CHECK:STDOUT: 22: inst78000081 +// CHECK:STDOUT: 23: inst78000083 +// CHECK:STDOUT: 24: inst78000086 +// CHECK:STDOUT: 25: inst78000087 +// CHECK:STDOUT: 26: inst7800008C +// CHECK:STDOUT: 27: inst7800008D +// CHECK:STDOUT: 28: inst7800008F +// CHECK:STDOUT: 29: inst78000096 +// CHECK:STDOUT: 30: inst78000099 +// CHECK:STDOUT: 31: inst7800009B +// CHECK:STDOUT: 32: inst7800009D +// CHECK:STDOUT: 33: inst7800009E +// CHECK:STDOUT: 34: inst7800009F +// CHECK:STDOUT: 35: inst780000A0 +// CHECK:STDOUT: 36: inst780000A1 +// CHECK:STDOUT: 37: inst780000A2 +// CHECK:STDOUT: 38: inst780000A3 +// CHECK:STDOUT: 39: inst780000A4 +// CHECK:STDOUT: 40: inst780000A5 +// CHECK:STDOUT: 41: inst780000C4 +// CHECK:STDOUT: 42: inst780000C5 +// CHECK:STDOUT: 43: inst780000C6 +// CHECK:STDOUT: 44: inst780000C7 +// CHECK:STDOUT: 45: inst780000C8 +// CHECK:STDOUT: 46: inst780000C9 +// CHECK:STDOUT: 47: inst780000CA +// CHECK:STDOUT: 48: inst780000D3 +// CHECK:STDOUT: 49: inst780000D4 +// CHECK:STDOUT: 50: inst780000D6 +// CHECK:STDOUT: 51: inst780000D7 +// CHECK:STDOUT: 52: inst780000D8 +// CHECK:STDOUT: 53: inst780000D9 +// CHECK:STDOUT: 54: inst780000DA +// CHECK:STDOUT: 55: inst780000DC +// CHECK:STDOUT: 56: inst780000DD +// CHECK:STDOUT: 57: inst780000DE +// CHECK:STDOUT: 58: inst780000DF +// CHECK:STDOUT: 59: inst780000E0 +// CHECK:STDOUT: 60: inst780000E2 +// CHECK:STDOUT: 61: inst780000E3 +// CHECK:STDOUT: 62: inst780000E4 +// CHECK:STDOUT: 63: inst780000E5 +// CHECK:STDOUT: 64: inst780000E6 +// CHECK:STDOUT: 65: inst780000E8 +// CHECK:STDOUT: 66: inst780000E9 +// CHECK:STDOUT: 67: inst780000EA +// CHECK:STDOUT: 68: inst780000EB +// CHECK:STDOUT: 69: inst780000EC +// CHECK:STDOUT: 70: inst780000EE +// CHECK:STDOUT: 71: inst780000EF +// CHECK:STDOUT: 72: inst780000F1 +// CHECK:STDOUT: 73: inst780000F2 +// CHECK:STDOUT: 74: inst780000F3 +// CHECK:STDOUT: 75: inst780000F4 +// CHECK:STDOUT: 76: inst780000F5 +// CHECK:STDOUT: 77: inst780000FB +// CHECK:STDOUT: 78: inst780000FF +// CHECK:STDOUT: 79: inst78000102 +// CHECK:STDOUT: 80: inst78000104 +// CHECK:STDOUT: 81: inst78000106 +// CHECK:STDOUT: 82: inst78000107 +// CHECK:STDOUT: 83: inst78000108 +// CHECK:STDOUT: 84: inst78000109 +// CHECK:STDOUT: 85: inst7800010A +// CHECK:STDOUT: 86: inst7800010B +// CHECK:STDOUT: 87: inst7800010C +// CHECK:STDOUT: 88: inst7800010D +// CHECK:STDOUT: 89: inst7800010E +// CHECK:STDOUT: 90: inst78000117 +// CHECK:STDOUT: 91: inst78000118 +// CHECK:STDOUT: 92: inst7800011C +// CHECK:STDOUT: 93: inst7800011D +// CHECK:STDOUT: 94: inst7800011F +// CHECK:STDOUT: 95: inst78000120 +// CHECK:STDOUT: 96: inst78000121 +// CHECK:STDOUT: 97: inst78000122 +// CHECK:STDOUT: 98: inst78000123 +// CHECK:STDOUT: 99: inst78000125 +// CHECK:STDOUT: 100: inst78000126 +// CHECK:STDOUT: 101: inst78000127 +// CHECK:STDOUT: 102: inst78000128 +// CHECK:STDOUT: 103: inst78000129 +// CHECK:STDOUT: 104: inst7800012E +// CHECK:STDOUT: 105: inst7800012F +// CHECK:STDOUT: 106: inst78000131 +// CHECK:STDOUT: 107: inst78000139 +// CHECK:STDOUT: 108: inst7800013C +// CHECK:STDOUT: 109: inst7800013E +// CHECK:STDOUT: 110: inst78000140 +// CHECK:STDOUT: 111: inst78000141 +// CHECK:STDOUT: 112: inst78000142 +// CHECK:STDOUT: 113: inst78000143 +// CHECK:STDOUT: 114: inst78000144 +// CHECK:STDOUT: 115: inst78000145 +// CHECK:STDOUT: 116: inst78000146 +// CHECK:STDOUT: 117: inst78000147 +// CHECK:STDOUT: 118: inst78000148 +// CHECK:STDOUT: 119: inst78000149 +// CHECK:STDOUT: 120: inst78000170 +// CHECK:STDOUT: 121: inst78000171 +// CHECK:STDOUT: 122: inst78000172 +// CHECK:STDOUT: 123: inst78000173 +// CHECK:STDOUT: 124: inst78000174 +// CHECK:STDOUT: 125: inst78000175 +// CHECK:STDOUT: 126: inst78000176 +// CHECK:STDOUT: 127: inst78000177 +// CHECK:STDOUT: 128: inst78000178 +// CHECK:STDOUT: 129: inst78000185 +// CHECK:STDOUT: 130: inst78000186 +// CHECK:STDOUT: 131: inst7800018B +// CHECK:STDOUT: 132: inst7800018C +// CHECK:STDOUT: 133: inst7800018E +// CHECK:STDOUT: 134: inst78000196 +// CHECK:STDOUT: 135: inst78000199 +// CHECK:STDOUT: 136: inst7800019B +// CHECK:STDOUT: 137: inst7800019D +// CHECK:STDOUT: 138: inst7800019E +// CHECK:STDOUT: 139: inst7800019F +// CHECK:STDOUT: 140: inst780001A0 +// CHECK:STDOUT: 141: inst780001A1 +// CHECK:STDOUT: 142: inst780001A2 +// CHECK:STDOUT: 143: inst780001A3 +// CHECK:STDOUT: 144: inst780001A4 +// CHECK:STDOUT: 145: inst780001A5 +// CHECK:STDOUT: 146: inst780001A6 +// CHECK:STDOUT: 147: inst780001A7 +// CHECK:STDOUT: 148: inst780001D6 +// CHECK:STDOUT: 149: inst780001D7 +// CHECK:STDOUT: 150: inst780001D8 +// CHECK:STDOUT: 151: inst780001D9 +// CHECK:STDOUT: 152: inst780001DA +// CHECK:STDOUT: 153: inst780001DB +// CHECK:STDOUT: 154: inst780001DC +// CHECK:STDOUT: 155: inst780001DD +// CHECK:STDOUT: 156: inst780001DE +// CHECK:STDOUT: 157: inst780001DF +// CHECK:STDOUT: 158: inst780001E0 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: extra_global_variables: {} // CHECK:STDOUT: inst_block78000006: -// CHECK:STDOUT: 0: inst78000012 -// CHECK:STDOUT: 1: inst78000014 +// CHECK:STDOUT: 0: inst78000011 +// CHECK:STDOUT: 1: inst78000013 // CHECK:STDOUT: inst_block78000007: -// CHECK:STDOUT: 0: inst78000016 +// CHECK:STDOUT: 0: inst78000015 // CHECK:STDOUT: inst_block78000008: -// CHECK:STDOUT: 0: inst7800001C -// CHECK:STDOUT: 1: inst7800001D +// CHECK:STDOUT: 0: inst7800001B +// CHECK:STDOUT: 1: inst7800001C // CHECK:STDOUT: inst_block78000009: -// CHECK:STDOUT: 0: inst78000025 +// CHECK:STDOUT: 0: inst78000024 // CHECK:STDOUT: inst_block7800000A: -// CHECK:STDOUT: 0: inst7800002A -// CHECK:STDOUT: 1: inst7800002C +// CHECK:STDOUT: 0: inst78000029 +// CHECK:STDOUT: 1: inst7800002B // CHECK:STDOUT: inst_block7800000B: // CHECK:STDOUT: 0: inst(TypeType) -// CHECK:STDOUT: 1: inst7800002B -// CHECK:STDOUT: inst_block7800000C: -// CHECK:STDOUT: 0: inst7800001E -// CHECK:STDOUT: 1: inst7800002D -// CHECK:STDOUT: inst_block7800000D: -// CHECK:STDOUT: 0: inst7800001F -// CHECK:STDOUT: 1: inst7800002D -// CHECK:STDOUT: inst_block7800000E: -// CHECK:STDOUT: 0: inst7800001E -// CHECK:STDOUT: 1: inst78000033 -// CHECK:STDOUT: inst_block7800000F: -// CHECK:STDOUT: 0: inst7800001E -// CHECK:STDOUT: 1: inst7800002B -// CHECK:STDOUT: inst_block78000010: -// CHECK:STDOUT: 0: inst7800001F -// CHECK:STDOUT: 1: inst7800002B -// CHECK:STDOUT: inst_block78000011: -// CHECK:STDOUT: 0: inst78000021 -// CHECK:STDOUT: 1: inst7800003B -// CHECK:STDOUT: inst_block78000012: -// CHECK:STDOUT: 0: inst78000043 -// CHECK:STDOUT: 1: inst78000045 -// CHECK:STDOUT: inst_block78000013: -// CHECK:STDOUT: 0: inst78000016 -// CHECK:STDOUT: 1: inst78000021 -// CHECK:STDOUT: 2: inst78000025 -// CHECK:STDOUT: 3: inst7800003B -// CHECK:STDOUT: 4: inst7800003F -// CHECK:STDOUT: inst_block78000014: -// CHECK:STDOUT: 0: inst78000029 // CHECK:STDOUT: 1: inst7800002A -// CHECK:STDOUT: 2: inst7800002C -// CHECK:STDOUT: 3: inst7800002F -// CHECK:STDOUT: 4: inst78000033 -// CHECK:STDOUT: 5: inst78000035 -// CHECK:STDOUT: 6: inst78000037 -// CHECK:STDOUT: 7: inst78000042 -// CHECK:STDOUT: 8: inst78000019 -// CHECK:STDOUT: 9: inst78000043 -// CHECK:STDOUT: 10: inst78000044 -// CHECK:STDOUT: 11: inst78000028 -// CHECK:STDOUT: 12: inst78000045 -// CHECK:STDOUT: 13: inst78000046 +// CHECK:STDOUT: inst_block7800000C: +// CHECK:STDOUT: 0: inst7800001D +// CHECK:STDOUT: 1: inst7800002C +// CHECK:STDOUT: inst_block7800000D: +// CHECK:STDOUT: 0: inst7800001E +// CHECK:STDOUT: 1: inst7800002C +// CHECK:STDOUT: inst_block7800000E: +// CHECK:STDOUT: 0: inst7800001D +// CHECK:STDOUT: 1: inst78000032 +// CHECK:STDOUT: inst_block7800000F: +// CHECK:STDOUT: 0: inst7800001D +// CHECK:STDOUT: 1: inst7800002A +// CHECK:STDOUT: inst_block78000010: +// CHECK:STDOUT: 0: inst7800001E +// CHECK:STDOUT: 1: inst7800002A +// CHECK:STDOUT: inst_block78000011: +// CHECK:STDOUT: 0: inst78000020 +// CHECK:STDOUT: 1: inst7800003A +// CHECK:STDOUT: inst_block78000012: +// CHECK:STDOUT: 0: inst78000042 +// CHECK:STDOUT: 1: inst78000044 +// CHECK:STDOUT: inst_block78000013: +// CHECK:STDOUT: 0: inst78000015 +// CHECK:STDOUT: 1: inst78000020 +// CHECK:STDOUT: 2: inst78000024 +// CHECK:STDOUT: 3: inst7800003A +// CHECK:STDOUT: 4: inst7800003E +// CHECK:STDOUT: inst_block78000014: +// CHECK:STDOUT: 0: inst78000028 +// CHECK:STDOUT: 1: inst78000029 +// CHECK:STDOUT: 2: inst7800002B +// CHECK:STDOUT: 3: inst7800002E +// CHECK:STDOUT: 4: inst78000032 +// CHECK:STDOUT: 5: inst78000034 +// CHECK:STDOUT: 6: inst78000036 +// CHECK:STDOUT: 7: inst78000041 +// CHECK:STDOUT: 8: inst78000018 +// CHECK:STDOUT: 9: inst78000042 +// CHECK:STDOUT: 10: inst78000043 +// CHECK:STDOUT: 11: inst78000027 +// CHECK:STDOUT: 12: inst78000044 +// CHECK:STDOUT: 13: inst78000045 // CHECK:STDOUT: inst_block78000015: -// CHECK:STDOUT: 0: inst78000019 -// CHECK:STDOUT: inst_block78000016: -// CHECK:STDOUT: 0: inst7800001A -// CHECK:STDOUT: inst_block78000017: // CHECK:STDOUT: 0: inst78000018 -// CHECK:STDOUT: 1: inst7800001B -// CHECK:STDOUT: 2: inst7800001F -// CHECK:STDOUT: 3: inst78000023 -// CHECK:STDOUT: 4: inst78000024 -// CHECK:STDOUT: 5: inst78000027 -// CHECK:STDOUT: 6: inst78000031 -// CHECK:STDOUT: 7: inst78000036 -// CHECK:STDOUT: 8: inst78000039 -// CHECK:STDOUT: 9: inst7800003D -// CHECK:STDOUT: 10: inst7800003E -// CHECK:STDOUT: 11: inst78000041 -// CHECK:STDOUT: inst_block78000018: +// CHECK:STDOUT: inst_block78000016: +// CHECK:STDOUT: 0: inst78000019 +// CHECK:STDOUT: inst_block78000017: // CHECK:STDOUT: 0: inst78000017 // CHECK:STDOUT: 1: inst7800001A // CHECK:STDOUT: 2: inst7800001E -// CHECK:STDOUT: 3: inst78000020 -// CHECK:STDOUT: 4: inst78000022 +// CHECK:STDOUT: 3: inst78000022 +// CHECK:STDOUT: 4: inst78000023 // CHECK:STDOUT: 5: inst78000026 // CHECK:STDOUT: 6: inst78000030 -// CHECK:STDOUT: 7: inst78000034 +// CHECK:STDOUT: 7: inst78000035 // CHECK:STDOUT: 8: inst78000038 -// CHECK:STDOUT: 9: inst7800003A -// CHECK:STDOUT: 10: inst7800003C +// CHECK:STDOUT: 9: inst7800003C +// CHECK:STDOUT: 10: inst7800003D // CHECK:STDOUT: 11: inst78000040 +// CHECK:STDOUT: inst_block78000018: +// CHECK:STDOUT: 0: inst78000016 +// CHECK:STDOUT: 1: inst78000019 +// CHECK:STDOUT: 2: inst7800001D +// CHECK:STDOUT: 3: inst7800001F +// CHECK:STDOUT: 4: inst78000021 +// CHECK:STDOUT: 5: inst78000025 +// CHECK:STDOUT: 6: inst7800002F +// CHECK:STDOUT: 7: inst78000033 +// CHECK:STDOUT: 8: inst78000037 +// CHECK:STDOUT: 9: inst78000039 +// CHECK:STDOUT: 10: inst7800003B +// CHECK:STDOUT: 11: inst7800003F // CHECK:STDOUT: inst_block78000019: -// CHECK:STDOUT: 0: inst78000051 -// CHECK:STDOUT: 1: inst78000052 -// CHECK:STDOUT: 2: inst78000053 -// CHECK:STDOUT: 3: inst780001F9 -// CHECK:STDOUT: 4: inst78000200 -// CHECK:STDOUT: 5: inst78000203 -// CHECK:STDOUT: 6: inst78000204 -// CHECK:STDOUT: 7: inst78000207 -// CHECK:STDOUT: 8: inst78000208 -// CHECK:STDOUT: 9: inst78000209 -// CHECK:STDOUT: 10: inst7800020C -// CHECK:STDOUT: 11: inst7800020D -// CHECK:STDOUT: 12: inst78000055 -// CHECK:STDOUT: 13: inst7800020E -// CHECK:STDOUT: 14: inst7800020F -// CHECK:STDOUT: 15: inst78000210 -// CHECK:STDOUT: 16: inst78000211 -// CHECK:STDOUT: 17: inst78000212 -// CHECK:STDOUT: 18: inst78000213 -// CHECK:STDOUT: 19: inst78000214 -// CHECK:STDOUT: 20: inst78000215 +// CHECK:STDOUT: 0: inst78000050 +// CHECK:STDOUT: 1: inst78000051 +// CHECK:STDOUT: 2: inst78000052 +// CHECK:STDOUT: 3: inst780001F5 +// CHECK:STDOUT: 4: inst780001FC +// CHECK:STDOUT: 5: inst780001FE +// CHECK:STDOUT: 6: inst780001FF +// CHECK:STDOUT: 7: inst78000201 +// CHECK:STDOUT: 8: inst78000202 +// CHECK:STDOUT: 9: inst78000203 +// CHECK:STDOUT: 10: inst78000206 +// CHECK:STDOUT: 11: inst78000207 +// CHECK:STDOUT: 12: inst78000054 +// CHECK:STDOUT: 13: inst78000208 +// CHECK:STDOUT: 14: inst78000209 +// CHECK:STDOUT: 15: inst7800020A +// CHECK:STDOUT: 16: inst7800020B +// CHECK:STDOUT: 17: inst7800020C +// CHECK:STDOUT: 18: inst7800020D +// CHECK:STDOUT: 19: inst7800020E +// CHECK:STDOUT: 20: inst7800020F // CHECK:STDOUT: inst_block7800001A: -// CHECK:STDOUT: 0: inst78000051 -// CHECK:STDOUT: 1: inst78000052 +// CHECK:STDOUT: 0: inst78000050 +// CHECK:STDOUT: 1: inst78000051 // CHECK:STDOUT: inst_block7800001B: -// CHECK:STDOUT: 0: inst7800005D +// CHECK:STDOUT: 0: inst7800005C // CHECK:STDOUT: inst_block7800001C: -// CHECK:STDOUT: 0: inst7800005E +// CHECK:STDOUT: 0: inst7800005D // CHECK:STDOUT: inst_block7800001D: -// CHECK:STDOUT: 0: inst7800005B +// CHECK:STDOUT: 0: inst7800005A // CHECK:STDOUT: inst_block7800001E: -// CHECK:STDOUT: 0: inst7800005B -// CHECK:STDOUT: 1: inst78000060 -// CHECK:STDOUT: 2: inst78000061 +// CHECK:STDOUT: 0: inst7800005A +// CHECK:STDOUT: 1: inst7800005F +// CHECK:STDOUT: 2: inst78000060 // CHECK:STDOUT: inst_block7800001F: -// CHECK:STDOUT: 0: inst7800006D -// CHECK:STDOUT: 1: inst7800006E +// CHECK:STDOUT: 0: inst7800006C +// CHECK:STDOUT: 1: inst7800006D // CHECK:STDOUT: inst_block78000020: -// CHECK:STDOUT: 0: inst78000070 +// CHECK:STDOUT: 0: inst7800006F // CHECK:STDOUT: inst_block78000021: -// CHECK:STDOUT: 0: inst78000074 +// CHECK:STDOUT: 0: inst78000073 // CHECK:STDOUT: inst_block78000022: -// CHECK:STDOUT: 0: inst78000075 -// CHECK:STDOUT: 1: inst78000076 -// CHECK:STDOUT: 2: inst78000077 -// CHECK:STDOUT: 3: inst78000078 -// CHECK:STDOUT: 4: inst78000079 -// CHECK:STDOUT: 5: inst7800007A -// CHECK:STDOUT: 6: inst7800007B -// CHECK:STDOUT: 7: inst7800007C +// CHECK:STDOUT: 0: inst78000074 +// CHECK:STDOUT: 1: inst78000075 +// CHECK:STDOUT: 2: inst78000076 +// CHECK:STDOUT: 3: inst78000077 +// CHECK:STDOUT: 4: inst78000078 +// CHECK:STDOUT: 5: inst78000079 +// CHECK:STDOUT: 6: inst7800007A +// CHECK:STDOUT: 7: inst7800007B // CHECK:STDOUT: inst_block78000023: -// CHECK:STDOUT: 0: inst7800005B -// CHECK:STDOUT: 1: inst78000062 -// CHECK:STDOUT: 2: inst78000063 -// CHECK:STDOUT: 3: inst78000067 -// CHECK:STDOUT: 4: inst78000069 -// CHECK:STDOUT: 5: inst7800006B -// CHECK:STDOUT: 6: inst78000064 -// CHECK:STDOUT: 7: inst78000066 +// CHECK:STDOUT: 0: inst7800005A +// CHECK:STDOUT: 1: inst78000061 +// CHECK:STDOUT: 2: inst78000062 +// CHECK:STDOUT: 3: inst78000066 +// CHECK:STDOUT: 4: inst78000068 +// CHECK:STDOUT: 5: inst7800006A +// CHECK:STDOUT: 6: inst78000063 +// CHECK:STDOUT: 7: inst78000065 // CHECK:STDOUT: inst_block78000024: -// CHECK:STDOUT: 0: inst7800007F +// CHECK:STDOUT: 0: inst7800007E // CHECK:STDOUT: inst_block78000025: -// CHECK:STDOUT: 0: inst7800007F -// CHECK:STDOUT: 1: inst78000080 -// CHECK:STDOUT: 2: inst78000081 +// CHECK:STDOUT: 0: inst7800007E +// CHECK:STDOUT: 1: inst7800007F +// CHECK:STDOUT: 2: inst78000080 // CHECK:STDOUT: inst_block78000026: -// CHECK:STDOUT: 0: inst7800008D +// CHECK:STDOUT: 0: inst7800008C // CHECK:STDOUT: inst_block78000027: -// CHECK:STDOUT: 0: inst78000089 +// CHECK:STDOUT: 0: inst78000088 // CHECK:STDOUT: inst_block78000028: -// CHECK:STDOUT: 0: inst78000096 +// CHECK:STDOUT: 0: inst78000095 +// CHECK:STDOUT: 1: inst78000088 +// CHECK:STDOUT: 2: inst78000089 +// CHECK:STDOUT: 3: inst7800008A +// CHECK:STDOUT: 4: inst7800008B +// CHECK:STDOUT: 5: inst7800008E +// CHECK:STDOUT: inst_block78000029: +// CHECK:STDOUT: 0: inst78000090 +// CHECK:STDOUT: 1: inst78000091 +// CHECK:STDOUT: inst_block7800002A: +// CHECK:STDOUT: 0: inst7800009E +// CHECK:STDOUT: 1: inst7800009F +// CHECK:STDOUT: inst_block7800002B: +// CHECK:STDOUT: 0: inst780000A1 +// CHECK:STDOUT: inst_block7800002C: +// CHECK:STDOUT: 0: inst780000A5 +// CHECK:STDOUT: inst_block7800002D: +// CHECK:STDOUT: 0: inst780000A6 +// CHECK:STDOUT: 1: inst780000A7 +// CHECK:STDOUT: 2: inst780000A8 +// CHECK:STDOUT: 3: inst780000A9 +// CHECK:STDOUT: 4: inst780000AA +// CHECK:STDOUT: 5: inst780000AB +// CHECK:STDOUT: 6: inst780000AC +// CHECK:STDOUT: 7: inst780000AD +// CHECK:STDOUT: 8: inst780000AE +// CHECK:STDOUT: inst_block7800002E: +// CHECK:STDOUT: 0: inst78000088 +// CHECK:STDOUT: 1: inst780000B0 +// CHECK:STDOUT: 2: inst780000B1 +// CHECK:STDOUT: inst_block7800002F: +// CHECK:STDOUT: 0: inst78000088 +// CHECK:STDOUT: 1: inst78000089 +// CHECK:STDOUT: 2: inst780000B4 +// CHECK:STDOUT: 3: inst780000B5 +// CHECK:STDOUT: 4: inst780000B6 +// CHECK:STDOUT: 5: inst780000B7 +// CHECK:STDOUT: 6: inst780000B8 +// CHECK:STDOUT: 7: inst780000B9 +// CHECK:STDOUT: inst_block78000030: +// CHECK:STDOUT: 0: inst780000A6 +// CHECK:STDOUT: inst_block78000031: +// CHECK:STDOUT: 0: inst780000A6 +// CHECK:STDOUT: inst_block78000032: +// CHECK:STDOUT: 0: inst780000BD +// CHECK:STDOUT: 1: inst780000BE +// CHECK:STDOUT: 2: inst780000BF +// CHECK:STDOUT: 3: inst780000C0 +// CHECK:STDOUT: 4: inst780000C1 +// CHECK:STDOUT: 5: inst780000C2 +// CHECK:STDOUT: 6: inst780000C3 +// CHECK:STDOUT: inst_block78000033: +// CHECK:STDOUT: 0: inst78000088 // CHECK:STDOUT: 1: inst78000089 // CHECK:STDOUT: 2: inst7800008A -// CHECK:STDOUT: 3: inst7800008B -// CHECK:STDOUT: 4: inst7800008C -// CHECK:STDOUT: 5: inst7800008F -// CHECK:STDOUT: inst_block78000029: -// CHECK:STDOUT: 0: inst78000091 -// CHECK:STDOUT: 1: inst78000092 -// CHECK:STDOUT: inst_block7800002A: -// CHECK:STDOUT: 0: inst7800009F -// CHECK:STDOUT: 1: inst780000A0 -// CHECK:STDOUT: inst_block7800002B: -// CHECK:STDOUT: 0: inst780000A2 -// CHECK:STDOUT: inst_block7800002C: -// CHECK:STDOUT: 0: inst780000A6 -// CHECK:STDOUT: inst_block7800002D: -// CHECK:STDOUT: 0: inst780000A7 -// CHECK:STDOUT: 1: inst780000A8 -// CHECK:STDOUT: 2: inst780000A9 -// CHECK:STDOUT: 3: inst780000AA -// CHECK:STDOUT: 4: inst780000AB -// CHECK:STDOUT: 5: inst780000AC -// CHECK:STDOUT: 6: inst780000AD -// CHECK:STDOUT: 7: inst780000AE -// CHECK:STDOUT: 8: inst780000AF -// CHECK:STDOUT: inst_block7800002E: -// CHECK:STDOUT: 0: inst78000089 -// CHECK:STDOUT: 1: inst780000B1 -// CHECK:STDOUT: 2: inst780000B2 -// CHECK:STDOUT: inst_block7800002F: -// CHECK:STDOUT: 0: inst78000089 -// CHECK:STDOUT: 1: inst7800008A -// CHECK:STDOUT: 2: inst780000B5 -// CHECK:STDOUT: 3: inst780000B6 -// CHECK:STDOUT: 4: inst780000B7 -// CHECK:STDOUT: 5: inst780000B8 -// CHECK:STDOUT: 6: inst780000B9 -// CHECK:STDOUT: 7: inst780000BA -// CHECK:STDOUT: inst_block78000030: -// CHECK:STDOUT: 0: inst780000A7 -// CHECK:STDOUT: inst_block78000031: -// CHECK:STDOUT: 0: inst780000A7 -// CHECK:STDOUT: inst_block78000032: -// CHECK:STDOUT: 0: inst780000BE -// CHECK:STDOUT: 1: inst780000BF -// CHECK:STDOUT: 2: inst780000C0 -// CHECK:STDOUT: 3: inst780000C1 -// CHECK:STDOUT: 4: inst780000C2 -// CHECK:STDOUT: 5: inst780000C3 -// CHECK:STDOUT: 6: inst780000C4 -// CHECK:STDOUT: inst_block78000033: -// CHECK:STDOUT: 0: inst78000089 -// CHECK:STDOUT: 1: inst7800008A -// CHECK:STDOUT: 2: inst7800008B -// CHECK:STDOUT: 3: inst78000093 -// CHECK:STDOUT: 4: inst78000099 -// CHECK:STDOUT: 5: inst7800009B -// CHECK:STDOUT: 6: inst7800009D -// CHECK:STDOUT: 7: inst78000094 -// CHECK:STDOUT: 8: inst78000098 +// CHECK:STDOUT: 3: inst78000092 +// CHECK:STDOUT: 4: inst78000098 +// CHECK:STDOUT: 5: inst7800009A +// CHECK:STDOUT: 6: inst7800009C +// CHECK:STDOUT: 7: inst78000093 +// CHECK:STDOUT: 8: inst78000097 // CHECK:STDOUT: inst_block78000034: -// CHECK:STDOUT: 0: inst780000C7 +// CHECK:STDOUT: 0: inst780000C6 // CHECK:STDOUT: inst_block78000035: -// CHECK:STDOUT: 0: inst780000CB +// CHECK:STDOUT: 0: inst780000CA // CHECK:STDOUT: inst_block78000036: -// CHECK:STDOUT: 0: inst780000CD -// CHECK:STDOUT: inst_block78000037: // CHECK:STDOUT: 0: inst780000CC -// CHECK:STDOUT: 1: inst780000CD -// CHECK:STDOUT: 2: inst780000CE -// CHECK:STDOUT: 3: inst780000CF -// CHECK:STDOUT: 4: inst780000D0 -// CHECK:STDOUT: 5: inst780000D1 +// CHECK:STDOUT: inst_block78000037: +// CHECK:STDOUT: 0: inst780000CB +// CHECK:STDOUT: 1: inst780000CC +// CHECK:STDOUT: 2: inst780000CD +// CHECK:STDOUT: 3: inst780000CE +// CHECK:STDOUT: 4: inst780000CF +// CHECK:STDOUT: 5: inst780000D0 // CHECK:STDOUT: inst_block78000038: -// CHECK:STDOUT: 0: inst780000CD +// CHECK:STDOUT: 0: inst780000CC // CHECK:STDOUT: inst_block78000039: -// CHECK:STDOUT: 0: inst780000D2 -// CHECK:STDOUT: 1: inst780000D3 +// CHECK:STDOUT: 0: inst780000D1 +// CHECK:STDOUT: 1: inst780000D2 // CHECK:STDOUT: inst_block7800003A: -// CHECK:STDOUT: 0: inst780000EF +// CHECK:STDOUT: 0: inst780000EE // CHECK:STDOUT: inst_block7800003B: -// CHECK:STDOUT: 0: inst78000017 -// CHECK:STDOUT: 1: inst7800001A -// CHECK:STDOUT: 2: inst7800001E -// CHECK:STDOUT: 3: inst780000EE -// CHECK:STDOUT: 4: inst780000F1 +// CHECK:STDOUT: 0: inst78000016 +// CHECK:STDOUT: 1: inst78000019 +// CHECK:STDOUT: 2: inst7800001D +// CHECK:STDOUT: 3: inst780000ED +// CHECK:STDOUT: 4: inst780000F0 // CHECK:STDOUT: inst_block7800003C: -// CHECK:STDOUT: 0: inst780000F2 +// CHECK:STDOUT: 0: inst780000F1 // CHECK:STDOUT: inst_block7800003D: -// CHECK:STDOUT: 0: inst780000F6 +// CHECK:STDOUT: 0: inst780000F5 // CHECK:STDOUT: inst_block7800003E: -// CHECK:STDOUT: 0: inst780000F8 -// CHECK:STDOUT: inst_block7800003F: // CHECK:STDOUT: 0: inst780000F7 -// CHECK:STDOUT: 1: inst780000F8 -// CHECK:STDOUT: 2: inst780000F9 -// CHECK:STDOUT: 3: inst780000FA -// CHECK:STDOUT: 4: inst780000FB +// CHECK:STDOUT: inst_block7800003F: +// CHECK:STDOUT: 0: inst780000F6 +// CHECK:STDOUT: 1: inst780000F7 +// CHECK:STDOUT: 2: inst780000F8 +// CHECK:STDOUT: 3: inst780000F9 +// CHECK:STDOUT: 4: inst780000FA // CHECK:STDOUT: inst_block78000040: -// CHECK:STDOUT: 0: inst78000108 -// CHECK:STDOUT: 1: inst78000109 +// CHECK:STDOUT: 0: inst78000107 +// CHECK:STDOUT: 1: inst78000108 // CHECK:STDOUT: inst_block78000041: -// CHECK:STDOUT: 0: inst7800010B +// CHECK:STDOUT: 0: inst7800010A // CHECK:STDOUT: inst_block78000042: -// CHECK:STDOUT: 0: inst7800010F +// CHECK:STDOUT: 0: inst7800010E // CHECK:STDOUT: inst_block78000043: -// CHECK:STDOUT: 0: inst78000110 -// CHECK:STDOUT: 1: inst78000111 -// CHECK:STDOUT: 2: inst78000112 -// CHECK:STDOUT: 3: inst78000113 -// CHECK:STDOUT: 4: inst78000114 -// CHECK:STDOUT: 5: inst78000115 -// CHECK:STDOUT: 6: inst78000116 -// CHECK:STDOUT: 7: inst78000117 +// CHECK:STDOUT: 0: inst7800010F +// CHECK:STDOUT: 1: inst78000110 +// CHECK:STDOUT: 2: inst78000111 +// CHECK:STDOUT: 3: inst78000112 +// CHECK:STDOUT: 4: inst78000113 +// CHECK:STDOUT: 5: inst78000114 +// CHECK:STDOUT: 6: inst78000115 +// CHECK:STDOUT: 7: inst78000116 // CHECK:STDOUT: inst_block78000044: -// CHECK:STDOUT: 0: inst7800001A -// CHECK:STDOUT: 1: inst7800001E -// CHECK:STDOUT: 2: inst78000020 -// CHECK:STDOUT: 3: inst78000102 -// CHECK:STDOUT: 4: inst78000104 -// CHECK:STDOUT: 5: inst78000106 -// CHECK:STDOUT: 6: inst780000FF -// CHECK:STDOUT: 7: inst78000101 +// CHECK:STDOUT: 0: inst78000019 +// CHECK:STDOUT: 1: inst7800001D +// CHECK:STDOUT: 2: inst7800001F +// CHECK:STDOUT: 3: inst78000101 +// CHECK:STDOUT: 4: inst78000103 +// CHECK:STDOUT: 5: inst78000105 +// CHECK:STDOUT: 6: inst780000FE +// CHECK:STDOUT: 7: inst78000100 // CHECK:STDOUT: inst_block78000045: -// CHECK:STDOUT: 0: inst780000F8 +// CHECK:STDOUT: 0: inst780000F7 // CHECK:STDOUT: inst_block78000046: -// CHECK:STDOUT: 0: inst7800011A -// CHECK:STDOUT: 1: inst7800011B -// CHECK:STDOUT: 2: inst7800011C +// CHECK:STDOUT: 0: inst78000119 +// CHECK:STDOUT: 1: inst7800011A +// CHECK:STDOUT: 2: inst7800011B // CHECK:STDOUT: inst_block78000047: -// CHECK:STDOUT: 0: inst7800008A -// CHECK:STDOUT: 1: inst7800012C -// CHECK:STDOUT: inst_block78000048: -// CHECK:STDOUT: 0: inst7800012F -// CHECK:STDOUT: inst_block78000049: // CHECK:STDOUT: 0: inst78000089 // CHECK:STDOUT: 1: inst7800012B +// CHECK:STDOUT: inst_block78000048: +// CHECK:STDOUT: 0: inst7800012E +// CHECK:STDOUT: inst_block78000049: +// CHECK:STDOUT: 0: inst78000088 +// CHECK:STDOUT: 1: inst7800012A // CHECK:STDOUT: inst_block7800004A: -// CHECK:STDOUT: 0: inst78000059 -// CHECK:STDOUT: 1: inst78000059 +// CHECK:STDOUT: 0: inst78000058 +// CHECK:STDOUT: 1: inst78000058 // CHECK:STDOUT: inst_block7800004B: -// CHECK:STDOUT: 0: inst78000096 -// CHECK:STDOUT: 1: inst78000089 -// CHECK:STDOUT: 2: inst78000139 -// CHECK:STDOUT: 3: inst7800012B -// CHECK:STDOUT: 4: inst78000138 -// CHECK:STDOUT: 5: inst7800008A -// CHECK:STDOUT: 6: inst7800012C -// CHECK:STDOUT: 7: inst7800012D -// CHECK:STDOUT: 8: inst7800012E -// CHECK:STDOUT: 9: inst78000131 +// CHECK:STDOUT: 0: inst78000095 +// CHECK:STDOUT: 1: inst78000088 +// CHECK:STDOUT: 2: inst78000138 +// CHECK:STDOUT: 3: inst7800012A +// CHECK:STDOUT: 4: inst78000137 +// CHECK:STDOUT: 5: inst78000089 +// CHECK:STDOUT: 6: inst7800012B +// CHECK:STDOUT: 7: inst7800012C +// CHECK:STDOUT: 8: inst7800012D +// CHECK:STDOUT: 9: inst78000130 // CHECK:STDOUT: inst_block7800004C: -// CHECK:STDOUT: 0: inst78000133 -// CHECK:STDOUT: 1: inst78000134 +// CHECK:STDOUT: 0: inst78000132 +// CHECK:STDOUT: 1: inst78000133 // CHECK:STDOUT: inst_block7800004D: -// CHECK:STDOUT: 0: inst78000142 -// CHECK:STDOUT: 1: inst78000143 +// CHECK:STDOUT: 0: inst78000141 +// CHECK:STDOUT: 1: inst78000142 // CHECK:STDOUT: inst_block7800004E: -// CHECK:STDOUT: 0: inst78000145 +// CHECK:STDOUT: 0: inst78000144 // CHECK:STDOUT: inst_block7800004F: -// CHECK:STDOUT: 0: inst78000149 -// CHECK:STDOUT: 1: inst7800014A +// CHECK:STDOUT: 0: inst78000148 +// CHECK:STDOUT: 1: inst78000149 // CHECK:STDOUT: inst_block78000050: -// CHECK:STDOUT: 0: inst7800014C -// CHECK:STDOUT: 1: inst7800014E +// CHECK:STDOUT: 0: inst7800014B +// CHECK:STDOUT: 1: inst7800014D // CHECK:STDOUT: inst_block78000051: -// CHECK:STDOUT: 0: inst7800014B -// CHECK:STDOUT: 1: inst7800014C -// CHECK:STDOUT: 2: inst7800014D -// CHECK:STDOUT: 3: inst7800014E -// CHECK:STDOUT: 4: inst7800014F -// CHECK:STDOUT: 5: inst78000150 -// CHECK:STDOUT: 6: inst78000151 -// CHECK:STDOUT: 7: inst78000152 -// CHECK:STDOUT: 8: inst78000153 -// CHECK:STDOUT: 9: inst78000154 -// CHECK:STDOUT: 10: inst78000155 +// CHECK:STDOUT: 0: inst7800014A +// CHECK:STDOUT: 1: inst7800014B +// CHECK:STDOUT: 2: inst7800014C +// CHECK:STDOUT: 3: inst7800014D +// CHECK:STDOUT: 4: inst7800014E +// CHECK:STDOUT: 5: inst7800014F +// CHECK:STDOUT: 6: inst78000150 +// CHECK:STDOUT: 7: inst78000151 +// CHECK:STDOUT: 8: inst78000152 +// CHECK:STDOUT: 9: inst78000153 +// CHECK:STDOUT: 10: inst78000154 // CHECK:STDOUT: inst_block78000052: -// CHECK:STDOUT: 0: inst7800012B +// CHECK:STDOUT: 0: inst7800012A // CHECK:STDOUT: inst_block78000053: -// CHECK:STDOUT: 0: inst7800012B -// CHECK:STDOUT: 1: inst78000157 -// CHECK:STDOUT: 2: inst78000158 +// CHECK:STDOUT: 0: inst7800012A +// CHECK:STDOUT: 1: inst78000156 +// CHECK:STDOUT: 2: inst78000157 // CHECK:STDOUT: inst_block78000054: -// CHECK:STDOUT: 0: inst7800012B -// CHECK:STDOUT: 1: inst7800012C -// CHECK:STDOUT: 2: inst7800015B -// CHECK:STDOUT: 3: inst7800015C -// CHECK:STDOUT: 4: inst7800015D -// CHECK:STDOUT: 5: inst7800015E -// CHECK:STDOUT: 6: inst7800015F -// CHECK:STDOUT: 7: inst78000160 +// CHECK:STDOUT: 0: inst7800012A +// CHECK:STDOUT: 1: inst7800012B +// CHECK:STDOUT: 2: inst7800015A +// CHECK:STDOUT: 3: inst7800015B +// CHECK:STDOUT: 4: inst7800015C +// CHECK:STDOUT: 5: inst7800015D +// CHECK:STDOUT: 6: inst7800015E +// CHECK:STDOUT: 7: inst7800015F // CHECK:STDOUT: inst_block78000055: -// CHECK:STDOUT: 0: inst7800014B +// CHECK:STDOUT: 0: inst7800014A // CHECK:STDOUT: inst_block78000056: -// CHECK:STDOUT: 0: inst7800014B +// CHECK:STDOUT: 0: inst7800014A // CHECK:STDOUT: inst_block78000057: -// CHECK:STDOUT: 0: inst7800014D +// CHECK:STDOUT: 0: inst7800014C // CHECK:STDOUT: inst_block78000058: -// CHECK:STDOUT: 0: inst7800014D +// CHECK:STDOUT: 0: inst7800014C // CHECK:STDOUT: inst_block78000059: -// CHECK:STDOUT: 0: inst78000164 -// CHECK:STDOUT: 1: inst78000165 -// CHECK:STDOUT: 2: inst78000166 -// CHECK:STDOUT: 3: inst78000167 -// CHECK:STDOUT: 4: inst78000168 -// CHECK:STDOUT: 5: inst78000169 -// CHECK:STDOUT: 6: inst7800016A -// CHECK:STDOUT: 7: inst7800016B -// CHECK:STDOUT: 8: inst7800016C -// CHECK:STDOUT: 9: inst7800016D -// CHECK:STDOUT: 10: inst7800016E -// CHECK:STDOUT: 11: inst7800016F -// CHECK:STDOUT: 12: inst78000170 +// CHECK:STDOUT: 0: inst78000163 +// CHECK:STDOUT: 1: inst78000164 +// CHECK:STDOUT: 2: inst78000165 +// CHECK:STDOUT: 3: inst78000166 +// CHECK:STDOUT: 4: inst78000167 +// CHECK:STDOUT: 5: inst78000168 +// CHECK:STDOUT: 6: inst78000169 +// CHECK:STDOUT: 7: inst7800016A +// CHECK:STDOUT: 8: inst7800016B +// CHECK:STDOUT: 9: inst7800016C +// CHECK:STDOUT: 10: inst7800016D +// CHECK:STDOUT: 11: inst7800016E +// CHECK:STDOUT: 12: inst7800016F // CHECK:STDOUT: inst_block7800005A: -// CHECK:STDOUT: 0: inst78000089 -// CHECK:STDOUT: 1: inst7800008A -// CHECK:STDOUT: 2: inst7800012B -// CHECK:STDOUT: 3: inst7800012C -// CHECK:STDOUT: 4: inst7800012D -// CHECK:STDOUT: 5: inst78000135 -// CHECK:STDOUT: 6: inst7800013C -// CHECK:STDOUT: 7: inst7800013E -// CHECK:STDOUT: 8: inst78000140 -// CHECK:STDOUT: 9: inst78000136 -// CHECK:STDOUT: 10: inst7800013B +// CHECK:STDOUT: 0: inst78000088 +// CHECK:STDOUT: 1: inst78000089 +// CHECK:STDOUT: 2: inst7800012A +// CHECK:STDOUT: 3: inst7800012B +// CHECK:STDOUT: 4: inst7800012C +// CHECK:STDOUT: 5: inst78000134 +// CHECK:STDOUT: 6: inst7800013B +// CHECK:STDOUT: 7: inst7800013D +// CHECK:STDOUT: 8: inst7800013F +// CHECK:STDOUT: 9: inst78000135 +// CHECK:STDOUT: 10: inst7800013A // CHECK:STDOUT: inst_block7800005B: -// CHECK:STDOUT: 0: inst78000173 -// CHECK:STDOUT: 1: inst78000174 +// CHECK:STDOUT: 0: inst78000172 +// CHECK:STDOUT: 1: inst78000173 // CHECK:STDOUT: inst_block7800005C: -// CHECK:STDOUT: 0: inst78000178 -// CHECK:STDOUT: 1: inst78000179 +// CHECK:STDOUT: 0: inst78000177 +// CHECK:STDOUT: 1: inst78000178 // CHECK:STDOUT: inst_block7800005D: -// CHECK:STDOUT: 0: inst7800017B -// CHECK:STDOUT: 1: inst7800017D -// CHECK:STDOUT: inst_block7800005E: -// CHECK:STDOUT: 0: inst7800017F -// CHECK:STDOUT: 1: inst78000180 -// CHECK:STDOUT: inst_block7800005F: -// CHECK:STDOUT: 0: inst7800017B -// CHECK:STDOUT: 1: inst7800017D -// CHECK:STDOUT: inst_block78000060: // CHECK:STDOUT: 0: inst7800017A -// CHECK:STDOUT: 1: inst7800017B -// CHECK:STDOUT: 2: inst7800017C -// CHECK:STDOUT: 3: inst7800017D -// CHECK:STDOUT: 4: inst7800017E -// CHECK:STDOUT: 5: inst7800017F -// CHECK:STDOUT: 6: inst78000180 -// CHECK:STDOUT: 7: inst78000181 -// CHECK:STDOUT: 8: inst78000182 -// CHECK:STDOUT: 9: inst78000183 +// CHECK:STDOUT: 1: inst7800017C +// CHECK:STDOUT: inst_block7800005E: +// CHECK:STDOUT: 0: inst7800017E +// CHECK:STDOUT: 1: inst7800017F +// CHECK:STDOUT: inst_block7800005F: +// CHECK:STDOUT: 0: inst7800017A +// CHECK:STDOUT: 1: inst7800017C +// CHECK:STDOUT: inst_block78000060: +// CHECK:STDOUT: 0: inst78000179 +// CHECK:STDOUT: 1: inst7800017A +// CHECK:STDOUT: 2: inst7800017B +// CHECK:STDOUT: 3: inst7800017C +// CHECK:STDOUT: 4: inst7800017D +// CHECK:STDOUT: 5: inst7800017E +// CHECK:STDOUT: 6: inst7800017F +// CHECK:STDOUT: 7: inst78000180 +// CHECK:STDOUT: 8: inst78000181 +// CHECK:STDOUT: 9: inst78000182 // CHECK:STDOUT: inst_block78000061: -// CHECK:STDOUT: 0: inst7800017B -// CHECK:STDOUT: 1: inst7800017D +// CHECK:STDOUT: 0: inst7800017A +// CHECK:STDOUT: 1: inst7800017C // CHECK:STDOUT: inst_block78000062: -// CHECK:STDOUT: 0: inst78000184 -// CHECK:STDOUT: 1: inst78000185 +// CHECK:STDOUT: 0: inst78000183 +// CHECK:STDOUT: 1: inst78000184 // CHECK:STDOUT: inst_block78000063: -// CHECK:STDOUT: 0: inst7800008A -// CHECK:STDOUT: 1: inst7800012C -// CHECK:STDOUT: 2: inst78000189 -// CHECK:STDOUT: inst_block78000064: -// CHECK:STDOUT: 0: inst7800018C -// CHECK:STDOUT: inst_block78000065: // CHECK:STDOUT: 0: inst78000089 // CHECK:STDOUT: 1: inst7800012B // CHECK:STDOUT: 2: inst78000188 +// CHECK:STDOUT: inst_block78000064: +// CHECK:STDOUT: 0: inst7800018B +// CHECK:STDOUT: inst_block78000065: +// CHECK:STDOUT: 0: inst78000088 +// CHECK:STDOUT: 1: inst7800012A +// CHECK:STDOUT: 2: inst78000187 // CHECK:STDOUT: inst_block78000066: -// CHECK:STDOUT: 0: inst78000059 -// CHECK:STDOUT: 1: inst78000059 -// CHECK:STDOUT: 2: inst78000059 +// CHECK:STDOUT: 0: inst78000058 +// CHECK:STDOUT: 1: inst78000058 +// CHECK:STDOUT: 2: inst78000058 // CHECK:STDOUT: inst_block78000067: -// CHECK:STDOUT: 0: inst78000096 -// CHECK:STDOUT: 1: inst78000089 -// CHECK:STDOUT: 2: inst78000139 -// CHECK:STDOUT: 3: inst7800012B -// CHECK:STDOUT: 4: inst78000196 -// CHECK:STDOUT: 5: inst78000188 -// CHECK:STDOUT: 6: inst78000195 -// CHECK:STDOUT: 7: inst7800008A -// CHECK:STDOUT: 8: inst7800012C -// CHECK:STDOUT: 9: inst78000189 -// CHECK:STDOUT: 10: inst7800018A -// CHECK:STDOUT: 11: inst7800018B -// CHECK:STDOUT: 12: inst7800018E +// CHECK:STDOUT: 0: inst78000095 +// CHECK:STDOUT: 1: inst78000088 +// CHECK:STDOUT: 2: inst78000138 +// CHECK:STDOUT: 3: inst7800012A +// CHECK:STDOUT: 4: inst78000195 +// CHECK:STDOUT: 5: inst78000187 +// CHECK:STDOUT: 6: inst78000194 +// CHECK:STDOUT: 7: inst78000089 +// CHECK:STDOUT: 8: inst7800012B +// CHECK:STDOUT: 9: inst78000188 +// CHECK:STDOUT: 10: inst78000189 +// CHECK:STDOUT: 11: inst7800018A +// CHECK:STDOUT: 12: inst7800018D // CHECK:STDOUT: inst_block78000068: -// CHECK:STDOUT: 0: inst78000190 -// CHECK:STDOUT: 1: inst78000191 +// CHECK:STDOUT: 0: inst7800018F +// CHECK:STDOUT: 1: inst78000190 // CHECK:STDOUT: inst_block78000069: -// CHECK:STDOUT: 0: inst7800019F -// CHECK:STDOUT: 1: inst780001A0 +// CHECK:STDOUT: 0: inst7800019E +// CHECK:STDOUT: 1: inst7800019F // CHECK:STDOUT: inst_block7800006A: -// CHECK:STDOUT: 0: inst780001A2 +// CHECK:STDOUT: 0: inst780001A1 // CHECK:STDOUT: inst_block7800006B: -// CHECK:STDOUT: 0: inst780001A6 -// CHECK:STDOUT: 1: inst780001A7 -// CHECK:STDOUT: 2: inst780001A8 +// CHECK:STDOUT: 0: inst780001A5 +// CHECK:STDOUT: 1: inst780001A6 +// CHECK:STDOUT: 2: inst780001A7 // CHECK:STDOUT: inst_block7800006C: -// CHECK:STDOUT: 0: inst780001AA -// CHECK:STDOUT: 1: inst780001AC -// CHECK:STDOUT: 2: inst780001AE +// CHECK:STDOUT: 0: inst780001A9 +// CHECK:STDOUT: 1: inst780001AB +// CHECK:STDOUT: 2: inst780001AD // CHECK:STDOUT: inst_block7800006D: -// CHECK:STDOUT: 0: inst780001A9 -// CHECK:STDOUT: 1: inst780001AA -// CHECK:STDOUT: 2: inst780001AB -// CHECK:STDOUT: 3: inst780001AC -// CHECK:STDOUT: 4: inst780001AD -// CHECK:STDOUT: 5: inst780001AE -// CHECK:STDOUT: 6: inst780001AF -// CHECK:STDOUT: 7: inst780001B0 -// CHECK:STDOUT: 8: inst780001B1 -// CHECK:STDOUT: 9: inst780001B2 -// CHECK:STDOUT: 10: inst780001B3 -// CHECK:STDOUT: 11: inst780001B4 -// CHECK:STDOUT: 12: inst780001B5 +// CHECK:STDOUT: 0: inst780001A8 +// CHECK:STDOUT: 1: inst780001A9 +// CHECK:STDOUT: 2: inst780001AA +// CHECK:STDOUT: 3: inst780001AB +// CHECK:STDOUT: 4: inst780001AC +// CHECK:STDOUT: 5: inst780001AD +// CHECK:STDOUT: 6: inst780001AE +// CHECK:STDOUT: 7: inst780001AF +// CHECK:STDOUT: 8: inst780001B0 +// CHECK:STDOUT: 9: inst780001B1 +// CHECK:STDOUT: 10: inst780001B2 +// CHECK:STDOUT: 11: inst780001B3 +// CHECK:STDOUT: 12: inst780001B4 // CHECK:STDOUT: inst_block7800006E: -// CHECK:STDOUT: 0: inst78000188 +// CHECK:STDOUT: 0: inst78000187 // CHECK:STDOUT: inst_block7800006F: -// CHECK:STDOUT: 0: inst78000188 -// CHECK:STDOUT: 1: inst780001B7 -// CHECK:STDOUT: 2: inst780001B8 +// CHECK:STDOUT: 0: inst78000187 +// CHECK:STDOUT: 1: inst780001B6 +// CHECK:STDOUT: 2: inst780001B7 // CHECK:STDOUT: inst_block78000070: -// CHECK:STDOUT: 0: inst78000188 -// CHECK:STDOUT: 1: inst78000189 -// CHECK:STDOUT: 2: inst780001BB -// CHECK:STDOUT: 3: inst780001BC -// CHECK:STDOUT: 4: inst780001BD -// CHECK:STDOUT: 5: inst780001BE -// CHECK:STDOUT: 6: inst780001BF -// CHECK:STDOUT: 7: inst780001C0 +// CHECK:STDOUT: 0: inst78000187 +// CHECK:STDOUT: 1: inst78000188 +// CHECK:STDOUT: 2: inst780001BA +// CHECK:STDOUT: 3: inst780001BB +// CHECK:STDOUT: 4: inst780001BC +// CHECK:STDOUT: 5: inst780001BD +// CHECK:STDOUT: 6: inst780001BE +// CHECK:STDOUT: 7: inst780001BF // CHECK:STDOUT: inst_block78000071: -// CHECK:STDOUT: 0: inst780001A9 +// CHECK:STDOUT: 0: inst780001A8 // CHECK:STDOUT: inst_block78000072: -// CHECK:STDOUT: 0: inst780001A9 +// CHECK:STDOUT: 0: inst780001A8 // CHECK:STDOUT: inst_block78000073: -// CHECK:STDOUT: 0: inst780001AB +// CHECK:STDOUT: 0: inst780001AA // CHECK:STDOUT: inst_block78000074: -// CHECK:STDOUT: 0: inst780001AB +// CHECK:STDOUT: 0: inst780001AA // CHECK:STDOUT: inst_block78000075: -// CHECK:STDOUT: 0: inst780001AD +// CHECK:STDOUT: 0: inst780001AC // CHECK:STDOUT: inst_block78000076: -// CHECK:STDOUT: 0: inst780001AD +// CHECK:STDOUT: 0: inst780001AC // CHECK:STDOUT: inst_block78000077: -// CHECK:STDOUT: 0: inst780001C4 -// CHECK:STDOUT: 1: inst780001C5 -// CHECK:STDOUT: 2: inst780001C6 -// CHECK:STDOUT: 3: inst780001C7 -// CHECK:STDOUT: 4: inst780001C8 -// CHECK:STDOUT: 5: inst780001C9 -// CHECK:STDOUT: 6: inst780001CA -// CHECK:STDOUT: 7: inst780001CB -// CHECK:STDOUT: 8: inst780001CC -// CHECK:STDOUT: 9: inst780001CD -// CHECK:STDOUT: 10: inst780001CE -// CHECK:STDOUT: 11: inst780001CF -// CHECK:STDOUT: 12: inst780001D0 -// CHECK:STDOUT: 13: inst780001D1 -// CHECK:STDOUT: 14: inst780001D2 -// CHECK:STDOUT: 15: inst780001D3 -// CHECK:STDOUT: 16: inst780001D4 -// CHECK:STDOUT: 17: inst780001D5 -// CHECK:STDOUT: 18: inst780001D6 +// CHECK:STDOUT: 0: inst780001C3 +// CHECK:STDOUT: 1: inst780001C4 +// CHECK:STDOUT: 2: inst780001C5 +// CHECK:STDOUT: 3: inst780001C6 +// CHECK:STDOUT: 4: inst780001C7 +// CHECK:STDOUT: 5: inst780001C8 +// CHECK:STDOUT: 6: inst780001C9 +// CHECK:STDOUT: 7: inst780001CA +// CHECK:STDOUT: 8: inst780001CB +// CHECK:STDOUT: 9: inst780001CC +// CHECK:STDOUT: 10: inst780001CD +// CHECK:STDOUT: 11: inst780001CE +// CHECK:STDOUT: 12: inst780001CF +// CHECK:STDOUT: 13: inst780001D0 +// CHECK:STDOUT: 14: inst780001D1 +// CHECK:STDOUT: 15: inst780001D2 +// CHECK:STDOUT: 16: inst780001D3 +// CHECK:STDOUT: 17: inst780001D4 +// CHECK:STDOUT: 18: inst780001D5 // CHECK:STDOUT: inst_block78000078: -// CHECK:STDOUT: 0: inst78000089 -// CHECK:STDOUT: 1: inst7800008A -// CHECK:STDOUT: 2: inst7800012B -// CHECK:STDOUT: 3: inst7800012C -// CHECK:STDOUT: 4: inst78000188 -// CHECK:STDOUT: 5: inst78000189 -// CHECK:STDOUT: 6: inst7800018A -// CHECK:STDOUT: 7: inst78000192 -// CHECK:STDOUT: 8: inst78000199 -// CHECK:STDOUT: 9: inst7800019B -// CHECK:STDOUT: 10: inst7800019D -// CHECK:STDOUT: 11: inst78000193 -// CHECK:STDOUT: 12: inst78000198 +// CHECK:STDOUT: 0: inst78000088 +// CHECK:STDOUT: 1: inst78000089 +// CHECK:STDOUT: 2: inst7800012A +// CHECK:STDOUT: 3: inst7800012B +// CHECK:STDOUT: 4: inst78000187 +// CHECK:STDOUT: 5: inst78000188 +// CHECK:STDOUT: 6: inst78000189 +// CHECK:STDOUT: 7: inst78000191 +// CHECK:STDOUT: 8: inst78000198 +// CHECK:STDOUT: 9: inst7800019A +// CHECK:STDOUT: 10: inst7800019C +// CHECK:STDOUT: 11: inst78000192 +// CHECK:STDOUT: 12: inst78000197 // CHECK:STDOUT: inst_block78000079: -// CHECK:STDOUT: 0: inst780001D9 -// CHECK:STDOUT: 1: inst780001DA -// CHECK:STDOUT: 2: inst780001DB +// CHECK:STDOUT: 0: inst780001D8 +// CHECK:STDOUT: 1: inst780001D9 +// CHECK:STDOUT: 2: inst780001DA // CHECK:STDOUT: inst_block7800007A: -// CHECK:STDOUT: 0: inst780001DF -// CHECK:STDOUT: 1: inst780001E0 -// CHECK:STDOUT: 2: inst780001E1 +// CHECK:STDOUT: 0: inst780001DE +// CHECK:STDOUT: 1: inst780001DF +// CHECK:STDOUT: 2: inst780001E0 // CHECK:STDOUT: inst_block7800007B: -// CHECK:STDOUT: 0: inst780001E3 -// CHECK:STDOUT: 1: inst780001E5 -// CHECK:STDOUT: 2: inst780001E7 -// CHECK:STDOUT: inst_block7800007C: -// CHECK:STDOUT: 0: inst780001E9 -// CHECK:STDOUT: 1: inst780001EA -// CHECK:STDOUT: 2: inst780001EB -// CHECK:STDOUT: inst_block7800007D: -// CHECK:STDOUT: 0: inst780001E3 -// CHECK:STDOUT: 1: inst780001E5 -// CHECK:STDOUT: 2: inst780001E7 -// CHECK:STDOUT: inst_block7800007E: // CHECK:STDOUT: 0: inst780001E2 -// CHECK:STDOUT: 1: inst780001E3 -// CHECK:STDOUT: 2: inst780001E4 -// CHECK:STDOUT: 3: inst780001E5 -// CHECK:STDOUT: 4: inst780001E6 -// CHECK:STDOUT: 5: inst780001E7 -// CHECK:STDOUT: 6: inst780001E8 -// CHECK:STDOUT: 7: inst780001E9 -// CHECK:STDOUT: 8: inst780001EA -// CHECK:STDOUT: 9: inst780001EB -// CHECK:STDOUT: 10: inst780001EC -// CHECK:STDOUT: 11: inst780001ED -// CHECK:STDOUT: 12: inst780001EE +// CHECK:STDOUT: 1: inst780001E4 +// CHECK:STDOUT: 2: inst780001E6 +// CHECK:STDOUT: inst_block7800007C: +// CHECK:STDOUT: 0: inst780001E8 +// CHECK:STDOUT: 1: inst780001E9 +// CHECK:STDOUT: 2: inst780001EA +// CHECK:STDOUT: inst_block7800007D: +// CHECK:STDOUT: 0: inst780001E2 +// CHECK:STDOUT: 1: inst780001E4 +// CHECK:STDOUT: 2: inst780001E6 +// CHECK:STDOUT: inst_block7800007E: +// CHECK:STDOUT: 0: inst780001E1 +// CHECK:STDOUT: 1: inst780001E2 +// CHECK:STDOUT: 2: inst780001E3 +// CHECK:STDOUT: 3: inst780001E4 +// CHECK:STDOUT: 4: inst780001E5 +// CHECK:STDOUT: 5: inst780001E6 +// CHECK:STDOUT: 6: inst780001E7 +// CHECK:STDOUT: 7: inst780001E8 +// CHECK:STDOUT: 8: inst780001E9 +// CHECK:STDOUT: 9: inst780001EA +// CHECK:STDOUT: 10: inst780001EB +// CHECK:STDOUT: 11: inst780001EC +// CHECK:STDOUT: 12: inst780001ED // CHECK:STDOUT: inst_block7800007F: -// CHECK:STDOUT: 0: inst780001E3 -// CHECK:STDOUT: 1: inst780001E5 -// CHECK:STDOUT: 2: inst780001E7 +// CHECK:STDOUT: 0: inst780001E2 +// CHECK:STDOUT: 1: inst780001E4 +// CHECK:STDOUT: 2: inst780001E6 // CHECK:STDOUT: inst_block78000080: -// CHECK:STDOUT: 0: inst780001EF -// CHECK:STDOUT: 1: inst780001F0 +// CHECK:STDOUT: 0: inst780001EE +// CHECK:STDOUT: 1: inst780001EF // CHECK:STDOUT: inst_block78000081: -// CHECK:STDOUT: 0: inst780000FD -// CHECK:STDOUT: 1: inst780000FE -// CHECK:STDOUT: 2: inst7800004B +// CHECK:STDOUT: 0: inst780001F0 // CHECK:STDOUT: inst_block78000082: -// CHECK:STDOUT: 0: inst7800001B +// CHECK:STDOUT: 0: inst780001F1 // CHECK:STDOUT: inst_block78000083: // CHECK:STDOUT: 0: inst780001F1 +// CHECK:STDOUT: 1: inst780001F2 +// CHECK:STDOUT: 2: inst780001F3 // CHECK:STDOUT: inst_block78000084: -// CHECK:STDOUT: 0: inst780001F5 +// CHECK:STDOUT: 0: inst780001F7 // CHECK:STDOUT: inst_block78000085: -// CHECK:STDOUT: 0: inst780001F5 -// CHECK:STDOUT: 1: inst780001F6 -// CHECK:STDOUT: 2: inst780001F7 +// CHECK:STDOUT: 0: inst780001F8 // CHECK:STDOUT: inst_block78000086: -// CHECK:STDOUT: 0: inst780001FB +// CHECK:STDOUT: 0: inst780001F1 +// CHECK:STDOUT: 1: inst7800001D +// CHECK:STDOUT: 2: inst7800001F +// CHECK:STDOUT: 3: inst78000101 +// CHECK:STDOUT: 4: inst78000103 +// CHECK:STDOUT: 5: inst78000105 +// CHECK:STDOUT: 6: inst780000FE +// CHECK:STDOUT: 7: inst78000100 // CHECK:STDOUT: inst_block78000087: -// CHECK:STDOUT: 0: inst780001FC +// CHECK:STDOUT: 0: inst780001F8 // CHECK:STDOUT: inst_block78000088: -// CHECK:STDOUT: 0: inst780001F5 -// CHECK:STDOUT: 1: inst7800001E -// CHECK:STDOUT: 2: inst78000020 -// CHECK:STDOUT: 3: inst78000102 -// CHECK:STDOUT: 4: inst78000104 -// CHECK:STDOUT: 5: inst78000106 -// CHECK:STDOUT: 6: inst780000FF -// CHECK:STDOUT: 7: inst78000101 +// CHECK:STDOUT: 0: inst78000050 // CHECK:STDOUT: inst_block78000089: -// CHECK:STDOUT: 0: inst780001FC +// CHECK:STDOUT: 0: inst78000208 +// CHECK:STDOUT: 1: inst7800020C // CHECK:STDOUT: inst_block7800008A: -// CHECK:STDOUT: 0: inst78000051 +// CHECK:STDOUT: 0: inst7800004B +// CHECK:STDOUT: 1: inst7800004F +// CHECK:STDOUT: 2: inst780001F7 +// CHECK:STDOUT: 3: inst780001F8 +// CHECK:STDOUT: 4: inst780001F9 +// CHECK:STDOUT: 5: inst780001FA +// CHECK:STDOUT: 6: inst780001FB +// CHECK:STDOUT: 7: inst78000205 // CHECK:STDOUT: inst_block7800008B: -// CHECK:STDOUT: 0: inst7800020E -// CHECK:STDOUT: 1: inst78000212 -// CHECK:STDOUT: inst_block7800008C: -// CHECK:STDOUT: 0: inst7800004C -// CHECK:STDOUT: 1: inst78000050 -// CHECK:STDOUT: 2: inst780001F4 -// CHECK:STDOUT: 3: inst780001FB -// CHECK:STDOUT: 4: inst780001FC -// CHECK:STDOUT: 5: inst780001FD -// CHECK:STDOUT: 6: inst780001FE -// CHECK:STDOUT: 7: inst780001FF -// CHECK:STDOUT: 8: inst7800020B -// CHECK:STDOUT: inst_block7800008D: // CHECK:STDOUT: 0: inst(Package) -// CHECK:STDOUT: 1: inst78000010 -// CHECK:STDOUT: 2: inst78000047 +// CHECK:STDOUT: 1: inst7800000F +// CHECK:STDOUT: 2: inst78000046 // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: // CHECK:STDOUT: ints: {} diff --git a/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon b/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon index a1054b4f1622..aab8cf54120c 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon @@ -30,11 +30,11 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst5000002E}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst5000002D}} // CHECK:STDOUT: entity_names: -// CHECK:STDOUT: entity_name50000000: {name: name1, parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst50000013} +// CHECK:STDOUT: entity_name50000000: {name: name1, parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst50000012} // CHECK:STDOUT: functions: -// CHECK:STDOUT: function50000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block5000000C, call_params_id: inst_block5000000D, return_type_inst_id: inst50000022, return_form_inst_id: inst50000023, return_pattern_id: inst50000028, body: [inst_block50000010]} +// CHECK:STDOUT: function50000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block5000000C, call_params_id: inst_block5000000D, return_type_inst_id: inst50000021, return_form_inst_id: inst50000022, return_pattern_id: inst50000027, body: [inst_block50000010]} // CHECK:STDOUT: classes: {} // CHECK:STDOUT: interfaces: {} // CHECK:STDOUT: associated_constants: {} @@ -70,23 +70,23 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst50000010)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000010)} +// CHECK:STDOUT: 'type(inst5000000F)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000000F)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst5000001F)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst5000001F)} +// CHECK:STDOUT: 'type(inst5000001E)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst5000001E)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 8 // CHECK:STDOUT: alignment: 8 -// CHECK:STDOUT: 'type(inst5000001C)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst5000001F)} +// CHECK:STDOUT: 'type(inst5000001B)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst5000001E)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst5000002F)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000010)} +// CHECK:STDOUT: 'type(inst5000002E)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000000F)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -95,170 +95,170 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: insts: // CHECK:STDOUT: 'inst(TypeType)': {kind: FacetType, arg0: declared_facet_type(Empty), type: type(TypeType)} // CHECK:STDOUT: 'inst(Package)': {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000010: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000011: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst50000010)} -// CHECK:STDOUT: inst50000012: {kind: TupleValue, arg0: inst_block_empty, type: type(inst50000010)} -// CHECK:STDOUT: inst50000013: {kind: Converted, arg0: inst50000011, arg1: inst50000010, type: type(TypeType)} -// CHECK:STDOUT: inst50000014: {kind: PatternType, arg0: inst50000010, type: type(TypeType)} -// CHECK:STDOUT: inst50000015: {kind: ValueParamPattern, arg0: name1, type: type(inst50000014)} -// CHECK:STDOUT: inst50000016: {kind: ValueParamPattern, arg0: name1, type: type(inst50000014)} -// CHECK:STDOUT: inst50000017: {kind: WrapperBindingPattern, arg0: entity_name50000000, arg1: inst50000015, type: type(inst50000014)} -// CHECK:STDOUT: inst50000018: {kind: WrapperBindingPattern, arg0: entity_name50000000, arg1: inst50000016, type: type(inst50000014)} -// CHECK:STDOUT: inst50000019: {kind: WrapperBinding, arg0: entity_name50000000, arg1: inst5000002A, type: type(inst50000010)} -// CHECK:STDOUT: inst5000001A: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst50000010)} -// CHECK:STDOUT: inst5000001B: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst50000010)} -// CHECK:STDOUT: inst5000001C: {kind: TupleType, arg0: inst_block50000009, type: type(TypeType)} -// CHECK:STDOUT: inst5000001D: {kind: TupleLiteral, arg0: inst_block50000008, type: type(inst5000001C)} -// CHECK:STDOUT: inst5000001E: {kind: TupleValue, arg0: inst_block5000000A, type: type(inst5000001C)} -// CHECK:STDOUT: inst5000001F: {kind: PointerType, arg0: inst5000001C, type: type(TypeType)} -// CHECK:STDOUT: inst50000020: {kind: Converted, arg0: inst50000012, arg1: inst50000010, type: type(TypeType)} -// CHECK:STDOUT: inst50000021: {kind: Converted, arg0: inst50000012, arg1: inst50000010, type: type(TypeType)} -// CHECK:STDOUT: inst50000022: {kind: Converted, arg0: inst5000001D, arg1: inst5000001C, type: type(TypeType)} -// CHECK:STDOUT: inst50000023: {kind: InitForm, arg0: inst50000022, type: type(inst(FormType))} -// CHECK:STDOUT: inst50000024: {kind: InitForm, arg0: inst5000001C, type: type(inst(FormType))} -// CHECK:STDOUT: inst50000025: {kind: PatternType, arg0: inst5000001C, type: type(TypeType)} -// CHECK:STDOUT: inst50000026: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(inst50000025)} -// CHECK:STDOUT: inst50000027: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(inst50000025)} -// CHECK:STDOUT: inst50000028: {kind: ReturnSlotPattern, arg0: inst50000026, arg1: inst50000022, type: type(inst50000025)} -// CHECK:STDOUT: inst50000029: {kind: ReturnSlotPattern, arg0: inst50000027, arg1: inst5000001C, type: type(inst50000025)} -// CHECK:STDOUT: inst5000002A: {kind: ValueParam, arg0: call_param0, arg1: name1, type: type(inst50000010)} -// CHECK:STDOUT: inst5000002B: {kind: SpliceBlock, arg0: inst_block50000006, arg1: inst50000013, type: type(TypeType)} -// CHECK:STDOUT: inst5000002C: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(inst5000001C)} -// CHECK:STDOUT: inst5000002D: {kind: ReturnSlot, arg0: inst5000001C, arg1: inst5000002C, type: type(inst5000001C)} -// CHECK:STDOUT: inst5000002E: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block5000000F, type: type(inst5000002F)} -// CHECK:STDOUT: inst5000002F: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000030: {kind: StructValue, arg0: inst_block_empty, type: type(inst5000002F)} -// CHECK:STDOUT: inst50000031: {kind: NameRef, arg0: name1, arg1: inst50000019, type: type(inst50000010)} -// CHECK:STDOUT: inst50000032: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst50000010)} -// CHECK:STDOUT: inst50000033: {kind: TupleLiteral, arg0: inst_block50000011, type: type(inst5000001C)} -// CHECK:STDOUT: inst50000034: {kind: TupleAccess, arg0: inst5000002C, arg1: element0, type: type(inst50000010)} -// CHECK:STDOUT: inst50000035: {kind: TupleInit, arg0: inst_block_empty, arg1: inst50000034, type: type(inst50000010)} -// CHECK:STDOUT: inst50000036: {kind: Converted, arg0: inst50000031, arg1: inst50000035, type: type(inst50000010)} -// CHECK:STDOUT: inst50000037: {kind: InPlaceInit, arg0: inst50000036, arg1: inst50000034, type: type(inst50000010)} -// CHECK:STDOUT: inst50000038: {kind: TupleAccess, arg0: inst5000002C, arg1: element1, type: type(inst50000010)} -// CHECK:STDOUT: inst50000039: {kind: TupleInit, arg0: inst_block_empty, arg1: inst50000038, type: type(inst50000010)} -// CHECK:STDOUT: inst5000003A: {kind: Converted, arg0: inst50000032, arg1: inst50000039, type: type(inst50000010)} -// CHECK:STDOUT: inst5000003B: {kind: InPlaceInit, arg0: inst5000003A, arg1: inst50000038, type: type(inst50000010)} -// CHECK:STDOUT: inst5000003C: {kind: TupleInit, arg0: inst_block50000012, arg1: inst5000002C, type: type(inst5000001C)} -// CHECK:STDOUT: inst5000003D: {kind: Converted, arg0: inst50000033, arg1: inst5000003C, type: type(inst5000001C)} -// CHECK:STDOUT: inst5000003E: {kind: ReturnExpr, arg0: inst5000003D, arg1: inst5000002C} +// CHECK:STDOUT: inst5000000F: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000010: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst5000000F)} +// CHECK:STDOUT: inst50000011: {kind: TupleValue, arg0: inst_block_empty, type: type(inst5000000F)} +// CHECK:STDOUT: inst50000012: {kind: Converted, arg0: inst50000010, arg1: inst5000000F, type: type(TypeType)} +// CHECK:STDOUT: inst50000013: {kind: PatternType, arg0: inst5000000F, type: type(TypeType)} +// CHECK:STDOUT: inst50000014: {kind: ValueParamPattern, arg0: name1, type: type(inst50000013)} +// CHECK:STDOUT: inst50000015: {kind: ValueParamPattern, arg0: name1, type: type(inst50000013)} +// CHECK:STDOUT: inst50000016: {kind: WrapperBindingPattern, arg0: entity_name50000000, arg1: inst50000014, type: type(inst50000013)} +// CHECK:STDOUT: inst50000017: {kind: WrapperBindingPattern, arg0: entity_name50000000, arg1: inst50000015, type: type(inst50000013)} +// CHECK:STDOUT: inst50000018: {kind: WrapperBinding, arg0: entity_name50000000, arg1: inst50000029, type: type(inst5000000F)} +// CHECK:STDOUT: inst50000019: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst5000000F)} +// CHECK:STDOUT: inst5000001A: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst5000000F)} +// CHECK:STDOUT: inst5000001B: {kind: TupleType, arg0: inst_block50000009, type: type(TypeType)} +// CHECK:STDOUT: inst5000001C: {kind: TupleLiteral, arg0: inst_block50000008, type: type(inst5000001B)} +// CHECK:STDOUT: inst5000001D: {kind: TupleValue, arg0: inst_block5000000A, type: type(inst5000001B)} +// CHECK:STDOUT: inst5000001E: {kind: PointerType, arg0: inst5000001B, type: type(TypeType)} +// CHECK:STDOUT: inst5000001F: {kind: Converted, arg0: inst50000011, arg1: inst5000000F, type: type(TypeType)} +// CHECK:STDOUT: inst50000020: {kind: Converted, arg0: inst50000011, arg1: inst5000000F, type: type(TypeType)} +// CHECK:STDOUT: inst50000021: {kind: Converted, arg0: inst5000001C, arg1: inst5000001B, type: type(TypeType)} +// CHECK:STDOUT: inst50000022: {kind: InitForm, arg0: inst50000021, type: type(inst(FormType))} +// CHECK:STDOUT: inst50000023: {kind: InitForm, arg0: inst5000001B, type: type(inst(FormType))} +// CHECK:STDOUT: inst50000024: {kind: PatternType, arg0: inst5000001B, type: type(TypeType)} +// CHECK:STDOUT: inst50000025: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(inst50000024)} +// CHECK:STDOUT: inst50000026: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(inst50000024)} +// CHECK:STDOUT: inst50000027: {kind: ReturnSlotPattern, arg0: inst50000025, arg1: inst50000021, type: type(inst50000024)} +// CHECK:STDOUT: inst50000028: {kind: ReturnSlotPattern, arg0: inst50000026, arg1: inst5000001B, type: type(inst50000024)} +// CHECK:STDOUT: inst50000029: {kind: ValueParam, arg0: call_param0, arg1: name1, type: type(inst5000000F)} +// CHECK:STDOUT: inst5000002A: {kind: SpliceBlock, arg0: inst_block50000006, arg1: inst50000012, type: type(TypeType)} +// CHECK:STDOUT: inst5000002B: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(inst5000001B)} +// CHECK:STDOUT: inst5000002C: {kind: ReturnSlot, arg0: inst5000001B, arg1: inst5000002B, type: type(inst5000001B)} +// CHECK:STDOUT: inst5000002D: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block5000000F, type: type(inst5000002E)} +// CHECK:STDOUT: inst5000002E: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst5000002F: {kind: StructValue, arg0: inst_block_empty, type: type(inst5000002E)} +// CHECK:STDOUT: inst50000030: {kind: NameRef, arg0: name1, arg1: inst50000018, type: type(inst5000000F)} +// CHECK:STDOUT: inst50000031: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst5000000F)} +// CHECK:STDOUT: inst50000032: {kind: TupleLiteral, arg0: inst_block50000011, type: type(inst5000001B)} +// CHECK:STDOUT: inst50000033: {kind: TupleAccess, arg0: inst5000002B, arg1: element0, type: type(inst5000000F)} +// CHECK:STDOUT: inst50000034: {kind: TupleInit, arg0: inst_block_empty, arg1: inst50000033, type: type(inst5000000F)} +// CHECK:STDOUT: inst50000035: {kind: Converted, arg0: inst50000030, arg1: inst50000034, type: type(inst5000000F)} +// CHECK:STDOUT: inst50000036: {kind: InPlaceInit, arg0: inst50000035, arg1: inst50000033, type: type(inst5000000F)} +// CHECK:STDOUT: inst50000037: {kind: TupleAccess, arg0: inst5000002B, arg1: element1, type: type(inst5000000F)} +// CHECK:STDOUT: inst50000038: {kind: TupleInit, arg0: inst_block_empty, arg1: inst50000037, type: type(inst5000000F)} +// CHECK:STDOUT: inst50000039: {kind: Converted, arg0: inst50000031, arg1: inst50000038, type: type(inst5000000F)} +// CHECK:STDOUT: inst5000003A: {kind: InPlaceInit, arg0: inst50000039, arg1: inst50000037, type: type(inst5000000F)} +// CHECK:STDOUT: inst5000003B: {kind: TupleInit, arg0: inst_block50000012, arg1: inst5000002B, type: type(inst5000001B)} +// CHECK:STDOUT: inst5000003C: {kind: Converted, arg0: inst50000032, arg1: inst5000003B, type: type(inst5000001B)} +// CHECK:STDOUT: inst5000003D: {kind: ReturnExpr, arg0: inst5000003C, arg1: inst5000002B} // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) // CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) -// CHECK:STDOUT: inst50000010: concrete_constant(inst50000010) -// CHECK:STDOUT: inst50000011: concrete_constant(inst50000012) -// CHECK:STDOUT: inst50000012: concrete_constant(inst50000012) -// CHECK:STDOUT: inst50000013: concrete_constant(inst50000010) -// CHECK:STDOUT: inst50000014: concrete_constant(inst50000014) -// CHECK:STDOUT: inst50000015: concrete_constant(inst50000016) -// CHECK:STDOUT: inst50000016: concrete_constant(inst50000016) -// CHECK:STDOUT: inst50000017: concrete_constant(inst50000018) -// CHECK:STDOUT: inst50000018: concrete_constant(inst50000018) -// CHECK:STDOUT: inst5000001A: concrete_constant(inst50000012) -// CHECK:STDOUT: inst5000001B: concrete_constant(inst50000012) -// CHECK:STDOUT: inst5000001C: concrete_constant(inst5000001C) -// CHECK:STDOUT: inst5000001D: concrete_constant(inst5000001E) +// CHECK:STDOUT: inst5000000F: concrete_constant(inst5000000F) +// CHECK:STDOUT: inst50000010: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000011: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000012: concrete_constant(inst5000000F) +// CHECK:STDOUT: inst50000013: concrete_constant(inst50000013) +// CHECK:STDOUT: inst50000014: concrete_constant(inst50000015) +// CHECK:STDOUT: inst50000015: concrete_constant(inst50000015) +// CHECK:STDOUT: inst50000016: concrete_constant(inst50000017) +// CHECK:STDOUT: inst50000017: concrete_constant(inst50000017) +// CHECK:STDOUT: inst50000019: concrete_constant(inst50000011) +// CHECK:STDOUT: inst5000001A: concrete_constant(inst50000011) +// CHECK:STDOUT: inst5000001B: concrete_constant(inst5000001B) +// CHECK:STDOUT: inst5000001C: concrete_constant(inst5000001D) +// CHECK:STDOUT: inst5000001D: concrete_constant(inst5000001D) // CHECK:STDOUT: inst5000001E: concrete_constant(inst5000001E) -// CHECK:STDOUT: inst5000001F: concrete_constant(inst5000001F) -// CHECK:STDOUT: inst50000020: concrete_constant(inst50000010) -// CHECK:STDOUT: inst50000021: concrete_constant(inst50000010) -// CHECK:STDOUT: inst50000022: concrete_constant(inst5000001C) -// CHECK:STDOUT: inst50000023: concrete_constant(inst50000024) +// CHECK:STDOUT: inst5000001F: concrete_constant(inst5000000F) +// CHECK:STDOUT: inst50000020: concrete_constant(inst5000000F) +// CHECK:STDOUT: inst50000021: concrete_constant(inst5000001B) +// CHECK:STDOUT: inst50000022: concrete_constant(inst50000023) +// CHECK:STDOUT: inst50000023: concrete_constant(inst50000023) // CHECK:STDOUT: inst50000024: concrete_constant(inst50000024) -// CHECK:STDOUT: inst50000025: concrete_constant(inst50000025) -// CHECK:STDOUT: inst50000026: concrete_constant(inst50000027) -// CHECK:STDOUT: inst50000027: concrete_constant(inst50000027) -// CHECK:STDOUT: inst50000028: concrete_constant(inst50000029) -// CHECK:STDOUT: inst50000029: concrete_constant(inst50000029) -// CHECK:STDOUT: inst5000002B: concrete_constant(inst50000010) -// CHECK:STDOUT: inst5000002E: concrete_constant(inst50000030) +// CHECK:STDOUT: inst50000025: concrete_constant(inst50000026) +// CHECK:STDOUT: inst50000026: concrete_constant(inst50000026) +// CHECK:STDOUT: inst50000027: concrete_constant(inst50000028) +// CHECK:STDOUT: inst50000028: concrete_constant(inst50000028) +// CHECK:STDOUT: inst5000002A: concrete_constant(inst5000000F) +// CHECK:STDOUT: inst5000002D: concrete_constant(inst5000002F) +// CHECK:STDOUT: inst5000002E: concrete_constant(inst5000002E) // CHECK:STDOUT: inst5000002F: concrete_constant(inst5000002F) -// CHECK:STDOUT: inst50000030: concrete_constant(inst50000030) -// CHECK:STDOUT: inst50000032: concrete_constant(inst50000012) -// CHECK:STDOUT: inst50000035: concrete_constant(inst50000012) -// CHECK:STDOUT: inst50000036: concrete_constant(inst50000012) -// CHECK:STDOUT: inst50000037: concrete_constant(inst50000012) -// CHECK:STDOUT: inst50000039: concrete_constant(inst50000012) -// CHECK:STDOUT: inst5000003A: concrete_constant(inst50000012) -// CHECK:STDOUT: inst5000003B: concrete_constant(inst50000012) -// CHECK:STDOUT: inst5000003C: concrete_constant(inst5000001E) -// CHECK:STDOUT: inst5000003D: concrete_constant(inst5000001E) +// CHECK:STDOUT: inst50000031: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000034: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000035: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000036: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000038: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000039: concrete_constant(inst50000011) +// CHECK:STDOUT: inst5000003A: concrete_constant(inst50000011) +// CHECK:STDOUT: inst5000003B: concrete_constant(inst5000001D) +// CHECK:STDOUT: inst5000003C: concrete_constant(inst5000001D) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst5000002E +// CHECK:STDOUT: 0: inst5000002D // CHECK:STDOUT: generated: {} // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: extra_global_variables: {} // CHECK:STDOUT: inst_block50000006: -// CHECK:STDOUT: 0: inst50000011 -// CHECK:STDOUT: 1: inst50000013 -// CHECK:STDOUT: inst_block50000007: -// CHECK:STDOUT: 0: inst50000017 -// CHECK:STDOUT: inst_block50000008: -// CHECK:STDOUT: 0: inst5000001A -// CHECK:STDOUT: 1: inst5000001B -// CHECK:STDOUT: inst_block50000009: // CHECK:STDOUT: 0: inst50000010 -// CHECK:STDOUT: 1: inst50000010 -// CHECK:STDOUT: inst_block5000000A: -// CHECK:STDOUT: 0: inst50000012 // CHECK:STDOUT: 1: inst50000012 +// CHECK:STDOUT: inst_block50000007: +// CHECK:STDOUT: 0: inst50000016 +// CHECK:STDOUT: inst_block50000008: +// CHECK:STDOUT: 0: inst50000019 +// CHECK:STDOUT: 1: inst5000001A +// CHECK:STDOUT: inst_block50000009: +// CHECK:STDOUT: 0: inst5000000F +// CHECK:STDOUT: 1: inst5000000F +// CHECK:STDOUT: inst_block5000000A: +// CHECK:STDOUT: 0: inst50000011 +// CHECK:STDOUT: 1: inst50000011 // CHECK:STDOUT: inst_block5000000B: -// CHECK:STDOUT: 0: inst50000020 -// CHECK:STDOUT: 1: inst50000021 +// CHECK:STDOUT: 0: inst5000001F +// CHECK:STDOUT: 1: inst50000020 // CHECK:STDOUT: inst_block5000000C: -// CHECK:STDOUT: 0: inst50000015 -// CHECK:STDOUT: 1: inst50000026 +// CHECK:STDOUT: 0: inst50000014 +// CHECK:STDOUT: 1: inst50000025 // CHECK:STDOUT: inst_block5000000D: -// CHECK:STDOUT: 0: inst5000002A -// CHECK:STDOUT: 1: inst5000002C +// CHECK:STDOUT: 0: inst50000029 +// CHECK:STDOUT: 1: inst5000002B // CHECK:STDOUT: inst_block5000000E: -// CHECK:STDOUT: 0: inst50000015 -// CHECK:STDOUT: 1: inst50000017 -// CHECK:STDOUT: 2: inst50000026 -// CHECK:STDOUT: 3: inst50000028 +// CHECK:STDOUT: 0: inst50000014 +// CHECK:STDOUT: 1: inst50000016 +// CHECK:STDOUT: 2: inst50000025 +// CHECK:STDOUT: 3: inst50000027 // CHECK:STDOUT: inst_block5000000F: -// CHECK:STDOUT: 0: inst5000001A -// CHECK:STDOUT: 1: inst5000001B -// CHECK:STDOUT: 2: inst5000001D -// CHECK:STDOUT: 3: inst50000020 -// CHECK:STDOUT: 4: inst50000021 -// CHECK:STDOUT: 5: inst50000022 -// CHECK:STDOUT: 6: inst50000023 -// CHECK:STDOUT: 7: inst5000002A -// CHECK:STDOUT: 8: inst5000002B -// CHECK:STDOUT: 9: inst50000019 -// CHECK:STDOUT: 10: inst5000002C -// CHECK:STDOUT: 11: inst5000002D +// CHECK:STDOUT: 0: inst50000019 +// CHECK:STDOUT: 1: inst5000001A +// CHECK:STDOUT: 2: inst5000001C +// CHECK:STDOUT: 3: inst5000001F +// CHECK:STDOUT: 4: inst50000020 +// CHECK:STDOUT: 5: inst50000021 +// CHECK:STDOUT: 6: inst50000022 +// CHECK:STDOUT: 7: inst50000029 +// CHECK:STDOUT: 8: inst5000002A +// CHECK:STDOUT: 9: inst50000018 +// CHECK:STDOUT: 10: inst5000002B +// CHECK:STDOUT: 11: inst5000002C // CHECK:STDOUT: inst_block50000010: -// CHECK:STDOUT: 0: inst50000031 -// CHECK:STDOUT: 1: inst50000032 -// CHECK:STDOUT: 2: inst50000033 -// CHECK:STDOUT: 3: inst50000034 -// CHECK:STDOUT: 4: inst50000035 -// CHECK:STDOUT: 5: inst50000036 -// CHECK:STDOUT: 6: inst50000037 -// CHECK:STDOUT: 7: inst50000038 -// CHECK:STDOUT: 8: inst50000039 -// CHECK:STDOUT: 9: inst5000003A -// CHECK:STDOUT: 10: inst5000003B -// CHECK:STDOUT: 11: inst5000003C -// CHECK:STDOUT: 12: inst5000003D -// CHECK:STDOUT: 13: inst5000003E +// CHECK:STDOUT: 0: inst50000030 +// CHECK:STDOUT: 1: inst50000031 +// CHECK:STDOUT: 2: inst50000032 +// CHECK:STDOUT: 3: inst50000033 +// CHECK:STDOUT: 4: inst50000034 +// CHECK:STDOUT: 5: inst50000035 +// CHECK:STDOUT: 6: inst50000036 +// CHECK:STDOUT: 7: inst50000037 +// CHECK:STDOUT: 8: inst50000038 +// CHECK:STDOUT: 9: inst50000039 +// CHECK:STDOUT: 10: inst5000003A +// CHECK:STDOUT: 11: inst5000003B +// CHECK:STDOUT: 12: inst5000003C +// CHECK:STDOUT: 13: inst5000003D // CHECK:STDOUT: inst_block50000011: -// CHECK:STDOUT: 0: inst50000031 -// CHECK:STDOUT: 1: inst50000032 +// CHECK:STDOUT: 0: inst50000030 +// CHECK:STDOUT: 1: inst50000031 // CHECK:STDOUT: inst_block50000012: -// CHECK:STDOUT: 0: inst50000037 -// CHECK:STDOUT: 1: inst5000003B +// CHECK:STDOUT: 0: inst50000036 +// CHECK:STDOUT: 1: inst5000003A // CHECK:STDOUT: inst_block50000013: // CHECK:STDOUT: 0: inst(Package) -// CHECK:STDOUT: 1: inst5000002E +// CHECK:STDOUT: 1: inst5000002D // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: // CHECK:STDOUT: ints: {} diff --git a/toolchain/check/testdata/builtins/array/make_type.carbon b/toolchain/check/testdata/builtins/array/make_type.carbon index 27f9beaa023f..4ac98232cca3 100644 --- a/toolchain/check/testdata/builtins/array/make_type.carbon +++ b/toolchain/check/testdata/builtins/array/make_type.carbon @@ -114,11 +114,11 @@ fn F(n: Core.IntLiteral) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/builtins/float/convert.carbon b/toolchain/check/testdata/builtins/float/convert.carbon index 8d1578cd2c48..0028c578da95 100644 --- a/toolchain/check/testdata/builtins/float/convert.carbon +++ b/toolchain/check/testdata/builtins/float/convert.carbon @@ -319,11 +319,11 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.1d6: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.068 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.1d6) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.62d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.761, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.b5b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.62d, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.7c4: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.493: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -421,11 +421,11 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.ae4: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.e57: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -525,11 +525,11 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.1d6: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.068 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.1d6) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.62d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.761, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.b5b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.62d, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.1a9: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.04a: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -609,11 +609,11 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.ecf: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f84: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/builtins/float/convert_checked.carbon b/toolchain/check/testdata/builtins/float/convert_checked.carbon index e06a990cf78f..36bf018f65bb 100644 --- a/toolchain/check/testdata/builtins/float/convert_checked.carbon +++ b/toolchain/check/testdata/builtins/float/convert_checked.carbon @@ -318,11 +318,11 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.1d6: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.068 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.1d6) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.62d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.761, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.b5b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.62d, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.7c4: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.493: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -420,11 +420,11 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.ae4: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.e57: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -524,11 +524,11 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.1d6: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.068 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.1d6) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.62d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.761, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.b5b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.62d, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0, @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] @@ -586,11 +586,11 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.1d6: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.068 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.1d6) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.62d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.761, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.b5b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.62d, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.cfcfd2.1, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0, @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] @@ -676,11 +676,11 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.ecf: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f84: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -756,11 +756,11 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.1d6: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.068 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.1d6) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.62d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.761, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.b5b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.62d, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0, @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] diff --git a/toolchain/check/testdata/builtins/float/convert_int.carbon b/toolchain/check/testdata/builtins/float/convert_int.carbon index 67fa0c6a2e7e..faa7b45bc4be 100644 --- a/toolchain/check/testdata/builtins/float/convert_int.carbon +++ b/toolchain/check/testdata/builtins/float/convert_int.carbon @@ -205,11 +205,11 @@ let inf_val: i32 = ConvertF64ToI32(Div(1.0, 0.0)); // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.1d6: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.068 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.1d6) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.62d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.761, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.b5b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.62d, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.9eb: = bound_method %float.bab60c.1, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.847: = bound_method %float.bab60c.1, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -503,11 +503,11 @@ let inf_val: i32 = ConvertF64ToI32(Div(1.0, 0.0)); // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.1d6: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.068 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.1d6) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.62d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.761, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.b5b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.62d, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.7c43ce.1: = bound_method %float.1f75e4.1, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.49396d.1: = bound_method %float.1f75e4.1, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/builtins/int/convert_char_literal.carbon b/toolchain/check/testdata/builtins/int/convert_char_literal.carbon index a2468bede7bc..49512f590a80 100644 --- a/toolchain/check/testdata/builtins/int/convert_char_literal.carbon +++ b/toolchain/check/testdata/builtins/int/convert_char_literal.carbon @@ -76,11 +76,11 @@ let c: CharLiteral = ConvertFromIntLiteral(0x110000); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.91e: = bound_method %int_98.fb6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.5d8: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_32) [concrete] // CHECK:STDOUT: %bound_method.384: = bound_method %int_98.fb6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.5d8 [concrete] @@ -92,11 +92,11 @@ let c: CharLiteral = ConvertFromIntLiteral(0x110000); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.be5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.60e: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.be5 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.88f: = impl_witness imports.%ImplicitAs.impl_witness_table.79a, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.56f: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.14a: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.56f = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.1ad: %ImplicitAs.type.f26 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.88f) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.3d4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u32, %ImplicitAs.facet.1ad) [concrete] // CHECK:STDOUT: %.8ad: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.3d4, %ImplicitAs.facet.1ad [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.56f: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.14a: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.56f = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.ae1: = bound_method %int_99.6d1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.14a [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.2f3: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.14a, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.1b9: = bound_method %int_99.6d1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.2f3 [concrete] diff --git a/toolchain/check/testdata/builtins/int/convert_checked.carbon b/toolchain/check/testdata/builtins/int/convert_checked.carbon index 752e69c3853e..b9ba8e6494b9 100644 --- a/toolchain/check/testdata/builtins/int/convert_checked.carbon +++ b/toolchain/check/testdata/builtins/int/convert_checked.carbon @@ -247,11 +247,11 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/builtins/print/int.carbon b/toolchain/check/testdata/builtins/print/int.carbon index 6938719ca86f..d438bab9fa89 100644 --- a/toolchain/check/testdata/builtins/print/int.carbon +++ b/toolchain/check/testdata/builtins/print/int.carbon @@ -41,11 +41,11 @@ fn Main() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/choice/basic.carbon b/toolchain/check/testdata/choice/basic.carbon index 8ab3931ddcdb..16f7a9cfd5f5 100644 --- a/toolchain/check/testdata/choice/basic.carbon +++ b/toolchain/check/testdata/choice/basic.carbon @@ -163,11 +163,11 @@ let never: Never = {}; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.be5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.60e: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.be5 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.28a: = impl_witness imports.%ImplicitAs.impl_witness_table.79a, @Core.IntLiteral.as.ImplicitAs.impl(%int_2.ecc) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.303: 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.dcc: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.303 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.666 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.28a) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.e12: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u2, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.935: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.e12, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.303: 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.dcc: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.303 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.0c6: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcc [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcc, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_2.ecc) [concrete] // CHECK:STDOUT: %bound_method.0f4: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -177,11 +177,11 @@ let never: Never = {}; // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.97a: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.2a0: %UInt.as.Copy.impl.Op.type.97a = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.81e: = impl_witness imports.%Copy.impl_witness_table.238, @UInt.as.Copy.impl(%int_2.ecc) [concrete] -// CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.141: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_2.ecc) [concrete] -// CHECK:STDOUT: %UInt.as.Copy.impl.Op.c78: %UInt.as.Copy.impl.Op.type.141 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %u2, (%Copy.impl_witness.81e) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.7a4: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.7ec: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7a4, %Copy.facet [concrete] +// CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.141: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_2.ecc) [concrete] +// CHECK:STDOUT: %UInt.as.Copy.impl.Op.c78: %UInt.as.Copy.impl.Op.type.141 = struct_value () [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.bound.2cc: = bound_method %int_0.fdb, %UInt.as.Copy.impl.Op.c78 [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.specific_fn: = specific_function %UInt.as.Copy.impl.Op.c78, @UInt.as.Copy.impl.Op(%int_2.ecc) [concrete] // CHECK:STDOUT: %bound_method.51c: = bound_method %int_0.fdb, %UInt.as.Copy.impl.Op.specific_fn [concrete] diff --git a/toolchain/check/testdata/class/access/access_modifiers.carbon b/toolchain/check/testdata/class/access/access_modifiers.carbon index 492aee2afab0..e9351d748b50 100644 --- a/toolchain/check/testdata/class/access/access_modifiers.carbon +++ b/toolchain/check/testdata/class/access/access_modifiers.carbon @@ -175,11 +175,11 @@ class A { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f65: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.ab2: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -350,11 +350,11 @@ class A { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -412,11 +412,11 @@ class A { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/access/inheritance_access.carbon b/toolchain/check/testdata/class/access/inheritance_access.carbon index 0d75ba4d181e..ab5170d1706f 100644 --- a/toolchain/check/testdata/class/access/inheritance_access.carbon +++ b/toolchain/check/testdata/class/access/inheritance_access.carbon @@ -315,11 +315,11 @@ fn G() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -587,11 +587,11 @@ fn G() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] @@ -615,11 +615,11 @@ fn G() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1056,11 +1056,11 @@ fn G() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_86.bd3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] @@ -1304,11 +1304,11 @@ fn G() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] diff --git a/toolchain/check/testdata/class/adapter/adapt_copy.carbon b/toolchain/check/testdata/class/adapter/adapt_copy.carbon index 6947bf7d4ac1..e4ee803af261 100644 --- a/toolchain/check/testdata/class/adapter/adapt_copy.carbon +++ b/toolchain/check/testdata/class/adapter/adapt_copy.carbon @@ -381,11 +381,11 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] @@ -428,11 +428,11 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.97a: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.2a0: %UInt.as.Copy.impl.Op.type.97a = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.13a: = impl_witness imports.%Copy.impl_witness_table.238, @UInt.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.dd3: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %UInt.as.Copy.impl.Op.852: %UInt.as.Copy.impl.Op.type.dd3 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.862: %Copy.type = facet_value %u32, (%Copy.impl_witness.13a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.7e5: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.862) [concrete] // CHECK:STDOUT: %.222: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7e5, %Copy.facet.862 [concrete] +// CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.dd3: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %UInt.as.Copy.impl.Op.852: %UInt.as.Copy.impl.Op.type.dd3 = struct_value () [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.specific_fn: = specific_function %UInt.as.Copy.impl.Op.852, @UInt.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.4: type = fn_type @SubobjectDestroy.WithSelf.Op.loc14_3.1 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.4: %SubobjectDestroy.WithSelf.Op.type.6870fd.4 = struct_value () [concrete] @@ -893,11 +893,11 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] @@ -1107,11 +1107,11 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] @@ -1153,11 +1153,11 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.97a: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.2a0: %UInt.as.Copy.impl.Op.type.97a = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.13a: = impl_witness imports.%Copy.impl_witness_table.238, @UInt.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.dd3: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %UInt.as.Copy.impl.Op.852: %UInt.as.Copy.impl.Op.type.dd3 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.862: %Copy.type = facet_value %u32, (%Copy.impl_witness.13a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.7e5: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.862) [concrete] // CHECK:STDOUT: %.222: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7e5, %Copy.facet.862 [concrete] +// CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.dd3: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %UInt.as.Copy.impl.Op.852: %UInt.as.Copy.impl.Op.type.dd3 = struct_value () [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.specific_fn: = specific_function %UInt.as.Copy.impl.Op.852, @UInt.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.4: type = fn_type @SubobjectDestroy.WithSelf.Op.loc14_3.1 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.4: %SubobjectDestroy.WithSelf.Op.type.6870fd.4 = struct_value () [concrete] diff --git a/toolchain/check/testdata/class/adapter/init_adapt.carbon b/toolchain/check/testdata/class/adapter/init_adapt.carbon index 79f2734f1f6a..b5c2bcbcf6d9 100644 --- a/toolchain/check/testdata/class/adapter/init_adapt.carbon +++ b/toolchain/check/testdata/class/adapter/init_adapt.carbon @@ -106,11 +106,11 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -325,11 +325,11 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/class/basic.carbon b/toolchain/check/testdata/class/basic.carbon index 203839f673eb..c911eaede186 100644 --- a/toolchain/check/testdata/class/basic.carbon +++ b/toolchain/check/testdata/class/basic.carbon @@ -57,11 +57,11 @@ fn Run() -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @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] @@ -73,11 +73,11 @@ fn Run() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/class/complete_in_member_fn.carbon b/toolchain/check/testdata/class/complete_in_member_fn.carbon index 5d26cc78ea02..19c71060ce64 100644 --- a/toolchain/check/testdata/class/complete_in_member_fn.carbon +++ b/toolchain/check/testdata/class/complete_in_member_fn.carbon @@ -44,11 +44,11 @@ class C { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/destroy_calls.carbon b/toolchain/check/testdata/class/destroy_calls.carbon index 0ec5f75974c6..c40c491d7ddb 100644 --- a/toolchain/check/testdata/class/destroy_calls.carbon +++ b/toolchain/check/testdata/class/destroy_calls.carbon @@ -548,8 +548,6 @@ fn G() { F({}); } // CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.7cc: = lookup_impl_witness %C.04a, @DestroyImpl [symbolic] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.066: = lookup_impl_witness %C.04a, @SubobjectDestroy [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.17b: %SubobjectDestroy.type = facet_value %C.04a, (%SubobjectDestroy.lookup_impl_witness.066) [symbolic] -// CHECK:STDOUT: %.98e: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.17b) [symbolic] // CHECK:STDOUT: %Destroy.facet.d3d: %Destroy.type = facet_value %C.04a, (%DestroyImpl.lookup_impl_witness.7cc, %SubobjectDestroy.lookup_impl_witness.066) [symbolic] // CHECK:STDOUT: %C.664: type = class_type @C, @C(%empty_struct_type) [concrete] // CHECK:STDOUT: %pattern_type.917: type = pattern_type %C.664 [concrete] @@ -561,7 +559,6 @@ fn G() { F({}); } // CHECK:STDOUT: %custom_witness.b80ef6.2: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.2), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.cfd: %SubobjectDestroy.type = facet_value %C.664, (%custom_witness.b80ef6.2) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.cdb: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.cfd) [concrete] -// CHECK:STDOUT: %.08c: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.cfd) [concrete] // CHECK:STDOUT: %Destroy.facet.6b2: %Destroy.type = facet_value %C.664, (%DestroyImpl.impl_witness.cdb, %custom_witness.b80ef6.2) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.055: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.6b2) [concrete] // CHECK:STDOUT: } @@ -594,10 +591,8 @@ fn G() { F({}); } // CHECK:STDOUT: %v.patt.loc7_15.2: @F.%pattern_type (%pattern_type.563) = ref_binding_pattern v [symbolic = %v.patt.loc7_15.2 (constants.%v.patt.315)] // CHECK:STDOUT: %v.var_patt.loc7_3.2: @F.%pattern_type (%pattern_type.563) = var_pattern %v.patt.loc7_15.2 [symbolic = %v.var_patt.loc7_3.2 (constants.%v.var_patt.783)] // CHECK:STDOUT: %C.val: @F.%C.loc7_20.2 (%C.04a) = struct_value () [symbolic = %C.val (constants.%C.val.beb)] -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %C.loc7_20.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.066)] -// CHECK:STDOUT: %SubobjectDestroy.facet: %SubobjectDestroy.type = facet_value %C.loc7_20.2, (%SubobjectDestroy.lookup_impl_witness) [symbolic = %SubobjectDestroy.facet (constants.%SubobjectDestroy.facet.17b)] -// CHECK:STDOUT: %.loc7_3.4: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet) [symbolic = %.loc7_3.4 (constants.%.98e)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness: = lookup_impl_witness %C.loc7_20.2, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness (constants.%DestroyImpl.lookup_impl_witness.7cc)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %C.loc7_20.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.066)] // CHECK:STDOUT: %Destroy.facet.loc7_3.3: %Destroy.type = facet_value %C.loc7_20.2, (%DestroyImpl.lookup_impl_witness, %SubobjectDestroy.lookup_impl_witness) [symbolic = %Destroy.facet.loc7_3.3 (constants.%Destroy.facet.d3d)] // CHECK:STDOUT: // CHECK:STDOUT: @@ -648,10 +643,8 @@ fn G() { F({}); } // CHECK:STDOUT: %v.patt.loc7_15.2 => constants.%v.patt.dcb // CHECK:STDOUT: %v.var_patt.loc7_3.2 => constants.%v.var_patt.afa // CHECK:STDOUT: %C.val => constants.%C.val.c26 -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness => constants.%custom_witness.b80ef6.2 -// CHECK:STDOUT: %SubobjectDestroy.facet => constants.%SubobjectDestroy.facet.cfd -// CHECK:STDOUT: %.loc7_3.4 => constants.%.08c // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness => constants.%DestroyImpl.impl_witness.cdb +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness => constants.%custom_witness.b80ef6.2 // CHECK:STDOUT: %Destroy.facet.loc7_3.3 => constants.%Destroy.facet.6b2 // CHECK:STDOUT: %SelfDestruct.specific_fn.2 => constants.%SelfDestruct.specific_fn.055 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/field/compound_field.carbon b/toolchain/check/testdata/class/field/compound_field.carbon index 23dc245d25be..c52b9d0bd00a 100644 --- a/toolchain/check/testdata/class/field/compound_field.carbon +++ b/toolchain/check/testdata/class/field/compound_field.carbon @@ -75,11 +75,11 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @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] @@ -95,11 +95,11 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %AccessDerivedIndirect.type: type = fn_type @AccessDerivedIndirect [concrete] // CHECK:STDOUT: %AccessDerivedIndirect: %AccessDerivedIndirect.type = struct_value () [concrete] // CHECK:STDOUT: %Copy.impl_witness.83a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.652: %Copy.type = facet_value %ptr.a17, (%Copy.impl_witness.83a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9a2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.652) [concrete] // CHECK:STDOUT: %.309: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9a2, %Copy.facet.652 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.81f, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %AccessBaseIndirect.type: type = fn_type @AccessBaseIndirect [concrete] // CHECK:STDOUT: %AccessBaseIndirect: %AccessBaseIndirect.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/class/field/field_access.carbon b/toolchain/check/testdata/class/field/field_access.carbon index e1419f8a07d9..18f7fc402f3d 100644 --- a/toolchain/check/testdata/class/field/field_access.carbon +++ b/toolchain/check/testdata/class/field/field_access.carbon @@ -50,9 +50,9 @@ fn Run() { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.0e1: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Class) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.0e1) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.1a9: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.c3e: %T.as.DefaultOrUnformed.impl.Op.type.1a9 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.0e1) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.c3e, @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,11 +62,11 @@ fn Run() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -81,11 +81,11 @@ fn Run() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %ck.patt: %pattern_type.d94 = ref_binding_pattern ck [concrete] // CHECK:STDOUT: %ck.var_patt: %pattern_type.d94 = var_pattern %ck.patt [concrete] 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 4cfdd8b349e3..46edcf0af6aa 100644 --- a/toolchain/check/testdata/class/field/field_access_in_value.carbon +++ b/toolchain/check/testdata/class/field/field_access_in_value.carbon @@ -51,9 +51,9 @@ fn Test() { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.0e1: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Class) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.0e1) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.1a9: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.c3e: %T.as.DefaultOrUnformed.impl.Op.type.1a9 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.0e1) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.c3e, @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] @@ -63,11 +63,11 @@ fn Test() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -83,11 +83,11 @@ fn Test() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %ck.patt: %pattern_type.d94 = ref_binding_pattern ck [concrete] // CHECK:STDOUT: %ck.var_patt: %pattern_type.d94 = var_pattern %ck.patt [concrete] diff --git a/toolchain/check/testdata/class/field/field_initializer.carbon b/toolchain/check/testdata/class/field/field_initializer.carbon index f3adef5cb91a..76c34f0b1c2b 100644 --- a/toolchain/check/testdata/class/field/field_initializer.carbon +++ b/toolchain/check/testdata/class/field/field_initializer.carbon @@ -90,11 +90,11 @@ var C: Class = {}; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -126,7 +126,7 @@ var C: Class = {}; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Class { -// CHECK:STDOUT: %field_decl: %Class.elem = field_decl field, element0, initializer = inst6400010B, %i32 in [concrete] { +// CHECK:STDOUT: %field_decl: %Class.elem = field_decl field, element0, initializer = inst64000108, %i32 in [concrete] { // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %int_123: Core.IntLiteral = int_value 123 [concrete = constants.%int_123.fff] diff --git a/toolchain/check/testdata/class/field/static.carbon b/toolchain/check/testdata/class/field/static.carbon index 3acf850f74b0..69bd71655d2d 100644 --- a/toolchain/check/testdata/class/field/static.carbon +++ b/toolchain/check/testdata/class/field/static.carbon @@ -73,11 +73,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.60d: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.c2a: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/class/forward_declared.carbon b/toolchain/check/testdata/class/forward_declared.carbon index fb89b981a319..d086e534eb9e 100644 --- a/toolchain/check/testdata/class/forward_declared.carbon +++ b/toolchain/check/testdata/class/forward_declared.carbon @@ -35,11 +35,11 @@ fn F(p: Class*) -> Class* { return p; } // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.a17: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Class) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.baf: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Class) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.842: %ptr.as.Copy.impl.Op.type.baf = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.7ee, (%Copy.impl_witness.a17) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.6cc: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.884: type = fn_type_with_self_type %Copy.WithSelf.Op.type.6cc, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.baf: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Class) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.842: %ptr.as.Copy.impl.Op.type.baf = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.842, @ptr.as.Copy.impl.Op(%Class) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/generic/adapt.carbon b/toolchain/check/testdata/class/generic/adapt.carbon index 4a75cd2e7141..2c30b9520ff8 100644 --- a/toolchain/check/testdata/class/generic/adapt.carbon +++ b/toolchain/check/testdata/class/generic/adapt.carbon @@ -157,11 +157,11 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -325,11 +325,11 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -881,11 +881,11 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1019,11 +1019,11 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @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] diff --git a/toolchain/check/testdata/class/generic/base_is_generic.carbon b/toolchain/check/testdata/class/generic/base_is_generic.carbon index aaac98e1932d..5d6f4580ea5f 100644 --- a/toolchain/check/testdata/class/generic/base_is_generic.carbon +++ b/toolchain/check/testdata/class/generic/base_is_generic.carbon @@ -132,11 +132,11 @@ fn H() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -319,11 +319,11 @@ fn H() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/generic/basic.carbon b/toolchain/check/testdata/class/generic/basic.carbon index 41cc4bd4c0f9..11a924eab1c2 100644 --- a/toolchain/check/testdata/class/generic/basic.carbon +++ b/toolchain/check/testdata/class/generic/basic.carbon @@ -77,7 +77,6 @@ class Declaration(T: type); // CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %Copy.lookup_impl_witness.cf6: = lookup_impl_witness %ptr.215, @Copy [symbolic] -// CHECK:STDOUT: %.708: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.as_type) [symbolic] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.215, (%Copy.lookup_impl_witness.cf6) [symbolic] // CHECK:STDOUT: %Copy.WithSelf.Op.type.732: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [symbolic] // CHECK:STDOUT: %.1d4: type = fn_type_with_self_type %Copy.WithSelf.Op.type.732, %Copy.facet [symbolic] @@ -217,12 +216,11 @@ class Declaration(T: type); // CHECK:STDOUT: %require_complete.loc6_18: = require_complete_type %Class [symbolic = %require_complete.loc6_18 (constants.%require_complete.3d6)] // CHECK:STDOUT: %require_complete.loc6_24: = require_complete_type %ptr.loc6_28.1 [symbolic = %require_complete.loc6_24 (constants.%require_complete.94b)] // CHECK:STDOUT: %Class.elem: type = unbound_element_type %Class, %T.as_type.loc6_28.1 [symbolic = %Class.elem (constants.%Class.elem)] -// CHECK:STDOUT: %.loc7_12.3: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.as_type.loc6_28.1) [symbolic = %.loc7_12.3 (constants.%.708)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr.loc6_28.1, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.cf6)] // CHECK:STDOUT: %Copy.facet.loc7_12.3: %Copy.type = facet_value %ptr.loc6_28.1, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc7_12.3 (constants.%Copy.facet)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.loc7_12.3) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.732)] -// CHECK:STDOUT: %.loc7_12.4: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc7_12.3 [symbolic = %.loc7_12.4 (constants.%.1d4)] -// CHECK:STDOUT: %impl.elem0.loc7_12.2: @Class.GetAddr.%.loc7_12.4 (%.1d4) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc7_12.2 (constants.%impl.elem0.a74)] +// CHECK:STDOUT: %.loc7_12.3: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc7_12.3 [symbolic = %.loc7_12.3 (constants.%.1d4)] +// CHECK:STDOUT: %impl.elem0.loc7_12.2: @Class.GetAddr.%.loc7_12.3 (%.1d4) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc7_12.2 (constants.%impl.elem0.a74)] // CHECK:STDOUT: %specific_impl_fn.loc7_12.2: = specific_impl_function %impl.elem0.loc7_12.2, @Copy.WithSelf.Op(%Copy.facet.loc7_12.3) [symbolic = %specific_impl_fn.loc7_12.2 (constants.%specific_impl_fn.ca9)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%self.param: ref @Class.GetAddr.%Class (%Class)) -> out %return.param: @Class.GetAddr.%ptr.loc6_28.1 (%ptr.215) { @@ -231,7 +229,7 @@ class Declaration(T: type); // CHECK:STDOUT: %k.ref: @Class.GetAddr.%Class.elem (%Class.elem) = name_ref k, @Class.%field_decl [concrete = @Class.%field_decl] // CHECK:STDOUT: %.loc7_17: ref @Class.GetAddr.%T.as_type.loc6_28.1 (%T.as_type) = class_element_access %self.ref, element0 // CHECK:STDOUT: %addr: @Class.GetAddr.%ptr.loc6_28.1 (%ptr.215) = addr_of %.loc7_17 -// CHECK:STDOUT: %impl.elem0.loc7_12.1: @Class.GetAddr.%.loc7_12.4 (%.1d4) = impl_witness_access constants.%Copy.lookup_impl_witness.cf6, element0 [symbolic = %impl.elem0.loc7_12.2 (constants.%impl.elem0.a74)] +// CHECK:STDOUT: %impl.elem0.loc7_12.1: @Class.GetAddr.%.loc7_12.3 (%.1d4) = impl_witness_access constants.%Copy.lookup_impl_witness.cf6, element0 [symbolic = %impl.elem0.loc7_12.2 (constants.%impl.elem0.a74)] // CHECK:STDOUT: %bound_method.loc7_12.1: = bound_method %addr, %impl.elem0.loc7_12.1 // CHECK:STDOUT: %Copy.facet.loc7_12.1: %Copy.type = facet_value constants.%ptr.215, (constants.%Copy.lookup_impl_witness.cf6) [symbolic = %Copy.facet.loc7_12.3 (constants.%Copy.facet)] // CHECK:STDOUT: %.loc7_12.1: %Copy.type = converted constants.%ptr.215, %Copy.facet.loc7_12.1 [symbolic = %Copy.facet.loc7_12.3 (constants.%Copy.facet)] diff --git a/toolchain/check/testdata/class/generic/call.carbon b/toolchain/check/testdata/class/generic/call.carbon index bab549f897ba..2118f0afabaa 100644 --- a/toolchain/check/testdata/class/generic/call.carbon +++ b/toolchain/check/testdata/class/generic/call.carbon @@ -106,11 +106,11 @@ class Outer(T: type) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f65: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.ab2: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -123,9 +123,9 @@ class Outer(T: type) { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.90f: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Class.29e) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.3e6: %DefaultOrUnformed.type = facet_value %Class.29e, (%DefaultOrUnformed.impl_witness.90f) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.ec3: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Class.29e) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.7ee: %T.as.DefaultOrUnformed.impl.Op.type.ec3 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.3e6: %DefaultOrUnformed.type = facet_value %Class.29e, (%DefaultOrUnformed.impl_witness.90f) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.7ad: = specific_function %T.as.DefaultOrUnformed.impl.Op.7ee, @T.as.DefaultOrUnformed.impl.Op(%Class.29e) [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [concrete] @@ -137,9 +137,9 @@ class Outer(T: type) { // CHECK:STDOUT: %b.patt: %pattern_type.6a3 = ref_binding_pattern b [concrete] // CHECK:STDOUT: %b.var_patt: %pattern_type.6a3 = var_pattern %b.patt [concrete] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.7d5: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Class.766) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.501: %DefaultOrUnformed.type = facet_value %Class.766, (%DefaultOrUnformed.impl_witness.7d5) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.991: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Class.766) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.715: %T.as.DefaultOrUnformed.impl.Op.type.991 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.501: %DefaultOrUnformed.type = facet_value %Class.766, (%DefaultOrUnformed.impl_witness.7d5) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.5ed: = specific_function %T.as.DefaultOrUnformed.impl.Op.715, @T.as.DefaultOrUnformed.impl.Op(%Class.766) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/generic/complete_in_conversion.carbon b/toolchain/check/testdata/class/generic/complete_in_conversion.carbon index 132cf1474467..3499ab91d05a 100644 --- a/toolchain/check/testdata/class/generic/complete_in_conversion.carbon +++ b/toolchain/check/testdata/class/generic/complete_in_conversion.carbon @@ -69,11 +69,11 @@ fn F(a: A(0)*) { // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.dfd: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.914: %Int.as.ImplicitAs.impl.Convert.type.dfd = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.323: = impl_witness imports.%ImplicitAs.impl_witness_table.b7c, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.0aa: %ImplicitAs.type.5be = facet_value %i32, (%ImplicitAs.impl_witness.323) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4c7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.0aa) [concrete] // CHECK:STDOUT: %.ce7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4c7, %ImplicitAs.facet.0aa [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound.de4: = bound_method %N.c34, %Int.as.ImplicitAs.impl.Convert.779 [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.779, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.2e8: = bound_method %N.c34, %Int.as.ImplicitAs.impl.Convert.specific_fn [symbolic] @@ -86,11 +86,11 @@ fn F(a: A(0)*) { // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.6b0: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/class/generic/field.carbon b/toolchain/check/testdata/class/generic/field.carbon index ead6ee63e74a..fa450884e8a2 100644 --- a/toolchain/check/testdata/class/generic/field.carbon +++ b/toolchain/check/testdata/class/generic/field.carbon @@ -85,11 +85,11 @@ fn H(generic U: Core.Copy, c: Class(U)) -> U { // CHECK:STDOUT: %specific_impl_fn.2acc20.1: = specific_impl_function %impl.elem0.bb582d.1, @Copy.WithSelf.Op(%T.f84) [symbolic] // CHECK:STDOUT: %require_complete.d83f06.1: = require_complete_type %T.as_type [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Class.7ff32e.1: type = class_type @Class, @Class(%T.as_type) [symbolic] // CHECK:STDOUT: %pattern_type.4f4c59.1: type = pattern_type %Class.7ff32e.1 [symbolic] diff --git a/toolchain/check/testdata/class/generic/import.carbon b/toolchain/check/testdata/class/generic/import.carbon index 27d55fa1e639..79352005de91 100644 --- a/toolchain/check/testdata/class/generic/import.carbon +++ b/toolchain/check/testdata/class/generic/import.carbon @@ -111,11 +111,11 @@ class Class(U: type) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -309,11 +309,11 @@ class Class(U: type) { // CHECK:STDOUT: %struct: %struct_type.n.44a = struct_value (%int_1.5b8) [concrete] // CHECK:STDOUT: %ImplicitAs.type.6b0: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -535,11 +535,11 @@ class Class(U: type) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/generic/init.carbon b/toolchain/check/testdata/class/generic/init.carbon index ca481ec702f5..b6ee60d9940e 100644 --- a/toolchain/check/testdata/class/generic/init.carbon +++ b/toolchain/check/testdata/class/generic/init.carbon @@ -107,8 +107,6 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.49c: = lookup_impl_witness %Class.730, @DestroyImpl [symbolic] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.a32: = lookup_impl_witness %Class.730, @SubobjectDestroy [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.93c: %SubobjectDestroy.type = facet_value %Class.730, (%SubobjectDestroy.lookup_impl_witness.a32) [symbolic] -// CHECK:STDOUT: %.b58: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.93c) [symbolic] // CHECK:STDOUT: %Destroy.facet.b18: %Destroy.type = facet_value %Class.730, (%DestroyImpl.lookup_impl_witness.49c, %SubobjectDestroy.lookup_impl_witness.a32) [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = parameterized_class_name_type @Int [concrete] @@ -138,11 +136,11 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.3: type = fn_type @SubobjectDestroy.WithSelf.Op.loc15_3.2 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.3: %SubobjectDestroy.WithSelf.Op.type.6870fd.3 = struct_value () [concrete] @@ -255,10 +253,8 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %impl.elem0.loc10_27.2: @InitFromStructGeneric.%.loc10_27.3 (%.970) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc10_27.2 (constants.%impl.elem0.bec)] // CHECK:STDOUT: %specific_impl_fn.loc10_27.2: = specific_impl_function %impl.elem0.loc10_27.2, @Copy.WithSelf.Op(%Copy.facet.loc10_27.3) [symbolic = %specific_impl_fn.loc10_27.2 (constants.%specific_impl_fn.32b)] // CHECK:STDOUT: %Class.elem: type = unbound_element_type %Class.loc10_17.2, %T.as_type.loc9_66.1 [symbolic = %Class.elem (constants.%Class.elem.daa)] -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.loc10_3: = lookup_impl_witness %Class.loc10_17.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness.loc10_3 (constants.%SubobjectDestroy.lookup_impl_witness.a32)] -// CHECK:STDOUT: %SubobjectDestroy.facet: %SubobjectDestroy.type = facet_value %Class.loc10_17.2, (%SubobjectDestroy.lookup_impl_witness.loc10_3) [symbolic = %SubobjectDestroy.facet (constants.%SubobjectDestroy.facet.93c)] -// CHECK:STDOUT: %.loc10_3.4: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet) [symbolic = %.loc10_3.4 (constants.%.b58)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.loc10_3: = lookup_impl_witness %Class.loc10_17.2, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness.loc10_3 (constants.%DestroyImpl.lookup_impl_witness.49c)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.loc10_3: = lookup_impl_witness %Class.loc10_17.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness.loc10_3 (constants.%SubobjectDestroy.lookup_impl_witness.a32)] // CHECK:STDOUT: %Destroy.facet.loc10_3.3: %Destroy.type = facet_value %Class.loc10_17.2, (%DestroyImpl.lookup_impl_witness.loc10_3, %SubobjectDestroy.lookup_impl_witness.loc10_3) [symbolic = %Destroy.facet.loc10_3.3 (constants.%Destroy.facet.b18)] // CHECK:STDOUT: // CHECK:STDOUT: @@ -447,11 +443,11 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/generic/member_access.carbon b/toolchain/check/testdata/class/generic/member_access.carbon index 1cb1d04328ef..c3015a7e89cf 100644 --- a/toolchain/check/testdata/class/generic/member_access.carbon +++ b/toolchain/check/testdata/class/generic/member_access.carbon @@ -126,7 +126,6 @@ class C { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.lookup_impl_witness.cf6: = lookup_impl_witness %ptr.215, @Copy [symbolic] -// CHECK:STDOUT: %.708: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.as_type) [symbolic] // CHECK:STDOUT: %Copy.facet.ed3: %Copy.type = facet_value %ptr.215, (%Copy.lookup_impl_witness.cf6) [symbolic] // CHECK:STDOUT: %Copy.WithSelf.Op.type.732: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.ed3) [symbolic] // CHECK:STDOUT: %.1d4: type = fn_type_with_self_type %Copy.WithSelf.Op.type.732, %Copy.facet.ed3 [symbolic] @@ -138,10 +137,6 @@ class C { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = 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.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Class.4cd: type = class_type @Class, @Class(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %pattern_type.245: type = pattern_type %Class.4cd [concrete] @@ -149,6 +144,8 @@ class C { // CHECK:STDOUT: %pattern_type.d94: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] // CHECK:STDOUT: %return.patt.6fa: %pattern_type.d94 = return_slot_pattern %return.param_patt.299, %i32 [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: %Class.elem.4b5: type = unbound_element_type %Class.4cd, %i32 [concrete] // CHECK:STDOUT: %Class.Get.type.b33: type = fn_type @Class.Get, @Class(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %Class.Get.e4b: %Class.Get.type.b33 = struct_value () [concrete] @@ -158,6 +155,8 @@ class C { // CHECK:STDOUT: %complete_type.c49: = complete_type_witness %struct_type.x.991 [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %self.param_patt.d7b: %pattern_type.245 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.e4e: %pattern_type.245 = wrapper_binding_pattern self, %self.param_patt.d7b [concrete] @@ -173,12 +172,11 @@ class C { // CHECK:STDOUT: %Class.GetAddr.specific_fn: = specific_function %Class.GetAddr.597, @Class.GetAddr(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %complete_type.1b1: = complete_type_witness %ptr.a17 [concrete] // CHECK:STDOUT: %Copy.impl_witness.83a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] -// CHECK:STDOUT: %.a8f: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %Copy.facet.652: %Copy.type = facet_value %ptr.a17, (%Copy.impl_witness.83a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9a2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.652) [concrete] // CHECK:STDOUT: %.309: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9a2, %Copy.facet.652 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.81f, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -245,12 +243,11 @@ class C { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: %Class.elem: type = unbound_element_type %Class, %T.as_type.loc13_28.1 [symbolic = %Class.elem (constants.%Class.elem.b17)] -// CHECK:STDOUT: %.loc15_12.3: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.as_type.loc13_28.1) [symbolic = %.loc15_12.3 (constants.%.708)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr.loc13_28.1, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.cf6)] // CHECK:STDOUT: %Copy.facet.loc15_12.3: %Copy.type = facet_value %ptr.loc13_28.1, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc15_12.3 (constants.%Copy.facet.ed3)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.loc15_12.3) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.732)] -// CHECK:STDOUT: %.loc15_12.4: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc15_12.3 [symbolic = %.loc15_12.4 (constants.%.1d4)] -// CHECK:STDOUT: %impl.elem0.loc15_12.2: @Class.GetAddr.%.loc15_12.4 (%.1d4) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc15_12.2 (constants.%impl.elem0.a74)] +// CHECK:STDOUT: %.loc15_12.3: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc15_12.3 [symbolic = %.loc15_12.3 (constants.%.1d4)] +// CHECK:STDOUT: %impl.elem0.loc15_12.2: @Class.GetAddr.%.loc15_12.3 (%.1d4) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc15_12.2 (constants.%impl.elem0.a74)] // CHECK:STDOUT: %specific_impl_fn.loc15_12.2: = specific_impl_function %impl.elem0.loc15_12.2, @Copy.WithSelf.Op(%Copy.facet.loc15_12.3) [symbolic = %specific_impl_fn.loc15_12.2 (constants.%specific_impl_fn.ca9)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%self.param: ref @Class.GetAddr.%Class (%Class.a52)) -> out %return.param: @Class.GetAddr.%ptr.loc13_28.1 (%ptr.215) { @@ -259,7 +256,7 @@ class C { // CHECK:STDOUT: %x.ref: @Class.GetAddr.%Class.elem (%Class.elem.b17) = name_ref x, @Class.%field_decl [concrete = @Class.%field_decl] // CHECK:STDOUT: %.loc15_17: ref @Class.GetAddr.%T.as_type.loc13_28.1 (%T.as_type) = class_element_access %self.ref, element0 // CHECK:STDOUT: %addr: @Class.GetAddr.%ptr.loc13_28.1 (%ptr.215) = addr_of %.loc15_17 -// CHECK:STDOUT: %impl.elem0.loc15_12.1: @Class.GetAddr.%.loc15_12.4 (%.1d4) = impl_witness_access constants.%Copy.lookup_impl_witness.cf6, element0 [symbolic = %impl.elem0.loc15_12.2 (constants.%impl.elem0.a74)] +// CHECK:STDOUT: %impl.elem0.loc15_12.1: @Class.GetAddr.%.loc15_12.3 (%.1d4) = impl_witness_access constants.%Copy.lookup_impl_witness.cf6, element0 [symbolic = %impl.elem0.loc15_12.2 (constants.%impl.elem0.a74)] // CHECK:STDOUT: %bound_method.loc15_12.1: = bound_method %addr, %impl.elem0.loc15_12.1 // CHECK:STDOUT: %Copy.facet.loc15_12.1: %Copy.type = facet_value constants.%ptr.215, (constants.%Copy.lookup_impl_witness.cf6) [symbolic = %Copy.facet.loc15_12.3 (constants.%Copy.facet.ed3)] // CHECK:STDOUT: %.loc15_12.1: %Copy.type = converted constants.%ptr.215, %Copy.facet.loc15_12.1 [symbolic = %Copy.facet.loc15_12.3 (constants.%Copy.facet.ed3)] @@ -421,11 +418,10 @@ class C { // CHECK:STDOUT: %require_complete.loc13_18 => constants.%complete_type.c49 // CHECK:STDOUT: %require_complete.loc13_24 => constants.%complete_type.1b1 // CHECK:STDOUT: %Class.elem => constants.%Class.elem.4b5 -// CHECK:STDOUT: %.loc15_12.3 => constants.%.a8f // CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.83a // CHECK:STDOUT: %Copy.facet.loc15_12.3 => constants.%Copy.facet.652 // CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.9a2 -// CHECK:STDOUT: %.loc15_12.4 => constants.%.309 +// CHECK:STDOUT: %.loc15_12.3 => constants.%.309 // CHECK:STDOUT: %impl.elem0.loc15_12.2 => constants.%ptr.as.Copy.impl.Op.81f // 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 65262df88561..d9499387b065 100644 --- a/toolchain/check/testdata/class/generic/member_type.carbon +++ b/toolchain/check/testdata/class/generic/member_type.carbon @@ -109,8 +109,6 @@ fn Test() -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Outer.5fe: type = class_type @Outer, @Outer(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %Inner.ea8: type = class_type @Inner, @Inner(%Copy.facet.95d) [concrete] @@ -138,17 +136,19 @@ fn Test() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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.68a: %i32 = int_value 1 [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] @@ -540,7 +540,6 @@ fn Test() -> i32 { // CHECK:STDOUT: %require_complete.e45: = require_complete_type %C.128 [symbolic] // CHECK:STDOUT: %require_complete.944: = require_complete_type %T.67d [symbolic] // CHECK:STDOUT: %Inner.lookup_impl_witness: = lookup_impl_witness %C.128, @Inner, @Inner(%T.67d) [symbolic] -// CHECK:STDOUT: %.f55: require_specific_def_type = require_specific_def @C.as.Inner.impl(%T.67d) [symbolic] // CHECK:STDOUT: %Inner.facet.d73: %Inner.type.ebc = facet_value %C.128, (%Inner.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %Inner.WithSelf.F.type.001: type = fn_type @Inner.WithSelf.F, @Inner.WithSelf(%T.67d, %Inner.facet.d73) [symbolic] // CHECK:STDOUT: %Inner.WithSelf.F.5d3: %Inner.WithSelf.F.type.001 = struct_value () [symbolic] @@ -585,14 +584,13 @@ fn Test() -> i32 { // CHECK:STDOUT: %C.val: %C.785 = struct_value () [concrete] // CHECK:STDOUT: %.1b6: = impl_self_witness %C.785, @Inner, @Inner(%i32) [concrete] // CHECK:STDOUT: %Inner.impl_witness.728: = impl_witness @C.as.Inner.impl.%Inner.impl_witness_table, @C.as.Inner.impl(%i32) [concrete] -// CHECK:STDOUT: %complete_type.469: = complete_type_witness %Inner.type.b91 [concrete] -// CHECK:STDOUT: %C.as.Inner.impl.F.type.460: type = fn_type @C.as.Inner.impl.F, @C.as.Inner.impl(%i32) [concrete] -// CHECK:STDOUT: %C.as.Inner.impl.F.e15: %C.as.Inner.impl.F.type.460 = struct_value () [concrete] -// CHECK:STDOUT: %.ee5: require_specific_def_type = require_specific_def @C.as.Inner.impl(%i32) [concrete] // CHECK:STDOUT: %Inner.facet.e46: %Inner.type.b91 = facet_value %C.785, (%Inner.impl_witness.728) [concrete] // CHECK:STDOUT: %Inner.WithSelf.F.type.a68: type = fn_type @Inner.WithSelf.F, @Inner.WithSelf(%i32, %Inner.facet.e46) [concrete] // CHECK:STDOUT: %Inner.WithSelf.F.6d2: %Inner.WithSelf.F.type.a68 = struct_value () [concrete] // CHECK:STDOUT: %.0c4: type = fn_type_with_self_type %Inner.WithSelf.F.type.a68, %Inner.facet.e46 [concrete] +// CHECK:STDOUT: %complete_type.469: = complete_type_witness %Inner.type.b91 [concrete] +// CHECK:STDOUT: %C.as.Inner.impl.F.type.460: type = fn_type @C.as.Inner.impl.F, @C.as.Inner.impl(%i32) [concrete] +// CHECK:STDOUT: %C.as.Inner.impl.F.e15: %C.as.Inner.impl.F.type.460 = struct_value () [concrete] // CHECK:STDOUT: %self.param_patt.17c: %pattern_type.e4b = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.894: %pattern_type.e4b = wrapper_binding_pattern self, %self.param_patt.17c [concrete] // CHECK:STDOUT: %C.as.Inner.impl.F.specific_fn: = specific_function %C.as.Inner.impl.F.e15, @C.as.Inner.impl.F(%i32) [concrete] @@ -866,12 +864,11 @@ fn Test() -> i32 { // CHECK:STDOUT: %require_complete.loc11_46: = require_complete_type %Inner.type [symbolic = %require_complete.loc11_46 (constants.%require_complete.074)] // CHECK:STDOUT: %Inner.assoc_type: type = assoc_entity_type @Inner, @Inner(%T) [symbolic = %Inner.assoc_type (constants.%Inner.assoc_type.feb)] // CHECK:STDOUT: %assoc0: @C.as.Inner.impl.F.%Inner.assoc_type (%Inner.assoc_type.feb) = assoc_entity element0, @Inner.WithSelf.%Inner.WithSelf.F.decl [symbolic = %assoc0 (constants.%assoc0.3e8)] -// CHECK:STDOUT: %.loc11_39.1: require_specific_def_type = require_specific_def @C.as.Inner.impl(%T) [symbolic = %.loc11_39.1 (constants.%.f55)] // CHECK:STDOUT: %Inner.lookup_impl_witness: = lookup_impl_witness %C, @Inner, @Inner(%T) [symbolic = %Inner.lookup_impl_witness (constants.%Inner.lookup_impl_witness)] // CHECK:STDOUT: %Inner.facet: @C.as.Inner.impl.F.%Inner.type (%Inner.type.ebc) = facet_value %C, (%Inner.lookup_impl_witness) [symbolic = %Inner.facet (constants.%Inner.facet.d73)] // CHECK:STDOUT: %Inner.WithSelf.F.type: type = fn_type @Inner.WithSelf.F, @Inner.WithSelf(%T, %Inner.facet) [symbolic = %Inner.WithSelf.F.type (constants.%Inner.WithSelf.F.type.001)] -// CHECK:STDOUT: %.loc11_39.2: type = fn_type_with_self_type %Inner.WithSelf.F.type, %Inner.facet [symbolic = %.loc11_39.2 (constants.%.bab)] -// CHECK:STDOUT: %impl.elem0.loc11_39.2: @C.as.Inner.impl.F.%.loc11_39.2 (%.bab) = impl_witness_access %Inner.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc11_39.2 (constants.%impl.elem0.eb0)] +// CHECK:STDOUT: %.loc11_39: type = fn_type_with_self_type %Inner.WithSelf.F.type, %Inner.facet [symbolic = %.loc11_39 (constants.%.bab)] +// CHECK:STDOUT: %impl.elem0.loc11_39.2: @C.as.Inner.impl.F.%.loc11_39 (%.bab) = impl_witness_access %Inner.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc11_39.2 (constants.%impl.elem0.eb0)] // CHECK:STDOUT: %specific_impl_fn.loc11_39.2: = specific_impl_function %impl.elem0.loc11_39.2, @Inner.WithSelf.F(%T, %Inner.facet) [symbolic = %specific_impl_fn.loc11_39.2 (constants.%specific_impl_fn.eef)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%self.param: @C.as.Inner.impl.F.%C (%C.128)) -> out %return.param: @C.as.Inner.impl.F.%T (%T.67d) { @@ -881,7 +878,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %Inner.ref: type = name_ref Inner, %.loc11_41 [symbolic = %Inner.type (constants.%Inner.type.ebc)] // CHECK:STDOUT: %.loc11_46: @C.as.Inner.impl.F.%Inner.assoc_type (%Inner.assoc_type.feb) = specific_constant @Inner.WithSelf.%assoc0.loc6_20.1, @Inner.WithSelf(constants.%T.67d, constants.%Self.6a1) [symbolic = %assoc0 (constants.%assoc0.3e8)] // CHECK:STDOUT: %F.ref: @C.as.Inner.impl.F.%Inner.assoc_type (%Inner.assoc_type.feb) = name_ref F, %.loc11_46 [symbolic = %assoc0 (constants.%assoc0.3e8)] -// CHECK:STDOUT: %impl.elem0.loc11_39.1: @C.as.Inner.impl.F.%.loc11_39.2 (%.bab) = impl_witness_access constants.%Inner.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc11_39.2 (constants.%impl.elem0.eb0)] +// CHECK:STDOUT: %impl.elem0.loc11_39.1: @C.as.Inner.impl.F.%.loc11_39 (%.bab) = impl_witness_access constants.%Inner.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc11_39.2 (constants.%impl.elem0.eb0)] // CHECK:STDOUT: %bound_method.loc11_39: = bound_method %self.ref, %impl.elem0.loc11_39.1 // CHECK:STDOUT: %specific_impl_fn.loc11_39.1: = specific_impl_function %impl.elem0.loc11_39.1, @Inner.WithSelf.F(constants.%T.67d, constants.%Inner.facet.d73) [symbolic = %specific_impl_fn.loc11_39.2 (constants.%specific_impl_fn.eef)] // CHECK:STDOUT: %bound_method.loc11_50: = bound_method %self.ref, %specific_impl_fn.loc11_39.1 @@ -1157,11 +1154,10 @@ fn Test() -> i32 { // CHECK:STDOUT: %require_complete.loc11_46 => constants.%complete_type.469 // CHECK:STDOUT: %Inner.assoc_type => constants.%Inner.assoc_type.0c1 // CHECK:STDOUT: %assoc0 => constants.%assoc0.1ea -// CHECK:STDOUT: %.loc11_39.1 => constants.%.ee5 // CHECK:STDOUT: %Inner.lookup_impl_witness => constants.%Inner.impl_witness.728 // CHECK:STDOUT: %Inner.facet => constants.%Inner.facet.e46 // CHECK:STDOUT: %Inner.WithSelf.F.type => constants.%Inner.WithSelf.F.type.a68 -// CHECK:STDOUT: %.loc11_39.2 => constants.%.0c4 +// CHECK:STDOUT: %.loc11_39 => constants.%.0c4 // CHECK:STDOUT: %impl.elem0.loc11_39.2 => constants.%C.as.Inner.impl.F.e15 // CHECK:STDOUT: %specific_impl_fn.loc11_39.2 => constants.%C.as.Inner.impl.F.specific_fn // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/self.carbon b/toolchain/check/testdata/class/generic/self.carbon index b0cc779993c7..d4a8028e8f68 100644 --- a/toolchain/check/testdata/class/generic/self.carbon +++ b/toolchain/check/testdata/class/generic/self.carbon @@ -60,11 +60,8 @@ class Class(T: type) { // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %SubobjectDestroy.type: type = facet_type <@SubobjectDestroy> [concrete] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.cc4: = lookup_impl_witness %Class, @DestroyImpl [symbolic] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.bb5: = lookup_impl_witness %Class, @SubobjectDestroy [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.b2a: %SubobjectDestroy.type = facet_value %Class, (%SubobjectDestroy.lookup_impl_witness.bb5) [symbolic] -// CHECK:STDOUT: %.6e3: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.b2a) [symbolic] // CHECK:STDOUT: %Destroy.facet: %Destroy.type = facet_value %Class, (%DestroyImpl.lookup_impl_witness.cc4, %SubobjectDestroy.lookup_impl_witness.bb5) [symbolic] // CHECK:STDOUT: %SelfDestruct.specific_fn: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet) [symbolic] // CHECK:STDOUT: } @@ -202,10 +199,8 @@ class Class(T: type) { // CHECK:STDOUT: %Class.MakeClass.type: type = fn_type @Class.MakeClass, @Class(%T) [symbolic = %Class.MakeClass.type (constants.%Class.MakeClass.type)] // CHECK:STDOUT: %Class.MakeClass: @Class.F.%Class.MakeClass.type (%Class.MakeClass.type) = struct_value () [symbolic = %Class.MakeClass (constants.%Class.MakeClass)] // CHECK:STDOUT: %Class.MakeClass.specific_fn.loc22_26.2: = specific_function %Class.MakeClass, @Class.MakeClass(%T) [symbolic = %Class.MakeClass.specific_fn.loc22_26.2 (constants.%Class.MakeClass.specific_fn)] -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %Class.loc21_26.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.bb5)] -// CHECK:STDOUT: %SubobjectDestroy.facet: %SubobjectDestroy.type = facet_value %Class.loc21_26.2, (%SubobjectDestroy.lookup_impl_witness) [symbolic = %SubobjectDestroy.facet (constants.%SubobjectDestroy.facet.b2a)] -// CHECK:STDOUT: %.loc22_5.4: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet) [symbolic = %.loc22_5.4 (constants.%.6e3)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness: = lookup_impl_witness %Class.loc21_26.2, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness (constants.%DestroyImpl.lookup_impl_witness.cc4)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %Class.loc21_26.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.bb5)] // CHECK:STDOUT: %Destroy.facet.loc22_5.3: %Destroy.type = facet_value %Class.loc21_26.2, (%DestroyImpl.lookup_impl_witness, %SubobjectDestroy.lookup_impl_witness) [symbolic = %Destroy.facet.loc22_5.3 (constants.%Destroy.facet)] // CHECK:STDOUT: %SelfDestruct.specific_fn.3: = specific_function constants.%SelfDestruct, @SelfDestruct(%Destroy.facet.loc22_5.3) [symbolic = %SelfDestruct.specific_fn.3 (constants.%SelfDestruct.specific_fn)] // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/generic/stringify.carbon b/toolchain/check/testdata/class/generic/stringify.carbon index 2b5455f34704..604a81c63ade 100644 --- a/toolchain/check/testdata/class/generic/stringify.carbon +++ b/toolchain/check/testdata/class/generic/stringify.carbon @@ -87,9 +87,9 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.821: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%NoParams) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %NoParams, (%DefaultOrUnformed.impl_witness.821) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5de: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%NoParams) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.402: %T.as.DefaultOrUnformed.impl.Op.type.5de = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %NoParams, (%DefaultOrUnformed.impl_witness.821) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.402, @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] @@ -203,9 +203,9 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.0e3: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Outer.856) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Outer.856, (%DefaultOrUnformed.impl_witness.0e3) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.123: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Outer.856) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.e2b: %T.as.DefaultOrUnformed.impl.Op.type.123 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Outer.856, (%DefaultOrUnformed.impl_witness.0e3) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.e2b, @T.as.DefaultOrUnformed.impl.Op(%Outer.856) [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = parameterized_class_name_type @Int [concrete] @@ -397,11 +397,11 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -529,11 +529,11 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/class/import.carbon b/toolchain/check/testdata/class/import.carbon index a2244a0c9352..2be7d1ae3c0d 100644 --- a/toolchain/check/testdata/class/import.carbon +++ b/toolchain/check/testdata/class/import.carbon @@ -192,11 +192,11 @@ fn Run() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -225,11 +225,11 @@ fn Run() { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.47f: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%ForwardDeclared.08bd4c.1) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.d61: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%ForwardDeclared.08bd4c.1) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.de5: %ptr.as.Copy.impl.Op.type.d61 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.11e, (%Copy.impl_witness.47f) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.6d5: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.5d9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.6d5, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.d61: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%ForwardDeclared.08bd4c.1) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.de5: %ptr.as.Copy.impl.Op.type.d61 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.de5, @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] @@ -240,9 +240,9 @@ fn Run() { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.c74: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%ptr.06d) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr.06d, (%DefaultOrUnformed.impl_witness.c74) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.4bb: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%ptr.06d) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.e2d: %T.as.DefaultOrUnformed.impl.Op.type.4bb = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr.06d, (%DefaultOrUnformed.impl_witness.c74) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.e2d, @T.as.DefaultOrUnformed.impl.Op(%ptr.06d) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/class/import_indirect.carbon b/toolchain/check/testdata/class/import_indirect.carbon index 7595a3eac22e..42f74ddf7ccb 100644 --- a/toolchain/check/testdata/class/import_indirect.carbon +++ b/toolchain/check/testdata/class/import_indirect.carbon @@ -159,11 +159,11 @@ var ptr: E* = &value; // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.2f3: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.2f3) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.7ed: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.dea: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7ed, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.c88 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c88, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -260,11 +260,11 @@ var ptr: E* = &value; // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.2f3: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.2f3) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.7ed: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.dea: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7ed, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.c88 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c88, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -361,11 +361,11 @@ var ptr: E* = &value; // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.2f3: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.2f3) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.7ed: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.dea: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7ed, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.c88 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c88, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -465,11 +465,11 @@ var ptr: E* = &value; // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.2f3: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.2f3) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.7ed: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.dea: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7ed, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.c88 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c88, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -569,11 +569,11 @@ var ptr: E* = &value; // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.2f3: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.2f3) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.7ed: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.dea: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7ed, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.c88 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c88, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -677,11 +677,11 @@ var ptr: E* = &value; // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.2f3: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.2f3) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.7ed: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.dea: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7ed, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.c88 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c88, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] diff --git a/toolchain/check/testdata/class/import_member_cycle.carbon b/toolchain/check/testdata/class/import_member_cycle.carbon index ca6c742c22d0..0e70a6aafb6d 100644 --- a/toolchain/check/testdata/class/import_member_cycle.carbon +++ b/toolchain/check/testdata/class/import_member_cycle.carbon @@ -90,9 +90,9 @@ fn Run() { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.1b4: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.1b4) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.63b: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.95c: %T.as.DefaultOrUnformed.impl.Op.type.63b = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.1b4) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.95c, @T.as.DefaultOrUnformed.impl.Op(%ptr) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/class/import_struct_cycle.carbon b/toolchain/check/testdata/class/import_struct_cycle.carbon index 3ba659bf837d..923c8a039e4f 100644 --- a/toolchain/check/testdata/class/import_struct_cycle.carbon +++ b/toolchain/check/testdata/class/import_struct_cycle.carbon @@ -50,9 +50,9 @@ fn Run() { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.b69: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%struct_type.b) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %struct_type.b, (%DefaultOrUnformed.impl_witness.b69) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.51a: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%struct_type.b) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.bdd: %T.as.DefaultOrUnformed.impl.Op.type.51a = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %struct_type.b, (%DefaultOrUnformed.impl_witness.b69) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.bdd, @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] @@ -140,11 +140,11 @@ fn Run() { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.585: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Cycle) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.b10: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Cycle) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.fb1: %ptr.as.Copy.impl.Op.type.b10 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.5cd, (%Copy.impl_witness.585) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.fc7: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.7ba: type = fn_type_with_self_type %Copy.WithSelf.Op.type.fc7, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.b10: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Cycle) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.fb1: %ptr.as.Copy.impl.Op.type.b10 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.fb1, @ptr.as.Copy.impl.Op(%Cycle) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/inheritance/base.carbon b/toolchain/check/testdata/class/inheritance/base.carbon index b526c7d668cb..b8459ccb3708 100644 --- a/toolchain/check/testdata/class/inheritance/base.carbon +++ b/toolchain/check/testdata/class/inheritance/base.carbon @@ -85,11 +85,11 @@ class Derived { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.776: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.7fa: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -115,11 +115,11 @@ class Derived { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/inheritance/base_field.carbon b/toolchain/check/testdata/class/inheritance/base_field.carbon index 11805f4959e8..303404ae472f 100644 --- a/toolchain/check/testdata/class/inheritance/base_field.carbon +++ b/toolchain/check/testdata/class/inheritance/base_field.carbon @@ -62,11 +62,11 @@ fn Access(p: Derived*) -> i32* { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.83a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.a17, (%Copy.impl_witness.83a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9a2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.309: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9a2, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.81f, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/inheritance/base_method.carbon b/toolchain/check/testdata/class/inheritance/base_method.carbon index 5f57d7c2063f..225abddac77b 100644 --- a/toolchain/check/testdata/class/inheritance/base_method.carbon +++ b/toolchain/check/testdata/class/inheritance/base_method.carbon @@ -56,11 +56,11 @@ fn Call(p: Derived*) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/class/inheritance/derived_to_base.carbon b/toolchain/check/testdata/class/inheritance/derived_to_base.carbon index 5c690c7e0334..8c7fc60c3d38 100644 --- a/toolchain/check/testdata/class/inheritance/derived_to_base.carbon +++ b/toolchain/check/testdata/class/inheritance/derived_to_base.carbon @@ -155,11 +155,11 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.730: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%B) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ef6: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%B) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.0df: %ptr.as.Copy.impl.Op.type.ef6 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.c82: %Copy.type = facet_value %ptr.432, (%Copy.impl_witness.730) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f50: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.c82) [concrete] // CHECK:STDOUT: %.19e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f50, %Copy.facet.c82 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ef6: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%B) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.0df: %ptr.as.Copy.impl.Op.type.ef6 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.e58: = specific_function %ptr.as.Copy.impl.Op.0df, @ptr.as.Copy.impl.Op(%B) [concrete] // CHECK:STDOUT: %p.param_patt.436: %pattern_type.3c8 = value_param_pattern [concrete] // CHECK:STDOUT: %p.patt.8dd: %pattern_type.3c8 = wrapper_binding_pattern p, %p.param_patt.436 [concrete] @@ -171,11 +171,11 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: %ConvertBToA.type: type = fn_type @ConvertBToA [concrete] // CHECK:STDOUT: %ConvertBToA: %ConvertBToA.type = struct_value () [concrete] // CHECK:STDOUT: %Copy.impl_witness.438: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%A) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.213: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%A) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.922: %ptr.as.Copy.impl.Op.type.213 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.c6f: %Copy.type = facet_value %ptr.d43, (%Copy.impl_witness.438) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.065: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.c6f) [concrete] // CHECK:STDOUT: %.0fe: type = fn_type_with_self_type %Copy.WithSelf.Op.type.065, %Copy.facet.c6f [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.213: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%A) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.922: %ptr.as.Copy.impl.Op.type.213 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.3d1: = specific_function %ptr.as.Copy.impl.Op.922, @ptr.as.Copy.impl.Op(%A) [concrete] // CHECK:STDOUT: %ConvertCToA.type: type = fn_type @ConvertCToA [concrete] // CHECK:STDOUT: %ConvertCToA: %ConvertCToA.type = struct_value () [concrete] @@ -209,11 +209,11 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/class/inheritance/import_base.carbon b/toolchain/check/testdata/class/inheritance/import_base.carbon index b1b38da5566f..06007d6a1621 100644 --- a/toolchain/check/testdata/class/inheritance/import_base.carbon +++ b/toolchain/check/testdata/class/inheritance/import_base.carbon @@ -170,11 +170,11 @@ fn Run() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.762: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/class/inheritance/self_conversion.carbon b/toolchain/check/testdata/class/inheritance/self_conversion.carbon index 0e73e76c8231..97cfb53e520a 100644 --- a/toolchain/check/testdata/class/inheritance/self_conversion.carbon +++ b/toolchain/check/testdata/class/inheritance/self_conversion.carbon @@ -71,11 +71,11 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @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] @@ -85,11 +85,11 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/class/init.carbon b/toolchain/check/testdata/class/init.carbon index fd8acfd47116..d2fe7aed1a0b 100644 --- a/toolchain/check/testdata/class/init.carbon +++ b/toolchain/check/testdata/class/init.carbon @@ -59,18 +59,18 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Copy.impl_witness.a17: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Class) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.baf: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Class) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.842: %ptr.as.Copy.impl.Op.type.baf = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.988: %Copy.type = facet_value %ptr.7ee, (%Copy.impl_witness.a17) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.6cc: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.988) [concrete] // CHECK:STDOUT: %.884: type = fn_type_with_self_type %Copy.WithSelf.Op.type.6cc, %Copy.facet.988 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.baf: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Class) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.842: %ptr.as.Copy.impl.Op.type.baf = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.842, @ptr.as.Copy.impl.Op(%Class) [concrete] // CHECK:STDOUT: %MakeReorder.type: type = fn_type @MakeReorder [concrete] // CHECK:STDOUT: %MakeReorder: %MakeReorder.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/class/init_as.carbon b/toolchain/check/testdata/class/init_as.carbon index 6af12cf44ce6..f63f7cd3df8e 100644 --- a/toolchain/check/testdata/class/init_as.carbon +++ b/toolchain/check/testdata/class/init_as.carbon @@ -48,11 +48,11 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -67,11 +67,11 @@ fn G() -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %SubobjectDestroy.type: type = facet_type <@SubobjectDestroy> [concrete] diff --git a/toolchain/check/testdata/class/local.carbon b/toolchain/check/testdata/class/local.carbon index 61410362adf6..46962409901d 100644 --- a/toolchain/check/testdata/class/local.carbon +++ b/toolchain/check/testdata/class/local.carbon @@ -68,11 +68,11 @@ class A { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -82,11 +82,11 @@ class A { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] 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 e4d9a4947a8c..bbc1a6279a48 100644 --- a/toolchain/check/testdata/class/method/call_without_method_syntax.carbon +++ b/toolchain/check/testdata/class/method/call_without_method_syntax.carbon @@ -70,11 +70,11 @@ fn CallViaAlias(p: Point) -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @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 = wrapper_binding_pattern p, %p.param_patt [concrete] diff --git a/toolchain/check/testdata/class/method/method.carbon b/toolchain/check/testdata/class/method/method.carbon index 3b238bc12f44..284549ba3f86 100644 --- a/toolchain/check/testdata/class/method/method.carbon +++ b/toolchain/check/testdata/class/method/method.carbon @@ -94,11 +94,11 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.f15 = value_param_pattern [concrete] // CHECK:STDOUT: %c.patt.854: %pattern_type.f15 = wrapper_binding_pattern c, %c.param_patt [concrete] @@ -118,11 +118,11 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -159,9 +159,9 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.0e1: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Class) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.0e1) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.1a9: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.c3e: %T.as.DefaultOrUnformed.impl.Op.type.1a9 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.0e1) [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.c3e, @T.as.DefaultOrUnformed.impl.Op(%Class) [concrete] diff --git a/toolchain/check/testdata/class/method/static_method.carbon b/toolchain/check/testdata/class/method/static_method.carbon index b5e2ee5074e8..9b96581670f4 100644 --- a/toolchain/check/testdata/class/method/static_method.carbon +++ b/toolchain/check/testdata/class/method/static_method.carbon @@ -49,9 +49,9 @@ fn Run() -> i32 { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.0e1: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Class) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.0e1) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.1a9: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.c3e: %T.as.DefaultOrUnformed.impl.Op.type.1a9 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.0e1) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.c3e, @T.as.DefaultOrUnformed.impl.Op(%Class) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/class/method/virtual.carbon b/toolchain/check/testdata/class/method/virtual.carbon index b00008eb7f13..02fb38a611c8 100644 --- a/toolchain/check/testdata/class/method/virtual.carbon +++ b/toolchain/check/testdata/class/method/virtual.carbon @@ -918,11 +918,11 @@ class T2(G2: type) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.b3c: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.fb0: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -935,11 +935,11 @@ class T2(G2: type) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @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] diff --git a/toolchain/check/testdata/class/nested.carbon b/toolchain/check/testdata/class/nested.carbon index 0f95da98397a..5aad7574f35c 100644 --- a/toolchain/check/testdata/class/nested.carbon +++ b/toolchain/check/testdata/class/nested.carbon @@ -86,17 +86,17 @@ fn F(a: Outer*) { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.205: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Outer) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.650: %DefaultOrUnformed.type = facet_value %Outer, (%DefaultOrUnformed.impl_witness.205) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.9e1: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Outer) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.f80: %T.as.DefaultOrUnformed.impl.Op.type.9e1 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.650: %DefaultOrUnformed.type = facet_value %Outer, (%DefaultOrUnformed.impl_witness.205) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.a77: = specific_function %T.as.DefaultOrUnformed.impl.Op.f80, @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.20a: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Inner) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.cc7: %DefaultOrUnformed.type = facet_value %Inner, (%DefaultOrUnformed.impl_witness.20a) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5c5: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Inner) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.eee: %T.as.DefaultOrUnformed.impl.Op.type.5c5 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.cc7: %DefaultOrUnformed.type = facet_value %Inner, (%DefaultOrUnformed.impl_witness.20a) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.d68: = specific_function %T.as.DefaultOrUnformed.impl.Op.eee, @T.as.DefaultOrUnformed.impl.Op(%Inner) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] @@ -150,18 +150,18 @@ fn F(a: Outer*) { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.829: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Outer) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.e6a: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Outer) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.36d: %ptr.as.Copy.impl.Op.type.e6a = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.3d9: %Copy.type = facet_value %ptr.286, (%Copy.impl_witness.829) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e48: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.3d9) [concrete] // CHECK:STDOUT: %.43b: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e48, %Copy.facet.3d9 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.e6a: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Outer) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.36d: %ptr.as.Copy.impl.Op.type.e6a = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.944: = specific_function %ptr.as.Copy.impl.Op.36d, @ptr.as.Copy.impl.Op(%Outer) [concrete] // CHECK:STDOUT: %Copy.impl_witness.23c: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Inner) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.a53: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Inner) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.cc3: %ptr.as.Copy.impl.Op.type.a53 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.2b2: %Copy.type = facet_value %ptr.001, (%Copy.impl_witness.23c) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.5cd: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.2b2) [concrete] // CHECK:STDOUT: %.1fa: type = fn_type_with_self_type %Copy.WithSelf.Op.type.5cd, %Copy.facet.2b2 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.a53: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Inner) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.cc3: %ptr.as.Copy.impl.Op.type.a53 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.824: = specific_function %ptr.as.Copy.impl.Op.cc3, @ptr.as.Copy.impl.Op(%Inner) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/nested_name.carbon b/toolchain/check/testdata/class/nested_name.carbon index 7c1bb83f7c5a..1698fd651996 100644 --- a/toolchain/check/testdata/class/nested_name.carbon +++ b/toolchain/check/testdata/class/nested_name.carbon @@ -57,11 +57,11 @@ fn G(o: Outer) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @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] @@ -74,9 +74,9 @@ fn G(o: Outer) { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.20a: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Inner) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Inner, (%DefaultOrUnformed.impl_witness.20a) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5c5: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Inner) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.eee: %T.as.DefaultOrUnformed.impl.Op.type.5c5 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Inner, (%DefaultOrUnformed.impl_witness.20a) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.eee, @T.as.DefaultOrUnformed.impl.Op(%Inner) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/class/reorder.carbon b/toolchain/check/testdata/class/reorder.carbon index 5b9c13102538..55c5af80ddb7 100644 --- a/toolchain/check/testdata/class/reorder.carbon +++ b/toolchain/check/testdata/class/reorder.carbon @@ -49,11 +49,11 @@ class Class { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/class/reorder_qualified.carbon b/toolchain/check/testdata/class/reorder_qualified.carbon index 3656f3c2e2d8..a71ce19484eb 100644 --- a/toolchain/check/testdata/class/reorder_qualified.carbon +++ b/toolchain/check/testdata/class/reorder_qualified.carbon @@ -98,11 +98,11 @@ class A { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/class/scope.carbon b/toolchain/check/testdata/class/scope.carbon index 9758c83f03f9..4d5075cc8dc7 100644 --- a/toolchain/check/testdata/class/scope.carbon +++ b/toolchain/check/testdata/class/scope.carbon @@ -59,11 +59,11 @@ fn Run() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/class/self/raw_self.carbon b/toolchain/check/testdata/class/self/raw_self.carbon index 332efb46551a..456767f17560 100644 --- a/toolchain/check/testdata/class/self/raw_self.carbon +++ b/toolchain/check/testdata/class/self/raw_self.carbon @@ -63,11 +63,11 @@ fn Class.G(self, r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/self/raw_self_type.carbon b/toolchain/check/testdata/class/self/raw_self_type.carbon index 90697b95f8e6..9856fdd3f504 100644 --- a/toolchain/check/testdata/class/self/raw_self_type.carbon +++ b/toolchain/check/testdata/class/self/raw_self_type.carbon @@ -46,9 +46,9 @@ fn MemberNamedSelf.F(unused x: Self, unused y: r#Self) {} // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.40e: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%ptr.7ee) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr.7ee, (%DefaultOrUnformed.impl_witness.40e) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.1f1: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%ptr.7ee) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.ea0: %T.as.DefaultOrUnformed.impl.Op.type.1f1 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr.7ee, (%DefaultOrUnformed.impl_witness.40e) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.ea0, @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] @@ -56,11 +56,11 @@ fn MemberNamedSelf.F(unused x: Self, unused y: r#Self) {} // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.a17: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Class) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.baf: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Class) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.842: %ptr.as.Copy.impl.Op.type.baf = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.7ee, (%Copy.impl_witness.a17) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.6cc: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.884: type = fn_type_with_self_type %Copy.WithSelf.Op.type.6cc, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.baf: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Class) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.842: %ptr.as.Copy.impl.Op.type.baf = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.842, @ptr.as.Copy.impl.Op(%Class) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/class/self/self.carbon b/toolchain/check/testdata/class/self/self.carbon index 845c29f6a268..38c582f8dff4 100644 --- a/toolchain/check/testdata/class/self/self.carbon +++ b/toolchain/check/testdata/class/self/self.carbon @@ -107,11 +107,11 @@ class Class { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/self/self_type.carbon b/toolchain/check/testdata/class/self/self_type.carbon index 949754e6cec9..cda06e1830bc 100644 --- a/toolchain/check/testdata/class/self/self_type.carbon +++ b/toolchain/check/testdata/class/self/self_type.carbon @@ -60,19 +60,19 @@ fn Class.F(self) -> i32 { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.0e1: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Class) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.0e1) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.1a9: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.c3e: %T.as.DefaultOrUnformed.impl.Op.type.1a9 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.0e1) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.c3e, @T.as.DefaultOrUnformed.impl.Op(%Class) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.a17: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Class) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.baf: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Class) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.842: %ptr.as.Copy.impl.Op.type.baf = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.7ee, (%Copy.impl_witness.a17) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.6cc: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.884: type = fn_type_with_self_type %Copy.WithSelf.Op.type.6cc, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.baf: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Class) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.842: %ptr.as.Copy.impl.Op.type.baf = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.842, @ptr.as.Copy.impl.Op(%Class) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/syntactic_merge_literal.carbon b/toolchain/check/testdata/class/syntactic_merge_literal.carbon index 582ceaee1a6b..c61f2fe444b1 100644 --- a/toolchain/check/testdata/class/syntactic_merge_literal.carbon +++ b/toolchain/check/testdata/class/syntactic_merge_literal.carbon @@ -56,11 +56,11 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1000.ff9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -211,11 +211,11 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1000.ff9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/const/basics.carbon b/toolchain/check/testdata/const/basics.carbon index e27954acd92e..43ed1bd17d5d 100644 --- a/toolchain/check/testdata/const/basics.carbon +++ b/toolchain/check/testdata/const/basics.carbon @@ -165,11 +165,11 @@ fn H() -> {}; // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.9f0: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%ptr.77f) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.fc6: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%ptr.77f) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.e7f: %ptr.as.Copy.impl.Op.type.fc6 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.0c6: %Copy.type = facet_value %ptr.0c8, (%Copy.impl_witness.9f0) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.0f5: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.0c6) [concrete] // CHECK:STDOUT: %.a9c: type = fn_type_with_self_type %Copy.WithSelf.Op.type.0f5, %Copy.facet.0c6 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.fc6: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%ptr.77f) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.e7f: %ptr.as.Copy.impl.Op.type.fc6 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.8a9: = specific_function %ptr.as.Copy.impl.Op.e7f, @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] @@ -184,11 +184,11 @@ fn H() -> {}; // CHECK:STDOUT: %Copy.impl_witness.2f3: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %Copy.facet.782: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.2f3) [concrete] // CHECK:STDOUT: %Copy.impl_witness.b65: = impl_witness imports.%Copy.impl_witness_table.aca, @const.as.Copy.impl(%Copy.facet.782) [concrete] -// CHECK:STDOUT: %const.as.Copy.impl.Op.type.4f3: type = fn_type @const.as.Copy.impl.Op, @const.as.Copy.impl(%Copy.facet.782) [concrete] -// CHECK:STDOUT: %const.as.Copy.impl.Op.2bb: %const.as.Copy.impl.Op.type.4f3 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.4d4: %Copy.type = facet_value %const.0f8, (%Copy.impl_witness.b65) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.eda: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.4d4) [concrete] // CHECK:STDOUT: %.a1e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.eda, %Copy.facet.4d4 [concrete] +// CHECK:STDOUT: %const.as.Copy.impl.Op.type.4f3: type = fn_type @const.as.Copy.impl.Op, @const.as.Copy.impl(%Copy.facet.782) [concrete] +// CHECK:STDOUT: %const.as.Copy.impl.Op.2bb: %const.as.Copy.impl.Op.type.4f3 = struct_value () [concrete] // CHECK:STDOUT: %const.as.Copy.impl.Op.specific_fn: = specific_function %const.as.Copy.impl.Op.2bb, @const.as.Copy.impl.Op(%Copy.facet.782) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -291,11 +291,11 @@ fn H() -> {}; // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.9f0: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%ptr.77f) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.fc6: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%ptr.77f) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.e7f: %ptr.as.Copy.impl.Op.type.fc6 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.0c8, (%Copy.impl_witness.9f0) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.0f5: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.a9c: type = fn_type_with_self_type %Copy.WithSelf.Op.type.0f5, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.fc6: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%ptr.77f) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.e7f: %ptr.as.Copy.impl.Op.type.fc6 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.e7f, @ptr.as.Copy.impl.Op(%ptr.77f) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/const/import.carbon b/toolchain/check/testdata/const/import.carbon index 980c2d8d3fc0..b78faaecb629 100644 --- a/toolchain/check/testdata/const/import.carbon +++ b/toolchain/check/testdata/const/import.carbon @@ -49,11 +49,11 @@ var a_ptr: const C* = a_ptr_ref; // 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.a12: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%const.13f) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.da3: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%const.13f) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.de3: %ptr.as.Copy.impl.Op.type.da3 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.77f, (%Copy.impl_witness.a12) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.59b: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.de8: type = fn_type_with_self_type %Copy.WithSelf.Op.type.59b, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.da3: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%const.13f) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.de3: %ptr.as.Copy.impl.Op.type.da3 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.de3 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.de3, @ptr.as.Copy.impl.Op(%const.13f) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] diff --git a/toolchain/check/testdata/deduce/array.carbon b/toolchain/check/testdata/deduce/array.carbon index e783fba8912d..39882f08c867 100644 --- a/toolchain/check/testdata/deduce/array.carbon +++ b/toolchain/check/testdata/deduce/array.carbon @@ -440,11 +440,11 @@ fn G() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.a58: = bound_method %N.fe9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.fba: = bound_method %N.fe9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [symbolic] @@ -1271,11 +1271,11 @@ fn G() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.a58: = bound_method %N.fe9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.fba: = bound_method %N.fe9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [symbolic] @@ -1566,11 +1566,11 @@ fn G() { // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.dfd: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.914: %Int.as.ImplicitAs.impl.Convert.type.dfd = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.323: = impl_witness imports.%ImplicitAs.impl_witness_table.b7c, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.5be = facet_value %i32, (%ImplicitAs.impl_witness.323) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4c7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.ce7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4c7, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %N.c34, %Int.as.ImplicitAs.impl.Convert.779 [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.779, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.2e8: = bound_method %N.c34, %Int.as.ImplicitAs.impl.Convert.specific_fn [symbolic] @@ -1591,11 +1591,11 @@ fn G() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %N.c34, %Int.as.Copy.impl.Op.cae [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.a53: = bound_method %N.c34, %Int.as.Copy.impl.Op.specific_fn [symbolic] @@ -1857,11 +1857,11 @@ fn G() { // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.dfd: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.914: %Int.as.ImplicitAs.impl.Convert.type.dfd = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.323: = impl_witness imports.%ImplicitAs.impl_witness_table.b7c, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.5be = facet_value %i32, (%ImplicitAs.impl_witness.323) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4c7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.ce7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4c7, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %N.c34, %Int.as.ImplicitAs.impl.Convert.779 [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.779, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %N.c34, %Int.as.ImplicitAs.impl.Convert.specific_fn [symbolic] diff --git a/toolchain/check/testdata/deduce/generic_type.carbon b/toolchain/check/testdata/deduce/generic_type.carbon index 59de2a6f7865..1f8deafdb29c 100644 --- a/toolchain/check/testdata/deduce/generic_type.carbon +++ b/toolchain/check/testdata/deduce/generic_type.carbon @@ -856,11 +856,11 @@ fn G() -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound.ed4: = bound_method %N.c34, %Int.as.Copy.impl.Op.cae [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.a53: = bound_method %N.c34, %Int.as.Copy.impl.Op.specific_fn [symbolic] @@ -875,11 +875,11 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/deduce/tuple.carbon b/toolchain/check/testdata/deduce/tuple.carbon index 9e6dfa3849a4..07d619c12b1f 100644 --- a/toolchain/check/testdata/deduce/tuple.carbon +++ b/toolchain/check/testdata/deduce/tuple.carbon @@ -303,11 +303,11 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound.895: = bound_method %B, %Int.as.Copy.impl.Op.cae [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.17e: = bound_method %B, %Int.as.Copy.impl.Op.specific_fn [symbolic] @@ -322,11 +322,11 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/deduce/value_with_type_through_access.carbon b/toolchain/check/testdata/deduce/value_with_type_through_access.carbon index 712ecde84503..74093a35b01c 100644 --- a/toolchain/check/testdata/deduce/value_with_type_through_access.carbon +++ b/toolchain/check/testdata/deduce/value_with_type_through_access.carbon @@ -979,11 +979,11 @@ fn G() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/eval/aggregates.carbon b/toolchain/check/testdata/eval/aggregates.carbon index 4fcc16061d6b..7913d7ab6ba4 100644 --- a/toolchain/check/testdata/eval/aggregates.carbon +++ b/toolchain/check/testdata/eval/aggregates.carbon @@ -74,11 +74,11 @@ fn G(generic N: i32) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -92,11 +92,11 @@ fn G(generic N: i32) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound.c26: = bound_method %int_1.68a, %Int.as.Copy.impl.Op.cae [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.a13: = bound_method %int_1.68a, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -379,11 +379,11 @@ fn G(generic N: i32) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f65: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.ab2: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -497,7 +497,6 @@ fn G(generic N: i32) { // CHECK:STDOUT: constants { // CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %SubobjectDestroy.type: type = facet_type <@SubobjectDestroy> [concrete] // CHECK:STDOUT: %pattern_type.9a587c.1: type = pattern_type %Destroy.type [concrete] // CHECK:STDOUT: %T.patt.3a0592.1: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.f45: %Destroy.type = symbolic_binding T, 0 [symbolic] @@ -514,7 +513,6 @@ fn G(generic N: i32) { // CHECK:STDOUT: %u.var_patt: %pattern_type.5a8 = var_pattern %u.patt [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.type: type = facet_type <@DefaultOrUnformed> [concrete] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness.0b6: = lookup_impl_witness %tuple.type.0fd, @DefaultOrUnformed [symbolic] -// CHECK:STDOUT: %.bac: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%tuple.type.0fd) [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.facet.008: %DefaultOrUnformed.type = facet_value %tuple.type.0fd, (%DefaultOrUnformed.lookup_impl_witness.0b6) [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.64a: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.008) [symbolic] // CHECK:STDOUT: %.060: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.64a, %DefaultOrUnformed.facet.008 [symbolic] @@ -526,7 +524,6 @@ fn G(generic N: i32) { // CHECK:STDOUT: %v.patt: %pattern_type.beb = ref_binding_pattern v [symbolic] // CHECK:STDOUT: %v.var_patt: %pattern_type.beb = var_pattern %v.patt [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness.a9a: = lookup_impl_witness %struct_type.a, @DefaultOrUnformed [symbolic] -// CHECK:STDOUT: %.f92: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%struct_type.a) [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.facet.16a: %DefaultOrUnformed.type = facet_value %struct_type.a, (%DefaultOrUnformed.lookup_impl_witness.a9a) [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.999: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.16a) [symbolic] // CHECK:STDOUT: %.4e9: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.999, %DefaultOrUnformed.facet.16a [symbolic] @@ -539,7 +536,6 @@ fn G(generic N: i32) { // CHECK:STDOUT: %w.patt: %pattern_type.1ed = ref_binding_pattern w [symbolic] // CHECK:STDOUT: %w.var_patt: %pattern_type.1ed = var_pattern %w.patt [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness.b34: = lookup_impl_witness %Array.760, @DefaultOrUnformed [symbolic] -// CHECK:STDOUT: %.c4e: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%Array.760) [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.facet.814: %DefaultOrUnformed.type = facet_value %Array.760, (%DefaultOrUnformed.lookup_impl_witness.b34) [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.627: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.814) [symbolic] // CHECK:STDOUT: %.543: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.627, %DefaultOrUnformed.facet.814 [symbolic] @@ -547,18 +543,12 @@ fn G(generic N: i32) { // CHECK:STDOUT: %specific_impl_fn.c3c: = specific_impl_function %impl.elem0.be3, @DefaultOrUnformed.WithSelf.Op(%DefaultOrUnformed.facet.814) [symbolic] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.496: = lookup_impl_witness %Array.760, @DestroyImpl [symbolic] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.54a: = lookup_impl_witness %Array.760, @SubobjectDestroy [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.c4e: %SubobjectDestroy.type = facet_value %Array.760, (%SubobjectDestroy.lookup_impl_witness.54a) [symbolic] -// CHECK:STDOUT: %.5f3: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.c4e) [symbolic] // CHECK:STDOUT: %Destroy.facet.535: %Destroy.type = facet_value %Array.760, (%DestroyImpl.lookup_impl_witness.496, %SubobjectDestroy.lookup_impl_witness.54a) [symbolic] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.070: = lookup_impl_witness %struct_type.a, @DestroyImpl [symbolic] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.049: = lookup_impl_witness %struct_type.a, @SubobjectDestroy [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.4f8: %SubobjectDestroy.type = facet_value %struct_type.a, (%SubobjectDestroy.lookup_impl_witness.049) [symbolic] -// CHECK:STDOUT: %.1cf: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.4f8) [symbolic] // CHECK:STDOUT: %Destroy.facet.632: %Destroy.type = facet_value %struct_type.a, (%DestroyImpl.lookup_impl_witness.070, %SubobjectDestroy.lookup_impl_witness.049) [symbolic] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.c16: = lookup_impl_witness %tuple.type.0fd, @DestroyImpl [symbolic] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.b96: = lookup_impl_witness %tuple.type.0fd, @SubobjectDestroy [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.102: %SubobjectDestroy.type = facet_value %tuple.type.0fd, (%SubobjectDestroy.lookup_impl_witness.b96) [symbolic] -// CHECK:STDOUT: %.252: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.102) [symbolic] // CHECK:STDOUT: %Destroy.facet.095: %Destroy.type = facet_value %tuple.type.0fd, (%DestroyImpl.lookup_impl_witness.c16, %SubobjectDestroy.lookup_impl_witness.b96) [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -570,11 +560,11 @@ fn G(generic N: i32) { // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.dfd: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.914: %Int.as.ImplicitAs.impl.Convert.type.dfd = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.323: = impl_witness imports.%ImplicitAs.impl_witness_table.b7c, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.5be = facet_value %i32, (%ImplicitAs.impl_witness.323) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4c7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.ce7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4c7, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %N.c34, %Int.as.ImplicitAs.impl.Convert.779 [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.779, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %N.c34, %Int.as.ImplicitAs.impl.Convert.specific_fn [symbolic] @@ -585,7 +575,6 @@ fn G(generic N: i32) { // CHECK:STDOUT: %k.patt: %pattern_type.fc0 = ref_binding_pattern k [symbolic] // CHECK:STDOUT: %k.var_patt: %pattern_type.fc0 = var_pattern %k.patt [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness.b5f: = lookup_impl_witness %Array.e80, @DefaultOrUnformed [symbolic] -// CHECK:STDOUT: %.89a: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%Array.e80) [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.facet.48a: %DefaultOrUnformed.type = facet_value %Array.e80, (%DefaultOrUnformed.lookup_impl_witness.b5f) [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.8de: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.48a) [symbolic] // CHECK:STDOUT: %.431: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.8de, %DefaultOrUnformed.facet.48a [symbolic] @@ -593,8 +582,6 @@ fn G(generic N: i32) { // CHECK:STDOUT: %specific_impl_fn.971: = specific_impl_function %impl.elem0.b7f, @DefaultOrUnformed.WithSelf.Op(%DefaultOrUnformed.facet.48a) [symbolic] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.6da: = lookup_impl_witness %Array.e80, @DestroyImpl [symbolic] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.a96: = lookup_impl_witness %Array.e80, @SubobjectDestroy [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.700: %SubobjectDestroy.type = facet_value %Array.e80, (%SubobjectDestroy.lookup_impl_witness.a96) [symbolic] -// CHECK:STDOUT: %.2d8: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.700) [symbolic] // CHECK:STDOUT: %Destroy.facet.362: %Destroy.type = facet_value %Array.e80, (%DestroyImpl.lookup_impl_witness.6da, %SubobjectDestroy.lookup_impl_witness.a96) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -616,53 +603,44 @@ fn G(generic N: i32) { // CHECK:STDOUT: %pattern_type.loc6: type = pattern_type %tuple.type [symbolic = %pattern_type.loc6 (constants.%pattern_type.5a8)] // CHECK:STDOUT: %u.patt.loc6_15.2: @F.%pattern_type.loc6 (%pattern_type.5a8) = ref_binding_pattern u [symbolic = %u.patt.loc6_15.2 (constants.%u.patt)] // CHECK:STDOUT: %u.var_patt.loc6_3.2: @F.%pattern_type.loc6 (%pattern_type.5a8) = var_pattern %u.patt.loc6_15.2 [symbolic = %u.var_patt.loc6_3.2 (constants.%u.var_patt)] -// CHECK:STDOUT: %.loc6_30.3: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%tuple.type) [symbolic = %.loc6_30.3 (constants.%.bac)] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness.loc6: = lookup_impl_witness %tuple.type, @DefaultOrUnformed [symbolic = %DefaultOrUnformed.lookup_impl_witness.loc6 (constants.%DefaultOrUnformed.lookup_impl_witness.0b6)] // CHECK:STDOUT: %DefaultOrUnformed.facet.loc6_30.2: %DefaultOrUnformed.type = facet_value %tuple.type, (%DefaultOrUnformed.lookup_impl_witness.loc6) [symbolic = %DefaultOrUnformed.facet.loc6_30.2 (constants.%DefaultOrUnformed.facet.008)] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.loc6: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.loc6_30.2) [symbolic = %DefaultOrUnformed.WithSelf.Op.type.loc6 (constants.%DefaultOrUnformed.WithSelf.Op.type.64a)] -// CHECK:STDOUT: %.loc6_30.4: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.loc6, %DefaultOrUnformed.facet.loc6_30.2 [symbolic = %.loc6_30.4 (constants.%.060)] -// CHECK:STDOUT: %impl.elem0.loc6_30.2: @F.%.loc6_30.4 (%.060) = impl_witness_access %DefaultOrUnformed.lookup_impl_witness.loc6, element0 [symbolic = %impl.elem0.loc6_30.2 (constants.%impl.elem0.a9e)] +// CHECK:STDOUT: %.loc6_30.3: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.loc6, %DefaultOrUnformed.facet.loc6_30.2 [symbolic = %.loc6_30.3 (constants.%.060)] +// CHECK:STDOUT: %impl.elem0.loc6_30.2: @F.%.loc6_30.3 (%.060) = impl_witness_access %DefaultOrUnformed.lookup_impl_witness.loc6, element0 [symbolic = %impl.elem0.loc6_30.2 (constants.%impl.elem0.a9e)] // CHECK:STDOUT: %specific_impl_fn.loc6_30.2: = specific_impl_function %impl.elem0.loc6_30.2, @DefaultOrUnformed.WithSelf.Op(%DefaultOrUnformed.facet.loc6_30.2) [symbolic = %specific_impl_fn.loc6_30.2 (constants.%specific_impl_fn.329)] // CHECK:STDOUT: %struct_type.a.loc7_23.2: type = struct_type {.a: @F.%T.as_type.loc6_19.2 (%T.as_type.190)} [symbolic = %struct_type.a.loc7_23.2 (constants.%struct_type.a)] // CHECK:STDOUT: %require_complete.loc7: = require_complete_type %struct_type.a.loc7_23.2 [symbolic = %require_complete.loc7 (constants.%require_complete.6d5)] // CHECK:STDOUT: %pattern_type.loc7: type = pattern_type %struct_type.a.loc7_23.2 [symbolic = %pattern_type.loc7 (constants.%pattern_type.beb)] // CHECK:STDOUT: %v.patt.loc7_15.2: @F.%pattern_type.loc7 (%pattern_type.beb) = ref_binding_pattern v [symbolic = %v.patt.loc7_15.2 (constants.%v.patt)] // CHECK:STDOUT: %v.var_patt.loc7_3.2: @F.%pattern_type.loc7 (%pattern_type.beb) = var_pattern %v.patt.loc7_15.2 [symbolic = %v.var_patt.loc7_3.2 (constants.%v.var_patt)] -// CHECK:STDOUT: %.loc7_24.3: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%struct_type.a.loc7_23.2) [symbolic = %.loc7_24.3 (constants.%.f92)] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness.loc7: = lookup_impl_witness %struct_type.a.loc7_23.2, @DefaultOrUnformed [symbolic = %DefaultOrUnformed.lookup_impl_witness.loc7 (constants.%DefaultOrUnformed.lookup_impl_witness.a9a)] // CHECK:STDOUT: %DefaultOrUnformed.facet.loc7_24.2: %DefaultOrUnformed.type = facet_value %struct_type.a.loc7_23.2, (%DefaultOrUnformed.lookup_impl_witness.loc7) [symbolic = %DefaultOrUnformed.facet.loc7_24.2 (constants.%DefaultOrUnformed.facet.16a)] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.loc7: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.loc7_24.2) [symbolic = %DefaultOrUnformed.WithSelf.Op.type.loc7 (constants.%DefaultOrUnformed.WithSelf.Op.type.999)] -// CHECK:STDOUT: %.loc7_24.4: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.loc7, %DefaultOrUnformed.facet.loc7_24.2 [symbolic = %.loc7_24.4 (constants.%.4e9)] -// CHECK:STDOUT: %impl.elem0.loc7_24.2: @F.%.loc7_24.4 (%.4e9) = impl_witness_access %DefaultOrUnformed.lookup_impl_witness.loc7, element0 [symbolic = %impl.elem0.loc7_24.2 (constants.%impl.elem0.47c)] +// CHECK:STDOUT: %.loc7_24.3: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.loc7, %DefaultOrUnformed.facet.loc7_24.2 [symbolic = %.loc7_24.3 (constants.%.4e9)] +// CHECK:STDOUT: %impl.elem0.loc7_24.2: @F.%.loc7_24.3 (%.4e9) = impl_witness_access %DefaultOrUnformed.lookup_impl_witness.loc7, element0 [symbolic = %impl.elem0.loc7_24.2 (constants.%impl.elem0.47c)] // CHECK:STDOUT: %specific_impl_fn.loc7_24.2: = specific_impl_function %impl.elem0.loc7_24.2, @DefaultOrUnformed.WithSelf.Op(%DefaultOrUnformed.facet.loc7_24.2) [symbolic = %specific_impl_fn.loc7_24.2 (constants.%specific_impl_fn.e03)] // CHECK:STDOUT: %Array.loc8_27.2: type = class_type @Array, @Array(%T.as_type.loc6_19.2, constants.%int_5) [symbolic = %Array.loc8_27.2 (constants.%Array.760)] // CHECK:STDOUT: %require_complete.loc8: = require_complete_type %Array.loc8_27.2 [symbolic = %require_complete.loc8 (constants.%require_complete.b4f)] // CHECK:STDOUT: %pattern_type.loc8: type = pattern_type %Array.loc8_27.2 [symbolic = %pattern_type.loc8 (constants.%pattern_type.1ed)] // CHECK:STDOUT: %w.patt.loc8_15.2: @F.%pattern_type.loc8 (%pattern_type.1ed) = ref_binding_pattern w [symbolic = %w.patt.loc8_15.2 (constants.%w.patt)] // CHECK:STDOUT: %w.var_patt.loc8_3.2: @F.%pattern_type.loc8 (%pattern_type.1ed) = var_pattern %w.patt.loc8_15.2 [symbolic = %w.var_patt.loc8_3.2 (constants.%w.var_patt)] -// CHECK:STDOUT: %.loc8_28.3: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%Array.loc8_27.2) [symbolic = %.loc8_28.3 (constants.%.c4e)] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness.loc8: = lookup_impl_witness %Array.loc8_27.2, @DefaultOrUnformed [symbolic = %DefaultOrUnformed.lookup_impl_witness.loc8 (constants.%DefaultOrUnformed.lookup_impl_witness.b34)] // CHECK:STDOUT: %DefaultOrUnformed.facet.loc8_28.2: %DefaultOrUnformed.type = facet_value %Array.loc8_27.2, (%DefaultOrUnformed.lookup_impl_witness.loc8) [symbolic = %DefaultOrUnformed.facet.loc8_28.2 (constants.%DefaultOrUnformed.facet.814)] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.loc8: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.loc8_28.2) [symbolic = %DefaultOrUnformed.WithSelf.Op.type.loc8 (constants.%DefaultOrUnformed.WithSelf.Op.type.627)] -// CHECK:STDOUT: %.loc8_28.4: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.loc8, %DefaultOrUnformed.facet.loc8_28.2 [symbolic = %.loc8_28.4 (constants.%.543)] -// CHECK:STDOUT: %impl.elem0.loc8_28.2: @F.%.loc8_28.4 (%.543) = impl_witness_access %DefaultOrUnformed.lookup_impl_witness.loc8, element0 [symbolic = %impl.elem0.loc8_28.2 (constants.%impl.elem0.be3)] +// CHECK:STDOUT: %.loc8_28.3: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.loc8, %DefaultOrUnformed.facet.loc8_28.2 [symbolic = %.loc8_28.3 (constants.%.543)] +// CHECK:STDOUT: %impl.elem0.loc8_28.2: @F.%.loc8_28.3 (%.543) = impl_witness_access %DefaultOrUnformed.lookup_impl_witness.loc8, element0 [symbolic = %impl.elem0.loc8_28.2 (constants.%impl.elem0.be3)] // CHECK:STDOUT: %specific_impl_fn.loc8_28.2: = specific_impl_function %impl.elem0.loc8_28.2, @DefaultOrUnformed.WithSelf.Op(%DefaultOrUnformed.facet.loc8_28.2) [symbolic = %specific_impl_fn.loc8_28.2 (constants.%specific_impl_fn.c3c)] -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.loc8: = lookup_impl_witness %Array.loc8_27.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness.loc8 (constants.%SubobjectDestroy.lookup_impl_witness.54a)] -// CHECK:STDOUT: %SubobjectDestroy.facet.loc8: %SubobjectDestroy.type = facet_value %Array.loc8_27.2, (%SubobjectDestroy.lookup_impl_witness.loc8) [symbolic = %SubobjectDestroy.facet.loc8 (constants.%SubobjectDestroy.facet.c4e)] -// CHECK:STDOUT: %.loc8_3.4: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.loc8) [symbolic = %.loc8_3.4 (constants.%.5f3)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.loc8: = lookup_impl_witness %Array.loc8_27.2, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness.loc8 (constants.%DestroyImpl.lookup_impl_witness.496)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.loc8: = lookup_impl_witness %Array.loc8_27.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness.loc8 (constants.%SubobjectDestroy.lookup_impl_witness.54a)] // CHECK:STDOUT: %Destroy.facet.loc8_3.3: %Destroy.type = facet_value %Array.loc8_27.2, (%DestroyImpl.lookup_impl_witness.loc8, %SubobjectDestroy.lookup_impl_witness.loc8) [symbolic = %Destroy.facet.loc8_3.3 (constants.%Destroy.facet.535)] // CHECK:STDOUT: -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.loc7: = lookup_impl_witness %struct_type.a.loc7_23.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness.loc7 (constants.%SubobjectDestroy.lookup_impl_witness.049)] -// CHECK:STDOUT: %SubobjectDestroy.facet.loc7: %SubobjectDestroy.type = facet_value %struct_type.a.loc7_23.2, (%SubobjectDestroy.lookup_impl_witness.loc7) [symbolic = %SubobjectDestroy.facet.loc7 (constants.%SubobjectDestroy.facet.4f8)] -// CHECK:STDOUT: %.loc7_3.3: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.loc7) [symbolic = %.loc7_3.3 (constants.%.1cf)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.loc7: = lookup_impl_witness %struct_type.a.loc7_23.2, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness.loc7 (constants.%DestroyImpl.lookup_impl_witness.070)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.loc7: = lookup_impl_witness %struct_type.a.loc7_23.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness.loc7 (constants.%SubobjectDestroy.lookup_impl_witness.049)] // CHECK:STDOUT: %Destroy.facet.loc7_3.3: %Destroy.type = facet_value %struct_type.a.loc7_23.2, (%DestroyImpl.lookup_impl_witness.loc7, %SubobjectDestroy.lookup_impl_witness.loc7) [symbolic = %Destroy.facet.loc7_3.3 (constants.%Destroy.facet.632)] // CHECK:STDOUT: -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.loc6: = lookup_impl_witness %tuple.type, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness.loc6 (constants.%SubobjectDestroy.lookup_impl_witness.b96)] -// CHECK:STDOUT: %SubobjectDestroy.facet.loc6: %SubobjectDestroy.type = facet_value %tuple.type, (%SubobjectDestroy.lookup_impl_witness.loc6) [symbolic = %SubobjectDestroy.facet.loc6 (constants.%SubobjectDestroy.facet.102)] -// CHECK:STDOUT: %.loc6_3.4: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.loc6) [symbolic = %.loc6_3.4 (constants.%.252)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.loc6: = lookup_impl_witness %tuple.type, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness.loc6 (constants.%DestroyImpl.lookup_impl_witness.c16)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.loc6: = lookup_impl_witness %tuple.type, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness.loc6 (constants.%SubobjectDestroy.lookup_impl_witness.b96)] // CHECK:STDOUT: %Destroy.facet.loc6_3.3: %Destroy.type = facet_value %tuple.type, (%DestroyImpl.lookup_impl_witness.loc6, %SubobjectDestroy.lookup_impl_witness.loc6) [symbolic = %Destroy.facet.loc6_3.3 (constants.%Destroy.facet.095)] // CHECK:STDOUT: // CHECK:STDOUT: @@ -673,7 +651,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %.loc6_30.1: %DefaultOrUnformed.type = converted constants.%tuple.type.0fd, %DefaultOrUnformed.facet.loc6_30.1 [symbolic = %DefaultOrUnformed.facet.loc6_30.2 (constants.%DefaultOrUnformed.facet.008)] // CHECK:STDOUT: %as_type.loc6: type = facet_access_type %.loc6_30.1 [symbolic = %tuple.type (constants.%tuple.type.0fd)] // CHECK:STDOUT: %.loc6_30.2: type = converted %.loc6_30.1, %as_type.loc6 [symbolic = %tuple.type (constants.%tuple.type.0fd)] -// CHECK:STDOUT: %impl.elem0.loc6_30.1: @F.%.loc6_30.4 (%.060) = impl_witness_access constants.%DefaultOrUnformed.lookup_impl_witness.0b6, element0 [symbolic = %impl.elem0.loc6_30.2 (constants.%impl.elem0.a9e)] +// CHECK:STDOUT: %impl.elem0.loc6_30.1: @F.%.loc6_30.3 (%.060) = impl_witness_access constants.%DefaultOrUnformed.lookup_impl_witness.0b6, element0 [symbolic = %impl.elem0.loc6_30.2 (constants.%impl.elem0.a9e)] // CHECK:STDOUT: %specific_impl_fn.loc6_30.1: = specific_impl_function %impl.elem0.loc6_30.1, @DefaultOrUnformed.WithSelf.Op(constants.%DefaultOrUnformed.facet.008) [symbolic = %specific_impl_fn.loc6_30.2 (constants.%specific_impl_fn.329)] // CHECK:STDOUT: %.loc6_3.1: ref @F.%tuple.type (%tuple.type.0fd) = splice_block %u.var {} // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.call.loc6: init @F.%tuple.type (%tuple.type.0fd) to %.loc6_3.1 = call %specific_impl_fn.loc6_30.1() @@ -700,7 +678,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %.loc7_24.1: %DefaultOrUnformed.type = converted constants.%struct_type.a, %DefaultOrUnformed.facet.loc7_24.1 [symbolic = %DefaultOrUnformed.facet.loc7_24.2 (constants.%DefaultOrUnformed.facet.16a)] // CHECK:STDOUT: %as_type.loc7: type = facet_access_type %.loc7_24.1 [symbolic = %struct_type.a.loc7_23.2 (constants.%struct_type.a)] // CHECK:STDOUT: %.loc7_24.2: type = converted %.loc7_24.1, %as_type.loc7 [symbolic = %struct_type.a.loc7_23.2 (constants.%struct_type.a)] -// CHECK:STDOUT: %impl.elem0.loc7_24.1: @F.%.loc7_24.4 (%.4e9) = impl_witness_access constants.%DefaultOrUnformed.lookup_impl_witness.a9a, element0 [symbolic = %impl.elem0.loc7_24.2 (constants.%impl.elem0.47c)] +// CHECK:STDOUT: %impl.elem0.loc7_24.1: @F.%.loc7_24.3 (%.4e9) = impl_witness_access constants.%DefaultOrUnformed.lookup_impl_witness.a9a, element0 [symbolic = %impl.elem0.loc7_24.2 (constants.%impl.elem0.47c)] // CHECK:STDOUT: %specific_impl_fn.loc7_24.1: = specific_impl_function %impl.elem0.loc7_24.1, @DefaultOrUnformed.WithSelf.Op(constants.%DefaultOrUnformed.facet.16a) [symbolic = %specific_impl_fn.loc7_24.2 (constants.%specific_impl_fn.e03)] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.call.loc7: init @F.%struct_type.a.loc7_23.2 (%struct_type.a) = call %specific_impl_fn.loc7_24.1() // CHECK:STDOUT: assign %v.var, %DefaultOrUnformed.WithSelf.Op.call.loc7 @@ -720,7 +698,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %.loc8_28.1: %DefaultOrUnformed.type = converted constants.%Array.760, %DefaultOrUnformed.facet.loc8_28.1 [symbolic = %DefaultOrUnformed.facet.loc8_28.2 (constants.%DefaultOrUnformed.facet.814)] // CHECK:STDOUT: %as_type.loc8: type = facet_access_type %.loc8_28.1 [symbolic = %Array.loc8_27.2 (constants.%Array.760)] // CHECK:STDOUT: %.loc8_28.2: type = converted %.loc8_28.1, %as_type.loc8 [symbolic = %Array.loc8_27.2 (constants.%Array.760)] -// CHECK:STDOUT: %impl.elem0.loc8_28.1: @F.%.loc8_28.4 (%.543) = impl_witness_access constants.%DefaultOrUnformed.lookup_impl_witness.b34, element0 [symbolic = %impl.elem0.loc8_28.2 (constants.%impl.elem0.be3)] +// CHECK:STDOUT: %impl.elem0.loc8_28.1: @F.%.loc8_28.3 (%.543) = impl_witness_access constants.%DefaultOrUnformed.lookup_impl_witness.b34, element0 [symbolic = %impl.elem0.loc8_28.2 (constants.%impl.elem0.be3)] // CHECK:STDOUT: %specific_impl_fn.loc8_28.1: = specific_impl_function %impl.elem0.loc8_28.1, @DefaultOrUnformed.WithSelf.Op(constants.%DefaultOrUnformed.facet.814) [symbolic = %specific_impl_fn.loc8_28.2 (constants.%specific_impl_fn.c3c)] // CHECK:STDOUT: %.loc8_3.1: ref @F.%Array.loc8_27.2 (%Array.760) = splice_block %w.var {} // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.call.loc8: init @F.%Array.loc8_27.2 (%Array.760) to %.loc8_3.1 = call %specific_impl_fn.loc8_28.1() @@ -771,17 +749,14 @@ fn G(generic N: i32) { // CHECK:STDOUT: %pattern_type: type = pattern_type %Array.loc14_29.2 [symbolic = %pattern_type (constants.%pattern_type.fc0)] // CHECK:STDOUT: %k.patt.loc14_15.2: @G.%pattern_type (%pattern_type.fc0) = ref_binding_pattern k [symbolic = %k.patt.loc14_15.2 (constants.%k.patt)] // CHECK:STDOUT: %k.var_patt.loc14_3.2: @G.%pattern_type (%pattern_type.fc0) = var_pattern %k.patt.loc14_15.2 [symbolic = %k.var_patt.loc14_3.2 (constants.%k.var_patt)] -// CHECK:STDOUT: %.loc14_30.3: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%Array.loc14_29.2) [symbolic = %.loc14_30.3 (constants.%.89a)] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness: = lookup_impl_witness %Array.loc14_29.2, @DefaultOrUnformed [symbolic = %DefaultOrUnformed.lookup_impl_witness (constants.%DefaultOrUnformed.lookup_impl_witness.b5f)] // CHECK:STDOUT: %DefaultOrUnformed.facet.loc14_30.2: %DefaultOrUnformed.type = facet_value %Array.loc14_29.2, (%DefaultOrUnformed.lookup_impl_witness) [symbolic = %DefaultOrUnformed.facet.loc14_30.2 (constants.%DefaultOrUnformed.facet.48a)] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.loc14_30.2) [symbolic = %DefaultOrUnformed.WithSelf.Op.type (constants.%DefaultOrUnformed.WithSelf.Op.type.8de)] -// CHECK:STDOUT: %.loc14_30.4: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type, %DefaultOrUnformed.facet.loc14_30.2 [symbolic = %.loc14_30.4 (constants.%.431)] -// CHECK:STDOUT: %impl.elem0.loc14_30.2: @G.%.loc14_30.4 (%.431) = impl_witness_access %DefaultOrUnformed.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_30.2 (constants.%impl.elem0.b7f)] +// CHECK:STDOUT: %.loc14_30.3: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type, %DefaultOrUnformed.facet.loc14_30.2 [symbolic = %.loc14_30.3 (constants.%.431)] +// CHECK:STDOUT: %impl.elem0.loc14_30.2: @G.%.loc14_30.3 (%.431) = impl_witness_access %DefaultOrUnformed.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_30.2 (constants.%impl.elem0.b7f)] // CHECK:STDOUT: %specific_impl_fn.loc14_30.2: = specific_impl_function %impl.elem0.loc14_30.2, @DefaultOrUnformed.WithSelf.Op(%DefaultOrUnformed.facet.loc14_30.2) [symbolic = %specific_impl_fn.loc14_30.2 (constants.%specific_impl_fn.971)] -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %Array.loc14_29.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.a96)] -// CHECK:STDOUT: %SubobjectDestroy.facet: %SubobjectDestroy.type = facet_value %Array.loc14_29.2, (%SubobjectDestroy.lookup_impl_witness) [symbolic = %SubobjectDestroy.facet (constants.%SubobjectDestroy.facet.700)] -// CHECK:STDOUT: %.loc14_3.4: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet) [symbolic = %.loc14_3.4 (constants.%.2d8)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness: = lookup_impl_witness %Array.loc14_29.2, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness (constants.%DestroyImpl.lookup_impl_witness.6da)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %Array.loc14_29.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.a96)] // CHECK:STDOUT: %Destroy.facet.loc14_3.3: %Destroy.type = facet_value %Array.loc14_29.2, (%DestroyImpl.lookup_impl_witness, %SubobjectDestroy.lookup_impl_witness) [symbolic = %Destroy.facet.loc14_3.3 (constants.%Destroy.facet.362)] // CHECK:STDOUT: // CHECK:STDOUT: @@ -792,7 +767,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %.loc14_30.1: %DefaultOrUnformed.type = converted constants.%Array.e80, %DefaultOrUnformed.facet.loc14_30.1 [symbolic = %DefaultOrUnformed.facet.loc14_30.2 (constants.%DefaultOrUnformed.facet.48a)] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc14_30.1 [symbolic = %Array.loc14_29.2 (constants.%Array.e80)] // CHECK:STDOUT: %.loc14_30.2: type = converted %.loc14_30.1, %as_type [symbolic = %Array.loc14_29.2 (constants.%Array.e80)] -// CHECK:STDOUT: %impl.elem0.loc14_30.1: @G.%.loc14_30.4 (%.431) = impl_witness_access constants.%DefaultOrUnformed.lookup_impl_witness.b5f, element0 [symbolic = %impl.elem0.loc14_30.2 (constants.%impl.elem0.b7f)] +// CHECK:STDOUT: %impl.elem0.loc14_30.1: @G.%.loc14_30.3 (%.431) = impl_witness_access constants.%DefaultOrUnformed.lookup_impl_witness.b5f, element0 [symbolic = %impl.elem0.loc14_30.2 (constants.%impl.elem0.b7f)] // CHECK:STDOUT: %specific_impl_fn.loc14_30.1: = specific_impl_function %impl.elem0.loc14_30.1, @DefaultOrUnformed.WithSelf.Op(constants.%DefaultOrUnformed.facet.48a) [symbolic = %specific_impl_fn.loc14_30.2 (constants.%specific_impl_fn.971)] // CHECK:STDOUT: %.loc14_3.1: ref @G.%Array.loc14_29.2 (%Array.e80) = splice_block %k.var {} // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.call: init @G.%Array.loc14_29.2 (%Array.e80) to %.loc14_3.1 = call %specific_impl_fn.loc14_30.1() diff --git a/toolchain/check/testdata/eval/binding.carbon b/toolchain/check/testdata/eval/binding.carbon index 7800be4ffedd..4781b70d21fe 100644 --- a/toolchain/check/testdata/eval/binding.carbon +++ b/toolchain/check/testdata/eval/binding.carbon @@ -76,21 +76,21 @@ let n: array(i32, G()) = (1, 2, 3); // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.dfd: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.914: %Int.as.ImplicitAs.impl.Convert.type.dfd = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.b3c: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.fb0: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_3.9f3: %i32 = int_value 3 [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.323: = impl_witness imports.%ImplicitAs.impl_witness_table.b7c, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.0aa: %ImplicitAs.type.5be = facet_value %i32, (%ImplicitAs.impl_witness.323) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4c7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.0aa) [concrete] // CHECK:STDOUT: %.ce7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4c7, %ImplicitAs.facet.0aa [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.9f3, %Int.as.ImplicitAs.impl.Convert.779 [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.779, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.746: = bound_method %int_3.9f3, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/eval/call.carbon b/toolchain/check/testdata/eval/call.carbon index bc77d80ef250..8219ee4d60a3 100644 --- a/toolchain/check/testdata/eval/call.carbon +++ b/toolchain/check/testdata/eval/call.carbon @@ -520,11 +520,11 @@ fn H() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] 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 9de3b3a50a87..864e6a5a2bb7 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 @@ -543,7 +543,7 @@ fn B() { // CHECK:STDOUT: %Self.b9e: %I.type.a43 = symbolic_binding Self, 2 [symbolic] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] -// CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] +// CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %T.patt.3a0592.1: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -570,8 +570,6 @@ fn B() { // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %.ec3: = impl_self_witness %C, @I, @I(%empty_struct_type, %empty_tuple.type) [concrete] // CHECK:STDOUT: %I.impl_witness.38c: = impl_witness @C.as.I.impl.%I.impl_witness_table, @C.as.I.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %Self.f7f: %I.type.936 = symbolic_binding Self, 2 [symbolic] -// CHECK:STDOUT: %complete_type.562: = complete_type_witness %I.type.936 [concrete] // CHECK:STDOUT: %I.facet.708: %I.type.936 = facet_value %C, (%I.impl_witness.38c) [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] // CHECK:STDOUT: %t.param_patt.5f9: %pattern_type.98b = value_param_pattern [concrete] @@ -715,7 +713,7 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type.357] +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -809,10 +807,6 @@ fn B() { // CHECK:STDOUT: %V.loc3_14.1 => constants.%empty_struct_type // CHECK:STDOUT: %W.patt.loc3_23.2 => constants.%W.patt // CHECK:STDOUT: %W.loc3_23.1 => constants.%empty_tuple.type -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: -// CHECK:STDOUT: %I.type => constants.%I.type.936 -// CHECK:STDOUT: %Self.loc3_31.2 => constants.%Self.f7f // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A(constants.%T.23e) { @@ -830,13 +824,6 @@ fn B() { // CHECK:STDOUT: %I.type.loc7_35.2 => constants.%I.type.936 // CHECK:STDOUT: %.loc7_37 => constants.%.ec3 // CHECK:STDOUT: %I.impl_witness.loc7_37.2 => constants.%I.impl_witness.38c -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete => constants.%complete_type.562 -// CHECK:STDOUT: } -// CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%empty_struct_type, constants.%empty_tuple.type, constants.%Self.b9e) { -// CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A(constants.%I.facet.708) { @@ -848,7 +835,7 @@ fn B() { // CHECK:STDOUT: %t.patt.loc9_28.2 => constants.%t.patt.429 // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete => constants.%complete_type.357 +// CHECK:STDOUT: %require_complete => constants.%complete_type // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- fail_mismatch_impl_constraint_with_fixed_specific.carbon 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 ddbf7bc4ec2c..ae073eb7ce92 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 @@ -611,7 +611,6 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %Animal.facet: %Animal.type = facet_value %W.as_type, (%Animal.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %.c97: = impl_self_witness %W, @Eats [symbolic] // CHECK:STDOUT: %Eats.impl_witness.31e: = impl_witness @A.as_type.as.Eats.impl.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%Animal.facet) [symbolic] -// CHECK:STDOUT: %.6be: 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] // CHECK:STDOUT: %v.param_patt.ef6: %pattern_type.493 = value_param_pattern [symbolic] @@ -786,9 +785,6 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %W.as_type.loc11_43.1 [symbolic = %require_complete (constants.%require_complete.837)] -// CHECK:STDOUT: %Animal.lookup_impl_witness: = lookup_impl_witness %W.loc11_23.1, @Animal [symbolic = %Animal.lookup_impl_witness (constants.%Animal.lookup_impl_witness)] -// CHECK:STDOUT: %Animal.facet: %Animal.type = facet_value %W.as_type.loc11_43.1, (%Animal.lookup_impl_witness) [symbolic = %Animal.facet (constants.%Animal.facet)] -// CHECK:STDOUT: %.loc12_14.3: require_specific_def_type = require_specific_def @A.as_type.as.Eats.impl(%Animal.facet) [symbolic = %.loc12_14.3 (constants.%.6be)] // CHECK:STDOUT: %Eats.lookup_impl_witness: = lookup_impl_witness %W.loc11_23.1, @Eats [symbolic = %Eats.lookup_impl_witness (constants.%Eats.lookup_impl_witness)] // CHECK:STDOUT: %Tame.lookup_impl_witness: = lookup_impl_witness %W.loc11_23.1, @Tame [symbolic = %Tame.lookup_impl_witness (constants.%Tame.lookup_impl_witness)] // CHECK:STDOUT: %facet_value.loc12_14.3: %facet_type.bbb = facet_value %W.as_type.loc11_43.1, (%Eats.lookup_impl_witness, %Tame.lookup_impl_witness) [symbolic = %facet_value.loc12_14.3 (constants.%facet_value)] @@ -852,8 +848,6 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %A.as_type.loc7_25.2 => constants.%W.as_type // CHECK:STDOUT: %.loc7_35 => constants.%.c97 // CHECK:STDOUT: %Eats.impl_witness.loc7_35.2 => constants.%Eats.impl_witness.31e -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @FeedTame2(constants.%facet_value) { 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 62dd77770a00..88dc4e85e300 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 @@ -60,7 +60,6 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: %Eats.lookup_impl_witness: = lookup_impl_witness %T.443, @Eats [symbolic] // CHECK:STDOUT: %.45f396.2: = impl_self_witness %T.443, @Eats [symbolic] // CHECK:STDOUT: %Eats.impl_witness.861e2e.2: = impl_witness @A.as_type.as.Eats.impl.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%T.443) [symbolic] -// CHECK:STDOUT: %.ae4: 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] // CHECK:STDOUT: %e.patt.70b: %pattern_type.e90 = wrapper_binding_pattern e, %e.param_patt.1c7 [symbolic] @@ -205,7 +204,6 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %T.as_type.loc22_31.1 [symbolic = %require_complete (constants.%require_complete.db4)] -// CHECK:STDOUT: %.loc22_42.3: require_specific_def_type = require_specific_def @A.as_type.as.Eats.impl(%T.loc22_18.1) [symbolic = %.loc22_42.3 (constants.%.ae4)] // CHECK:STDOUT: %Eats.lookup_impl_witness: = lookup_impl_witness %T.loc22_18.1, @Eats [symbolic = %Eats.lookup_impl_witness (constants.%Eats.lookup_impl_witness)] // CHECK:STDOUT: %Eats.facet.loc22_42.3: %Eats.type = facet_value %T.as_type.loc22_31.1, (%Eats.lookup_impl_witness) [symbolic = %Eats.facet.loc22_42.3 (constants.%Eats.facet.934)] // CHECK:STDOUT: %Feed.specific_fn.loc22_36.2: = specific_function constants.%Feed, @Feed(%Eats.facet.loc22_42.3) [symbolic = %Feed.specific_fn.loc22_36.2 (constants.%Feed.specific_fn)] @@ -266,8 +264,6 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: %A.as_type.loc18_25.2 => constants.%T.as_type.01d // CHECK:STDOUT: %.loc18_35 => constants.%.45f396.2 // CHECK:STDOUT: %Eats.impl_witness.loc18_35.2 => constants.%Eats.impl_witness.861e2e.2 -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Feed(constants.%Eats.facet.934) { 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 90f1d5966eec..2c75cc9c1cbe 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 @@ -43,7 +43,7 @@ fn F() { // CHECK:STDOUT: %Self.59b: %Edible.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Grass: type = class_type @Grass [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] -// CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] +// CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %.54a: = impl_self_witness %Grass, @Edible [concrete] // CHECK:STDOUT: %Edible.impl_witness: = impl_witness @Grass.as.Edible.impl.%Edible.impl_witness_table [concrete] // CHECK:STDOUT: %Edible.facet: %Edible.type = facet_value %Grass, (%Edible.impl_witness) [concrete] @@ -70,7 +70,7 @@ fn F() { // CHECK:STDOUT: %.2dd4f9.1: = impl_self_witness %T.443, @Eats, @Eats(%U.as_type) [symbolic] // CHECK:STDOUT: %Eats.impl_witness.77ef72.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.b6a: %Eats.type.6ddac4.1 = symbolic_binding Self, 1 [symbolic] -// CHECK:STDOUT: %require_complete.0b887d.1: = require_complete_type %Eats.type.6ddac4.1 [symbolic] +// CHECK:STDOUT: %require_complete.0b8: = require_complete_type %Eats.type.6ddac4.1 [symbolic] // CHECK:STDOUT: %Eats.facet.d1f: %Eats.type.6ddac4.1 = facet_value %T.as_type.01d, (%Eats.impl_witness.77ef72.1) [symbolic] // CHECK:STDOUT: %Goat: type = class_type @Goat [concrete] // CHECK:STDOUT: %.629: = impl_self_witness %Goat, @Animal [concrete] @@ -114,8 +114,6 @@ fn F() { // CHECK:STDOUT: %Eats.lookup_impl_witness: = lookup_impl_witness %A, @Eats, @Eats(%Food.as_type.24e) [symbolic] // CHECK:STDOUT: %.2dd4f9.2: = impl_self_witness %A, @Eats, @Eats(%Food.as_type.24e) [symbolic] // CHECK:STDOUT: %Eats.impl_witness.77ef72.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.0b887d.2: = require_complete_type %Eats.type.6ddac4.2 [symbolic] -// CHECK:STDOUT: %.d88: require_specific_def_type = require_specific_def @T.as_type.as.Eats.impl(%A, %Food.5f8) [symbolic] // CHECK:STDOUT: %Eats.facet.4fc: %Eats.type.6ddac4.2 = facet_value %A.as_type, (%Eats.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %pattern_type.f0c: type = pattern_type %Eats.type.6ddac4.2 [symbolic] // CHECK:STDOUT: %T.patt.789: %pattern_type.f0c = symbolic_binding_pattern T, 1 [symbolic] @@ -161,9 +159,6 @@ fn F() { // CHECK:STDOUT: %Eats.type.c0d: type = facet_type <@Eats, @Eats(%Grass)> [concrete] // CHECK:STDOUT: %.a7f: = impl_self_witness %Goat, @Eats, @Eats(%Grass) [concrete] // CHECK:STDOUT: %Eats.impl_witness.f05: = 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.804: %Eats.type.c0d = symbolic_binding Self, 1 [symbolic] -// CHECK:STDOUT: %complete_type.2c0: = complete_type_witness %Eats.type.c0d [concrete] -// CHECK:STDOUT: %.8fd: require_specific_def_type = require_specific_def @T.as_type.as.Eats.impl(%Animal.facet, %Edible.facet) [concrete] // CHECK:STDOUT: %Eats.facet.e90: %Eats.type.c0d = facet_value %Goat, (%Eats.impl_witness.f05) [concrete] // CHECK:STDOUT: %pattern_type.336: type = pattern_type %Eats.type.c0d [concrete] // CHECK:STDOUT: %T.patt.308: %pattern_type.336 = symbolic_binding_pattern T, 1 [symbolic] @@ -380,7 +375,7 @@ fn F() { // 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.77ef72.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete: = require_complete_type %Eats.type.loc26_47.2 [symbolic = %require_complete (constants.%require_complete.0b887d.1)] +// CHECK:STDOUT: %require_complete: = require_complete_type %Eats.type.loc26_47.2 [symbolic = %require_complete (constants.%require_complete.0b8)] // 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] @@ -402,7 +397,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Grass { -// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type.357] +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -410,7 +405,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Goat { -// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type.357] +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -460,7 +455,6 @@ fn F() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc32_43: = require_complete_type %A.as_type.loc32_45.1 [symbolic = %require_complete.loc32_43 (constants.%require_complete.db4)] // CHECK:STDOUT: %require_complete.loc32_52: = require_complete_type %Food.as_type.loc32_54.1 [symbolic = %require_complete.loc32_52 (constants.%require_complete.3cc)] -// CHECK:STDOUT: %.loc32_74.4: require_specific_def_type = require_specific_def @T.as_type.as.Eats.impl(%A.loc32_18.1, %Food.loc32_32.1) [symbolic = %.loc32_74.4 (constants.%.d88)] // CHECK:STDOUT: %Eats.type: type = facet_type <@Eats, @Eats(%Food.as_type.loc32_54.1)> [symbolic = %Eats.type (constants.%Eats.type.6ddac4.2)] // CHECK:STDOUT: %Eats.lookup_impl_witness: = lookup_impl_witness %A.loc32_18.1, @Eats, @Eats(%Food.as_type.loc32_54.1) [symbolic = %Eats.lookup_impl_witness (constants.%Eats.lookup_impl_witness)] // CHECK:STDOUT: %Eats.facet.loc32_74.2: @HandleAnimal.%Eats.type (%Eats.type.6ddac4.2) = facet_value %A.as_type.loc32_45.1, (%Eats.lookup_impl_witness) [symbolic = %Eats.facet.loc32_74.2 (constants.%Eats.facet.4fc)] @@ -633,9 +627,6 @@ fn F() { // CHECK:STDOUT: %Eats.type.loc26_47.2 => constants.%Eats.type.6ddac4.2 // CHECK:STDOUT: %.loc26_49 => constants.%.2dd4f9.2 // CHECK:STDOUT: %Eats.impl_witness.loc26_49.2 => constants.%Eats.impl_witness.77ef72.2 -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete => constants.%require_complete.0b887d.2 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Feed(constants.%Food.5f8, constants.%Eats.facet.4fc) { @@ -674,15 +665,19 @@ fn F() { // CHECK:STDOUT: %food.patt.loc32_52.2 => constants.%food.patt.f2928e.1 // CHECK:STDOUT: // 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.%.8fd +// CHECK:STDOUT: %require_complete.loc32_43 => constants.%complete_type +// CHECK:STDOUT: %require_complete.loc32_52 => constants.%complete_type // CHECK:STDOUT: %Eats.type => constants.%Eats.type.c0d // CHECK:STDOUT: %Eats.lookup_impl_witness => constants.%Eats.impl_witness.f05 // CHECK:STDOUT: %Eats.facet.loc32_74.2 => constants.%Eats.facet.e90 // CHECK:STDOUT: %Feed.specific_fn.loc32_62.2 => constants.%Feed.specific_fn.13c // CHECK:STDOUT: } // CHECK:STDOUT: +// CHECK:STDOUT: specific @Eats(constants.%Grass) { +// CHECK:STDOUT: %Food.patt.loc21_20.2 => constants.%Food.patt.3a0 +// CHECK:STDOUT: %Food.loc21_20.1 => constants.%Grass +// CHECK:STDOUT: } +// CHECK:STDOUT: // CHECK:STDOUT: specific @T.as_type.as.Eats.impl(constants.%Animal.facet, constants.%Edible.facet) { // CHECK:STDOUT: %T.patt.loc26_15.2 => constants.%T.patt.e44 // CHECK:STDOUT: %T.loc26_15.2 => constants.%Animal.facet @@ -693,22 +688,6 @@ fn F() { // CHECK:STDOUT: %Eats.type.loc26_47.2 => constants.%Eats.type.c0d // CHECK:STDOUT: %.loc26_49 => constants.%.a7f // CHECK:STDOUT: %Eats.impl_witness.loc26_49.2 => constants.%Eats.impl_witness.f05 -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete => constants.%complete_type.2c0 -// CHECK:STDOUT: } -// CHECK:STDOUT: -// CHECK:STDOUT: specific @Eats(constants.%Grass) { -// CHECK:STDOUT: %Food.patt.loc21_20.2 => constants.%Food.patt.3a0 -// CHECK:STDOUT: %Food.loc21_20.1 => constants.%Grass -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Eats.type => constants.%Eats.type.c0d -// CHECK:STDOUT: %Self.loc21_28.2 => constants.%Self.804 -// CHECK:STDOUT: } -// CHECK:STDOUT: -// CHECK:STDOUT: specific @Eats.WithSelf(constants.%Grass, constants.%Self.936) { -// CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Feed(constants.%Edible.facet, constants.%Eats.facet.e90) { @@ -728,7 +707,7 @@ fn F() { // CHECK:STDOUT: %food.patt.loc31_62.2 => constants.%food.patt.f2928e.2 // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete.loc31_46 => constants.%complete_type.357 -// CHECK:STDOUT: %require_complete.loc31_62 => constants.%complete_type.357 +// CHECK:STDOUT: %require_complete.loc31_46 => constants.%complete_type +// CHECK:STDOUT: %require_complete.loc31_62 => constants.%complete_type // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/for/actual.carbon b/toolchain/check/testdata/for/actual.carbon index c2729525d635..80d175eac562 100644 --- a/toolchain/check/testdata/for/actual.carbon +++ b/toolchain/check/testdata/for/actual.carbon @@ -79,7 +79,6 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %Iterate.type: type = facet_type <@Iterate> [concrete] // CHECK:STDOUT: %OptionalStorage.type: type = facet_type <@OptionalStorage> [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %SubobjectDestroy.type: type = facet_type <@SubobjectDestroy> [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %facet_type.bd0: type = facet_type <@Copy & @Destroy> [concrete] // CHECK:STDOUT: %Optional.type: type = parameterized_class_name_type @Optional [concrete] @@ -99,18 +98,15 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %impl.elem1.d2c: %Destroy.type = impl_witness_access %.052, element1 [symbolic_self] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.f5e: = lookup_impl_witness %Int.d4bbe0.1, @SubobjectDestroy [symbolic] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.79f: = lookup_impl_witness %Int.d4bbe0.1, @DestroyImpl [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.cbf: %SubobjectDestroy.type = facet_value %Int.d4bbe0.1, (%SubobjectDestroy.lookup_impl_witness.f5e) [symbolic] -// CHECK:STDOUT: %require_complete.d0a0eb.1: = require_complete_type %Int.d4bbe0.1 [symbolic] -// CHECK:STDOUT: %.811: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.cbf) [symbolic] // CHECK:STDOUT: %Destroy.facet.0e1: %Destroy.type = facet_value %Int.d4bbe0.1, (%SubobjectDestroy.lookup_impl_witness.f5e, %DestroyImpl.lookup_impl_witness.79f) [symbolic] // CHECK:STDOUT: %assoc0.d28: %Iterate.assoc_type = assoc_entity element0, imports.%Core.import_ref.b1e5 [concrete] // CHECK:STDOUT: %impl.elem0.a07: %facet_type.bd0 = impl_witness_access %.052, element0 [symbolic_self] +// CHECK:STDOUT: %require_complete.d0a0eb.1: = require_complete_type %Int.d4bbe0.1 [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %return.param_patt.a51197.1: %pattern_type.5515d5.1 = out_param_pattern [symbolic] // CHECK:STDOUT: %.c504e9.1: Core.Form = init_form %Int.d4bbe0.1 [symbolic] // CHECK:STDOUT: %Copy.lookup_impl_witness.923: = lookup_impl_witness %Int.d4bbe0.1, @Copy [symbolic] -// CHECK:STDOUT: %.cbd: require_specific_def_type = require_specific_def @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %facet_value: %facet_type.bd0 = facet_value %Int.d4bbe0.1, (%SubobjectDestroy.lookup_impl_witness.f5e, %DestroyImpl.lookup_impl_witness.79f, %Copy.lookup_impl_witness.923) [symbolic] // CHECK:STDOUT: %.Self.500: %Iterate.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.327: = impl_self_witness %.Self.500, @Iterate [symbolic_self] @@ -127,7 +123,6 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %cursor.param_patt.a08: %pattern_type.5515d5.1 = ref_param_pattern [symbolic] // CHECK:STDOUT: %cursor.patt.019: %pattern_type.5515d5.1 = wrapper_binding_pattern cursor, %cursor.param_patt.a08 [symbolic] // CHECK:STDOUT: %OptionalStorage.lookup_impl_witness.f1f: = lookup_impl_witness %Int.d4bbe0.1, @OptionalStorage [symbolic] -// CHECK:STDOUT: %.9d1: require_specific_def_type = require_specific_def @T.as_type.as.OptionalStorage.impl(%facet_value) [symbolic] // CHECK:STDOUT: %OptionalStorage.facet.b7c: %OptionalStorage.type = facet_value %Int.d4bbe0.1, (%OptionalStorage.lookup_impl_witness.f1f) [symbolic] // CHECK:STDOUT: %Optional.b5c: type = class_type @Optional, @Optional(%OptionalStorage.facet.b7c) [symbolic] // CHECK:STDOUT: %.940: Core.Form = init_form %Optional.b5c [symbolic] @@ -171,16 +166,14 @@ fn Read(generic y: Core.IntLiteral) { // 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.2aa: = impl_witness imports.%OrderedWith.impl_witness_table.ef8, @Int.as.OrderedWith.impl.97c(%N, %N) [symbolic] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.type.6a9: type = fn_type @Int.as.OrderedWith.impl.Less.1, @Int.as.OrderedWith.impl.97c(%N, %N) [symbolic] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.546: %Int.as.OrderedWith.impl.Less.type.6a9 = struct_value () [symbolic] -// CHECK:STDOUT: %.ad9: require_specific_def_type = require_specific_def @Int.as.OrderedWith.impl.97c(%N, %N) [symbolic] // CHECK:STDOUT: %OrderedWith.facet.e79: %OrderedWith.type.a49 = facet_value %Int.d4bbe0.1, (%OrderedWith.impl_witness.2aa) [symbolic] // CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.160: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Int.d4bbe0.1, %OrderedWith.facet.e79) [symbolic] // CHECK:STDOUT: %.31f: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.160, %OrderedWith.facet.e79 [symbolic] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.type.6a9: type = fn_type @Int.as.OrderedWith.impl.Less.1, @Int.as.OrderedWith.impl.97c(%N, %N) [symbolic] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.546: %Int.as.OrderedWith.impl.Less.type.6a9 = struct_value () [symbolic] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.specific_fn.4b7: = specific_function %Int.as.OrderedWith.impl.Less.546, @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.d4bbe0.1, @Inc [symbolic] -// CHECK:STDOUT: %.ae8: require_specific_def_type = require_specific_def @Int.as.Inc.impl(%N) [symbolic] // CHECK:STDOUT: %Inc.facet: %Inc.type = facet_value %Int.d4bbe0.1, (%Inc.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %Inc.WithSelf.Op.type.7c7: type = fn_type @Inc.WithSelf.Op, @Inc.WithSelf(%Inc.facet) [symbolic] // CHECK:STDOUT: %.bfa: type = fn_type_with_self_type %Inc.WithSelf.Op.type.7c7, %Inc.facet [symbolic] @@ -217,22 +210,21 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] -// CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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.753: %i32 = int_value 0 [concrete] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] -// CHECK:STDOUT: %.72f: require_specific_def_type = require_specific_def @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -373,9 +365,9 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %N.ref.loc11_70: Core.IntLiteral = name_ref N, %.loc11_70 [symbolic = %N (constants.%N)] // CHECK:STDOUT: %Int.loc11_71: type = class_type @Int, @Int(constants.%N) [symbolic = %Int.loc11_41.1 (constants.%Int.d4bbe0.1)] // CHECK:STDOUT: %OptionalStorage.facet.loc11_72.2: %OptionalStorage.type = facet_value %Int.loc11_71, (constants.%OptionalStorage.lookup_impl_witness.f1f) [symbolic = %OptionalStorage.facet.loc11_72.1 (constants.%OptionalStorage.facet.b7c)] -// CHECK:STDOUT: %.loc11_72.5: %OptionalStorage.type = converted %Int.loc11_71, %OptionalStorage.facet.loc11_72.2 [symbolic = %OptionalStorage.facet.loc11_72.1 (constants.%OptionalStorage.facet.b7c)] +// CHECK:STDOUT: %.loc11_72.4: %OptionalStorage.type = converted %Int.loc11_71, %OptionalStorage.facet.loc11_72.2 [symbolic = %OptionalStorage.facet.loc11_72.1 (constants.%OptionalStorage.facet.b7c)] // CHECK:STDOUT: %Optional.loc11_72.2: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.b7c) [symbolic = %Optional.loc11_72.1 (constants.%Optional.b5c)] -// CHECK:STDOUT: %.loc11_72.6: Core.Form = init_form %Optional.loc11_72.2 [symbolic = %.loc11_72.4 (constants.%.940)] +// CHECK:STDOUT: %.loc11_72.5: Core.Form = init_form %Optional.loc11_72.2 [symbolic = %.loc11_72.3 (constants.%.940)] // CHECK:STDOUT: %self.param: @IntRange.as.Iterate.impl.Next.%IntRange (%IntRange.0bb) = value_param call_param0 // CHECK:STDOUT: %.loc11_13.1: type = splice_block %Self.ref [symbolic = %IntRange (constants.%IntRange.0bb)] { // CHECK:STDOUT: %.loc11_13.2: type = specific_constant constants.%IntRange.0bb, @IntRange(constants.%N) [symbolic = %IntRange (constants.%IntRange.0bb)] @@ -540,12 +532,11 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %require_complete.loc5_16: = require_complete_type %Int.loc5_28.1 [symbolic = %require_complete.loc5_16 (constants.%require_complete.d0a0eb.1)] // CHECK:STDOUT: %require_complete.loc5_49: = require_complete_type %IntRange [symbolic = %require_complete.loc5_49 (constants.%require_complete.cca)] // CHECK:STDOUT: %struct_type.start.end: type = struct_type {.start: @IntRange.Make.%Int.loc5_28.1 (%Int.d4bbe0.1), .end: @IntRange.Make.%Int.loc5_28.1 (%Int.d4bbe0.1)} [symbolic = %struct_type.start.end (constants.%struct_type.start.end.fc0)] -// CHECK:STDOUT: %.loc6_22.3: require_specific_def_type = require_specific_def @Int.as.Copy.impl(%N) [symbolic = %.loc6_22.3 (constants.%.cbd)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %Int.loc5_28.1, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.923)] // CHECK:STDOUT: %Copy.facet.loc6_22.3: %Copy.type = facet_value %Int.loc5_28.1, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc6_22.3 (constants.%Copy.facet.ad7)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.loc6_22.3) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.a18)] -// CHECK:STDOUT: %.loc6_22.4: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc6_22.3 [symbolic = %.loc6_22.4 (constants.%.ade)] -// CHECK:STDOUT: %impl.elem0.loc6_22.2: @IntRange.Make.%.loc6_22.4 (%.ade) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc6_22.2 (constants.%impl.elem0.6c8)] +// CHECK:STDOUT: %.loc6_22.3: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc6_22.3 [symbolic = %.loc6_22.3 (constants.%.ade)] +// CHECK:STDOUT: %impl.elem0.loc6_22.2: @IntRange.Make.%.loc6_22.3 (%.ade) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc6_22.2 (constants.%impl.elem0.6c8)] // CHECK:STDOUT: %specific_impl_fn.loc6_22.2: = specific_impl_function %impl.elem0.loc6_22.2, @Copy.WithSelf.Op(%Copy.facet.loc6_22.3) [symbolic = %specific_impl_fn.loc6_22.2 (constants.%specific_impl_fn.d42)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%start.param: @IntRange.Make.%Int.loc5_28.1 (%Int.d4bbe0.1), %end.param: @IntRange.Make.%Int.loc5_28.1 (%Int.d4bbe0.1)) -> out %return.param: @IntRange.Make.%IntRange (%IntRange.0bb) { @@ -553,7 +544,7 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %start.ref: @IntRange.Make.%Int.loc5_28.1 (%Int.d4bbe0.1) = name_ref start, %start // CHECK:STDOUT: %end.ref: @IntRange.Make.%Int.loc5_28.1 (%Int.d4bbe0.1) = name_ref end, %end // CHECK:STDOUT: %.loc6_39.1: @IntRange.Make.%struct_type.start.end (%struct_type.start.end.fc0) = struct_literal (%start.ref, %end.ref) -// CHECK:STDOUT: %impl.elem0.loc6_22.1: @IntRange.Make.%.loc6_22.4 (%.ade) = impl_witness_access constants.%Copy.lookup_impl_witness.923, element0 [symbolic = %impl.elem0.loc6_22.2 (constants.%impl.elem0.6c8)] +// CHECK:STDOUT: %impl.elem0.loc6_22.1: @IntRange.Make.%.loc6_22.3 (%.ade) = impl_witness_access constants.%Copy.lookup_impl_witness.923, element0 [symbolic = %impl.elem0.loc6_22.2 (constants.%impl.elem0.6c8)] // CHECK:STDOUT: %bound_method.loc6_22.1: = bound_method %start.ref, %impl.elem0.loc6_22.1 // CHECK:STDOUT: %Copy.facet.loc6_22.1: %Copy.type = facet_value constants.%Int.d4bbe0.1, (constants.%Copy.lookup_impl_witness.923) [symbolic = %Copy.facet.loc6_22.3 (constants.%Copy.facet.ad7)] // CHECK:STDOUT: %.loc6_22.1: %Copy.type = converted constants.%Int.d4bbe0.1, %Copy.facet.loc6_22.1 [symbolic = %Copy.facet.loc6_22.3 (constants.%Copy.facet.ad7)] @@ -564,7 +555,7 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %Copy.WithSelf.Op.call.loc6_22: init @IntRange.Make.%Int.loc5_28.1 (%Int.d4bbe0.1) = call %bound_method.loc6_22.2(%start.ref) // CHECK:STDOUT: %.loc6_39.2: ref @IntRange.Make.%Int.loc5_28.1 (%Int.d4bbe0.1) = class_element_access %return.param, element0 // CHECK:STDOUT: %.loc6_39.3: init @IntRange.Make.%Int.loc5_28.1 (%Int.d4bbe0.1) to %.loc6_39.2 = in_place_init %Copy.WithSelf.Op.call.loc6_22 -// CHECK:STDOUT: %impl.elem0.loc6_36: @IntRange.Make.%.loc6_22.4 (%.ade) = impl_witness_access constants.%Copy.lookup_impl_witness.923, element0 [symbolic = %impl.elem0.loc6_22.2 (constants.%impl.elem0.6c8)] +// CHECK:STDOUT: %impl.elem0.loc6_36: @IntRange.Make.%.loc6_22.3 (%.ade) = impl_witness_access constants.%Copy.lookup_impl_witness.923, element0 [symbolic = %impl.elem0.loc6_22.2 (constants.%impl.elem0.6c8)] // CHECK:STDOUT: %bound_method.loc6_36.1: = bound_method %end.ref, %impl.elem0.loc6_36 // CHECK:STDOUT: %Copy.facet.loc6_36.1: %Copy.type = facet_value constants.%Int.d4bbe0.1, (constants.%Copy.lookup_impl_witness.923) [symbolic = %Copy.facet.loc6_22.3 (constants.%Copy.facet.ad7)] // CHECK:STDOUT: %.loc6_36.1: %Copy.type = converted constants.%Int.d4bbe0.1, %Copy.facet.loc6_36.1 [symbolic = %Copy.facet.loc6_22.3 (constants.%Copy.facet.ad7)] @@ -597,12 +588,11 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %require_complete.loc10_18: = require_complete_type %IntRange [symbolic = %require_complete.loc10_18 (constants.%require_complete.cca)] // CHECK:STDOUT: %IntRange.elem: type = unbound_element_type %IntRange, %Int.loc10_37.1 [symbolic = %IntRange.elem (constants.%IntRange.elem.945)] // CHECK:STDOUT: %require_complete.loc10_52: = require_complete_type %Int.loc10_37.1 [symbolic = %require_complete.loc10_52 (constants.%require_complete.d0a0eb.1)] -// CHECK:STDOUT: %.loc10_52.5: require_specific_def_type = require_specific_def @Int.as.Copy.impl(%N) [symbolic = %.loc10_52.5 (constants.%.cbd)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %Int.loc10_37.1, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.923)] // CHECK:STDOUT: %Copy.facet.loc10_52.3: %Copy.type = facet_value %Int.loc10_37.1, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc10_52.3 (constants.%Copy.facet.ad7)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.loc10_52.3) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.a18)] -// CHECK:STDOUT: %.loc10_52.6: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc10_52.3 [symbolic = %.loc10_52.6 (constants.%.ade)] -// CHECK:STDOUT: %impl.elem0.loc10_52.2: @IntRange.as.Iterate.impl.NewCursor.%.loc10_52.6 (%.ade) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc10_52.2 (constants.%impl.elem0.6c8)] +// CHECK:STDOUT: %.loc10_52.5: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc10_52.3 [symbolic = %.loc10_52.5 (constants.%.ade)] +// CHECK:STDOUT: %impl.elem0.loc10_52.2: @IntRange.as.Iterate.impl.NewCursor.%.loc10_52.5 (%.ade) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc10_52.2 (constants.%impl.elem0.6c8)] // CHECK:STDOUT: %specific_impl_fn.loc10_52.2: = specific_impl_function %impl.elem0.loc10_52.2, @Copy.WithSelf.Op(%Copy.facet.loc10_52.3) [symbolic = %specific_impl_fn.loc10_52.2 (constants.%specific_impl_fn.d42)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%self.param: @IntRange.as.Iterate.impl.NewCursor.%IntRange (%IntRange.0bb)) -> out %return.param: @IntRange.as.Iterate.impl.NewCursor.%Int.loc10_37.1 (%Int.d4bbe0.1) { @@ -611,7 +601,7 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %start.ref: @IntRange.as.Iterate.impl.NewCursor.%IntRange.elem (%IntRange.elem.945) = name_ref start, @IntRange.%field_decl.loc22 [concrete = @IntRange.%field_decl.loc22] // CHECK:STDOUT: %.loc10_52.1: ref @IntRange.as.Iterate.impl.NewCursor.%Int.loc10_37.1 (%Int.d4bbe0.1) = class_element_access %self.ref, element0 // CHECK:STDOUT: %.loc10_52.2: @IntRange.as.Iterate.impl.NewCursor.%Int.loc10_37.1 (%Int.d4bbe0.1) = acquire_value %.loc10_52.1 -// CHECK:STDOUT: %impl.elem0.loc10_52.1: @IntRange.as.Iterate.impl.NewCursor.%.loc10_52.6 (%.ade) = impl_witness_access constants.%Copy.lookup_impl_witness.923, element0 [symbolic = %impl.elem0.loc10_52.2 (constants.%impl.elem0.6c8)] +// CHECK:STDOUT: %impl.elem0.loc10_52.1: @IntRange.as.Iterate.impl.NewCursor.%.loc10_52.5 (%.ade) = impl_witness_access constants.%Copy.lookup_impl_witness.923, element0 [symbolic = %impl.elem0.loc10_52.2 (constants.%impl.elem0.6c8)] // CHECK:STDOUT: %bound_method.loc10_52.1: = bound_method %.loc10_52.2, %impl.elem0.loc10_52.1 // CHECK:STDOUT: %Copy.facet.loc10_52.1: %Copy.type = facet_value constants.%Int.d4bbe0.1, (constants.%Copy.lookup_impl_witness.923) [symbolic = %Copy.facet.loc10_52.3 (constants.%Copy.facet.ad7)] // CHECK:STDOUT: %.loc10_52.3: %Copy.type = converted constants.%Int.d4bbe0.1, %Copy.facet.loc10_52.1 [symbolic = %Copy.facet.loc10_52.3 (constants.%Copy.facet.ad7)] @@ -634,15 +624,10 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %pattern_type.loc11_29: type = pattern_type %Int.loc11_41.1 [symbolic = %pattern_type.loc11_29 (constants.%pattern_type.5515d5.1)] // CHECK:STDOUT: %cursor.param_patt.loc11_29.2: @IntRange.as.Iterate.impl.Next.%pattern_type.loc11_29 (%pattern_type.5515d5.1) = ref_param_pattern [symbolic = %cursor.param_patt.loc11_29.2 (constants.%cursor.param_patt.a08)] // CHECK:STDOUT: %cursor.patt.loc11_29.2: @IntRange.as.Iterate.impl.Next.%pattern_type.loc11_29 (%pattern_type.5515d5.1) = wrapper_binding_pattern cursor, %cursor.param_patt.loc11_29.2 [symbolic = %cursor.patt.loc11_29.2 (constants.%cursor.patt.019)] -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %Int.loc11_41.1, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.f5e)] -// CHECK:STDOUT: %DestroyImpl.lookup_impl_witness: = lookup_impl_witness %Int.loc11_41.1, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness (constants.%DestroyImpl.lookup_impl_witness.79f)] -// CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %Int.loc11_41.1, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.923)] -// CHECK:STDOUT: %facet_value: %facet_type.bd0 = facet_value %Int.loc11_41.1, (%SubobjectDestroy.lookup_impl_witness, %DestroyImpl.lookup_impl_witness, %Copy.lookup_impl_witness) [symbolic = %facet_value (constants.%facet_value)] -// CHECK:STDOUT: %.loc11_72.3: require_specific_def_type = require_specific_def @T.as_type.as.OptionalStorage.impl(%facet_value) [symbolic = %.loc11_72.3 (constants.%.9d1)] // CHECK:STDOUT: %OptionalStorage.lookup_impl_witness: = lookup_impl_witness %Int.loc11_41.1, @OptionalStorage [symbolic = %OptionalStorage.lookup_impl_witness (constants.%OptionalStorage.lookup_impl_witness.f1f)] // CHECK:STDOUT: %OptionalStorage.facet.loc11_72.1: %OptionalStorage.type = facet_value %Int.loc11_41.1, (%OptionalStorage.lookup_impl_witness) [symbolic = %OptionalStorage.facet.loc11_72.1 (constants.%OptionalStorage.facet.b7c)] // CHECK:STDOUT: %Optional.loc11_72.1: type = class_type @Optional, @Optional(%OptionalStorage.facet.loc11_72.1) [symbolic = %Optional.loc11_72.1 (constants.%Optional.b5c)] -// CHECK:STDOUT: %.loc11_72.4: Core.Form = init_form %Optional.loc11_72.1 [symbolic = %.loc11_72.4 (constants.%.940)] +// CHECK:STDOUT: %.loc11_72.3: Core.Form = init_form %Optional.loc11_72.1 [symbolic = %.loc11_72.3 (constants.%.940)] // CHECK:STDOUT: %pattern_type.loc11_72: type = pattern_type %Optional.loc11_72.1 [symbolic = %pattern_type.loc11_72 (constants.%pattern_type.47f)] // CHECK:STDOUT: %return.param_patt.loc11_72.2: @IntRange.as.Iterate.impl.Next.%pattern_type.loc11_72 (%pattern_type.47f) = out_param_pattern [symbolic = %return.param_patt.loc11_72.2 (constants.%return.param_patt.972)] // CHECK:STDOUT: %return.patt.loc11_44.2: @IntRange.as.Iterate.impl.Next.%pattern_type.loc11_72 (%pattern_type.47f) = return_slot_pattern %return.param_patt.loc11_72.2, %Optional.loc11_72.1 [symbolic = %return.patt.loc11_44.2 (constants.%return.patt.733)] @@ -653,37 +638,35 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %require_complete.loc11_44: = require_complete_type %Optional.loc11_72.1 [symbolic = %require_complete.loc11_44 (constants.%require_complete.710)] // CHECK:STDOUT: %value.patt.loc12_16.2: @IntRange.as.Iterate.impl.Next.%pattern_type.loc11_29 (%pattern_type.5515d5.1) = ref_binding_pattern value [symbolic = %value.patt.loc12_16.2 (constants.%value.patt.f0c)] // CHECK:STDOUT: %value.var_patt.loc12_7.2: @IntRange.as.Iterate.impl.Next.%pattern_type.loc11_29 (%pattern_type.5515d5.1) = var_pattern %value.patt.loc12_16.2 [symbolic = %value.var_patt.loc12_7.2 (constants.%value.var_patt)] -// CHECK:STDOUT: %.loc12_32.4: require_specific_def_type = require_specific_def @Int.as.Copy.impl(%N) [symbolic = %.loc12_32.4 (constants.%.cbd)] +// CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %Int.loc11_41.1, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.923)] // CHECK:STDOUT: %Copy.facet.loc12_32.3: %Copy.type = facet_value %Int.loc11_41.1, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc12_32.3 (constants.%Copy.facet.ad7)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.loc12_32.3) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.a18)] -// CHECK:STDOUT: %.loc12_32.5: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc12_32.3 [symbolic = %.loc12_32.5 (constants.%.ade)] -// CHECK:STDOUT: %impl.elem0.loc12_32.2: @IntRange.as.Iterate.impl.Next.%.loc12_32.5 (%.ade) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc12_32.2 (constants.%impl.elem0.6c8)] +// CHECK:STDOUT: %.loc12_32.4: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc12_32.3 [symbolic = %.loc12_32.4 (constants.%.ade)] +// CHECK:STDOUT: %impl.elem0.loc12_32.2: @IntRange.as.Iterate.impl.Next.%.loc12_32.4 (%.ade) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc12_32.2 (constants.%impl.elem0.6c8)] // CHECK:STDOUT: %specific_impl_fn.loc12_32.2: = specific_impl_function %impl.elem0.loc12_32.2, @Copy.WithSelf.Op(%Copy.facet.loc12_32.3) [symbolic = %specific_impl_fn.loc12_32.2 (constants.%specific_impl_fn.d42)] // CHECK:STDOUT: %IntRange.elem: type = unbound_element_type %IntRange, %Int.loc11_41.1 [symbolic = %IntRange.elem (constants.%IntRange.elem.945)] // CHECK:STDOUT: %OrderedWith.type.loc13_17.2: type = facet_type <@OrderedWith, @OrderedWith(%Int.loc11_41.1)> [symbolic = %OrderedWith.type.loc13_17.2 (constants.%OrderedWith.type.a49)] // CHECK:STDOUT: %require_complete.loc13: = require_complete_type %OrderedWith.type.loc13_17.2 [symbolic = %require_complete.loc13 (constants.%require_complete.9ab)] // CHECK:STDOUT: %OrderedWith.assoc_type: type = assoc_entity_type @OrderedWith, @OrderedWith(%Int.loc11_41.1) [symbolic = %OrderedWith.assoc_type (constants.%OrderedWith.assoc_type.e39)] // CHECK:STDOUT: %assoc0: @IntRange.as.Iterate.impl.Next.%OrderedWith.assoc_type (%OrderedWith.assoc_type.e39) = assoc_entity element0, imports.%Core.import_ref.b46 [symbolic = %assoc0 (constants.%assoc0.5ea)] -// CHECK:STDOUT: %.loc13_17.2: require_specific_def_type = require_specific_def @Int.as.OrderedWith.impl.97c(%N, %N) [symbolic = %.loc13_17.2 (constants.%.ad9)] // CHECK:STDOUT: %OrderedWith.impl_witness: = impl_witness imports.%OrderedWith.impl_witness_table.ef8, @Int.as.OrderedWith.impl.97c(%N, %N) [symbolic = %OrderedWith.impl_witness (constants.%OrderedWith.impl_witness.2aa)] // CHECK:STDOUT: %OrderedWith.facet: @IntRange.as.Iterate.impl.Next.%OrderedWith.type.loc13_17.2 (%OrderedWith.type.a49) = facet_value %Int.loc11_41.1, (%OrderedWith.impl_witness) [symbolic = %OrderedWith.facet (constants.%OrderedWith.facet.e79)] // CHECK:STDOUT: %OrderedWith.WithSelf.Less.type: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Int.loc11_41.1, %OrderedWith.facet) [symbolic = %OrderedWith.WithSelf.Less.type (constants.%OrderedWith.WithSelf.Less.type.160)] -// CHECK:STDOUT: %.loc13_17.3: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type, %OrderedWith.facet [symbolic = %.loc13_17.3 (constants.%.31f)] +// CHECK:STDOUT: %.loc13_17.2: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type, %OrderedWith.facet [symbolic = %.loc13_17.2 (constants.%.31f)] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.type: type = fn_type @Int.as.OrderedWith.impl.Less.1, @Int.as.OrderedWith.impl.97c(%N, %N) [symbolic = %Int.as.OrderedWith.impl.Less.type (constants.%Int.as.OrderedWith.impl.Less.type.6a9)] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less: @IntRange.as.Iterate.impl.Next.%Int.as.OrderedWith.impl.Less.type (%Int.as.OrderedWith.impl.Less.type.6a9) = struct_value () [symbolic = %Int.as.OrderedWith.impl.Less (constants.%Int.as.OrderedWith.impl.Less.546)] // 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.4b7)] -// CHECK:STDOUT: %.loc14_9.3: require_specific_def_type = require_specific_def @Int.as.Inc.impl(%N) [symbolic = %.loc14_9.3 (constants.%.ae8)] // CHECK:STDOUT: %Inc.lookup_impl_witness: = lookup_impl_witness %Int.loc11_41.1, @Inc [symbolic = %Inc.lookup_impl_witness (constants.%Inc.lookup_impl_witness)] // CHECK:STDOUT: %Inc.facet.loc14_9.3: %Inc.type = facet_value %Int.loc11_41.1, (%Inc.lookup_impl_witness) [symbolic = %Inc.facet.loc14_9.3 (constants.%Inc.facet)] // CHECK:STDOUT: %Inc.WithSelf.Op.type: type = fn_type @Inc.WithSelf.Op, @Inc.WithSelf(%Inc.facet.loc14_9.3) [symbolic = %Inc.WithSelf.Op.type (constants.%Inc.WithSelf.Op.type.7c7)] -// CHECK:STDOUT: %.loc14_9.4: type = fn_type_with_self_type %Inc.WithSelf.Op.type, %Inc.facet.loc14_9.3 [symbolic = %.loc14_9.4 (constants.%.bfa)] -// CHECK:STDOUT: %impl.elem0.loc14_9.2: @IntRange.as.Iterate.impl.Next.%.loc14_9.4 (%.bfa) = impl_witness_access %Inc.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_9.2 (constants.%impl.elem0.fc5)] +// CHECK:STDOUT: %.loc14_9.3: type = fn_type_with_self_type %Inc.WithSelf.Op.type, %Inc.facet.loc14_9.3 [symbolic = %.loc14_9.3 (constants.%.bfa)] +// CHECK:STDOUT: %impl.elem0.loc14_9.2: @IntRange.as.Iterate.impl.Next.%.loc14_9.3 (%.bfa) = impl_witness_access %Inc.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_9.2 (constants.%impl.elem0.fc5)] // CHECK:STDOUT: %specific_impl_fn.loc14_9.2: = specific_impl_function %impl.elem0.loc14_9.2, @Inc.WithSelf.Op(%Inc.facet.loc14_9.3) [symbolic = %specific_impl_fn.loc14_9.2 (constants.%specific_impl_fn.b3e)] // CHECK:STDOUT: %Optional.Some.type: type = fn_type @Optional.Some, @Optional(%OptionalStorage.facet.loc11_72.1) [symbolic = %Optional.Some.type (constants.%Optional.Some.type.36c)] // CHECK:STDOUT: %Optional.Some: @IntRange.as.Iterate.impl.Next.%Optional.Some.type (%Optional.Some.type.36c) = struct_value () [symbolic = %Optional.Some (constants.%Optional.Some.a4c)] // CHECK:STDOUT: %Optional.Some.specific_fn.loc15_42.2: = specific_function %Optional.Some, @Optional.Some(%OptionalStorage.facet.loc11_72.1) [symbolic = %Optional.Some.specific_fn.loc15_42.2 (constants.%Optional.Some.specific_fn)] -// CHECK:STDOUT: %SubobjectDestroy.facet: %SubobjectDestroy.type = facet_value %Int.loc11_41.1, (%SubobjectDestroy.lookup_impl_witness) [symbolic = %SubobjectDestroy.facet (constants.%SubobjectDestroy.facet.cbf)] -// CHECK:STDOUT: %.loc12_7.5: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet) [symbolic = %.loc12_7.5 (constants.%.811)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %Int.loc11_41.1, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.f5e)] +// CHECK:STDOUT: %DestroyImpl.lookup_impl_witness: = lookup_impl_witness %Int.loc11_41.1, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness (constants.%DestroyImpl.lookup_impl_witness.79f)] // CHECK:STDOUT: %Destroy.facet.loc12_7.5: %Destroy.type = facet_value %Int.loc11_41.1, (%SubobjectDestroy.lookup_impl_witness, %DestroyImpl.lookup_impl_witness) [symbolic = %Destroy.facet.loc12_7.5 (constants.%Destroy.facet.0e1)] // CHECK:STDOUT: %SelfDestruct.specific_fn.3: = specific_function constants.%SelfDestruct, @SelfDestruct(%Destroy.facet.loc12_7.5) [symbolic = %SelfDestruct.specific_fn.3 (constants.%SelfDestruct.specific_fn.bd1)] // CHECK:STDOUT: %Optional.None.type: type = fn_type @Optional.None, @Optional(%OptionalStorage.facet.loc11_72.1) [symbolic = %Optional.None.type (constants.%Optional.None.type.145)] @@ -695,7 +678,7 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %value.var: ref @IntRange.as.Iterate.impl.Next.%Int.loc11_41.1 (%Int.d4bbe0.1) = var_storage %value.var_patt.loc12_7.1 // CHECK:STDOUT: %cursor.ref.loc12: ref @IntRange.as.Iterate.impl.Next.%Int.loc11_41.1 (%Int.d4bbe0.1) = name_ref cursor, %cursor // CHECK:STDOUT: %.loc12_32.1: @IntRange.as.Iterate.impl.Next.%Int.loc11_41.1 (%Int.d4bbe0.1) = acquire_value %cursor.ref.loc12 -// CHECK:STDOUT: %impl.elem0.loc12_32.1: @IntRange.as.Iterate.impl.Next.%.loc12_32.5 (%.ade) = impl_witness_access constants.%Copy.lookup_impl_witness.923, element0 [symbolic = %impl.elem0.loc12_32.2 (constants.%impl.elem0.6c8)] +// CHECK:STDOUT: %impl.elem0.loc12_32.1: @IntRange.as.Iterate.impl.Next.%.loc12_32.4 (%.ade) = impl_witness_access constants.%Copy.lookup_impl_witness.923, element0 [symbolic = %impl.elem0.loc12_32.2 (constants.%impl.elem0.6c8)] // CHECK:STDOUT: %bound_method.loc12_32.1: = bound_method %.loc12_32.1, %impl.elem0.loc12_32.1 // CHECK:STDOUT: %Copy.facet.loc12_32.1: %Copy.type = facet_value constants.%Int.d4bbe0.1, (constants.%Copy.lookup_impl_witness.923) [symbolic = %Copy.facet.loc12_32.3 (constants.%Copy.facet.ad7)] // CHECK:STDOUT: %.loc12_32.2: %Copy.type = converted constants.%Int.d4bbe0.1, %Copy.facet.loc12_32.1 [symbolic = %Copy.facet.loc12_32.3 (constants.%Copy.facet.ad7)] @@ -725,7 +708,7 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %OrderedWith.type.loc13_17.1: type = facet_type <@OrderedWith, @OrderedWith(constants.%Int.d4bbe0.1)> [symbolic = %OrderedWith.type.loc13_17.2 (constants.%OrderedWith.type.a49)] // CHECK:STDOUT: %.loc13_17.1: @IntRange.as.Iterate.impl.Next.%OrderedWith.assoc_type (%OrderedWith.assoc_type.e39) = specific_constant imports.%Core.import_ref.8cd, @OrderedWith.WithSelf(constants.%Int.d4bbe0.1, constants.%Self.635) [symbolic = %assoc0 (constants.%assoc0.5ea)] // CHECK:STDOUT: %Less.ref: @IntRange.as.Iterate.impl.Next.%OrderedWith.assoc_type (%OrderedWith.assoc_type.e39) = name_ref Less, %.loc13_17.1 [symbolic = %assoc0 (constants.%assoc0.5ea)] -// CHECK:STDOUT: %impl.elem0.loc13: @IntRange.as.Iterate.impl.Next.%.loc13_17.3 (%.31f) = impl_witness_access constants.%OrderedWith.impl_witness.2aa, element0 [symbolic = %Int.as.OrderedWith.impl.Less (constants.%Int.as.OrderedWith.impl.Less.546)] +// CHECK:STDOUT: %impl.elem0.loc13: @IntRange.as.Iterate.impl.Next.%.loc13_17.2 (%.31f) = impl_witness_access constants.%OrderedWith.impl_witness.2aa, element0 [symbolic = %Int.as.OrderedWith.impl.Less (constants.%Int.as.OrderedWith.impl.Less.546)] // 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.4b7)] // CHECK:STDOUT: %bound_method.loc13_17.2: = bound_method %value.ref.loc13, %specific_fn @@ -737,7 +720,7 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: // CHECK:STDOUT: !if.then: // CHECK:STDOUT: %cursor.ref.loc14: ref @IntRange.as.Iterate.impl.Next.%Int.loc11_41.1 (%Int.d4bbe0.1) = name_ref cursor, %cursor -// CHECK:STDOUT: %impl.elem0.loc14_9.1: @IntRange.as.Iterate.impl.Next.%.loc14_9.4 (%.bfa) = impl_witness_access constants.%Inc.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_9.2 (constants.%impl.elem0.fc5)] +// CHECK:STDOUT: %impl.elem0.loc14_9.1: @IntRange.as.Iterate.impl.Next.%.loc14_9.3 (%.bfa) = impl_witness_access constants.%Inc.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_9.2 (constants.%impl.elem0.fc5)] // CHECK:STDOUT: %bound_method.loc14_9.1: = bound_method %cursor.ref.loc14, %impl.elem0.loc14_9.1 // CHECK:STDOUT: %Inc.facet.loc14_9.1: %Inc.type = facet_value constants.%Int.d4bbe0.1, (constants.%Inc.lookup_impl_witness) [symbolic = %Inc.facet.loc14_9.3 (constants.%Inc.facet)] // CHECK:STDOUT: %.loc14_9.1: %Inc.type = converted constants.%Int.d4bbe0.1, %Inc.facet.loc14_9.1 [symbolic = %Inc.facet.loc14_9.3 (constants.%Inc.facet)] @@ -896,15 +879,10 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %pattern_type.loc11_29 => constants.%pattern_type.5515d5.1 // CHECK:STDOUT: %cursor.param_patt.loc11_29.2 => constants.%cursor.param_patt.a08 // CHECK:STDOUT: %cursor.patt.loc11_29.2 => constants.%cursor.patt.019 -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness => constants.%SubobjectDestroy.lookup_impl_witness.f5e -// CHECK:STDOUT: %DestroyImpl.lookup_impl_witness => constants.%DestroyImpl.lookup_impl_witness.79f -// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.lookup_impl_witness.923 -// CHECK:STDOUT: %facet_value => constants.%facet_value -// CHECK:STDOUT: %.loc11_72.3 => constants.%.9d1 // CHECK:STDOUT: %OptionalStorage.lookup_impl_witness => constants.%OptionalStorage.lookup_impl_witness.f1f // CHECK:STDOUT: %OptionalStorage.facet.loc11_72.1 => constants.%OptionalStorage.facet.b7c // CHECK:STDOUT: %Optional.loc11_72.1 => constants.%Optional.b5c -// CHECK:STDOUT: %.loc11_72.4 => constants.%.940 +// CHECK:STDOUT: %.loc11_72.3 => constants.%.940 // CHECK:STDOUT: %pattern_type.loc11_72 => constants.%pattern_type.47f // CHECK:STDOUT: %return.param_patt.loc11_72.2 => constants.%return.param_patt.972 // CHECK:STDOUT: %return.patt.loc11_44.2 => constants.%return.patt.733 @@ -943,11 +921,10 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %require_complete.loc5_16 => constants.%complete_type.f8a // CHECK:STDOUT: %require_complete.loc5_49 => constants.%complete_type.a5c // CHECK:STDOUT: %struct_type.start.end => constants.%struct_type.start.end.7e8 -// CHECK:STDOUT: %.loc6_22.3 => constants.%.72f // CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.8af // CHECK:STDOUT: %Copy.facet.loc6_22.3 => constants.%Copy.facet.95d // CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.f76 -// CHECK:STDOUT: %.loc6_22.4 => constants.%.2b9 +// CHECK:STDOUT: %.loc6_22.3 => constants.%.2b9 // CHECK:STDOUT: %impl.elem0.loc6_22.2 => constants.%Int.as.Copy.impl.Op.cae // CHECK:STDOUT: %specific_impl_fn.loc6_22.2 => constants.%Int.as.Copy.impl.Op.specific_fn // CHECK:STDOUT: } @@ -991,7 +968,6 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %.ade: type = fn_type_with_self_type %Copy.WithSelf.Op.type.a18, %Copy.facet [symbolic] // CHECK:STDOUT: %impl.elem0.6c8: %.ade = impl_witness_access %Copy.lookup_impl_witness.923, element0 [symbolic] // CHECK:STDOUT: %specific_impl_fn.d42: = specific_impl_function %impl.elem0.6c8, @Copy.WithSelf.Op(%Copy.facet) [symbolic] -// CHECK:STDOUT: %.cbd: require_specific_def_type = require_specific_def @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %require_complete.cca: = require_complete_type %IntRange.0bb [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %IntRange.773: type = class_type @IntRange, @IntRange(%int_32) [concrete] @@ -1015,11 +991,11 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %y, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -1069,8 +1045,8 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %Core.import_ref.e47: @Core.IntLiteral.as.ImplicitAs.impl.6b6.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.6b6.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2)] // CHECK:STDOUT: %ImplicitAs.impl_witness_table.f53 = impl_witness_table (%Core.import_ref.e47), @Core.IntLiteral.as.ImplicitAs.impl.6b6 [concrete] // CHECK:STDOUT: %Core.SelfDestruct: %SelfDestruct.type = import_ref Core//prelude/destroy, SelfDestruct, loaded [concrete = constants.%SelfDestruct] -// CHECK:STDOUT: %Main.import_ref.531: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Main//lib, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Main.import_ref.531), @T.as_type.as.DestroyImpl.impl [concrete] +// CHECK:STDOUT: %Main.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Main//lib, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Main.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Main.import_ref.a56c11.1 = import_ref Main//lib, loc23_30, unloaded // CHECK:STDOUT: %field_decl.b65: @IntRange.%IntRange.elem (%IntRange.elem.945) = field_decl end, element1, %Main.import_ref.a56c11.1 in [concrete] {} // CHECK:STDOUT: %Main.import_ref.a56c11.2 = import_ref Main//lib, loc22_32, unloaded @@ -1185,12 +1161,11 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %require_complete.1: = require_complete_type %Int [symbolic = %require_complete.1 (constants.%require_complete.d0a0eb.1)] // CHECK:STDOUT: %require_complete.2: = require_complete_type %IntRange [symbolic = %require_complete.2 (constants.%require_complete.cca)] // CHECK:STDOUT: %struct_type.start.end: type = struct_type {.start: @IntRange.Make.%Int (%Int.d4bbe0.1), .end: @IntRange.Make.%Int (%Int.d4bbe0.1)} [symbolic = %struct_type.start.end (constants.%struct_type.start.end.fc0)] -// CHECK:STDOUT: %.2: require_specific_def_type = require_specific_def @Int.as.Copy.impl(%N) [symbolic = %.2 (constants.%.cbd)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %Int, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.923)] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Int, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet (constants.%Copy.facet)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.a18)] -// CHECK:STDOUT: %.3: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet [symbolic = %.3 (constants.%.ade)] -// CHECK:STDOUT: %impl.elem0: @IntRange.Make.%.3 (%.ade) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0 (constants.%impl.elem0.6c8)] +// CHECK:STDOUT: %.2: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet [symbolic = %.2 (constants.%.ade)] +// CHECK:STDOUT: %impl.elem0: @IntRange.Make.%.2 (%.ade) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0 (constants.%impl.elem0.6c8)] // CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0, @Copy.WithSelf.Op(%Copy.facet) [symbolic = %specific_impl_fn (constants.%specific_impl_fn.d42)] // CHECK:STDOUT: // CHECK:STDOUT: fn; diff --git a/toolchain/check/testdata/for/pattern.carbon b/toolchain/check/testdata/for/pattern.carbon index 3aa8b854f206..ce98b64554ca 100644 --- a/toolchain/check/testdata/for/pattern.carbon +++ b/toolchain/check/testdata/for/pattern.carbon @@ -151,14 +151,14 @@ fn Run() { // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.c99: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%T.f84) [symbolic] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.f76: %EmptyRange.as.Iterate.impl.NewCursor.type.c99 = struct_value () [symbolic] // CHECK:STDOUT: %Iterate.impl_witness.562: = impl_witness imports.%Iterate.impl_witness_table, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.1bb: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.84b: %EmptyRange.as.Iterate.impl.NewCursor.type.1bb = struct_value () [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.94c: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.7e7: %EmptyRange.as.Iterate.impl.Next.type.94c = struct_value () [concrete] // CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.c31, (%Iterate.impl_witness.562) [concrete] // CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.ba2: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet) [concrete] // CHECK:STDOUT: %Iterate.WithSelf.Next.type.d3a: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet) [concrete] // CHECK:STDOUT: %.bff: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.ba2, %Iterate.facet [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.1bb: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.84b: %EmptyRange.as.Iterate.impl.NewCursor.type.1bb = struct_value () [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.94c: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.7e7: %EmptyRange.as.Iterate.impl.Next.type.94c = struct_value () [concrete] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.NewCursor.84b, @EmptyRange.as.Iterate.impl.NewCursor(%Copy.facet) [concrete] // CHECK:STDOUT: %.0fb: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.d3a, %Iterate.facet [concrete] // CHECK:STDOUT: %Optional.5b4: type = class_type @Optional, @Optional(%Copy.facet) [concrete] @@ -419,14 +419,14 @@ fn Run() { // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.c99: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%T.f84) [symbolic] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.f76: %EmptyRange.as.Iterate.impl.NewCursor.type.c99 = struct_value () [symbolic] // CHECK:STDOUT: %Iterate.impl_witness.562: = impl_witness imports.%Iterate.impl_witness_table, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.1bb: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.84b: %EmptyRange.as.Iterate.impl.NewCursor.type.1bb = struct_value () [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.94c: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.7e7: %EmptyRange.as.Iterate.impl.Next.type.94c = struct_value () [concrete] // CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.c31, (%Iterate.impl_witness.562) [concrete] // CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.ba2: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet) [concrete] // CHECK:STDOUT: %Iterate.WithSelf.Next.type.d3a: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet) [concrete] // CHECK:STDOUT: %.bff: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.ba2, %Iterate.facet [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.1bb: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.84b: %EmptyRange.as.Iterate.impl.NewCursor.type.1bb = struct_value () [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.94c: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.7e7: %EmptyRange.as.Iterate.impl.Next.type.94c = struct_value () [concrete] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.NewCursor.84b, @EmptyRange.as.Iterate.impl.NewCursor(%Copy.facet) [concrete] // CHECK:STDOUT: %.0fb: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.d3a, %Iterate.facet [concrete] // CHECK:STDOUT: %Optional.5b4: type = class_type @Optional, @Optional(%Copy.facet) [concrete] @@ -703,14 +703,14 @@ fn Run() { // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.c99: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%T.f84) [symbolic] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.f76: %EmptyRange.as.Iterate.impl.NewCursor.type.c99 = struct_value () [symbolic] // CHECK:STDOUT: %Iterate.impl_witness.aa8: = impl_witness imports.%Iterate.impl_witness_table, @EmptyRange.as.Iterate.impl(%Copy.facet.fa2) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.35f: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet.fa2) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.54f: %EmptyRange.as.Iterate.impl.NewCursor.type.35f = struct_value () [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.117: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet.fa2) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.03d: %EmptyRange.as.Iterate.impl.Next.type.117 = struct_value () [concrete] // CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.7d6, (%Iterate.impl_witness.aa8) [concrete] // CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.457: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet) [concrete] // CHECK:STDOUT: %Iterate.WithSelf.Next.type.a45: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet) [concrete] // CHECK:STDOUT: %.196: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.457, %Iterate.facet [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.35f: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet.fa2) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.54f: %EmptyRange.as.Iterate.impl.NewCursor.type.35f = struct_value () [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.117: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet.fa2) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.03d: %EmptyRange.as.Iterate.impl.Next.type.117 = struct_value () [concrete] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.NewCursor.54f, @EmptyRange.as.Iterate.impl.NewCursor(%Copy.facet.fa2) [concrete] // CHECK:STDOUT: %.d55: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.a45, %Iterate.facet [concrete] // CHECK:STDOUT: %Optional.9ca: type = class_type @Optional, @Optional(%Copy.facet.fa2) [concrete] @@ -1012,14 +1012,14 @@ fn Run() { // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.c99: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%T.f84) [symbolic] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.f76: %EmptyRange.as.Iterate.impl.NewCursor.type.c99 = struct_value () [symbolic] // CHECK:STDOUT: %Iterate.impl_witness.649: = impl_witness imports.%Iterate.impl_witness_table, @EmptyRange.as.Iterate.impl(%Copy.facet.83b) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.194: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet.83b) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.367: %EmptyRange.as.Iterate.impl.NewCursor.type.194 = struct_value () [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.76b: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet.83b) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.835: %EmptyRange.as.Iterate.impl.Next.type.76b = struct_value () [concrete] // CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.ad6, (%Iterate.impl_witness.649) [concrete] // CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.324: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet) [concrete] // CHECK:STDOUT: %Iterate.WithSelf.Next.type.568: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet) [concrete] // CHECK:STDOUT: %.c72: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.324, %Iterate.facet [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.194: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet.83b) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.367: %EmptyRange.as.Iterate.impl.NewCursor.type.194 = struct_value () [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.76b: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet.83b) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.835: %EmptyRange.as.Iterate.impl.Next.type.76b = struct_value () [concrete] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.NewCursor.367, @EmptyRange.as.Iterate.impl.NewCursor(%Copy.facet.83b) [concrete] // CHECK:STDOUT: %.ea9: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.568, %Iterate.facet [concrete] // CHECK:STDOUT: %Optional.cc1: type = class_type @Optional, @Optional(%Copy.facet.83b) [concrete] diff --git a/toolchain/check/testdata/function/builtin/call.carbon b/toolchain/check/testdata/function/builtin/call.carbon index 2b835cb4de6d..d88707bbaa1c 100644 --- a/toolchain/check/testdata/function/builtin/call.carbon +++ b/toolchain/check/testdata/function/builtin/call.carbon @@ -51,11 +51,11 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.dfd: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.914: %Int.as.ImplicitAs.impl.Convert.type.dfd = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -65,11 +65,11 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %int_2.2e0: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %int_3.9f3: %i32 = int_value 3 [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.323: = impl_witness imports.%ImplicitAs.impl_witness_table.b7c, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.0aa: %ImplicitAs.type.5be = facet_value %i32, (%ImplicitAs.impl_witness.323) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4c7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.0aa) [concrete] // CHECK:STDOUT: %.ce7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4c7, %ImplicitAs.facet.0aa [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.9f3, %Int.as.ImplicitAs.impl.Convert.779 [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.779, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.746: = bound_method %int_3.9f3, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -85,9 +85,9 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.6a9: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Array.95c) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Array.95c, (%DefaultOrUnformed.impl_witness.6a9) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.779: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Array.95c) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.34f: %T.as.DefaultOrUnformed.impl.Op.type.779 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Array.95c, (%DefaultOrUnformed.impl_witness.6a9) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.34f, @T.as.DefaultOrUnformed.impl.Op(%Array.95c) [concrete] // CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [concrete] // CHECK:STDOUT: %RuntimeCall: %RuntimeCall.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/builtin/fail_redefined.carbon b/toolchain/check/testdata/function/builtin/fail_redefined.carbon index 1aefb21ebbf2..e4922862eaa7 100644 --- a/toolchain/check/testdata/function/builtin/fail_redefined.carbon +++ b/toolchain/check/testdata/function/builtin/fail_redefined.carbon @@ -55,11 +55,11 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %B.type.573c71.1: type = fn_type @B.loc21 [concrete] // CHECK:STDOUT: %B.08ed21.1: %B.type.573c71.1 = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/builtin/method.carbon b/toolchain/check/testdata/function/builtin/method.carbon index 7140c02227f6..60b62d6a4785 100644 --- a/toolchain/check/testdata/function/builtin/method.carbon +++ b/toolchain/check/testdata/function/builtin/method.carbon @@ -70,11 +70,11 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %From: Core.IntLiteral = symbolic_binding From, 0 [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.94f, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.5c4: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -91,22 +91,22 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.dfd: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.914: %Int.as.ImplicitAs.impl.Convert.type.dfd = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.a55: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_2.2e0: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %int_3.9f3: %i32 = int_value 3 [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.323: = impl_witness imports.%ImplicitAs.impl_witness_table.b7c, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.0aa: %ImplicitAs.type.5be = facet_value %i32, (%ImplicitAs.impl_witness.323) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4c7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.0aa) [concrete] // CHECK:STDOUT: %.ce7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4c7, %ImplicitAs.facet.0aa [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.9f3, %Int.as.ImplicitAs.impl.Convert.779 [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.779, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.746: = bound_method %int_3.9f3, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -122,9 +122,9 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.6a9: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Array.95c) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Array.95c, (%DefaultOrUnformed.impl_witness.6a9) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.779: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Array.95c) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.34f: %T.as.DefaultOrUnformed.impl.Op.type.779 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Array.95c, (%DefaultOrUnformed.impl_witness.6a9) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.34f, @T.as.DefaultOrUnformed.impl.Op(%Array.95c) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: 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 20df2a71cca2..b556c24755ae 100644 --- a/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon +++ b/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon @@ -44,11 +44,11 @@ fn Run() { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.1d6: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.068 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.1d6) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.62d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.761, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.b5b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.62d, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0, @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] diff --git a/toolchain/check/testdata/function/call/form.carbon b/toolchain/check/testdata/function/call/form.carbon index e6c48dd2a4c8..7821820abc6d 100644 --- a/toolchain/check/testdata/function/call/form.carbon +++ b/toolchain/check/testdata/function/call/form.carbon @@ -383,11 +383,11 @@ fn G() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -473,11 +473,11 @@ fn G() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -726,11 +726,11 @@ fn G() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -945,11 +945,11 @@ fn G() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.2999fd.1: %pattern_type.d94 = out_param_pattern [concrete] @@ -978,11 +978,11 @@ fn G() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %y.patt: %pattern_type.d94 = ref_binding_pattern y [concrete] // CHECK:STDOUT: %.30e: Core.Form = ref_form %i32 [concrete] diff --git a/toolchain/check/testdata/function/call/i32.carbon b/toolchain/check/testdata/function/call/i32.carbon index adb2f780e5d7..11dff53c3f9c 100644 --- a/toolchain/check/testdata/function/call/i32.carbon +++ b/toolchain/check/testdata/function/call/i32.carbon @@ -42,11 +42,11 @@ fn Main() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @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] @@ -60,11 +60,11 @@ fn Main() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/function/call/more_param_ir.carbon b/toolchain/check/testdata/function/call/more_param_ir.carbon index 6af45881d209..acf7f68119e9 100644 --- a/toolchain/check/testdata/function/call/more_param_ir.carbon +++ b/toolchain/check/testdata/function/call/more_param_ir.carbon @@ -54,11 +54,11 @@ fn Main() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/function/call/params_one.carbon b/toolchain/check/testdata/function/call/params_one.carbon index 04753b0251bd..1abbcf9f8278 100644 --- a/toolchain/check/testdata/function/call/params_one.carbon +++ b/toolchain/check/testdata/function/call/params_one.carbon @@ -42,11 +42,11 @@ fn Main() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/function/call/params_one_comma.carbon b/toolchain/check/testdata/function/call/params_one_comma.carbon index 35866e9c84e6..0864db5758c8 100644 --- a/toolchain/check/testdata/function/call/params_one_comma.carbon +++ b/toolchain/check/testdata/function/call/params_one_comma.carbon @@ -43,11 +43,11 @@ fn Main() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/function/call/params_two.carbon b/toolchain/check/testdata/function/call/params_two.carbon index daa990fffbf8..ecc4577b8cd9 100644 --- a/toolchain/check/testdata/function/call/params_two.carbon +++ b/toolchain/check/testdata/function/call/params_two.carbon @@ -45,11 +45,11 @@ fn Main() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/function/call/params_two_comma.carbon b/toolchain/check/testdata/function/call/params_two_comma.carbon index 5497683c9984..fea6388313f8 100644 --- a/toolchain/check/testdata/function/call/params_two_comma.carbon +++ b/toolchain/check/testdata/function/call/params_two_comma.carbon @@ -46,11 +46,11 @@ fn Main() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon b/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon index 9a1b4d360c7e..06e337819f2e 100644 --- a/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon +++ b/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon @@ -61,11 +61,11 @@ fn Class(F: type).Inner.G() -> i32 { return F(); } // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/function/call/ref.carbon b/toolchain/check/testdata/function/call/ref.carbon index 97b07d625f3d..6ec822139a49 100644 --- a/toolchain/check/testdata/function/call/ref.carbon +++ b/toolchain/check/testdata/function/call/ref.carbon @@ -119,11 +119,11 @@ fn G(ref d: D) { F(ref d); } // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/function/declaration/import.carbon b/toolchain/check/testdata/function/declaration/import.carbon index b917e18735a9..2ff86b9cd7cd 100644 --- a/toolchain/check/testdata/function/declaration/import.carbon +++ b/toolchain/check/testdata/function/declaration/import.carbon @@ -427,11 +427,11 @@ import library "extern_api"; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -634,11 +634,11 @@ import library "extern_api"; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -853,11 +853,11 @@ import library "extern_api"; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -1059,11 +1059,11 @@ import library "extern_api"; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -1253,11 +1253,11 @@ import library "extern_api"; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/function/declaration/val_var_return.carbon b/toolchain/check/testdata/function/declaration/val_var_return.carbon index 82a5468ecaf8..b0946565faf4 100644 --- a/toolchain/check/testdata/function/declaration/val_var_return.carbon +++ b/toolchain/check/testdata/function/declaration/val_var_return.carbon @@ -263,11 +263,11 @@ fn G() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/function/deduced_return/basic.carbon b/toolchain/check/testdata/function/deduced_return/basic.carbon index 4e24521eb59e..34c819d53c03 100644 --- a/toolchain/check/testdata/function/deduced_return/basic.carbon +++ b/toolchain/check/testdata/function/deduced_return/basic.carbon @@ -153,11 +153,11 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %pattern_type.d94: type = pattern_type %i32 [concrete] @@ -170,11 +170,11 @@ fn G() -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_0.753, %Int.as.Copy.impl.Op.cae [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.149: = bound_method %int_0.753, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -256,11 +256,11 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -359,11 +359,11 @@ fn G() -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.6b0: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] @@ -371,11 +371,11 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/function/deduced_return/form.carbon b/toolchain/check/testdata/function/deduced_return/form.carbon index 7e5d7384227d..dc7dff252dfa 100644 --- a/toolchain/check/testdata/function/deduced_return/form.carbon +++ b/toolchain/check/testdata/function/deduced_return/form.carbon @@ -226,11 +226,11 @@ fn F() ->? form(ref auto) { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %pattern_type.d94: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.94f, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] @@ -307,11 +307,11 @@ fn F() ->? form(ref auto) { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %pattern_type.d94: type = pattern_type %i32 [concrete] @@ -324,11 +324,11 @@ fn F() ->? form(ref auto) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.68a, %Int.as.Copy.impl.Op.cae [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.a13: = bound_method %int_1.68a, %Int.as.Copy.impl.Op.specific_fn [concrete] diff --git a/toolchain/check/testdata/function/deduced_return/generic.carbon b/toolchain/check/testdata/function/deduced_return/generic.carbon index be042a8b75d4..ac44a7337cb0 100644 --- a/toolchain/check/testdata/function/deduced_return/generic.carbon +++ b/toolchain/check/testdata/function/deduced_return/generic.carbon @@ -260,11 +260,11 @@ fn F[T: Core.Copy](x: T, b: bool) -> auto { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.94f, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -506,14 +506,14 @@ fn F[T: Core.Copy](x: T, b: bool) -> auto { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %x.param_patt.051: %pattern_type.d94 = value_param_pattern [concrete] // CHECK:STDOUT: %x.patt.0f7: %pattern_type.d94 = wrapper_binding_pattern x, %x.param_patt.051 [concrete] // CHECK:STDOUT: %complete_type.fa7: = complete_type_witness %tuple.type.35f [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %U.f84: %Copy.type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %U.as_type.c1c: type = facet_access_type %U.f84 [symbolic] diff --git a/toolchain/check/testdata/function/deduced_return/generic_form.carbon b/toolchain/check/testdata/function/deduced_return/generic_form.carbon index 3614571f1db3..7ed7102614aa 100644 --- a/toolchain/check/testdata/function/deduced_return/generic_form.carbon +++ b/toolchain/check/testdata/function/deduced_return/generic_form.carbon @@ -471,11 +471,11 @@ fn I[U: type](ref u: U) -> U* { return &RefId(ref u); } // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.94f, @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] diff --git a/toolchain/check/testdata/function/deduced_return/import.carbon b/toolchain/check/testdata/function/deduced_return/import.carbon index 8da92cdf20ab..3f82f396efd2 100644 --- a/toolchain/check/testdata/function/deduced_return/import.carbon +++ b/toolchain/check/testdata/function/deduced_return/import.carbon @@ -146,11 +146,11 @@ fn L() -> (bool, bool) { return K(true); } // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.94f, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -217,11 +217,11 @@ fn L() -> (bool, bool) { return K(true); } // CHECK:STDOUT: %custom_witness.b80: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.a87: %SubobjectDestroy.type = facet_value bool, (%custom_witness.b80) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.778: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.a87) [concrete] -// CHECK:STDOUT: %complete_type.127: = complete_type_witness bool [concrete] // CHECK:STDOUT: %facet_value: %facet_type.bd0 = facet_value bool, (%Copy.impl_witness.5e1, %DestroyImpl.impl_witness.778, %custom_witness.b80) [concrete] // CHECK:STDOUT: %u.param_patt.56f: %pattern_type.831 = value_param_pattern [concrete] // CHECK:STDOUT: %u.patt.0d7: %pattern_type.831 = wrapper_binding_pattern u, %u.param_patt.56f [concrete] // CHECK:STDOUT: %tuple.11f: %tuple.type.24a5ba.2 = tuple_value (%facet_value, %facet_value) [concrete] +// CHECK:STDOUT: %complete_type.127: = complete_type_witness bool [concrete] // CHECK:STDOUT: %complete_type.e0b: = complete_type_witness %tuple.type.784 [concrete] // CHECK:STDOUT: %Copy.facet.7af: %Copy.type = facet_value bool, (%Copy.impl_witness.5e1) [concrete] // CHECK:STDOUT: %Id.specific_fn.06a: = specific_function %Id, @Id(%Copy.facet.7af) [concrete] diff --git a/toolchain/check/testdata/function/deduced_return/returned_var.carbon b/toolchain/check/testdata/function/deduced_return/returned_var.carbon index 8b5f9b777fc8..b86a6f8e9382 100644 --- a/toolchain/check/testdata/function/deduced_return/returned_var.carbon +++ b/toolchain/check/testdata/function/deduced_return/returned_var.carbon @@ -125,11 +125,11 @@ fn F(b: bool) -> auto { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -218,11 +218,11 @@ fn F(b: bool) -> auto { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -338,11 +338,11 @@ fn F(b: bool) -> auto { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/function/deduced_return/template.carbon b/toolchain/check/testdata/function/deduced_return/template.carbon index af7000c920e9..84091c4b7a42 100644 --- a/toolchain/check/testdata/function/deduced_return/template.carbon +++ b/toolchain/check/testdata/function/deduced_return/template.carbon @@ -129,11 +129,11 @@ fn G() -> i32 { return F(0 as i32, true); } // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %inst.splice_block.426619.2: = inst_value [concrete] { // CHECK:STDOUT: %.c58: init %i32 = splice_block %Int.as.Copy.impl.Op.call { diff --git a/toolchain/check/testdata/function/definition/default_values.carbon b/toolchain/check/testdata/function/definition/default_values.carbon index b2d0d05c8342..cea94ac30a64 100644 --- a/toolchain/check/testdata/function/definition/default_values.carbon +++ b/toolchain/check/testdata/function/definition/default_values.carbon @@ -82,11 +82,11 @@ fn F(x: i32 = 0) -> i32 { return x; } // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] @@ -101,11 +101,11 @@ fn F(x: i32 = 0) -> i32 { return x; } // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -169,11 +169,11 @@ fn F(x: i32 = 0) -> i32 { return x; } // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.6b0: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] @@ -188,11 +188,11 @@ fn F(x: i32 = 0) -> i32 { return x; } // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/function/definition/import.carbon b/toolchain/check/testdata/function/definition/import.carbon index e8d47d3e725d..51377dd665a9 100644 --- a/toolchain/check/testdata/function/definition/import.carbon +++ b/toolchain/check/testdata/function/definition/import.carbon @@ -112,11 +112,11 @@ fn D() {} // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] // CHECK:STDOUT: %tuple.f7a: %tuple.type.135 = tuple_value (%i32) [concrete] @@ -283,11 +283,11 @@ fn D() {} // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/function/definition/terse.carbon b/toolchain/check/testdata/function/definition/terse.carbon index 16efd9feccd9..f7e0fd050c07 100644 --- a/toolchain/check/testdata/function/definition/terse.carbon +++ b/toolchain/check/testdata/function/definition/terse.carbon @@ -215,11 +215,11 @@ class C { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Unit.type: type = fn_type @Unit [concrete] // CHECK:STDOUT: %Unit: %Unit.type = struct_value () [concrete] @@ -246,11 +246,11 @@ class C { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.81c: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.98e: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/function/generic/call.carbon b/toolchain/check/testdata/function/generic/call.carbon index d83efbf16fa8..e9830fcc7b8f 100644 --- a/toolchain/check/testdata/function/generic/call.carbon +++ b/toolchain/check/testdata/function/generic/call.carbon @@ -110,7 +110,6 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: %x.patt.c0c: %pattern_type.4f4 = wrapper_binding_pattern x, %x.param_patt.b5c [symbolic] // CHECK:STDOUT: %return.patt.d67: %pattern_type.4f4 = return_slot_pattern %return.param_patt.27f, %ptr.e8f [symbolic] // CHECK:STDOUT: %Copy.lookup_impl_witness.1da: = lookup_impl_witness %ptr.e8f, @Copy [symbolic] -// CHECK:STDOUT: %.66e: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %Copy.facet.302: %Copy.type = facet_value %ptr.e8f, (%Copy.lookup_impl_witness.1da) [symbolic] // CHECK:STDOUT: %Function.specific_fn.ae3: = specific_function %Function, @Function(%Copy.facet.302) [symbolic] // CHECK:STDOUT: %C: type = class_type @C [concrete] @@ -122,17 +121,17 @@ fn CallSpecific(x: C*) -> C* { // 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.2f3: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] -// CHECK:STDOUT: %complete_type.bf9: = complete_type_witness %ptr.6b6 [concrete] // CHECK:STDOUT: %Copy.facet.782: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.2f3) [concrete] // CHECK:STDOUT: %Function.specific_fn.217: = specific_function %Function, @Function(%Copy.facet.782) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e38: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.302) [symbolic] // CHECK:STDOUT: %.3f816: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e38, %Copy.facet.302 [symbolic] // CHECK:STDOUT: %impl.elem0.24a: %.3f816 = impl_witness_access %Copy.lookup_impl_witness.1da, element0 [symbolic] // CHECK:STDOUT: %specific_impl_fn.6b3: = specific_impl_function %impl.elem0.24a, @Copy.WithSelf.Op(%Copy.facet.302) [symbolic] +// CHECK:STDOUT: %complete_type.bf9: = complete_type_witness %ptr.6b6 [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.7ed: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.782) [concrete] // CHECK:STDOUT: %.dea: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7ed, %Copy.facet.782 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c88, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -237,7 +236,6 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: -// CHECK:STDOUT: %.loc18_24.4: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.loc16_28.1) [symbolic = %.loc18_24.4 (constants.%.66e)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr.loc16_40.1, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.1da)] // CHECK:STDOUT: %Copy.facet.loc18_24.4: %Copy.type = facet_value %ptr.loc16_40.1, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc18_24.4 (constants.%Copy.facet.302)] // CHECK:STDOUT: %Function.specific_fn.loc18_10.2: = specific_function constants.%Function, @Function(%Copy.facet.loc18_24.4) [symbolic = %Function.specific_fn.loc18_10.2 (constants.%Function.specific_fn.ae3)] @@ -400,7 +398,6 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: %x.patt.c0c: %pattern_type.4f4 = wrapper_binding_pattern x, %x.param_patt.b5c [symbolic] // CHECK:STDOUT: %return.patt.d67: %pattern_type.4f4 = return_slot_pattern %return.param_patt.27f, %ptr.e8f [symbolic] // CHECK:STDOUT: %Copy.lookup_impl_witness.1da: = lookup_impl_witness %ptr.e8f, @Copy [symbolic] -// CHECK:STDOUT: %.66e: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %Copy.facet.302: %Copy.type = facet_value %ptr.e8f, (%Copy.lookup_impl_witness.1da) [symbolic] // CHECK:STDOUT: %Function.specific_fn.ae3: = specific_function %Function, @Function(%Copy.facet.302) [symbolic] // CHECK:STDOUT: %C: type = class_type @C [concrete] @@ -412,17 +409,17 @@ fn CallSpecific(x: C*) -> C* { // 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.2f3: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] -// CHECK:STDOUT: %complete_type.bf9: = complete_type_witness %ptr.6b6 [concrete] // CHECK:STDOUT: %Copy.facet.782: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.2f3) [concrete] // CHECK:STDOUT: %Function.specific_fn.217: = specific_function %Function, @Function(%Copy.facet.782) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e38: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.302) [symbolic] // CHECK:STDOUT: %.3f816: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e38, %Copy.facet.302 [symbolic] // CHECK:STDOUT: %impl.elem0.24a: %.3f816 = impl_witness_access %Copy.lookup_impl_witness.1da, element0 [symbolic] // CHECK:STDOUT: %specific_impl_fn.6b3: = specific_impl_function %impl.elem0.24a, @Copy.WithSelf.Op(%Copy.facet.302) [symbolic] +// CHECK:STDOUT: %complete_type.bf9: = complete_type_witness %ptr.6b6 [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.7ed: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.782) [concrete] // CHECK:STDOUT: %.dea: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7ed, %Copy.facet.782 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.772: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.c88: %ptr.as.Copy.impl.Op.type.772 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c88, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -526,7 +523,6 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: -// CHECK:STDOUT: %.loc18_20.3: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.loc16_28.1) [symbolic = %.loc18_20.3 (constants.%.66e)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr.loc16_40.1, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.1da)] // CHECK:STDOUT: %Copy.facet.loc18_20.3: %Copy.type = facet_value %ptr.loc16_40.1, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc18_20.3 (constants.%Copy.facet.302)] // CHECK:STDOUT: %Function.specific_fn.loc18_10.2: = specific_function constants.%Function, @Function(%Copy.facet.loc18_20.3) [symbolic = %Function.specific_fn.loc18_10.2 (constants.%Function.specific_fn.ae3)] diff --git a/toolchain/check/testdata/function/generic/deduce.carbon b/toolchain/check/testdata/function/generic/deduce.carbon index 9a7034b706d8..bc058759dbfe 100644 --- a/toolchain/check/testdata/function/generic/deduce.carbon +++ b/toolchain/check/testdata/function/generic/deduce.carbon @@ -957,11 +957,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -1111,11 +1111,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -1860,7 +1860,6 @@ fn F() { // CHECK:STDOUT: %CC.generic: %CC.type = struct_value () [concrete] // CHECK:STDOUT: %CC.c34: type = class_type @CC, @CC(%D) [symbolic] // CHECK:STDOUT: %Z.lookup_impl_witness: = lookup_impl_witness %DD.481, @Z [symbolic] -// CHECK:STDOUT: %.4ca: require_specific_def_type = require_specific_def @DD.as.Z.impl(%E) [symbolic] // CHECK:STDOUT: %Z.facet.6f5: %Z.type = facet_value %DD.481, (%Z.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %CC.a15: type = class_type @CC, @CC(%Z.facet.6f5) [symbolic] // CHECK:STDOUT: %.b28: = impl_self_witness %CC.a15, @Z [symbolic] @@ -1871,7 +1870,6 @@ fn F() { // CHECK:STDOUT: %DD.41e: type = class_type @DD, @DD(%EE) [concrete] // CHECK:STDOUT: %.945: = impl_self_witness %DD.41e, @Z [concrete] // CHECK:STDOUT: %Z.impl_witness.4c0: = impl_witness @DD.as.Z.impl.%Z.impl_witness_table, @DD.as.Z.impl(%EE) [concrete] -// CHECK:STDOUT: %.82f: require_specific_def_type = require_specific_def @DD.as.Z.impl(%EE) [concrete] // CHECK:STDOUT: %Z.facet.b2d: %Z.type = facet_value %DD.41e, (%Z.impl_witness.4c0) [concrete] // CHECK:STDOUT: %CC.f5d: type = class_type @CC, @CC(%Z.facet.b2d) [concrete] // CHECK:STDOUT: %.05a: = impl_self_witness %CC.f5d, @Z [concrete] @@ -1943,7 +1941,7 @@ fn F() { // CHECK:STDOUT: %E.ref: type = name_ref E, %E.loc12_15.1 [symbolic = %E.loc12_15.2 (constants.%E)] // CHECK:STDOUT: %DD.loc12_30.1: type = class_type @DD, @DD(constants.%E) [symbolic = %DD.loc12_30.2 (constants.%DD.481)] // CHECK:STDOUT: %Z.facet.loc12_31.1: %Z.type = facet_value %DD.loc12_30.1, (constants.%Z.lookup_impl_witness) [symbolic = %Z.facet.loc12_31.2 (constants.%Z.facet.6f5)] -// CHECK:STDOUT: %.loc12_31.1: %Z.type = converted %DD.loc12_30.1, %Z.facet.loc12_31.1 [symbolic = %Z.facet.loc12_31.2 (constants.%Z.facet.6f5)] +// CHECK:STDOUT: %.loc12_31: %Z.type = converted %DD.loc12_30.1, %Z.facet.loc12_31.1 [symbolic = %Z.facet.loc12_31.2 (constants.%Z.facet.6f5)] // CHECK:STDOUT: %CC.loc12_31.1: type = class_type @CC, @CC(constants.%Z.facet.6f5) [symbolic = %CC.loc12_31.2 (constants.%CC.a15)] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: %.loc12_17.1: type = splice_block %.loc12_17.2 [concrete = type] { @@ -1999,7 +1997,6 @@ fn F() { // CHECK:STDOUT: %E.patt.loc12_15.2: %pattern_type.9a5 = symbolic_binding_pattern E, 0 [symbolic = %E.patt.loc12_15.2 (constants.%E.patt)] // CHECK:STDOUT: %E.loc12_15.2: type = symbolic_binding E, 0 [symbolic = %E.loc12_15.2 (constants.%E)] // CHECK:STDOUT: %DD.loc12_30.2: type = class_type @DD, @DD(%E.loc12_15.2) [symbolic = %DD.loc12_30.2 (constants.%DD.481)] -// CHECK:STDOUT: %.loc12_31.2: require_specific_def_type = require_specific_def @DD.as.Z.impl(%E.loc12_15.2) [symbolic = %.loc12_31.2 (constants.%.4ca)] // CHECK:STDOUT: %Z.lookup_impl_witness: = lookup_impl_witness %DD.loc12_30.2, @Z [symbolic = %Z.lookup_impl_witness (constants.%Z.lookup_impl_witness)] // 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.6f5)] // CHECK:STDOUT: %CC.loc12_31.2: type = class_type @CC, @CC(%Z.facet.loc12_31.2) [symbolic = %CC.loc12_31.2 (constants.%CC.a15)] @@ -2090,8 +2087,6 @@ fn F() { // CHECK:STDOUT: %DD.loc9_27.2 => constants.%DD.481 // CHECK:STDOUT: %.loc9_34 => constants.%.de2 // CHECK:STDOUT: %Z.impl_witness.loc9_34.2 => constants.%Z.impl_witness.7b2 -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet.fce) { @@ -2112,7 +2107,6 @@ fn F() { // CHECK:STDOUT: %E.patt.loc12_15.2 => constants.%E.patt // CHECK:STDOUT: %E.loc12_15.2 => constants.%E // CHECK:STDOUT: %DD.loc12_30.2 => constants.%DD.481 -// CHECK:STDOUT: %.loc12_31.2 => constants.%.4ca // CHECK:STDOUT: %Z.lookup_impl_witness => constants.%Z.lookup_impl_witness // CHECK:STDOUT: %Z.facet.loc12_31.2 => constants.%Z.facet.6f5 // CHECK:STDOUT: %CC.loc12_31.2 => constants.%CC.a15 @@ -2135,8 +2129,6 @@ fn F() { // CHECK:STDOUT: %DD.loc9_27.2 => constants.%DD.41e // CHECK:STDOUT: %.loc9_34 => constants.%.945 // CHECK:STDOUT: %Z.impl_witness.loc9_34.2 => constants.%Z.impl_witness.4c0 -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @CC(constants.%Z.facet.b2d) { @@ -2148,13 +2140,10 @@ fn F() { // CHECK:STDOUT: %E.patt.loc12_15.2 => constants.%E.patt // CHECK:STDOUT: %E.loc12_15.2 => constants.%EE // CHECK:STDOUT: %DD.loc12_30.2 => constants.%DD.41e -// CHECK:STDOUT: %.loc12_31.2 => constants.%.82f // CHECK:STDOUT: %Z.lookup_impl_witness => constants.%Z.impl_witness.4c0 // CHECK:STDOUT: %Z.facet.loc12_31.2 => constants.%Z.facet.b2d // CHECK:STDOUT: %CC.loc12_31.2 => constants.%CC.f5d // CHECK:STDOUT: %.loc12_38 => constants.%.05a // CHECK:STDOUT: %Z.impl_witness.loc12_38.2 => constants.%Z.impl_witness.a79 -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: // CHECK:STDOUT: } // 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 c7fa5cd42cd6..439758ed19c5 100644 --- a/toolchain/check/testdata/function/generic/deduce_nested_facet_value.carbon +++ b/toolchain/check/testdata/function/generic/deduce_nested_facet_value.carbon @@ -332,7 +332,5 @@ fn F() { // CHECK:STDOUT: %CC.loc19_28.2 => constants.%CC.2bf // CHECK:STDOUT: %.loc19_35 => constants.%.b08 // CHECK:STDOUT: %Z.impl_witness.loc19_35.2 => constants.%Z.impl_witness.f9a -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/function/generic/indirect_generic_type.carbon b/toolchain/check/testdata/function/generic/indirect_generic_type.carbon index d4ebd163c8b1..6e33aad30fc8 100644 --- a/toolchain/check/testdata/function/generic/indirect_generic_type.carbon +++ b/toolchain/check/testdata/function/generic/indirect_generic_type.carbon @@ -39,7 +39,6 @@ fn F(generic T: type, p: T**) -> T* { // CHECK:STDOUT: %return.patt.d67: %pattern_type.4f4 = return_slot_pattern %return.param_patt.27f, %ptr.e8f [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Copy.lookup_impl_witness.1da: = lookup_impl_witness %ptr.e8f, @Copy [symbolic] -// CHECK:STDOUT: %.66e: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.e8f, (%Copy.lookup_impl_witness.1da) [symbolic] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e38: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [symbolic] // CHECK:STDOUT: %.3f816: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e38, %Copy.facet [symbolic] @@ -52,12 +51,11 @@ fn F(generic T: type, p: T**) -> T* { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: -// CHECK:STDOUT: %.loc6_10.5: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.loc4_15.1) [symbolic = %.loc6_10.5 (constants.%.66e)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr.loc4_27.1, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.1da)] // CHECK:STDOUT: %Copy.facet.loc6_10.3: %Copy.type = facet_value %ptr.loc4_27.1, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc6_10.3 (constants.%Copy.facet)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.loc6_10.3) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.e38)] -// CHECK:STDOUT: %.loc6_10.6: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc6_10.3 [symbolic = %.loc6_10.6 (constants.%.3f816)] -// CHECK:STDOUT: %impl.elem0.loc6_10.2: @F.%.loc6_10.6 (%.3f816) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc6_10.2 (constants.%impl.elem0.24a)] +// CHECK:STDOUT: %.loc6_10.5: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc6_10.3 [symbolic = %.loc6_10.5 (constants.%.3f816)] +// CHECK:STDOUT: %impl.elem0.loc6_10.2: @F.%.loc6_10.5 (%.3f816) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc6_10.2 (constants.%impl.elem0.24a)] // CHECK:STDOUT: %specific_impl_fn.loc6_10.2: = specific_impl_function %impl.elem0.loc6_10.2, @Copy.WithSelf.Op(%Copy.facet.loc6_10.3) [symbolic = %specific_impl_fn.loc6_10.2 (constants.%specific_impl_fn.6b3)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%p.param: @F.%ptr.loc4_28.1 (%ptr.125)) -> out %return.param: @F.%ptr.loc4_27.1 (%ptr.e8f) { @@ -65,7 +63,7 @@ fn F(generic T: type, p: T**) -> T* { // CHECK:STDOUT: %p.ref: @F.%ptr.loc4_28.1 (%ptr.125) = name_ref p, %p // CHECK:STDOUT: %.loc6_10.1: ref @F.%ptr.loc4_27.1 (%ptr.e8f) = deref %p.ref // CHECK:STDOUT: %.loc6_10.2: @F.%ptr.loc4_27.1 (%ptr.e8f) = acquire_value %.loc6_10.1 -// CHECK:STDOUT: %impl.elem0.loc6_10.1: @F.%.loc6_10.6 (%.3f816) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc6_10.2 (constants.%impl.elem0.24a)] +// CHECK:STDOUT: %impl.elem0.loc6_10.1: @F.%.loc6_10.5 (%.3f816) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc6_10.2 (constants.%impl.elem0.24a)] // CHECK:STDOUT: %bound_method.loc6_10.1: = bound_method %.loc6_10.2, %impl.elem0.loc6_10.1 // CHECK:STDOUT: %Copy.facet.loc6_10.1: %Copy.type = facet_value constants.%ptr.e8f, (constants.%Copy.lookup_impl_witness.1da) [symbolic = %Copy.facet.loc6_10.3 (constants.%Copy.facet)] // CHECK:STDOUT: %.loc6_10.3: %Copy.type = converted constants.%ptr.e8f, %Copy.facet.loc6_10.1 [symbolic = %Copy.facet.loc6_10.3 (constants.%Copy.facet)] diff --git a/toolchain/check/testdata/function/generic/param_in_type.carbon b/toolchain/check/testdata/function/generic/param_in_type.carbon index a456e706bb30..527b3b9071a6 100644 --- a/toolchain/check/testdata/function/generic/param_in_type.carbon +++ b/toolchain/check/testdata/function/generic/param_in_type.carbon @@ -33,11 +33,11 @@ fn F(generic N: i32, a: array(i32, N)*); // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.dfd: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.914: %Int.as.ImplicitAs.impl.Convert.type.dfd = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.323: = impl_witness imports.%ImplicitAs.impl_witness_table.b7c, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.5be = facet_value %i32, (%ImplicitAs.impl_witness.323) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4c7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.ce7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4c7, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %N.c34, %Int.as.ImplicitAs.impl.Convert.779 [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.779, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %N.c34, %Int.as.ImplicitAs.impl.Convert.specific_fn [symbolic] diff --git a/toolchain/check/testdata/function/generic/resolve_used.carbon b/toolchain/check/testdata/function/generic/resolve_used.carbon index 81e02901a97f..b5884d0efc81 100644 --- a/toolchain/check/testdata/function/generic/resolve_used.carbon +++ b/toolchain/check/testdata/function/generic/resolve_used.carbon @@ -56,7 +56,6 @@ fn CallNegative() { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness: = lookup_impl_witness %Int, @DefaultOrUnformed [symbolic] -// CHECK:STDOUT: %.517: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%Int) [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.facet.67a: %DefaultOrUnformed.type = facet_value %Int, (%DefaultOrUnformed.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.cb5: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.67a) [symbolic] // CHECK:STDOUT: %.b59: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.cb5, %DefaultOrUnformed.facet.67a [symbolic] @@ -71,8 +70,6 @@ fn CallNegative() { // CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.79f: = lookup_impl_witness %Int, @DestroyImpl [symbolic] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.f5e: = lookup_impl_witness %Int, @SubobjectDestroy [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.cbf: %SubobjectDestroy.type = facet_value %Int, (%SubobjectDestroy.lookup_impl_witness.f5e) [symbolic] -// CHECK:STDOUT: %.811: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.cbf) [symbolic] // CHECK:STDOUT: %Destroy.facet.bee: %Destroy.type = facet_value %Int, (%DestroyImpl.lookup_impl_witness.79f, %SubobjectDestroy.lookup_impl_witness.f5e) [symbolic] // CHECK:STDOUT: %SelfDestruct.specific_fn.465: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.bee) [symbolic] // CHECK:STDOUT: %CallNegative.type: type = fn_type @CallNegative [concrete] @@ -84,19 +81,17 @@ fn CallNegative() { // CHECK:STDOUT: %v.patt.661: %pattern_type.4ed = ref_binding_pattern v [concrete] // CHECK:STDOUT: %v.var_patt.2b3: %pattern_type.4ed = var_pattern %v.patt.661 [concrete] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.a20: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%i0) [concrete] -// CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.260: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%i0) [concrete] -// CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.353: %T.as.DefaultOrUnformed.impl.Op.type.260 = struct_value () [concrete] -// CHECK:STDOUT: %.1e6: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%i0) [concrete] // CHECK:STDOUT: %DefaultOrUnformed.facet.d1a: %DefaultOrUnformed.type = facet_value %i0, (%DefaultOrUnformed.impl_witness.a20) [concrete] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.d5c: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.d1a) [concrete] // CHECK:STDOUT: %.3e6: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.d5c, %DefaultOrUnformed.facet.d1a [concrete] +// CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.260: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%i0) [concrete] +// CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.353: %T.as.DefaultOrUnformed.impl.Op.type.260 = struct_value () [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.353, @T.as.DefaultOrUnformed.impl.Op(%i0) [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.687: type = fn_type @SubobjectDestroy.WithSelf.Op.loc9 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f: %SubobjectDestroy.WithSelf.Op.type.687 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.b80: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.26a: %SubobjectDestroy.type = facet_value %i0, (%custom_witness.b80) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.c8f: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.26a) [concrete] -// CHECK:STDOUT: %.737: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.26a) [concrete] // CHECK:STDOUT: %Destroy.facet.a31: %Destroy.type = facet_value %i0, (%DestroyImpl.impl_witness.c8f, %custom_witness.b80) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.fbd: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.a31) [concrete] // CHECK:STDOUT: } @@ -150,17 +145,14 @@ fn CallNegative() { // CHECK:STDOUT: %pattern_type: type = pattern_type %Int.loc9_27.2 [symbolic = %pattern_type (constants.%pattern_type.551)] // CHECK:STDOUT: %v.patt.loc9_15.2: @ErrorIfNIsZero.%pattern_type (%pattern_type.551) = ref_binding_pattern v [symbolic = %v.patt.loc9_15.2 (constants.%v.patt.fc3)] // CHECK:STDOUT: %v.var_patt.loc9_3.2: @ErrorIfNIsZero.%pattern_type (%pattern_type.551) = var_pattern %v.patt.loc9_15.2 [symbolic = %v.var_patt.loc9_3.2 (constants.%v.var_patt.c99)] -// CHECK:STDOUT: %.loc9_28.3: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%Int.loc9_27.2) [symbolic = %.loc9_28.3 (constants.%.517)] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness: = lookup_impl_witness %Int.loc9_27.2, @DefaultOrUnformed [symbolic = %DefaultOrUnformed.lookup_impl_witness (constants.%DefaultOrUnformed.lookup_impl_witness)] // CHECK:STDOUT: %DefaultOrUnformed.facet.loc9_28.2: %DefaultOrUnformed.type = facet_value %Int.loc9_27.2, (%DefaultOrUnformed.lookup_impl_witness) [symbolic = %DefaultOrUnformed.facet.loc9_28.2 (constants.%DefaultOrUnformed.facet.67a)] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.loc9_28.2) [symbolic = %DefaultOrUnformed.WithSelf.Op.type (constants.%DefaultOrUnformed.WithSelf.Op.type.cb5)] -// CHECK:STDOUT: %.loc9_28.4: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type, %DefaultOrUnformed.facet.loc9_28.2 [symbolic = %.loc9_28.4 (constants.%.b59)] -// CHECK:STDOUT: %impl.elem0.loc9_28.2: @ErrorIfNIsZero.%.loc9_28.4 (%.b59) = impl_witness_access %DefaultOrUnformed.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc9_28.2 (constants.%impl.elem0.f8f)] +// CHECK:STDOUT: %.loc9_28.3: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type, %DefaultOrUnformed.facet.loc9_28.2 [symbolic = %.loc9_28.3 (constants.%.b59)] +// CHECK:STDOUT: %impl.elem0.loc9_28.2: @ErrorIfNIsZero.%.loc9_28.3 (%.b59) = impl_witness_access %DefaultOrUnformed.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc9_28.2 (constants.%impl.elem0.f8f)] // CHECK:STDOUT: %specific_impl_fn.loc9_28.2: = specific_impl_function %impl.elem0.loc9_28.2, @DefaultOrUnformed.WithSelf.Op(%DefaultOrUnformed.facet.loc9_28.2) [symbolic = %specific_impl_fn.loc9_28.2 (constants.%specific_impl_fn.4db)] -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %Int.loc9_27.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.f5e)] -// CHECK:STDOUT: %SubobjectDestroy.facet: %SubobjectDestroy.type = facet_value %Int.loc9_27.2, (%SubobjectDestroy.lookup_impl_witness) [symbolic = %SubobjectDestroy.facet (constants.%SubobjectDestroy.facet.cbf)] -// CHECK:STDOUT: %.loc9_3.3: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet) [symbolic = %.loc9_3.3 (constants.%.811)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness: = lookup_impl_witness %Int.loc9_27.2, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness (constants.%DestroyImpl.lookup_impl_witness.79f)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %Int.loc9_27.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.f5e)] // CHECK:STDOUT: %Destroy.facet.loc9_3.3: %Destroy.type = facet_value %Int.loc9_27.2, (%DestroyImpl.lookup_impl_witness, %SubobjectDestroy.lookup_impl_witness) [symbolic = %Destroy.facet.loc9_3.3 (constants.%Destroy.facet.bee)] // CHECK:STDOUT: %SelfDestruct.specific_fn.2: = specific_function constants.%SelfDestruct, @SelfDestruct(%Destroy.facet.loc9_3.3) [symbolic = %SelfDestruct.specific_fn.2 (constants.%SelfDestruct.specific_fn.465)] // CHECK:STDOUT: @@ -171,7 +163,7 @@ fn CallNegative() { // CHECK:STDOUT: %.loc9_28.1: %DefaultOrUnformed.type = converted constants.%Int, %DefaultOrUnformed.facet.loc9_28.1 [symbolic = %DefaultOrUnformed.facet.loc9_28.2 (constants.%DefaultOrUnformed.facet.67a)] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc9_28.1 [symbolic = %Int.loc9_27.2 (constants.%Int)] // CHECK:STDOUT: %.loc9_28.2: type = converted %.loc9_28.1, %as_type [symbolic = %Int.loc9_27.2 (constants.%Int)] -// CHECK:STDOUT: %impl.elem0.loc9_28.1: @ErrorIfNIsZero.%.loc9_28.4 (%.b59) = impl_witness_access constants.%DefaultOrUnformed.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc9_28.2 (constants.%impl.elem0.f8f)] +// CHECK:STDOUT: %impl.elem0.loc9_28.1: @ErrorIfNIsZero.%.loc9_28.3 (%.b59) = impl_witness_access constants.%DefaultOrUnformed.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc9_28.2 (constants.%impl.elem0.f8f)] // CHECK:STDOUT: %specific_impl_fn.loc9_28.1: = specific_impl_function %impl.elem0.loc9_28.1, @DefaultOrUnformed.WithSelf.Op(constants.%DefaultOrUnformed.facet.67a) [symbolic = %specific_impl_fn.loc9_28.2 (constants.%specific_impl_fn.4db)] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.call: init @ErrorIfNIsZero.%Int.loc9_27.2 (%Int) = call %specific_impl_fn.loc9_28.1() // CHECK:STDOUT: assign %v.var, %DefaultOrUnformed.WithSelf.Op.call @@ -222,17 +214,14 @@ fn CallNegative() { // CHECK:STDOUT: %pattern_type => constants.%pattern_type.4ed // CHECK:STDOUT: %v.patt.loc9_15.2 => constants.%v.patt.661 // CHECK:STDOUT: %v.var_patt.loc9_3.2 => constants.%v.var_patt.2b3 -// CHECK:STDOUT: %.loc9_28.3 => constants.%.1e6 // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness => constants.%DefaultOrUnformed.impl_witness.a20 // CHECK:STDOUT: %DefaultOrUnformed.facet.loc9_28.2 => constants.%DefaultOrUnformed.facet.d1a // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type => constants.%DefaultOrUnformed.WithSelf.Op.type.d5c -// CHECK:STDOUT: %.loc9_28.4 => constants.%.3e6 +// CHECK:STDOUT: %.loc9_28.3 => constants.%.3e6 // CHECK:STDOUT: %impl.elem0.loc9_28.2 => constants.%T.as.DefaultOrUnformed.impl.Op.353 // CHECK:STDOUT: %specific_impl_fn.loc9_28.2 => constants.%T.as.DefaultOrUnformed.impl.Op.specific_fn -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness => constants.%custom_witness.b80 -// CHECK:STDOUT: %SubobjectDestroy.facet => constants.%SubobjectDestroy.facet.26a -// CHECK:STDOUT: %.loc9_3.3 => constants.%.737 // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness => constants.%DestroyImpl.impl_witness.c8f +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness => constants.%custom_witness.b80 // CHECK:STDOUT: %Destroy.facet.loc9_3.3 => constants.%Destroy.facet.a31 // CHECK:STDOUT: %SelfDestruct.specific_fn.2 => constants.%SelfDestruct.specific_fn.fbd // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/return_slot.carbon b/toolchain/check/testdata/function/generic/return_slot.carbon index 810a347ec035..fffc0aa7cf16 100644 --- a/toolchain/check/testdata/function/generic/return_slot.carbon +++ b/toolchain/check/testdata/function/generic/return_slot.carbon @@ -225,9 +225,9 @@ fn G() { // CHECK:STDOUT: %custom_witness.b80ef6.5: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.5), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.f89: %SubobjectDestroy.type = facet_value %empty_tuple.type, (%custom_witness.b80ef6.5) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.674: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.f89) [concrete] -// CHECK:STDOUT: %complete_type.782: = complete_type_witness %empty_tuple.type [concrete] // CHECK:STDOUT: %Destroy.facet.939: %Destroy.type = facet_value %empty_tuple.type, (%DestroyImpl.impl_witness.674, %custom_witness.b80ef6.5) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.c50: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.939) [concrete] +// CHECK:STDOUT: %complete_type.782: = complete_type_witness %empty_tuple.type [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { diff --git a/toolchain/check/testdata/function/generic/type_param.carbon b/toolchain/check/testdata/function/generic/type_param.carbon index 4c97c904f9d1..a7081d8cfb8e 100644 --- a/toolchain/check/testdata/function/generic/type_param.carbon +++ b/toolchain/check/testdata/function/generic/type_param.carbon @@ -38,7 +38,6 @@ fn F(generic T: type) { // CHECK:STDOUT: %require_complete.944: = require_complete_type %T.67d [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T.67d [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness: = lookup_impl_witness %ptr, @DefaultOrUnformed [symbolic] -// CHECK:STDOUT: %.b2d: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%ptr) [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.1ec: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet) [symbolic] // CHECK:STDOUT: %.8a2: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.1ec, %DefaultOrUnformed.facet [symbolic] @@ -48,11 +47,8 @@ fn F(generic T: type) { // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %SubobjectDestroy.type: type = facet_type <@SubobjectDestroy> [concrete] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.18b: = lookup_impl_witness %ptr, @DestroyImpl [symbolic] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.61e: = lookup_impl_witness %ptr, @SubobjectDestroy [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.b3f: %SubobjectDestroy.type = facet_value %ptr, (%SubobjectDestroy.lookup_impl_witness.61e) [symbolic] -// CHECK:STDOUT: %.fb8: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.b3f) [symbolic] // CHECK:STDOUT: %Destroy.facet: %Destroy.type = facet_value %ptr, (%DestroyImpl.lookup_impl_witness.18b, %SubobjectDestroy.lookup_impl_witness.61e) [symbolic] // CHECK:STDOUT: %SelfDestruct.specific_fn: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet) [symbolic] // CHECK:STDOUT: } @@ -95,20 +91,17 @@ fn F(generic T: type) { // CHECK:STDOUT: %pattern_type.loc16: type = pattern_type %ptr.loc16_11.2 [symbolic = %pattern_type.loc16 (constants.%pattern_type.4f4)] // CHECK:STDOUT: %p.patt.loc16_8.2: @F.%pattern_type.loc16 (%pattern_type.4f4) = ref_binding_pattern p [symbolic = %p.patt.loc16_8.2 (constants.%p.patt)] // CHECK:STDOUT: %p.var_patt.loc16_3.2: @F.%pattern_type.loc16 (%pattern_type.4f4) = var_pattern %p.patt.loc16_8.2 [symbolic = %p.var_patt.loc16_3.2 (constants.%p.var_patt)] -// CHECK:STDOUT: %.loc16_12.3: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%ptr.loc16_11.2) [symbolic = %.loc16_12.3 (constants.%.b2d)] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness: = lookup_impl_witness %ptr.loc16_11.2, @DefaultOrUnformed [symbolic = %DefaultOrUnformed.lookup_impl_witness (constants.%DefaultOrUnformed.lookup_impl_witness)] // CHECK:STDOUT: %DefaultOrUnformed.facet.loc16_12.2: %DefaultOrUnformed.type = facet_value %ptr.loc16_11.2, (%DefaultOrUnformed.lookup_impl_witness) [symbolic = %DefaultOrUnformed.facet.loc16_12.2 (constants.%DefaultOrUnformed.facet)] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.loc16_12.2) [symbolic = %DefaultOrUnformed.WithSelf.Op.type (constants.%DefaultOrUnformed.WithSelf.Op.type.1ec)] -// CHECK:STDOUT: %.loc16_12.4: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type, %DefaultOrUnformed.facet.loc16_12.2 [symbolic = %.loc16_12.4 (constants.%.8a2)] -// CHECK:STDOUT: %impl.elem0.loc16_12.2: @F.%.loc16_12.4 (%.8a2) = impl_witness_access %DefaultOrUnformed.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc16_12.2 (constants.%impl.elem0.7c1)] +// CHECK:STDOUT: %.loc16_12.3: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type, %DefaultOrUnformed.facet.loc16_12.2 [symbolic = %.loc16_12.3 (constants.%.8a2)] +// CHECK:STDOUT: %impl.elem0.loc16_12.2: @F.%.loc16_12.3 (%.8a2) = impl_witness_access %DefaultOrUnformed.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc16_12.2 (constants.%impl.elem0.7c1)] // CHECK:STDOUT: %specific_impl_fn.loc16_12.2: = specific_impl_function %impl.elem0.loc16_12.2, @DefaultOrUnformed.WithSelf.Op(%DefaultOrUnformed.facet.loc16_12.2) [symbolic = %specific_impl_fn.loc16_12.2 (constants.%specific_impl_fn.44c)] // CHECK:STDOUT: %require_complete.loc17: = require_complete_type %T.loc15_15.1 [symbolic = %require_complete.loc17 (constants.%require_complete.944)] // CHECK:STDOUT: %pattern_type.loc17: type = pattern_type %T.loc15_15.1 [symbolic = %pattern_type.loc17 (constants.%pattern_type.51d)] // CHECK:STDOUT: %n.patt.loc17_15.2: @F.%pattern_type.loc17 (%pattern_type.51d) = value_binding_pattern n [symbolic = %n.patt.loc17_15.2 (constants.%n.patt)] -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %ptr.loc16_11.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.61e)] -// CHECK:STDOUT: %SubobjectDestroy.facet: %SubobjectDestroy.type = facet_value %ptr.loc16_11.2, (%SubobjectDestroy.lookup_impl_witness) [symbolic = %SubobjectDestroy.facet (constants.%SubobjectDestroy.facet.b3f)] -// CHECK:STDOUT: %.loc16_3.3: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet) [symbolic = %.loc16_3.3 (constants.%.fb8)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness: = lookup_impl_witness %ptr.loc16_11.2, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness (constants.%DestroyImpl.lookup_impl_witness.18b)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %ptr.loc16_11.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.61e)] // CHECK:STDOUT: %Destroy.facet.loc16_3.3: %Destroy.type = facet_value %ptr.loc16_11.2, (%DestroyImpl.lookup_impl_witness, %SubobjectDestroy.lookup_impl_witness) [symbolic = %Destroy.facet.loc16_3.3 (constants.%Destroy.facet)] // CHECK:STDOUT: %SelfDestruct.specific_fn.2: = specific_function constants.%SelfDestruct, @SelfDestruct(%Destroy.facet.loc16_3.3) [symbolic = %SelfDestruct.specific_fn.2 (constants.%SelfDestruct.specific_fn)] // CHECK:STDOUT: @@ -119,7 +112,7 @@ fn F(generic T: type) { // CHECK:STDOUT: %.loc16_12.1: %DefaultOrUnformed.type = converted constants.%ptr, %DefaultOrUnformed.facet.loc16_12.1 [symbolic = %DefaultOrUnformed.facet.loc16_12.2 (constants.%DefaultOrUnformed.facet)] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc16_12.1 [symbolic = %ptr.loc16_11.2 (constants.%ptr)] // CHECK:STDOUT: %.loc16_12.2: type = converted %.loc16_12.1, %as_type [symbolic = %ptr.loc16_11.2 (constants.%ptr)] -// CHECK:STDOUT: %impl.elem0.loc16_12.1: @F.%.loc16_12.4 (%.8a2) = impl_witness_access constants.%DefaultOrUnformed.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc16_12.2 (constants.%impl.elem0.7c1)] +// CHECK:STDOUT: %impl.elem0.loc16_12.1: @F.%.loc16_12.3 (%.8a2) = impl_witness_access constants.%DefaultOrUnformed.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc16_12.2 (constants.%impl.elem0.7c1)] // CHECK:STDOUT: %specific_impl_fn.loc16_12.1: = specific_impl_function %impl.elem0.loc16_12.1, @DefaultOrUnformed.WithSelf.Op(constants.%DefaultOrUnformed.facet) [symbolic = %specific_impl_fn.loc16_12.2 (constants.%specific_impl_fn.44c)] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.call: init @F.%ptr.loc16_11.2 (%ptr) = call %specific_impl_fn.loc16_12.1() // CHECK:STDOUT: assign %p.var, %DefaultOrUnformed.WithSelf.Op.call diff --git a/toolchain/check/testdata/function/generic/type_param_scope.carbon b/toolchain/check/testdata/function/generic/type_param_scope.carbon index a3bba2fa2166..8c13ee46bd9c 100644 --- a/toolchain/check/testdata/function/generic/type_param_scope.carbon +++ b/toolchain/check/testdata/function/generic/type_param_scope.carbon @@ -39,7 +39,6 @@ fn F(generic T: type, n: T*) -> T* { // CHECK:STDOUT: %m.patt: %pattern_type.4f4 = value_binding_pattern m [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Copy.lookup_impl_witness.1da: = lookup_impl_witness %ptr, @Copy [symbolic] -// CHECK:STDOUT: %.66e: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr, (%Copy.lookup_impl_witness.1da) [symbolic] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e38: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [symbolic] // CHECK:STDOUT: %.3f816: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e38, %Copy.facet [symbolic] @@ -53,12 +52,11 @@ fn F(generic T: type, n: T*) -> T* { // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: %m.patt.loc6_8.2: @F.%pattern_type (%pattern_type.4f4) = value_binding_pattern m [symbolic = %m.patt.loc6_8.2 (constants.%m.patt)] -// CHECK:STDOUT: %.loc7_10.3: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.loc4_15.1) [symbolic = %.loc7_10.3 (constants.%.66e)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr.loc4_27.1, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.1da)] // CHECK:STDOUT: %Copy.facet.loc7_10.3: %Copy.type = facet_value %ptr.loc4_27.1, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc7_10.3 (constants.%Copy.facet)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.loc7_10.3) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.e38)] -// CHECK:STDOUT: %.loc7_10.4: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc7_10.3 [symbolic = %.loc7_10.4 (constants.%.3f816)] -// CHECK:STDOUT: %impl.elem0.loc7_10.2: @F.%.loc7_10.4 (%.3f816) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc7_10.2 (constants.%impl.elem0.24a)] +// CHECK:STDOUT: %.loc7_10.3: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc7_10.3 [symbolic = %.loc7_10.3 (constants.%.3f816)] +// CHECK:STDOUT: %impl.elem0.loc7_10.2: @F.%.loc7_10.3 (%.3f816) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc7_10.2 (constants.%impl.elem0.24a)] // CHECK:STDOUT: %specific_impl_fn.loc7_10.2: = specific_impl_function %impl.elem0.loc7_10.2, @Copy.WithSelf.Op(%Copy.facet.loc7_10.3) [symbolic = %specific_impl_fn.loc7_10.2 (constants.%specific_impl_fn.6b3)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%n.param: @F.%ptr.loc4_27.1 (%ptr)) -> out %return.param: @F.%ptr.loc4_27.1 (%ptr) { @@ -73,7 +71,7 @@ fn F(generic T: type, n: T*) -> T* { // CHECK:STDOUT: %m.patt.loc6_8.1: @F.%pattern_type (%pattern_type.4f4) = value_binding_pattern m [symbolic = %m.patt.loc6_8.2 (constants.%m.patt)] // CHECK:STDOUT: } // CHECK:STDOUT: %m.ref: @F.%ptr.loc4_27.1 (%ptr) = name_ref m, %m -// CHECK:STDOUT: %impl.elem0.loc7_10.1: @F.%.loc7_10.4 (%.3f816) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc7_10.2 (constants.%impl.elem0.24a)] +// CHECK:STDOUT: %impl.elem0.loc7_10.1: @F.%.loc7_10.3 (%.3f816) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc7_10.2 (constants.%impl.elem0.24a)] // CHECK:STDOUT: %bound_method.loc7_10.1: = bound_method %m.ref, %impl.elem0.loc7_10.1 // CHECK:STDOUT: %Copy.facet.loc7_10.1: %Copy.type = facet_value constants.%ptr, (constants.%Copy.lookup_impl_witness.1da) [symbolic = %Copy.facet.loc7_10.3 (constants.%Copy.facet)] // CHECK:STDOUT: %.loc7_10.1: %Copy.type = converted constants.%ptr, %Copy.facet.loc7_10.1 [symbolic = %Copy.facet.loc7_10.3 (constants.%Copy.facet)] diff --git a/toolchain/check/testdata/generic/dependent_param.carbon b/toolchain/check/testdata/generic/dependent_param.carbon index 9b0108cb2584..0b02a346d3fc 100644 --- a/toolchain/check/testdata/generic/dependent_param.carbon +++ b/toolchain/check/testdata/generic/dependent_param.carbon @@ -69,8 +69,6 @@ var n: i32 = Outer(i32).Inner(42).Get(); // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Outer.5fe: type = class_type @Outer, @Outer(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %Inner.type.aab: type = parameterized_class_name_type @Inner, @Outer(%Copy.facet.95d) [concrete] @@ -83,11 +81,11 @@ var n: i32 = Outer(i32).Inner(42).Get(); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] @@ -102,6 +100,8 @@ var n: i32 = Outer(i32).Inner(42).Get(); // CHECK:STDOUT: %Inner.Get.specific_fn: = specific_function %Inner.Get.7d7, @Inner.Get(%Copy.facet.95d, %int_42.db5) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_42.db5, %Int.as.Copy.impl.Op.cae [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.351: = bound_method %int_42.db5, %Int.as.Copy.impl.Op.specific_fn [concrete] diff --git a/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon b/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon index f95d58c19f0b..6d1b50d3ea97 100644 --- a/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon +++ b/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon @@ -337,7 +337,7 @@ fn H(generic T: type) { // CHECK:STDOUT: %B.type.904f2f.1: type = facet_type <@B, @B(%ptr.e8f8f9.1)> [symbolic] // CHECK:STDOUT: %.61f: = impl_self_witness %BB.a11, @B, @B(%ptr.e8f8f9.1) [symbolic] // CHECK:STDOUT: %B.impl_witness.089: = impl_witness @BB.as_type.as.B.impl.%B.impl_witness_table, @BB.as_type.as.B.impl(%AA, %BB.a11) [symbolic] -// CHECK:STDOUT: %require_complete.58dcfe.1: = require_complete_type %B.type.904f2f.1 [symbolic] +// CHECK:STDOUT: %require_complete.58d: = require_complete_type %B.type.904f2f.1 [symbolic] // CHECK:STDOUT: %DD.patt: %pattern_type.9a5 = symbolic_binding_pattern DD, 0 [symbolic] // CHECK:STDOUT: %DD: type = symbolic_binding DD, 0 [symbolic] // CHECK:STDOUT: %D.1a8: type = class_type @D, @D(%DD) [symbolic] @@ -349,14 +349,12 @@ fn H(generic T: type) { // CHECK:STDOUT: %ptr.e8f8f9.2: type = ptr_type %DD [symbolic] // CHECK:STDOUT: %B.type.904f2f.2: type = facet_type <@B, @B(%ptr.e8f8f9.2)> [symbolic] // CHECK:STDOUT: %B.lookup_impl_witness.ab0: = lookup_impl_witness %T.091, @B, @B(%ptr.e8f8f9.2) [symbolic] -// CHECK:STDOUT: %.5dd: require_specific_def_type = require_specific_def @BB.as.B.impl(%ptr.e8f8f9.2, %T.091) [symbolic] // CHECK:STDOUT: %B.facet.ed9: %B.type.904f2f.2 = facet_value %T.091, (%B.lookup_impl_witness.ab0) [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %D.G.type.eac: type = fn_type @D.G, @D(%empty_struct_type) [concrete] // CHECK:STDOUT: %D.G.f41: %D.G.type.eac = struct_value () [concrete] // CHECK:STDOUT: %ptr.c28: type = ptr_type %empty_struct_type [concrete] // CHECK:STDOUT: %B.type.5e6: type = facet_type <@B, @B(%ptr.c28)> [concrete] -// CHECK:STDOUT: %.e6e: require_specific_def_type = require_specific_def @BB.as.B.impl(%ptr.c28, %T.67d) [symbolic] // CHECK:STDOUT: %B.lookup_impl_witness.295: = lookup_impl_witness %T.67d, @B, @B(%ptr.c28) [symbolic] // CHECK:STDOUT: %B.facet.b2d: %B.type.5e6 = facet_value %T.67d, (%B.lookup_impl_witness.295) [symbolic] // CHECK:STDOUT: } @@ -425,7 +423,7 @@ fn H(generic T: type) { // 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.089)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete: = require_complete_type %B.type.loc9_60.2 [symbolic = %require_complete (constants.%require_complete.58dcfe.1)] +// CHECK:STDOUT: %require_complete: = require_complete_type %B.type.loc9_60.2 [symbolic = %require_complete (constants.%require_complete.58d)] // 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] @@ -462,7 +460,6 @@ fn H(generic T: type) { // CHECK:STDOUT: %DD: type = symbolic_binding DD, 0 [symbolic = %DD (constants.%DD)] // CHECK:STDOUT: %ptr.loc21_14.2: type = ptr_type %DD [symbolic = %ptr.loc21_14.2 (constants.%ptr.e8f8f9.2)] // CHECK:STDOUT: %B.type.loc21_15.2: type = facet_type <@B, @B(%ptr.loc21_14.2)> [symbolic = %B.type.loc21_15.2 (constants.%B.type.904f2f.2)] -// CHECK:STDOUT: %.loc21_7.2: require_specific_def_type = require_specific_def @BB.as.B.impl(%ptr.loc21_14.2, %T.loc15_17.1) [symbolic = %.loc21_7.2 (constants.%.5dd)] // CHECK:STDOUT: %B.lookup_impl_witness: = lookup_impl_witness %T.loc15_17.1, @B, @B(%ptr.loc21_14.2) [symbolic = %B.lookup_impl_witness (constants.%B.lookup_impl_witness.ab0)] // CHECK:STDOUT: %B.facet.loc21_7.2: @D.G.%B.type.loc21_15.2 (%B.type.904f2f.2) = facet_value %T.loc15_17.1, (%B.lookup_impl_witness) [symbolic = %B.facet.loc21_7.2 (constants.%B.facet.ed9)] // CHECK:STDOUT: @@ -475,7 +472,7 @@ fn H(generic T: type) { // CHECK:STDOUT: %ptr.loc21_14.1: type = ptr_type %DD.ref [symbolic = %ptr.loc21_14.2 (constants.%ptr.e8f8f9.2)] // CHECK:STDOUT: %B.type.loc21_15.1: type = facet_type <@B, @B(constants.%ptr.e8f8f9.2)> [symbolic = %B.type.loc21_15.2 (constants.%B.type.904f2f.2)] // CHECK:STDOUT: %B.facet.loc21_7.1: @D.G.%B.type.loc21_15.2 (%B.type.904f2f.2) = facet_value %T.ref, (constants.%B.lookup_impl_witness.ab0) [symbolic = %B.facet.loc21_7.2 (constants.%B.facet.ed9)] -// CHECK:STDOUT: %.loc21_7.1: @D.G.%B.type.loc21_15.2 (%B.type.904f2f.2) = converted %T.ref, %B.facet.loc21_7.1 [symbolic = %B.facet.loc21_7.2 (constants.%B.facet.ed9)] +// CHECK:STDOUT: %.loc21_7: @D.G.%B.type.loc21_15.2 (%B.type.904f2f.2) = converted %T.ref, %B.facet.loc21_7.1 [symbolic = %B.facet.loc21_7.2 (constants.%B.facet.ed9)] // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -530,7 +527,6 @@ fn H(generic T: type) { // CHECK:STDOUT: %DD => constants.%empty_struct_type // CHECK:STDOUT: %ptr.loc21_14.2 => constants.%ptr.c28 // CHECK:STDOUT: %B.type.loc21_15.2 => constants.%B.type.5e6 -// CHECK:STDOUT: %.loc21_7.2 => constants.%.e6e // CHECK:STDOUT: %B.lookup_impl_witness => constants.%B.lookup_impl_witness.295 // CHECK:STDOUT: %B.facet.loc21_7.2 => constants.%B.facet.b2d // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/generic/local.carbon b/toolchain/check/testdata/generic/local.carbon index 6f2ed5a0ceea..c6194f7657a5 100644 --- a/toolchain/check/testdata/generic/local.carbon +++ b/toolchain/check/testdata/generic/local.carbon @@ -84,11 +84,11 @@ class C(C: type) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/generic/local_function.carbon b/toolchain/check/testdata/generic/local_function.carbon index 8be9be3a1451..ce6a94f3b08b 100644 --- a/toolchain/check/testdata/generic/local_function.carbon +++ b/toolchain/check/testdata/generic/local_function.carbon @@ -251,11 +251,11 @@ fn CallEnclosingTemplate() -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %inst.splice_block.426619.9: = inst_value [concrete] { // CHECK:STDOUT: %.724: init %i32 = splice_block %Int.as.Copy.impl.Op.call { diff --git a/toolchain/check/testdata/generic/template/convert.carbon b/toolchain/check/testdata/generic/template/convert.carbon index 3a935e1ff2fd..d932861aaa28 100644 --- a/toolchain/check/testdata/generic/template/convert.carbon +++ b/toolchain/check/testdata/generic/template/convert.carbon @@ -309,11 +309,11 @@ fn Run() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %x.param_patt.051: %pattern_type.d94 = value_param_pattern [concrete] // CHECK:STDOUT: %x.patt.0f7: %pattern_type.d94 = wrapper_binding_pattern x, %x.param_patt.051 [concrete] @@ -473,11 +473,11 @@ fn Run() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -633,11 +633,11 @@ fn Run() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %inst.splice_block: = inst_value [concrete] { // CHECK:STDOUT: %.ccd: init %i32 = splice_block %Int.as.Copy.impl.Op.call { @@ -1697,11 +1697,11 @@ fn Run() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %x.param_patt.0f9: %pattern_type.98b = value_param_pattern [concrete] // CHECK:STDOUT: %x.patt.953: %pattern_type.98b = wrapper_binding_pattern x, %x.param_patt.0f9 [concrete] diff --git a/toolchain/check/testdata/generic/template/dependence.carbon b/toolchain/check/testdata/generic/template/dependence.carbon index 0c1fd3931dbe..eae5090c582d 100644 --- a/toolchain/check/testdata/generic/template/dependence.carbon +++ b/toolchain/check/testdata/generic/template/dependence.carbon @@ -65,9 +65,9 @@ fn F(template T: type, generic U: type) -> (T, U) { // CHECK:STDOUT: %assoc0: %Copy.assoc_type = assoc_entity element0, imports.%Core.import_ref.ea5 [concrete] // CHECK:STDOUT: %.8cb: type = type_of_inst @F.%.loc6_10.7 [template] // CHECK:STDOUT: %.c23: %.8cb = splice_inst @F.%.loc6_10.7 [template] -// CHECK:STDOUT: %.57c6: type = type_of_inst @F.%.loc6_10.10 [template] -// CHECK:STDOUT: %.e63: %.57c6 = splice_inst @F.%.loc6_10.10 [template] -// CHECK:STDOUT: %.254: %.57c6 = splice_inst @F.%.loc6_12.2 [template] +// CHECK:STDOUT: %.57c: type = type_of_inst @F.%.loc6_10.10 [template] +// CHECK:STDOUT: %.e63: %.57c = splice_inst @F.%.loc6_10.10 [template] +// CHECK:STDOUT: %.254: %.57c = splice_inst @F.%.loc6_12.2 [template] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %ptr.843: type = ptr_type %empty_tuple.type [concrete] // CHECK:STDOUT: %ptr.74f: type = ptr_type %ptr.843 [concrete] @@ -87,11 +87,11 @@ fn F(template T: type, generic U: type) -> (T, U) { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67db0b.2) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.e1a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.56e: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.284: %ptr.as.Copy.impl.Op.type.56e = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.843, (%Copy.impl_witness.e1a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.5ad: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.f8c: type = fn_type_with_self_type %Copy.WithSelf.Op.type.5ad, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.56e: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.284: %ptr.as.Copy.impl.Op.type.56e = struct_value () [concrete] // CHECK:STDOUT: %inst.splice_block.426619.1: = inst_value [concrete] { // CHECK:STDOUT: %.334: = splice_block %bound_method.7f0 { // CHECK:STDOUT: %.422: %ptr.843 = specific_inst @F.%.loc6_10.2, @F(%empty_tuple.type) @@ -187,10 +187,10 @@ fn F(template T: type, generic U: type) -> (T, U) { // CHECK:STDOUT: %.loc6_10.8: type = type_of_inst %.loc6_10.7 [template = %.loc6_10.8 (constants.%.8cb)] // CHECK:STDOUT: %.loc6_10.9: @F.%.loc6_10.8 (%.8cb) = splice_inst %.loc6_10.7 [template = %.loc6_10.9 (constants.%.c23)] // CHECK:STDOUT: %.loc6_10.10: = call_action (%.loc6_10.4), true [template] -// CHECK:STDOUT: %.loc6_10.11: type = type_of_inst %.loc6_10.10 [template = %.loc6_10.11 (constants.%.57c6)] -// CHECK:STDOUT: %.loc6_10.12: @F.%.loc6_10.11 (%.57c6) = splice_inst %.loc6_10.10 [template = %.loc6_10.12 (constants.%.e63)] +// CHECK:STDOUT: %.loc6_10.11: type = type_of_inst %.loc6_10.10 [template = %.loc6_10.11 (constants.%.57c)] +// CHECK:STDOUT: %.loc6_10.12: @F.%.loc6_10.11 (%.57c) = splice_inst %.loc6_10.10 [template = %.loc6_10.12 (constants.%.e63)] // CHECK:STDOUT: %.loc6_12.2: = convert_to_category_action %.loc6_10.6, element10 [template] -// CHECK:STDOUT: %.loc6_12.3: @F.%.loc6_10.11 (%.57c6) = splice_inst %.loc6_12.2 [template = %.loc6_12.3 (constants.%.254)] +// CHECK:STDOUT: %.loc6_12.3: @F.%.loc6_10.11 (%.57c) = splice_inst %.loc6_12.2 [template = %.loc6_12.3 (constants.%.254)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%x.param: @F.%ptr.loc5_29.1 (%ptr.125)) -> out %return.param: @F.%ptr.loc5_28.1 (%ptr.e8f8f9.1) { // CHECK:STDOUT: !entry: @@ -199,9 +199,9 @@ fn F(template T: type, generic U: type) -> (T, U) { // CHECK:STDOUT: %.loc6_10.2: @F.%ptr.loc5_28.1 (%ptr.e8f8f9.1) = acquire_value %.loc6_10.1 // CHECK:STDOUT: %.loc6_10.3: type = type_of_inst %.loc6_10.7 [template = %.loc6_10.8 (constants.%.8cb)] // CHECK:STDOUT: %.loc6_10.4: @F.%.loc6_10.8 (%.8cb) = splice_inst %.loc6_10.7 [template = %.loc6_10.9 (constants.%.c23)] -// CHECK:STDOUT: %.loc6_10.5: type = type_of_inst %.loc6_10.10 [template = %.loc6_10.11 (constants.%.57c6)] -// CHECK:STDOUT: %.loc6_10.6: @F.%.loc6_10.11 (%.57c6) = splice_inst %.loc6_10.10 [template = %.loc6_10.12 (constants.%.e63)] -// CHECK:STDOUT: %.loc6_12.1: @F.%.loc6_10.11 (%.57c6) = splice_inst %.loc6_12.2 [template = %.loc6_12.3 (constants.%.254)] +// CHECK:STDOUT: %.loc6_10.5: type = type_of_inst %.loc6_10.10 [template = %.loc6_10.11 (constants.%.57c)] +// CHECK:STDOUT: %.loc6_10.6: @F.%.loc6_10.11 (%.57c) = splice_inst %.loc6_10.10 [template = %.loc6_10.12 (constants.%.e63)] +// CHECK:STDOUT: %.loc6_12.1: @F.%.loc6_10.11 (%.57c) = splice_inst %.loc6_12.2 [template = %.loc6_12.3 (constants.%.254)] // CHECK:STDOUT: return %.loc6_12.1 // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/generic/template/member_access.carbon b/toolchain/check/testdata/generic/template/member_access.carbon index 38c9d567b250..f96697d6d0f5 100644 --- a/toolchain/check/testdata/generic/template/member_access.carbon +++ b/toolchain/check/testdata/generic/template/member_access.carbon @@ -147,11 +147,11 @@ fn G() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @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] @@ -335,11 +335,11 @@ fn G() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %inst.splice_block.426619.2: = inst_value [concrete] { // CHECK:STDOUT: %.579: init %i32 = splice_block %Int.as.Copy.impl.Op.call { diff --git a/toolchain/check/testdata/generic/template/member_out_of_line.carbon b/toolchain/check/testdata/generic/template/member_out_of_line.carbon index 4a6612536560..4c3fba3abcff 100644 --- a/toolchain/check/testdata/generic/template/member_out_of_line.carbon +++ b/toolchain/check/testdata/generic/template/member_out_of_line.carbon @@ -21,14 +21,14 @@ class Class(template T: type) { var n: T; } -// CHECK:STDERR: fail_todo_basic.carbon:[[@LINE+3]]:30-35: error: type `>>` of parameter 1 in redeclaration differs from previous parameter type `` [RedeclParamDiffersType] +// CHECK:STDERR: fail_todo_basic.carbon:[[@LINE+3]]:30-35: error: type `>>` of parameter 1 in redeclaration differs from previous parameter type `` [RedeclParamDiffersType] // CHECK:STDERR: fail_todo_basic.carbon:[[@LINE-6]]:8-11: note: previous declaration's corresponding parameter here [RedeclParamPrevious] // CHECK:STDERR: fn Class(template T: type).F(n: T.U) -> T.U { return n; } -// CHECK:STDERR: fail_todo_basic.carbon:[[@LINE+3]]:1-43: error: function redeclaration differs because return type is `>` [FunctionRedeclReturnTypeDiffers] +// CHECK:STDERR: fail_todo_basic.carbon:[[@LINE+3]]:1-43: error: function redeclaration differs because return type is `>` [FunctionRedeclReturnTypeDiffers] // CHECK:STDERR: fail_todo_basic.carbon:[[@LINE-12]]:3-18: note: previously declared with return type `T` [FunctionRedeclReturnTypePrevious] // CHECK:STDERR: fn Class(template T: type).G(self) -> T.U { diff --git a/toolchain/check/testdata/generic/template/operator.carbon b/toolchain/check/testdata/generic/template/operator.carbon index 85d9051f005c..c27b6549f2c3 100644 --- a/toolchain/check/testdata/generic/template/operator.carbon +++ b/toolchain/check/testdata/generic/template/operator.carbon @@ -109,11 +109,11 @@ fn G() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %t.param_patt.df1: %pattern_type.98b = ref_param_pattern [concrete] // CHECK:STDOUT: %t.patt.e50: %pattern_type.98b = wrapper_binding_pattern t, %t.param_patt.df1 [concrete] diff --git a/toolchain/check/testdata/generic/var_param.carbon b/toolchain/check/testdata/generic/var_param.carbon index c97a106b3ab0..0ea75c4b2693 100644 --- a/toolchain/check/testdata/generic/var_param.carbon +++ b/toolchain/check/testdata/generic/var_param.carbon @@ -60,11 +60,11 @@ fn Test(x: i32) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %SubobjectDestroy.type: type = facet_type <@SubobjectDestroy> [concrete] diff --git a/toolchain/check/testdata/if_expr/basic.carbon b/toolchain/check/testdata/if_expr/basic.carbon index 4b0a449454f6..4233baea256a 100644 --- a/toolchain/check/testdata/if_expr/basic.carbon +++ b/toolchain/check/testdata/if_expr/basic.carbon @@ -57,11 +57,11 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -71,11 +71,11 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/if_expr/constant_condition.carbon b/toolchain/check/testdata/if_expr/constant_condition.carbon index a1d8200d2088..450325e64314 100644 --- a/toolchain/check/testdata/if_expr/constant_condition.carbon +++ b/toolchain/check/testdata/if_expr/constant_condition.carbon @@ -60,11 +60,11 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -85,11 +85,11 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @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] @@ -103,11 +103,11 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %w.patt: %pattern_type.7dc = ref_binding_pattern w [concrete] // CHECK:STDOUT: %w.var_patt: %pattern_type.7dc = var_pattern %w.patt [concrete] // CHECK:STDOUT: %Copy.impl_witness.83a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.652: %Copy.type = facet_value %ptr.a17, (%Copy.impl_witness.83a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9a2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.652) [concrete] // CHECK:STDOUT: %.309: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9a2, %Copy.facet.652 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.81f, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/if_expr/control_flow.carbon b/toolchain/check/testdata/if_expr/control_flow.carbon index e68d050b605a..8b427a68ce2d 100644 --- a/toolchain/check/testdata/if_expr/control_flow.carbon +++ b/toolchain/check/testdata/if_expr/control_flow.carbon @@ -42,11 +42,11 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -66,11 +66,11 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/if_expr/nested.carbon b/toolchain/check/testdata/if_expr/nested.carbon index 4c302b8c4013..9daaee023308 100644 --- a/toolchain/check/testdata/if_expr/nested.carbon +++ b/toolchain/check/testdata/if_expr/nested.carbon @@ -46,11 +46,11 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -71,11 +71,11 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/if_expr/struct.carbon b/toolchain/check/testdata/if_expr/struct.carbon index 567557ed03e4..60a78141e99c 100644 --- a/toolchain/check/testdata/if_expr/struct.carbon +++ b/toolchain/check/testdata/if_expr/struct.carbon @@ -52,11 +52,11 @@ fn F(cond: bool) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/impl/assoc_const_self.carbon b/toolchain/check/testdata/impl/assoc_const_self.carbon index d6db239e9492..fc1cfcbdb599 100644 --- a/toolchain/check/testdata/impl/assoc_const_self.carbon +++ b/toolchain/check/testdata/impl/assoc_const_self.carbon @@ -128,11 +128,11 @@ fn CallF() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/impl/error_recovery.carbon b/toolchain/check/testdata/impl/error_recovery.carbon index edc1248c0f74..cfb3579acf25 100644 --- a/toolchain/check/testdata/impl/error_recovery.carbon +++ b/toolchain/check/testdata/impl/error_recovery.carbon @@ -162,7 +162,6 @@ impl C as I { // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %Z.lookup_impl_witness: = lookup_impl_witness %T, @Z [symbolic] -// CHECK:STDOUT: %.2f2: require_specific_def_type = require_specific_def @T.as.Z.impl(%T) [symbolic] // CHECK:STDOUT: %Z.facet: %Z.type = facet_value %T, (%Z.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%Z.facet) [symbolic] // CHECK:STDOUT: } @@ -184,7 +183,6 @@ impl C as I { // CHECK:STDOUT: %T.loc11_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc11_15.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %.loc17_6.2: require_specific_def_type = require_specific_def @T.as.Z.impl(%T.loc11_15.1) [symbolic = %.loc17_6.2 (constants.%.2f2)] // CHECK:STDOUT: %Z.lookup_impl_witness: = lookup_impl_witness %T.loc11_15.1, @Z [symbolic = %Z.lookup_impl_witness (constants.%Z.lookup_impl_witness)] // CHECK:STDOUT: %Z.facet.loc17_6.2: %Z.type = facet_value %T.loc11_15.1, (%Z.lookup_impl_witness) [symbolic = %Z.facet.loc17_6.2 (constants.%Z.facet)] // CHECK:STDOUT: %F.specific_fn.loc17_3.2: = specific_function constants.%F, @F(%Z.facet.loc17_6.2) [symbolic = %F.specific_fn.loc17_3.2 (constants.%F.specific_fn)] @@ -194,7 +192,7 @@ impl C as I { // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc11_15.2 [symbolic = %T.loc11_15.1 (constants.%T)] // CHECK:STDOUT: %Z.facet.loc17_6.1: %Z.type = facet_value %T.ref, (constants.%Z.lookup_impl_witness) [symbolic = %Z.facet.loc17_6.2 (constants.%Z.facet)] -// CHECK:STDOUT: %.loc17_6.1: %Z.type = converted %T.ref, %Z.facet.loc17_6.1 [symbolic = %Z.facet.loc17_6.2 (constants.%Z.facet)] +// CHECK:STDOUT: %.loc17: %Z.type = converted %T.ref, %Z.facet.loc17_6.1 [symbolic = %Z.facet.loc17_6.2 (constants.%Z.facet)] // CHECK:STDOUT: %F.specific_fn.loc17_3.1: = specific_function %F.ref, @F(constants.%Z.facet) [symbolic = %F.specific_fn.loc17_3.2 (constants.%F.specific_fn)] // CHECK:STDOUT: %F.call: init %empty_tuple.type = call %F.specific_fn.loc17_3.1() // CHECK:STDOUT: return @@ -221,10 +219,8 @@ impl C as I { // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %Z.lookup_impl_witness: = lookup_impl_witness %T, @Z [symbolic] -// CHECK:STDOUT: %.2f2: require_specific_def_type = require_specific_def @T.as.Z.impl(%T) [symbolic] // CHECK:STDOUT: %Z.facet: %Z.type = facet_value %T, (%Z.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%Z.facet) [symbolic] -// CHECK:STDOUT: %.ba2: require_specific_def_type = require_specific_def @T.as.Z.impl(%empty_tuple.type) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -244,7 +240,6 @@ impl C as I { // CHECK:STDOUT: %T.loc11_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc11_15.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %.loc17_6.2: require_specific_def_type = require_specific_def @T.as.Z.impl(%T.loc11_15.1) [symbolic = %.loc17_6.2 (constants.%.2f2)] // CHECK:STDOUT: %Z.lookup_impl_witness: = lookup_impl_witness %T.loc11_15.1, @Z [symbolic = %Z.lookup_impl_witness (constants.%Z.lookup_impl_witness)] // CHECK:STDOUT: %Z.facet.loc17_6.2: %Z.type = facet_value %T.loc11_15.1, (%Z.lookup_impl_witness) [symbolic = %Z.facet.loc17_6.2 (constants.%Z.facet)] // CHECK:STDOUT: %F.specific_fn.loc17_3.2: = specific_function constants.%F, @F(%Z.facet.loc17_6.2) [symbolic = %F.specific_fn.loc17_3.2 (constants.%F.specific_fn)] @@ -254,7 +249,7 @@ impl C as I { // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc11_15.2 [symbolic = %T.loc11_15.1 (constants.%T)] // CHECK:STDOUT: %Z.facet.loc17_6.1: %Z.type = facet_value %T.ref, (constants.%Z.lookup_impl_witness) [symbolic = %Z.facet.loc17_6.2 (constants.%Z.facet)] -// CHECK:STDOUT: %.loc17_6.1: %Z.type = converted %T.ref, %Z.facet.loc17_6.1 [symbolic = %Z.facet.loc17_6.2 (constants.%Z.facet)] +// CHECK:STDOUT: %.loc17: %Z.type = converted %T.ref, %Z.facet.loc17_6.1 [symbolic = %Z.facet.loc17_6.2 (constants.%Z.facet)] // CHECK:STDOUT: %F.specific_fn.loc17_3.1: = specific_function %F.ref, @F(constants.%Z.facet) [symbolic = %F.specific_fn.loc17_3.2 (constants.%F.specific_fn)] // CHECK:STDOUT: %F.call: init %empty_tuple.type = call %F.specific_fn.loc17_3.1() // CHECK:STDOUT: return @@ -271,7 +266,6 @@ impl C as I { // CHECK:STDOUT: %T.loc11_15.1 => constants.%empty_tuple.type // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %.loc17_6.2 => constants.%.ba2 // CHECK:STDOUT: %Z.lookup_impl_witness => // CHECK:STDOUT: %Z.facet.loc17_6.2 => // CHECK:STDOUT: %F.specific_fn.loc17_3.2 => diff --git a/toolchain/check/testdata/impl/extend_impl_generic.carbon b/toolchain/check/testdata/impl/extend_impl_generic.carbon index 39ca4ec52e1d..0179baaabfb2 100644 --- a/toolchain/check/testdata/impl/extend_impl_generic.carbon +++ b/toolchain/check/testdata/impl/extend_impl_generic.carbon @@ -113,11 +113,11 @@ class X(U: type) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -138,11 +138,11 @@ class X(U: type) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] 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 db3c0c2730c0..335807e23749 100644 --- a/toolchain/check/testdata/impl/impl_assoc_const_with_prelude.carbon +++ b/toolchain/check/testdata/impl/impl_assoc_const_with_prelude.carbon @@ -64,11 +64,11 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -307,11 +307,11 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/impl/impl_thunk.carbon b/toolchain/check/testdata/impl/impl_thunk.carbon index 26ba75fdf98a..0192348e8a9d 100644 --- a/toolchain/check/testdata/impl/impl_thunk.carbon +++ b/toolchain/check/testdata/impl/impl_thunk.carbon @@ -498,11 +498,11 @@ impl () as I({}) { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.730: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%B) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ef6: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%B) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.0df: %ptr.as.Copy.impl.Op.type.ef6 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.432, (%Copy.impl_witness.730) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f50: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.19e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f50, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ef6: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%B) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.0df: %ptr.as.Copy.impl.Op.type.ef6 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.0df, @ptr.as.Copy.impl.Op(%B) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -675,11 +675,11 @@ impl () as I({}) { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.730: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%B) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ef6: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%B) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.0df: %ptr.as.Copy.impl.Op.type.ef6 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.432, (%Copy.impl_witness.730) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f50: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.19e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f50, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ef6: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%B) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.0df: %ptr.as.Copy.impl.Op.type.ef6 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.0df, @ptr.as.Copy.impl.Op(%B) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -787,11 +787,11 @@ impl () as I({}) { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.730: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%B) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ef6: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%B) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.0df: %ptr.as.Copy.impl.Op.type.ef6 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.432, (%Copy.impl_witness.730) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f50: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.19e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f50, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ef6: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%B) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.0df: %ptr.as.Copy.impl.Op.type.ef6 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.0df, @ptr.as.Copy.impl.Op(%B) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1177,7 +1177,6 @@ impl () as I({}) { // CHECK:STDOUT: %impl.elem0.bb582d.2: %.8bf935.2 = impl_witness_access %Copy.lookup_impl_witness.d9c332.2, element0 [symbolic] // CHECK:STDOUT: %specific_impl_fn.2acc20.2: = specific_impl_function %impl.elem0.bb582d.2, @Copy.WithSelf.Op(%U.f84) [symbolic] // CHECK:STDOUT: %Copy.lookup_impl_witness.1da: = lookup_impl_witness %ptr.e8f, @Copy [symbolic] -// CHECK:STDOUT: %.66e: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.e8f, (%Copy.lookup_impl_witness.1da) [symbolic] // CHECK:STDOUT: %empty_tuple.type.as.I.impl.F.specific_fn: = specific_function %empty_tuple.type.as.I.impl.F.bd5be1.1, @empty_tuple.type.as.I.impl.F.loc10_33.1(%Copy.facet) [symbolic] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e38: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [symbolic] @@ -1276,7 +1275,6 @@ impl () as I({}) { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: -// CHECK:STDOUT: %.loc10_33.3: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.1) [symbolic = %.loc10_33.3 (constants.%.66e)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.1da)] // CHECK:STDOUT: %Copy.facet.loc10_33.3: %Copy.type = facet_value %ptr, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc10_33.3 (constants.%Copy.facet)] // CHECK:STDOUT: %empty_tuple.type.as.I.impl.F.specific_fn.loc10_33.2: = specific_function constants.%empty_tuple.type.as.I.impl.F.bd5be1.1, @empty_tuple.type.as.I.impl.F.loc10_33.1(%Copy.facet.loc10_33.3) [symbolic = %empty_tuple.type.as.I.impl.F.specific_fn.loc10_33.2 (constants.%empty_tuple.type.as.I.impl.F.specific_fn)] @@ -1384,7 +1382,6 @@ impl () as I({}) { // CHECK:STDOUT: %impl.elem0.bb582d.2: %.8bf935.2 = impl_witness_access %Copy.lookup_impl_witness.d9c332.2, element0 [symbolic] // CHECK:STDOUT: %specific_impl_fn.2acc20.2: = specific_impl_function %impl.elem0.bb582d.2, @Copy.WithSelf.Op(%U.f84) [symbolic] // CHECK:STDOUT: %Copy.lookup_impl_witness.1da: = lookup_impl_witness %ptr.e8f, @Copy [symbolic] -// CHECK:STDOUT: %.66e: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.e8f, (%Copy.lookup_impl_witness.1da) [symbolic] // CHECK:STDOUT: %empty_tuple.type.as.I.impl.F.specific_fn: = specific_function %empty_tuple.type.as.I.impl.F.bd5be1.1, @empty_tuple.type.as.I.impl.F.loc10_50.1(%Copy.facet) [symbolic] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e38: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [symbolic] @@ -1491,7 +1488,6 @@ impl () as I({}) { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: -// CHECK:STDOUT: %.loc10_50.3: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.1) [symbolic = %.loc10_50.3 (constants.%.66e)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.1da)] // CHECK:STDOUT: %Copy.facet.loc10_50.3: %Copy.type = facet_value %ptr, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc10_50.3 (constants.%Copy.facet)] // CHECK:STDOUT: %empty_tuple.type.as.I.impl.F.specific_fn.loc10_50.2: = specific_function constants.%empty_tuple.type.as.I.impl.F.bd5be1.1, @empty_tuple.type.as.I.impl.F.loc10_50.1(%Copy.facet.loc10_50.3) [symbolic = %empty_tuple.type.as.I.impl.F.specific_fn.loc10_50.2 (constants.%empty_tuple.type.as.I.impl.F.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 db1d783e6fd3..e5e3bdbe35df 100644 --- a/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon +++ b/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon @@ -109,11 +109,11 @@ fn Call() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %i32.as.Add.impl.Op.type.70df41.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.f00eab.1: %i32.as.Add.impl.Op.type.70df41.1 = struct_value () [concrete] diff --git a/toolchain/check/testdata/impl/import_self_specific.carbon b/toolchain/check/testdata/impl/import_self_specific.carbon index fe022652f742..5558e3a94246 100644 --- a/toolchain/check/testdata/impl/import_self_specific.carbon +++ b/toolchain/check/testdata/impl/import_self_specific.carbon @@ -101,7 +101,6 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %Z.lookup_impl_witness: = lookup_impl_witness %impl.elem0, @Z [symbolic] // CHECK:STDOUT: %.85e: = impl_self_witness %impl.elem0, @Z [symbolic] // CHECK:STDOUT: %Z.impl_witness.19e: = impl_witness @U.as.Z.impl.%Z.impl_witness_table, @U.as.Z.impl(%as_type) [symbolic] -// CHECK:STDOUT: %.ada: 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.fd5: type = class_type @C, @C(%Z.facet.4d3) [symbolic] // CHECK:STDOUT: %pattern_type.4ba: type = pattern_type %C.fd5 [symbolic] @@ -192,13 +191,13 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %c.patt.loc24_9.1: @I.WithSelf.F.%pattern_type (%pattern_type.4ba) = wrapper_binding_pattern c, %c.param_patt.loc24_9.1 [symbolic = %c.patt.loc24_9.2 (constants.%c.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %c.param: @I.WithSelf.F.%C.loc24_18.1 (%C.fd5) = value_param call_param0 -// CHECK:STDOUT: %.loc24_18.2: type = splice_block %C.loc24_18.2 [symbolic = %C.loc24_18.1 (constants.%C.fd5)] { +// CHECK:STDOUT: %.loc24_18.1: type = splice_block %C.loc24_18.2 [symbolic = %C.loc24_18.1 (constants.%C.fd5)] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %impl.elem0.loc24_13.2: %Y.type = impl_witness_access constants.%I.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc24_13.1 (constants.%impl.elem0)] // CHECK:STDOUT: %Assoc.ref: %Y.type = name_ref Assoc, %impl.elem0.loc24_13.2 [symbolic = %impl.elem0.loc24_13.1 (constants.%impl.elem0)] // CHECK:STDOUT: %Assoc.as_type: type = facet_access_type %Assoc.ref [symbolic = %as_type (constants.%as_type)] // CHECK:STDOUT: %Z.facet.loc24_18.2: %Z.type = facet_value %Assoc.as_type, (constants.%Z.lookup_impl_witness) [symbolic = %Z.facet.loc24_18.1 (constants.%Z.facet.4d3)] -// CHECK:STDOUT: %.loc24_18.3: %Z.type = converted %Assoc.ref, %Z.facet.loc24_18.2 [symbolic = %Z.facet.loc24_18.1 (constants.%Z.facet.4d3)] +// CHECK:STDOUT: %.loc24_18.2: %Z.type = converted %Assoc.ref, %Z.facet.loc24_18.2 [symbolic = %Z.facet.loc24_18.1 (constants.%Z.facet.4d3)] // CHECK:STDOUT: %C.loc24_18.2: type = class_type @C, @C(constants.%Z.facet.4d3) [symbolic = %C.loc24_18.1 (constants.%C.fd5)] // CHECK:STDOUT: } // CHECK:STDOUT: %c: @I.WithSelf.F.%C.loc24_18.1 (%C.fd5) = wrapper_binding c, %c.param @@ -277,7 +276,6 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %I.lookup_impl_witness: = lookup_impl_witness %Self, @I [symbolic = %I.lookup_impl_witness (constants.%I.lookup_impl_witness)] // CHECK:STDOUT: %impl.elem0.loc24_13.1: %Y.type = impl_witness_access %I.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc24_13.1 (constants.%impl.elem0)] // CHECK:STDOUT: %as_type: type = facet_access_type %impl.elem0.loc24_13.1 [symbolic = %as_type (constants.%as_type)] -// CHECK:STDOUT: %.loc24_18.1: require_specific_def_type = require_specific_def @U.as.Z.impl(%as_type) [symbolic = %.loc24_18.1 (constants.%.ada)] // CHECK:STDOUT: %Z.lookup_impl_witness: = lookup_impl_witness %impl.elem0.loc24_13.1, @Z [symbolic = %Z.lookup_impl_witness (constants.%Z.lookup_impl_witness)] // CHECK:STDOUT: %Z.facet.loc24_18.1: %Z.type = facet_value %as_type, (%Z.lookup_impl_witness) [symbolic = %Z.facet.loc24_18.1 (constants.%Z.facet.4d3)] // CHECK:STDOUT: %C.loc24_18.1: type = class_type @C, @C(%Z.facet.loc24_18.1) [symbolic = %C.loc24_18.1 (constants.%C.fd5)] @@ -330,8 +328,6 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %U.loc9_15.2 => constants.%as_type // CHECK:STDOUT: %.loc9_30 => constants.%.85e // CHECK:STDOUT: %Z.impl_witness.loc9_30.2 => constants.%Z.impl_witness.19e -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C(constants.%Z.facet.4d3) { @@ -344,7 +340,6 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.lookup_impl_witness // CHECK:STDOUT: %impl.elem0.loc24_13.1 => constants.%impl.elem0 // CHECK:STDOUT: %as_type => constants.%as_type -// CHECK:STDOUT: %.loc24_18.1 => constants.%.ada // CHECK:STDOUT: %Z.lookup_impl_witness => constants.%Z.lookup_impl_witness // CHECK:STDOUT: %Z.facet.loc24_18.1 => constants.%Z.facet.4d3 // CHECK:STDOUT: %C.loc24_18.1 => constants.%C.fd5 @@ -391,14 +386,6 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %pattern_type.c5c: type = pattern_type %C.790 [symbolic] // CHECK:STDOUT: %c.param_patt.a95: %pattern_type.c5c = value_param_pattern [symbolic] // CHECK:STDOUT: %c.patt.501: %pattern_type.c5c = wrapper_binding_pattern c, %c.param_patt.a95 [symbolic] -// CHECK:STDOUT: %U: type = symbolic_binding U, 0 [symbolic] -// CHECK:STDOUT: %.0ce: = impl_self_witness %U, @Z [symbolic] -// CHECK:STDOUT: %Z.impl_witness.01b: = impl_witness imports.%Z.impl_witness_table, @U.as.Z.impl(%U) [symbolic] -// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] -// CHECK:STDOUT: %.b71: = impl_self_witness %impl.elem0.67e, @Z [symbolic] -// CHECK:STDOUT: %Z.impl_witness.322: = impl_witness imports.%Z.impl_witness_table, @U.as.Z.impl(%as_type) [symbolic] -// CHECK:STDOUT: %.9a3: require_specific_def_type = require_specific_def @U.as.Z.impl(%as_type) [symbolic] // CHECK:STDOUT: %.Self.frozen.3a0: %I.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %I.WithSelf.F.type.df7: type = fn_type @I.WithSelf.F, @I.WithSelf(%.Self.frozen.3a0) [symbolic_self] // CHECK:STDOUT: %I.WithSelf.F.c96: %I.WithSelf.F.type.df7 = struct_value () [symbolic_self] @@ -411,6 +398,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %.fdf: = impl_self_witness %T, @Y [symbolic] // CHECK:STDOUT: %Y.impl_witness.28b: = impl_witness imports.%Y.impl_witness_table, @T.as.Y.impl(%T) [symbolic] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %.fa3: = impl_self_witness %empty_tuple.type, @Y [concrete] // CHECK:STDOUT: %Y.impl_witness.ef1: = impl_witness imports.%Y.impl_witness_table, @T.as.Y.impl(%empty_tuple.type) [concrete] @@ -421,9 +409,12 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %I_where.type.ca7: type = facet_type <@I where %impl.elem0.e02 = %Y.facet> [concrete] // CHECK:STDOUT: %.aa7: = 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: %U: type = symbolic_binding U, 0 [symbolic] +// CHECK:STDOUT: %.0ce: = impl_self_witness %U, @Z [symbolic] +// CHECK:STDOUT: %Z.impl_witness.01b: = impl_witness imports.%Z.impl_witness_table, @U.as.Z.impl(%U) [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %.78e: = impl_self_witness %empty_tuple.type, @Z [concrete] // CHECK:STDOUT: %Z.impl_witness.3e9: = impl_witness imports.%Z.impl_witness_table, @U.as.Z.impl(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %.f3b: require_specific_def_type = require_specific_def @U.as.Z.impl(%empty_tuple.type) [concrete] // CHECK:STDOUT: %Z.facet.f3d: %Z.type = facet_value %empty_tuple.type, (%Z.impl_witness.3e9) [concrete] // CHECK:STDOUT: %C.88c: type = class_type @C, @C(%Z.facet.f3d) [concrete] // CHECK:STDOUT: %pattern_type.fca: type = pattern_type %C.88c [concrete] @@ -450,11 +441,6 @@ 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.80f = 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.e58: = import_ref Main//impl_def, loc9_30, loaded [symbolic = @U.as.Z.impl.%Z.impl_witness (constants.%Z.impl_witness.01b)] -// 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] -// CHECK:STDOUT: %Main.import_ref.b3bc94.1: type = import_ref Main//impl_def, loc9_15, loaded [symbolic = @U.as.Z.impl.%U (constants.%U)] // CHECK:STDOUT: %Main.import_ref.e59c42.2: %I.type = import_ref Main//impl_def, loc15_13, loaded [symbolic = constants.%Self.dda] // 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] @@ -463,7 +449,12 @@ impl forall [N: E] D(N) as I where .Assoc = () { // 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] -// CHECK:STDOUT: %Main.import_ref.b3bc94.2: type = import_ref Main//impl_def, loc5_15, loaded [symbolic = @T.as.Y.impl.%T (constants.%T)] +// CHECK:STDOUT: %Main.import_ref.b3bc94.1: type = import_ref Main//impl_def, loc5_15, loaded [symbolic = @T.as.Y.impl.%T (constants.%T)] +// CHECK:STDOUT: %Main.import_ref.e58: = import_ref Main//impl_def, loc9_30, loaded [symbolic = @U.as.Z.impl.%Z.impl_witness (constants.%Z.impl_witness.01b)] +// 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] +// CHECK:STDOUT: %Main.import_ref.b3bc94.2: type = import_ref Main//impl_def, loc9_15, loaded [symbolic = @U.as.Z.impl.%U (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -546,21 +537,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: !requires: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic impl @U.as.Z.impl(imports.%Main.import_ref.b3bc94.1: type) [from "impl_def.carbon"] { -// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = 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.01b)] -// 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.e58 -// CHECK:STDOUT: } -// CHECK:STDOUT: } -// CHECK:STDOUT: -// CHECK:STDOUT: generic impl @T.as.Y.impl(imports.%Main.import_ref.b3bc94.2: type) [from "impl_def.carbon"] { +// CHECK:STDOUT: generic impl @T.as.Y.impl(imports.%Main.import_ref.b3bc94.1: type) [from "impl_def.carbon"] { // CHECK:STDOUT: %T.patt: %pattern_type.9a5 = 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)] @@ -612,6 +589,20 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: +// CHECK:STDOUT: generic impl @U.as.Z.impl(imports.%Main.import_ref.b3bc94.2: type) [from "impl_def.carbon"] { +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = 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.01b)] +// 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.e58 +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: // CHECK:STDOUT: class @E { // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type.357] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -654,7 +645,6 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %I.lookup_impl_witness: = lookup_impl_witness %Self, @I [symbolic = %I.lookup_impl_witness (constants.%I.lookup_impl_witness)] // CHECK:STDOUT: %impl.elem0: %Y.type = impl_witness_access %I.lookup_impl_witness, element0 [symbolic = %impl.elem0 (constants.%impl.elem0.67e)] // CHECK:STDOUT: %as_type: type = facet_access_type %impl.elem0 [symbolic = %as_type (constants.%as_type)] -// CHECK:STDOUT: %.1: require_specific_def_type = require_specific_def @U.as.Z.impl(%as_type) [symbolic = %.1 (constants.%.9a3)] // CHECK:STDOUT: %Z.lookup_impl_witness: = lookup_impl_witness %impl.elem0, @Z [symbolic = %Z.lookup_impl_witness (constants.%Z.lookup_impl_witness)] // CHECK:STDOUT: %Z.facet: %Z.type = facet_value %as_type, (%Z.lookup_impl_witness) [symbolic = %Z.facet (constants.%Z.facet.416)] // CHECK:STDOUT: %C: type = class_type @C, @C(%Z.facet) [symbolic = %C (constants.%C.790)] @@ -704,28 +694,11 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %V => constants.%Z.facet.416 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @U.as.Z.impl(constants.%U) { -// 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.01b -// 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.%.b71 -// CHECK:STDOUT: %Z.impl_witness => constants.%Z.impl_witness.322 -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: -// CHECK:STDOUT: } -// CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.F(constants.%Self.dda) { // CHECK:STDOUT: %Self => constants.%Self.dda // CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.lookup_impl_witness // CHECK:STDOUT: %impl.elem0 => constants.%impl.elem0.67e // CHECK:STDOUT: %as_type => constants.%as_type -// CHECK:STDOUT: %.1 => constants.%.9a3 // CHECK:STDOUT: %Z.lookup_impl_witness => constants.%Z.lookup_impl_witness // CHECK:STDOUT: %Z.facet => constants.%Z.facet.416 // CHECK:STDOUT: %C => constants.%C.790 @@ -753,8 +726,6 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %T => constants.%empty_tuple.type // CHECK:STDOUT: %.1 => constants.%.fa3 // CHECK:STDOUT: %Y.impl_witness => constants.%Y.impl_witness.ef1 -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @D.as.I.impl(constants.%N) { @@ -769,13 +740,18 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %D.as.I.impl.F => constants.%D.as.I.impl.F // CHECK:STDOUT: } // CHECK:STDOUT: +// CHECK:STDOUT: specific @U.as.Z.impl(constants.%U) { +// 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.01b +// CHECK:STDOUT: } +// CHECK:STDOUT: // CHECK:STDOUT: specific @U.as.Z.impl(constants.%empty_tuple.type) { // 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.3e9 -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C(constants.%Z.facet.f3d) { @@ -799,7 +775,6 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.impl_witness // CHECK:STDOUT: %impl.elem0 => constants.%Y.facet // CHECK:STDOUT: %as_type => constants.%empty_tuple.type -// CHECK:STDOUT: %.1 => constants.%.f3b // CHECK:STDOUT: %Z.lookup_impl_witness => constants.%Z.impl_witness.3e9 // CHECK:STDOUT: %Z.facet => constants.%Z.facet.f3d // CHECK:STDOUT: %C => constants.%C.88c diff --git a/toolchain/check/testdata/impl/import_thunk.carbon b/toolchain/check/testdata/impl/import_thunk.carbon index 285ac626c238..bc6234a7ff68 100644 --- a/toolchain/check/testdata/impl/import_thunk.carbon +++ b/toolchain/check/testdata/impl/import_thunk.carbon @@ -153,11 +153,8 @@ fn G() { // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %SubobjectDestroy.type: type = facet_type <@SubobjectDestroy> [concrete] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.267: = lookup_impl_witness %C.49b051.2, @DestroyImpl [symbolic] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.598: = lookup_impl_witness %C.49b051.2, @SubobjectDestroy [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.04b: %SubobjectDestroy.type = facet_value %C.49b051.2, (%SubobjectDestroy.lookup_impl_witness.598) [symbolic] -// CHECK:STDOUT: %.d90: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.04b) [symbolic] // CHECK:STDOUT: %Destroy.facet: %Destroy.type = facet_value %C.49b051.2, (%DestroyImpl.lookup_impl_witness.267, %SubobjectDestroy.lookup_impl_witness.598) [symbolic] // CHECK:STDOUT: %SelfDestruct.specific_fn: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet) [symbolic] // CHECK:STDOUT: } @@ -314,10 +311,8 @@ fn G() { // CHECK:STDOUT: %require_complete: = require_complete_type %C [symbolic = %require_complete (constants.%require_complete.6db)] // CHECK:STDOUT: %C.val: @C.as.I.impl.F.loc8_24.2.%C (%C.49b051.2) = struct_value () [symbolic = %C.val (constants.%C.val)] // CHECK:STDOUT: %.loc8_24.9: ref @C.as.I.impl.F.loc8_24.2.%C (%C.49b051.2) = temporary invalid, %C.val [symbolic = %.loc8_24.9 (constants.%.f6a)] -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %C, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.598)] -// CHECK:STDOUT: %SubobjectDestroy.facet: %SubobjectDestroy.type = facet_value %C, (%SubobjectDestroy.lookup_impl_witness) [symbolic = %SubobjectDestroy.facet (constants.%SubobjectDestroy.facet.04b)] -// CHECK:STDOUT: %.loc8_24.10: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet) [symbolic = %.loc8_24.10 (constants.%.d90)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness: = lookup_impl_witness %C, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness (constants.%DestroyImpl.lookup_impl_witness.267)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %C, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.598)] // CHECK:STDOUT: %Destroy.facet.loc8_24.3: %Destroy.type = facet_value %C, (%DestroyImpl.lookup_impl_witness, %SubobjectDestroy.lookup_impl_witness) [symbolic = %Destroy.facet.loc8_24.3 (constants.%Destroy.facet)] // CHECK:STDOUT: %SelfDestruct.specific_fn.2: = specific_function constants.%SelfDestruct, @SelfDestruct(%Destroy.facet.loc8_24.3) [symbolic = %SelfDestruct.specific_fn.2 (constants.%SelfDestruct.specific_fn)] // CHECK:STDOUT: @@ -445,24 +440,19 @@ fn G() { // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.710: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.c41) [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.04b: %SubobjectDestroy.type = facet_value %C.49b051.2, (%SubobjectDestroy.lookup_impl_witness.598) [symbolic] -// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] -// CHECK:STDOUT: %.d90: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.04b) [symbolic] // CHECK:STDOUT: %C.val.a80: %C.49b051.2 = struct_value () [symbolic] // CHECK:STDOUT: %.f6a: ref %C.49b051.2 = temporary invalid, %C.val.a80 [symbolic] // CHECK:STDOUT: %C.as.I.impl.F.specific_fn.4fa: = specific_function %C.as.I.impl.F.beb65e.2, @C.as.I.impl.F.2(%Y) [symbolic] // CHECK:STDOUT: %.675: = impl_self_witness %C.6dc, @I [concrete] // CHECK:STDOUT: %I.impl_witness.d52: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl(%empty_tuple) [concrete] -// CHECK:STDOUT: %C.as.I.impl.F.type.656594.1: type = fn_type @C.as.I.impl.F.2, @C.as.I.impl(%empty_tuple) [concrete] -// CHECK:STDOUT: %C.as.I.impl.F.c2b15c.1: %C.as.I.impl.F.type.656594.1 = struct_value () [concrete] -// CHECK:STDOUT: %C.as.I.impl.F.type.656594.2: type = fn_type @C.as.I.impl.F.1, @C.as.I.impl(%empty_tuple) [concrete] -// CHECK:STDOUT: %C.as.I.impl.F.c2b15c.2: %C.as.I.impl.F.type.656594.2 = struct_value () [concrete] // CHECK:STDOUT: %I.facet.1d2: %I.type = facet_value %C.6dc, (%I.impl_witness.d52) [concrete] // CHECK:STDOUT: %I.WithSelf.F.type.e91: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.1d2) [concrete] // CHECK:STDOUT: %I.WithSelf.F.f1f: %I.WithSelf.F.type.e91 = struct_value () [concrete] // CHECK:STDOUT: %.492: type = fn_type_with_self_type %I.WithSelf.F.type.e91, %I.facet.1d2 [concrete] +// CHECK:STDOUT: %C.as.I.impl.F.type.656594.1: type = fn_type @C.as.I.impl.F.2, @C.as.I.impl(%empty_tuple) [concrete] +// CHECK:STDOUT: %C.as.I.impl.F.c2b15c.1: %C.as.I.impl.F.type.656594.1 = struct_value () [concrete] +// CHECK:STDOUT: %C.as.I.impl.F.type.656594.2: type = fn_type @C.as.I.impl.F.1, @C.as.I.impl(%empty_tuple) [concrete] +// CHECK:STDOUT: %C.as.I.impl.F.c2b15c.2: %C.as.I.impl.F.type.656594.2 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %C.as.I.impl.F.specific_fn.a6ea0c.1: = specific_function %C.as.I.impl.F.c2b15c.2, @C.as.I.impl.F.1(%empty_tuple) [concrete] // CHECK:STDOUT: %pattern_type.6b7: type = pattern_type %C.6dc [concrete] @@ -474,9 +464,11 @@ fn G() { // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.2: type = fn_type @SubobjectDestroy.WithSelf.Op.loc7_16.2 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.2: %SubobjectDestroy.WithSelf.Op.type.6870fd.2 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.b80ef6.2: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.2), @SubobjectDestroy [concrete] +// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %SubobjectDestroy.facet.5e8: %SubobjectDestroy.type = facet_value %C.6dc, (%custom_witness.b80ef6.2) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.1fe: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.5e8) [concrete] -// CHECK:STDOUT: %.134: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.5e8) [concrete] // CHECK:STDOUT: %Destroy.facet.cb2: %Destroy.type = facet_value %C.6dc, (%custom_witness.b80ef6.2, %DestroyImpl.impl_witness.1fe) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.2f8: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.cb2) [concrete] // CHECK:STDOUT: } @@ -504,12 +496,12 @@ fn G() { // 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)] // CHECK:STDOUT: %Main.F.611: @C.as.I.impl.%C.as.I.impl.F.type.1 (%C.as.I.impl.F.type.7e1c37.2) = import_ref Main//b, F, loaded [symbolic = @C.as.I.impl.%C.as.I.impl.F.1 (constants.%C.as.I.impl.F.beb65e.2)] // CHECK:STDOUT: %Main.import_ref.c90e1a.3: %empty_tuple.type = import_ref Main//b, loc7_15, loaded [symbolic = @C.as.I.impl.%Y (constants.%Y)] -// CHECK:STDOUT: %Main.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Main//b, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Main.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Main.import_ref.821: type = import_ref Main//b, loc7_24, loaded [symbolic = @C.as.I.impl.%C (constants.%C.49b051.2)] // CHECK:STDOUT: %Main.import_ref.e90: type = import_ref Main//b, loc7_29, loaded [concrete = constants.%I.type] // CHECK:STDOUT: %Main.import_ref.c90e1a.4: %empty_tuple.type = import_ref Main//b, loc7_15, loaded [symbolic = @C.as.I.impl.%Y (constants.%Y)] // CHECK:STDOUT: %Core.SelfDestruct: %SelfDestruct.type = import_ref Core//prelude/parts/destroy, SelfDestruct, loaded [concrete = constants.%SelfDestruct] +// CHECK:STDOUT: %Main.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Main//b, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Main.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -614,10 +606,8 @@ fn G() { // CHECK:STDOUT: %require_complete: = require_complete_type %C [symbolic = %require_complete (constants.%require_complete.6db)] // CHECK:STDOUT: %C.val: @C.as.I.impl.F.1.%C (%C.49b051.2) = struct_value () [symbolic = %C.val (constants.%C.val.a80)] // CHECK:STDOUT: %.1: ref @C.as.I.impl.F.1.%C (%C.49b051.2) = temporary invalid, %C.val [symbolic = %.1 (constants.%.f6a)] -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %C, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.598)] -// CHECK:STDOUT: %SubobjectDestroy.facet: %SubobjectDestroy.type = facet_value %C, (%SubobjectDestroy.lookup_impl_witness) [symbolic = %SubobjectDestroy.facet (constants.%SubobjectDestroy.facet.04b)] -// CHECK:STDOUT: %.2: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet) [symbolic = %.2 (constants.%.d90)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness: = lookup_impl_witness %C, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness (constants.%DestroyImpl.lookup_impl_witness.267)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %C, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.598)] // CHECK:STDOUT: %Destroy.facet: %Destroy.type = facet_value %C, (%SubobjectDestroy.lookup_impl_witness, %DestroyImpl.lookup_impl_witness) [symbolic = %Destroy.facet (constants.%Destroy.facet.c41)] // CHECK:STDOUT: %SelfDestruct.specific_fn: = specific_function constants.%SelfDestruct, @SelfDestruct(%Destroy.facet) [symbolic = %SelfDestruct.specific_fn (constants.%SelfDestruct.specific_fn.710)] // CHECK:STDOUT: @@ -729,10 +719,8 @@ fn G() { // CHECK:STDOUT: %require_complete => constants.%complete_type // CHECK:STDOUT: %C.val => constants.%C.val.be3 // CHECK:STDOUT: %.1 => constants.%.b3f -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness => constants.%custom_witness.b80ef6.2 -// CHECK:STDOUT: %SubobjectDestroy.facet => constants.%SubobjectDestroy.facet.5e8 -// CHECK:STDOUT: %.2 => constants.%.134 // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness => constants.%DestroyImpl.impl_witness.1fe +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness => constants.%custom_witness.b80ef6.2 // CHECK:STDOUT: %Destroy.facet => constants.%Destroy.facet.cb2 // CHECK:STDOUT: %SelfDestruct.specific_fn => constants.%SelfDestruct.specific_fn.2f8 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/import_use_generic.carbon b/toolchain/check/testdata/impl/import_use_generic.carbon index 2a51a3abaf61..abdc212553db 100644 --- a/toolchain/check/testdata/impl/import_use_generic.carbon +++ b/toolchain/check/testdata/impl/import_use_generic.carbon @@ -241,12 +241,12 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %C.as.I.impl.F.55f: %C.as.I.impl.F.type.3e4 = struct_value () [symbolic] // CHECK:STDOUT: %.442: = impl_self_witness %C.664, @I [concrete] // CHECK:STDOUT: %I.impl_witness.85d: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %C.as.I.impl.F.type.18e: type = fn_type @C.as.I.impl.F, @C.as.I.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %C.as.I.impl.F.bb5: %C.as.I.impl.F.type.18e = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C.664, (%I.impl_witness.85d) [concrete] // CHECK:STDOUT: %I.WithSelf.F.type.425: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] // CHECK:STDOUT: %I.WithSelf.F.552: %I.WithSelf.F.type.425 = struct_value () [concrete] // CHECK:STDOUT: %.250: type = fn_type_with_self_type %I.WithSelf.F.type.425, %I.facet [concrete] +// CHECK:STDOUT: %C.as.I.impl.F.type.18e: type = fn_type @C.as.I.impl.F, @C.as.I.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %C.as.I.impl.F.bb5: %C.as.I.impl.F.type.18e = struct_value () [concrete] // CHECK:STDOUT: %C.as.I.impl.F.specific_fn: = specific_function %C.as.I.impl.F.bb5, @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] diff --git a/toolchain/check/testdata/impl/lookup/generic.carbon b/toolchain/check/testdata/impl/lookup/generic.carbon index 3df08b5ce9eb..cb20d0e38f18 100644 --- a/toolchain/check/testdata/impl/lookup/generic.carbon +++ b/toolchain/check/testdata/impl/lookup/generic.carbon @@ -161,12 +161,12 @@ fn G(x: A) { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %.94a: = impl_self_witness %empty_struct_type, @HasF [concrete] // CHECK:STDOUT: %HasF.impl_witness.ff5: = 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.8e3: type = fn_type @T.as.HasF.impl.F, @T.as.HasF.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %T.as.HasF.impl.F.7f6: %T.as.HasF.impl.F.type.8e3 = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet.3e9: %HasF.type = facet_value %empty_struct_type, (%HasF.impl_witness.ff5) [concrete] // CHECK:STDOUT: %HasF.WithSelf.F.type.3c3: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.3e9) [concrete] // CHECK:STDOUT: %HasF.WithSelf.F.a9c: %HasF.WithSelf.F.type.3c3 = struct_value () [concrete] // CHECK:STDOUT: %.e22: type = fn_type_with_self_type %HasF.WithSelf.F.type.3c3, %HasF.facet.3e9 [concrete] +// CHECK:STDOUT: %T.as.HasF.impl.F.type.8e3: type = fn_type @T.as.HasF.impl.F, @T.as.HasF.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %T.as.HasF.impl.F.7f6: %T.as.HasF.impl.F.type.8e3 = struct_value () [concrete] // CHECK:STDOUT: %self.param_patt.482: %pattern_type.a96 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.602: %pattern_type.a96 = wrapper_binding_pattern self, %self.param_patt.482 [concrete] // CHECK:STDOUT: %T.as.HasF.impl.F.specific_fn: = specific_function %T.as.HasF.impl.F.7f6, @T.as.HasF.impl.F(%empty_struct_type) [concrete] @@ -426,7 +426,6 @@ fn G(x: A) { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.lookup_impl_witness.1da: = lookup_impl_witness %ptr.e8f, @Copy [symbolic] -// CHECK:STDOUT: %.66e: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %Copy.facet.302: %Copy.type = facet_value %ptr.e8f, (%Copy.lookup_impl_witness.1da) [symbolic] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e38: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.302) [symbolic] // CHECK:STDOUT: %.3f816: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e38, %Copy.facet.302 [symbolic] @@ -445,23 +444,22 @@ fn G(x: A) { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %.897: = impl_self_witness %ptr.c28, @HasF [concrete] // CHECK:STDOUT: %HasF.impl_witness.0a0: = 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.1bd: type = fn_type @ptr.as.HasF.impl.F, @ptr.as.HasF.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %ptr.as.HasF.impl.F.e1a: %ptr.as.HasF.impl.F.type.1bd = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet.73b: %HasF.type = facet_value %ptr.c28, (%HasF.impl_witness.0a0) [concrete] // CHECK:STDOUT: %HasF.WithSelf.F.type.a86: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.73b) [concrete] // CHECK:STDOUT: %HasF.WithSelf.F.4e6: %HasF.WithSelf.F.type.a86 = struct_value () [concrete] // CHECK:STDOUT: %.2ac: type = fn_type_with_self_type %HasF.WithSelf.F.type.a86, %HasF.facet.73b [concrete] +// CHECK:STDOUT: %ptr.as.HasF.impl.F.type.1bd: type = fn_type @ptr.as.HasF.impl.F, @ptr.as.HasF.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %ptr.as.HasF.impl.F.e1a: %ptr.as.HasF.impl.F.type.1bd = struct_value () [concrete] // CHECK:STDOUT: %self.param_patt.4b0: %pattern_type.1cc = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.2ab: %pattern_type.1cc = wrapper_binding_pattern self, %self.param_patt.4b0 [concrete] // CHECK:STDOUT: %ptr.as.HasF.impl.F.specific_fn: = specific_function %ptr.as.HasF.impl.F.e1a, @ptr.as.HasF.impl.F(%empty_struct_type) [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %ptr.c28 [concrete] // CHECK:STDOUT: %Copy.impl_witness.977: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.e24: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.dd0: %ptr.as.Copy.impl.Op.type.e24 = struct_value () [concrete] -// CHECK:STDOUT: %.c70: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %Copy.facet.dfa: %Copy.type = facet_value %ptr.c28, (%Copy.impl_witness.977) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.c85: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.dfa) [concrete] // CHECK:STDOUT: %.dfd: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c85, %Copy.facet.dfa [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.e24: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.dd0: %ptr.as.Copy.impl.Op.type.e24 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.dd0, @ptr.as.Copy.impl.Op(%empty_struct_type) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -622,18 +620,17 @@ fn G(x: A) { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %ptr.loc9_8 [symbolic = %require_complete (constants.%require_complete.ef1)] -// CHECK:STDOUT: %.loc9_29.3: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T) [symbolic = %.loc9_29.3 (constants.%.66e)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr.loc9_8, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.1da)] // CHECK:STDOUT: %Copy.facet.loc9_29.3: %Copy.type = facet_value %ptr.loc9_8, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc9_29.3 (constants.%Copy.facet.302)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.loc9_29.3) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.e38)] -// CHECK:STDOUT: %.loc9_29.4: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc9_29.3 [symbolic = %.loc9_29.4 (constants.%.3f816)] -// CHECK:STDOUT: %impl.elem0.loc9_29.2: @ptr.as.HasF.impl.F.%.loc9_29.4 (%.3f816) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc9_29.2 (constants.%impl.elem0.24a)] +// CHECK:STDOUT: %.loc9_29.3: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc9_29.3 [symbolic = %.loc9_29.3 (constants.%.3f816)] +// CHECK:STDOUT: %impl.elem0.loc9_29.2: @ptr.as.HasF.impl.F.%.loc9_29.3 (%.3f816) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc9_29.2 (constants.%impl.elem0.24a)] // CHECK:STDOUT: %specific_impl_fn.loc9_29.2: = specific_impl_function %impl.elem0.loc9_29.2, @Copy.WithSelf.Op(%Copy.facet.loc9_29.3) [symbolic = %specific_impl_fn.loc9_29.2 (constants.%specific_impl_fn.6b3)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%self.param: @ptr.as.HasF.impl.F.%ptr.loc9_8 (%ptr.e8f)) -> out %return.param: @ptr.as.HasF.impl.F.%ptr.loc9_8 (%ptr.e8f) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %self.ref: @ptr.as.HasF.impl.F.%ptr.loc9_8 (%ptr.e8f) = name_ref self, %self -// CHECK:STDOUT: %impl.elem0.loc9_29.1: @ptr.as.HasF.impl.F.%.loc9_29.4 (%.3f816) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc9_29.2 (constants.%impl.elem0.24a)] +// CHECK:STDOUT: %impl.elem0.loc9_29.1: @ptr.as.HasF.impl.F.%.loc9_29.3 (%.3f816) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc9_29.2 (constants.%impl.elem0.24a)] // CHECK:STDOUT: %bound_method.loc9_29.1: = bound_method %self.ref, %impl.elem0.loc9_29.1 // CHECK:STDOUT: %Copy.facet.loc9_29.1: %Copy.type = facet_value constants.%ptr.e8f, (constants.%Copy.lookup_impl_witness.1da) [symbolic = %Copy.facet.loc9_29.3 (constants.%Copy.facet.302)] // CHECK:STDOUT: %.loc9_29.1: %Copy.type = converted constants.%ptr.e8f, %Copy.facet.loc9_29.1 [symbolic = %Copy.facet.loc9_29.3 (constants.%Copy.facet.302)] @@ -749,11 +746,10 @@ fn G(x: A) { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type -// CHECK:STDOUT: %.loc9_29.3 => constants.%.c70 // CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.977 // CHECK:STDOUT: %Copy.facet.loc9_29.3 => constants.%Copy.facet.dfa // CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.c85 -// CHECK:STDOUT: %.loc9_29.4 => constants.%.dfd +// CHECK:STDOUT: %.loc9_29.3 => constants.%.dfd // CHECK:STDOUT: %impl.elem0.loc9_29.2 => constants.%ptr.as.Copy.impl.Op.dd0 // CHECK:STDOUT: %specific_impl_fn.loc9_29.2 => constants.%ptr.as.Copy.impl.Op.specific_fn // CHECK:STDOUT: } @@ -802,12 +798,12 @@ fn G(x: A) { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %.380: = impl_self_witness %C.664, @HasF [concrete] // CHECK:STDOUT: %HasF.impl_witness.f04: = 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.a25: type = fn_type @C.as.HasF.impl.F, @C.as.HasF.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %C.as.HasF.impl.F.118: %C.as.HasF.impl.F.type.a25 = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet.bda: %HasF.type = facet_value %C.664, (%HasF.impl_witness.f04) [concrete] // CHECK:STDOUT: %HasF.WithSelf.F.type.f16: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.bda) [concrete] // CHECK:STDOUT: %HasF.WithSelf.F.913: %HasF.WithSelf.F.type.f16 = struct_value () [concrete] // CHECK:STDOUT: %.7a2: type = fn_type_with_self_type %HasF.WithSelf.F.type.f16, %HasF.facet.bda [concrete] +// CHECK:STDOUT: %C.as.HasF.impl.F.type.a25: type = fn_type @C.as.HasF.impl.F, @C.as.HasF.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %C.as.HasF.impl.F.118: %C.as.HasF.impl.F.type.a25 = struct_value () [concrete] // CHECK:STDOUT: %self.param_patt.6f3: %pattern_type.917 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.917: %pattern_type.917 = wrapper_binding_pattern self, %self.param_patt.6f3 [concrete] // CHECK:STDOUT: %C.as.HasF.impl.F.specific_fn: = specific_function %C.as.HasF.impl.F.118, @C.as.HasF.impl.F(%empty_struct_type) [concrete] @@ -1121,13 +1117,13 @@ fn G(x: A) { // CHECK:STDOUT: %assoc0.bc3: %HasF.assoc_type.603 = assoc_entity element0, @HasF.WithSelf.%HasF.WithSelf.F.decl [concrete] // CHECK:STDOUT: %.c97: = impl_self_witness %empty_struct_type, @HasF, @HasF(%empty_struct_type) [concrete] // CHECK:STDOUT: %HasF.impl_witness.6dc: = 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.c3e [concrete] -// CHECK:STDOUT: %empty_struct_type.as.HasF.impl.F.type.b63: 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.48e: %empty_struct_type.as.HasF.impl.F.type.b63 = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet.25b: %HasF.type.c3e = facet_value %empty_struct_type, (%HasF.impl_witness.6dc) [concrete] // CHECK:STDOUT: %HasF.WithSelf.F.type.81d: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%empty_struct_type, %HasF.facet.25b) [concrete] // CHECK:STDOUT: %HasF.WithSelf.F.6cd: %HasF.WithSelf.F.type.81d = struct_value () [concrete] // CHECK:STDOUT: %.756: type = fn_type_with_self_type %HasF.WithSelf.F.type.81d, %HasF.facet.25b [concrete] +// CHECK:STDOUT: %complete_type: = complete_type_witness %HasF.type.c3e [concrete] +// CHECK:STDOUT: %empty_struct_type.as.HasF.impl.F.type.b63: 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.48e: %empty_struct_type.as.HasF.impl.F.type.b63 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type.as.HasF.impl.F.specific_fn: = specific_function %empty_struct_type.as.HasF.impl.F.48e, @empty_struct_type.as.HasF.impl.F(%empty_struct_type) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/lookup/impl_forall.carbon b/toolchain/check/testdata/impl/lookup/impl_forall.carbon index 8c73dc2b1839..36397bbffdaf 100644 --- a/toolchain/check/testdata/impl/lookup/impl_forall.carbon +++ b/toolchain/check/testdata/impl/lookup/impl_forall.carbon @@ -71,16 +71,15 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %pattern_type.4f4b84.2: type = pattern_type %ptr.e8f8f9.2 [symbolic] // CHECK:STDOUT: %return.param_patt.27f587.2: %pattern_type.4f4b84.2 = out_param_pattern [symbolic] // CHECK:STDOUT: %return.patt.d67681.2: %pattern_type.4f4b84.2 = return_slot_pattern %return.param_patt.27f587.2, %ptr.e8f8f9.2 [symbolic] -// CHECK:STDOUT: %A.as.I.impl.F.type.dfb622.1: type = fn_type @A.as.I.impl.F, @A.as.I.impl(%V.67d) [symbolic] -// CHECK:STDOUT: %A.as.I.impl.F.4df840.1: %A.as.I.impl.F.type.dfb622.1 = struct_value () [symbolic] +// CHECK:STDOUT: %A.as.I.impl.F.type.dfb: type = fn_type @A.as.I.impl.F, @A.as.I.impl(%V.67d) [symbolic] +// CHECK:STDOUT: %A.as.I.impl.F.4df: %A.as.I.impl.F.type.dfb = struct_value () [symbolic] // CHECK:STDOUT: %A.elem.ca6ecf.2: type = unbound_element_type %A.59fd23.2, %V.67d [symbolic] // CHECK:STDOUT: %require_complete.e7d: = require_complete_type %A.59fd23.2 [symbolic] // CHECK:STDOUT: %require_complete.ef162c.1: = require_complete_type %ptr.e8f8f9.2 [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20faaa.1: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.f125b3.1: %ptr.as.Copy.impl.Op.type.20faaa.1 = struct_value () [symbolic] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.lookup_impl_witness.1da: = lookup_impl_witness %ptr.e8f8f9.2, @Copy [symbolic] -// CHECK:STDOUT: %.66e: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%V.67d) [symbolic] // CHECK:STDOUT: %Copy.facet.302: %Copy.type = facet_value %ptr.e8f8f9.2, (%Copy.lookup_impl_witness.1da) [symbolic] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e38: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.302) [symbolic] // CHECK:STDOUT: %.3f816: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e38, %Copy.facet.302 [symbolic] @@ -105,9 +104,6 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %I.lookup_impl_witness: = lookup_impl_witness %A.59fd23.3, @I, @I(%W) [symbolic] // CHECK:STDOUT: %.a07074.2: = impl_self_witness %A.59fd23.3, @I, @I(%W) [symbolic] // CHECK:STDOUT: %I.impl_witness.176366.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.dfb622.2: type = fn_type @A.as.I.impl.F, @A.as.I.impl(%W) [symbolic] -// CHECK:STDOUT: %A.as.I.impl.F.4df840.2: %A.as.I.impl.F.type.dfb622.2 = struct_value () [symbolic] -// CHECK:STDOUT: %.c87: require_specific_def_type = require_specific_def @A.as.I.impl(%W) [symbolic] // CHECK:STDOUT: %I.facet.8ba: %I.type.1843af.3 = facet_value %A.59fd23.3, (%I.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %I.WithSelf.F.type.be9: type = fn_type @I.WithSelf.F, @I.WithSelf(%W, %I.facet.8ba) [symbolic] // CHECK:STDOUT: %.471: type = fn_type_with_self_type %I.WithSelf.F.type.be9, %I.facet.8ba [symbolic] @@ -127,12 +123,12 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %assoc0.65d: %I.assoc_type.e84 = assoc_entity element0, @I.WithSelf.%I.WithSelf.F.decl [concrete] // CHECK:STDOUT: %.d21: = impl_self_witness %A.e9e, @I, @I(%empty_struct_type) [concrete] // CHECK:STDOUT: %I.impl_witness.885: = impl_witness @A.as.I.impl.%I.impl_witness_table, @A.as.I.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %complete_type.a15: = complete_type_witness %I.type.aaf [concrete] -// CHECK:STDOUT: %A.as.I.impl.F.type.eb5: type = fn_type @A.as.I.impl.F, @A.as.I.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %A.as.I.impl.F.d2e: %A.as.I.impl.F.type.eb5 = struct_value () [concrete] // CHECK:STDOUT: %I.facet.41d: %I.type.aaf = facet_value %A.e9e, (%I.impl_witness.885) [concrete] // CHECK:STDOUT: %I.WithSelf.F.type.29f: type = fn_type @I.WithSelf.F, @I.WithSelf(%empty_struct_type, %I.facet.41d) [concrete] // CHECK:STDOUT: %.1c0: type = fn_type_with_self_type %I.WithSelf.F.type.29f, %I.facet.41d [concrete] +// CHECK:STDOUT: %complete_type.a15: = complete_type_witness %I.type.aaf [concrete] +// CHECK:STDOUT: %A.as.I.impl.F.type.eb5: type = fn_type @A.as.I.impl.F, @A.as.I.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %A.as.I.impl.F.d2e: %A.as.I.impl.F.type.eb5 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.304: type = pattern_type %A.e9e [concrete] // CHECK:STDOUT: %self.param_patt.300: %pattern_type.304 = ref_param_pattern [concrete] // CHECK:STDOUT: %self.patt.b46: %pattern_type.304 = wrapper_binding_pattern self, %self.param_patt.300 [concrete] @@ -142,17 +138,16 @@ fn TestSpecific(a: A({})*) -> {}* { // 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.977: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.e24: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.dd0: %ptr.as.Copy.impl.Op.type.e24 = struct_value () [concrete] -// CHECK:STDOUT: %.c70: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %Copy.facet.dfa: %Copy.type = facet_value %ptr.c28, (%Copy.impl_witness.977) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.c85: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.dfa) [concrete] // CHECK:STDOUT: %.dfd: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c85, %Copy.facet.dfa [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.e24: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.dd0: %ptr.as.Copy.impl.Op.type.e24 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.dd0, @ptr.as.Copy.impl.Op(%empty_struct_type) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.06a: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.20faaa.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.f125b3.1)] +// CHECK:STDOUT: %Core.import_ref.06a: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.20f) = 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.f12)] // CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.06a), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -185,11 +180,11 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %I.type.loc12_34.1 [symbolic = %require_complete (constants.%require_complete.abf874.1)] -// CHECK:STDOUT: %A.as.I.impl.F.type: type = fn_type @A.as.I.impl.F, @A.as.I.impl(%V.loc12_15.1) [symbolic = %A.as.I.impl.F.type (constants.%A.as.I.impl.F.type.dfb622.1)] -// CHECK:STDOUT: %A.as.I.impl.F: @A.as.I.impl.%A.as.I.impl.F.type (%A.as.I.impl.F.type.dfb622.1) = struct_value () [symbolic = %A.as.I.impl.F (constants.%A.as.I.impl.F.4df840.1)] +// CHECK:STDOUT: %A.as.I.impl.F.type: type = fn_type @A.as.I.impl.F, @A.as.I.impl(%V.loc12_15.1) [symbolic = %A.as.I.impl.F.type (constants.%A.as.I.impl.F.type.dfb)] +// CHECK:STDOUT: %A.as.I.impl.F: @A.as.I.impl.%A.as.I.impl.F.type (%A.as.I.impl.F.type.dfb) = struct_value () [symbolic = %A.as.I.impl.F (constants.%A.as.I.impl.F.4df)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %A.loc12_26.2 as %I.type.loc12_34.2 { -// CHECK:STDOUT: %A.as.I.impl.F.decl: @A.as.I.impl.%A.as.I.impl.F.type (%A.as.I.impl.F.type.dfb622.1) = fn_decl @A.as.I.impl.F [symbolic = @A.as.I.impl.%A.as.I.impl.F (constants.%A.as.I.impl.F.4df840.1)] { +// CHECK:STDOUT: %A.as.I.impl.F.decl: @A.as.I.impl.%A.as.I.impl.F.type (%A.as.I.impl.F.type.dfb) = fn_decl @A.as.I.impl.F [symbolic = @A.as.I.impl.%A.as.I.impl.F (constants.%A.as.I.impl.F.4df)] { // CHECK:STDOUT: %self.param_patt.loc13_12.1: @A.as.I.impl.F.%pattern_type.loc13_12 (%pattern_type.24fe7f.1) = ref_param_pattern [symbolic = %self.param_patt.loc13_12.2 (constants.%self.param_patt.c67bc5.1)] // CHECK:STDOUT: %self.patt.loc13_12.1: @A.as.I.impl.F.%pattern_type.loc13_12 (%pattern_type.24fe7f.1) = wrapper_binding_pattern self, %self.param_patt.loc13_12.1 [symbolic = %self.patt.loc13_12.2 (constants.%self.patt.43bfed.1)] // CHECK:STDOUT: %return.param_patt.loc13_22.1: @A.as.I.impl.F.%pattern_type.loc13_22 (%pattern_type.4f4b84.2) = out_param_pattern [symbolic = %return.param_patt.loc13_22.2 (constants.%return.param_patt.27f587.2)] @@ -235,12 +230,11 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %require_complete.loc13_12: = require_complete_type %A [symbolic = %require_complete.loc13_12 (constants.%require_complete.e7d)] // CHECK:STDOUT: %require_complete.loc13_18: = require_complete_type %ptr.loc13_22.1 [symbolic = %require_complete.loc13_18 (constants.%require_complete.ef162c.1)] // CHECK:STDOUT: %A.elem: type = unbound_element_type %A, %V [symbolic = %A.elem (constants.%A.elem.ca6ecf.2)] -// CHECK:STDOUT: %.loc14_12.3: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%V) [symbolic = %.loc14_12.3 (constants.%.66e)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr.loc13_22.1, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.1da)] // CHECK:STDOUT: %Copy.facet.loc14_12.3: %Copy.type = facet_value %ptr.loc13_22.1, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc14_12.3 (constants.%Copy.facet.302)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.loc14_12.3) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.e38)] -// CHECK:STDOUT: %.loc14_12.4: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc14_12.3 [symbolic = %.loc14_12.4 (constants.%.3f816)] -// CHECK:STDOUT: %impl.elem0.loc14_12.2: @A.as.I.impl.F.%.loc14_12.4 (%.3f816) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_12.2 (constants.%impl.elem0.24a)] +// CHECK:STDOUT: %.loc14_12.3: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc14_12.3 [symbolic = %.loc14_12.3 (constants.%.3f816)] +// CHECK:STDOUT: %impl.elem0.loc14_12.2: @A.as.I.impl.F.%.loc14_12.3 (%.3f816) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_12.2 (constants.%impl.elem0.24a)] // CHECK:STDOUT: %specific_impl_fn.loc14_12.2: = specific_impl_function %impl.elem0.loc14_12.2, @Copy.WithSelf.Op(%Copy.facet.loc14_12.3) [symbolic = %specific_impl_fn.loc14_12.2 (constants.%specific_impl_fn.6b3)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%self.param: ref @A.as.I.impl.F.%A (%A.59fd23.2)) -> out %return.param: @A.as.I.impl.F.%ptr.loc13_22.1 (%ptr.e8f8f9.2) { @@ -249,7 +243,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %n.ref: @A.as.I.impl.F.%A.elem (%A.elem.ca6ecf.2) = name_ref n, @A.%field_decl [concrete = @A.%field_decl] // CHECK:STDOUT: %.loc14_17: ref @A.as.I.impl.F.%V (%V.67d) = class_element_access %self.ref, element0 // CHECK:STDOUT: %addr: @A.as.I.impl.F.%ptr.loc13_22.1 (%ptr.e8f8f9.2) = addr_of %.loc14_17 -// CHECK:STDOUT: %impl.elem0.loc14_12.1: @A.as.I.impl.F.%.loc14_12.4 (%.3f816) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc14_12.2 (constants.%impl.elem0.24a)] +// CHECK:STDOUT: %impl.elem0.loc14_12.1: @A.as.I.impl.F.%.loc14_12.3 (%.3f816) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc14_12.2 (constants.%impl.elem0.24a)] // CHECK:STDOUT: %bound_method.loc14_12.1: = bound_method %addr, %impl.elem0.loc14_12.1 // CHECK:STDOUT: %Copy.facet.loc14_12.1: %Copy.type = facet_value constants.%ptr.e8f8f9.2, (constants.%Copy.lookup_impl_witness.1da) [symbolic = %Copy.facet.loc14_12.3 (constants.%Copy.facet.302)] // CHECK:STDOUT: %.loc14_12.1: %Copy.type = converted constants.%ptr.e8f8f9.2, %Copy.facet.loc14_12.1 [symbolic = %Copy.facet.loc14_12.3 (constants.%Copy.facet.302)] @@ -271,12 +265,11 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %require_complete.loc21: = require_complete_type %I.type.loc21_17.2 [symbolic = %require_complete.loc21 (constants.%require_complete.abf874.2)] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I, @I(%W.loc19_17.1) [symbolic = %I.assoc_type (constants.%I.assoc_type.a2b03f.3)] // CHECK:STDOUT: %assoc0: @TestGeneric.%I.assoc_type (%I.assoc_type.a2b03f.3) = assoc_entity element0, @I.WithSelf.%I.WithSelf.F.decl [symbolic = %assoc0 (constants.%assoc0.e82d38.3)] -// CHECK:STDOUT: %.loc21_11.2: require_specific_def_type = require_specific_def @A.as.I.impl(%W.loc19_17.1) [symbolic = %.loc21_11.2 (constants.%.c87)] // CHECK:STDOUT: %I.lookup_impl_witness: = lookup_impl_witness %A.loc19_31.1, @I, @I(%W.loc19_17.1) [symbolic = %I.lookup_impl_witness (constants.%I.lookup_impl_witness)] // CHECK:STDOUT: %I.facet: @TestGeneric.%I.type.loc21_17.2 (%I.type.1843af.3) = facet_value %A.loc19_31.1, (%I.lookup_impl_witness) [symbolic = %I.facet (constants.%I.facet.8ba)] // CHECK:STDOUT: %I.WithSelf.F.type: type = fn_type @I.WithSelf.F, @I.WithSelf(%W.loc19_17.1, %I.facet) [symbolic = %I.WithSelf.F.type (constants.%I.WithSelf.F.type.be9)] -// CHECK:STDOUT: %.loc21_11.3: type = fn_type_with_self_type %I.WithSelf.F.type, %I.facet [symbolic = %.loc21_11.3 (constants.%.471)] -// CHECK:STDOUT: %impl.elem0.loc21_11.2: @TestGeneric.%.loc21_11.3 (%.471) = impl_witness_access %I.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc21_11.2 (constants.%impl.elem0.9dd)] +// CHECK:STDOUT: %.loc21_11.2: type = fn_type_with_self_type %I.WithSelf.F.type, %I.facet [symbolic = %.loc21_11.2 (constants.%.471)] +// CHECK:STDOUT: %impl.elem0.loc21_11.2: @TestGeneric.%.loc21_11.2 (%.471) = impl_witness_access %I.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc21_11.2 (constants.%impl.elem0.9dd)] // CHECK:STDOUT: %specific_impl_fn.loc21_11.2: = specific_impl_function %impl.elem0.loc21_11.2, @I.WithSelf.F(%W.loc19_17.1, %I.facet) [symbolic = %specific_impl_fn.loc21_11.2 (constants.%specific_impl_fn.c40)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%a.param: @TestGeneric.%ptr.loc19_32.1 (%ptr.42a)) -> out %return.param: @TestGeneric.%ptr.loc19_39.1 (%ptr.e8f8f9.4) { @@ -288,7 +281,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %.loc21_18: @TestGeneric.%I.assoc_type (%I.assoc_type.a2b03f.3) = specific_constant @I.WithSelf.%assoc0.loc8_23.1, @I.WithSelf(constants.%W, constants.%Self.c5daec.1) [symbolic = %assoc0 (constants.%assoc0.e82d38.3)] // CHECK:STDOUT: %F.ref: @TestGeneric.%I.assoc_type (%I.assoc_type.a2b03f.3) = name_ref F, %.loc21_18 [symbolic = %assoc0 (constants.%assoc0.e82d38.3)] // CHECK:STDOUT: %.loc21_11.1: ref @TestGeneric.%A.loc19_31.1 (%A.59fd23.3) = deref %a.ref -// CHECK:STDOUT: %impl.elem0.loc21_11.1: @TestGeneric.%.loc21_11.3 (%.471) = impl_witness_access constants.%I.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc21_11.2 (constants.%impl.elem0.9dd)] +// CHECK:STDOUT: %impl.elem0.loc21_11.1: @TestGeneric.%.loc21_11.2 (%.471) = impl_witness_access constants.%I.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc21_11.2 (constants.%impl.elem0.9dd)] // CHECK:STDOUT: %bound_method.loc21_11: = bound_method %.loc21_11.1, %impl.elem0.loc21_11.1 // CHECK:STDOUT: %specific_impl_fn.loc21_11.1: = specific_impl_function %impl.elem0.loc21_11.1, @I.WithSelf.F(constants.%W, constants.%I.facet.8ba) [symbolic = %specific_impl_fn.loc21_11.2 (constants.%specific_impl_fn.c40)] // CHECK:STDOUT: %bound_method.loc21_22: = bound_method %.loc21_11.1, %specific_impl_fn.loc21_11.1 @@ -325,8 +318,8 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%require_complete.abf874.1 -// CHECK:STDOUT: %A.as.I.impl.F.type => constants.%A.as.I.impl.F.type.dfb622.1 -// CHECK:STDOUT: %A.as.I.impl.F => constants.%A.as.I.impl.F.4df840.1 +// CHECK:STDOUT: %A.as.I.impl.F.type => constants.%A.as.I.impl.F.type.dfb +// CHECK:STDOUT: %A.as.I.impl.F => constants.%A.as.I.impl.F.4df // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.as.I.impl.F(constants.%V.67d) { @@ -364,11 +357,6 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %I.type.loc12_34.1 => constants.%I.type.1843af.3 // CHECK:STDOUT: %.loc12_36 => constants.%.a07074.2 // CHECK:STDOUT: %I.impl_witness.loc12_36.2 => constants.%I.impl_witness.176366.2 -// CHECK:STDOUT: -// CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete => constants.%require_complete.abf874.2 -// CHECK:STDOUT: %A.as.I.impl.F.type => constants.%A.as.I.impl.F.type.dfb622.2 -// CHECK:STDOUT: %A.as.I.impl.F => constants.%A.as.I.impl.F.4df840.2 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.as.I.impl(constants.%empty_struct_type) { @@ -401,11 +389,10 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %require_complete.loc13_12 => constants.%complete_type.0a6 // CHECK:STDOUT: %require_complete.loc13_18 => constants.%complete_type.38e // CHECK:STDOUT: %A.elem => constants.%A.elem.bf5 -// CHECK:STDOUT: %.loc14_12.3 => constants.%.c70 // CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.977 // CHECK:STDOUT: %Copy.facet.loc14_12.3 => constants.%Copy.facet.dfa // CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.c85 -// CHECK:STDOUT: %.loc14_12.4 => constants.%.dfd +// CHECK:STDOUT: %.loc14_12.3 => constants.%.dfd // CHECK:STDOUT: %impl.elem0.loc14_12.2 => constants.%ptr.as.Copy.impl.Op.dd0 // 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/specialization_with_symbolic_rewrite.carbon b/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon index b7aa942d7b85..080141a03e4a 100644 --- a/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon +++ b/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon @@ -156,7 +156,6 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Z_where.type.dc4: type = facet_type <@Z, @Z(%C) where %impl.elem0.8b9 = %T.as_type> [symbolic] // CHECK:STDOUT: %.157: = impl_self_witness %T.bdb, @Z, @Z(%C) [symbolic] // CHECK:STDOUT: %Z.impl_witness.5d4: = impl_witness @T.as.Z.impl.cc5.%Z.impl_witness_table, @T.as.Z.impl.cc5(%T.as_type) [symbolic] -// CHECK:STDOUT: %.f51: require_specific_def_type = require_specific_def @T.as.Z.impl.cc5(%T.as_type) [symbolic] // CHECK:STDOUT: %a.patt: %pattern_type.9f3 = value_binding_pattern a [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -366,7 +365,6 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %T.as_type.loc13_26.1 [symbolic = %require_complete (constants.%require_complete.6f0)] -// CHECK:STDOUT: %.loc15_18.4: require_specific_def_type = require_specific_def @T.as.Z.impl.cc5(%T.as_type.loc13_26.1) [symbolic = %.loc15_18.4 (constants.%.f51)] // CHECK:STDOUT: %a.patt.loc15_15.2: @F.%pattern_type (%pattern_type.9f3) = value_binding_pattern a [symbolic = %a.patt.loc15_15.2 (constants.%a.patt)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%t.param: @F.%T.as_type.loc13_26.1 (%T.as_type)) { @@ -986,7 +984,6 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // 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.5a17a2.2: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%T.67d) [symbolic] -// CHECK:STDOUT: %.740: require_specific_def_type = require_specific_def @U.as.Ptr.impl(%T.67d) [symbolic] // CHECK:STDOUT: %Ptr.facet.7955f3.2: %Ptr.type = facet_value %T.67d, (%Ptr.impl_witness.5a17a2.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] @@ -998,7 +995,6 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %require_complete.ef1: = require_complete_type %ptr.e8f8f9.2 [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Copy.lookup_impl_witness.1da: = lookup_impl_witness %ptr.e8f8f9.2, @Copy [symbolic] -// CHECK:STDOUT: %.66e: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.e8f8f9.2, (%Copy.lookup_impl_witness.1da) [symbolic] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e38: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [symbolic] // CHECK:STDOUT: %.3f816: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e38, %Copy.facet [symbolic] @@ -1062,9 +1058,9 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // 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.5a17a2.2) [symbolic = %Ptr.facet.loc9_29.1 (constants.%Ptr.facet.7955f3.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.7955f3.2)] +// CHECK:STDOUT: %.loc9_29.2: %Ptr.type = converted %T.ref.loc9_28, %Ptr.facet.loc9_29.2 [symbolic = %Ptr.facet.loc9_29.1 (constants.%Ptr.facet.7955f3.2)] // CHECK:STDOUT: %impl.elem0.loc9: type = impl_witness_access constants.%Ptr.impl_witness.5a17a2.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_29.3: Core.Form = init_form %impl.elem0.loc9 [symbolic = %.loc9_29.1 (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.e58] // CHECK:STDOUT: %.loc9_9.2: type = type_literal type [concrete = type] @@ -1122,11 +1118,10 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %pattern_type.loc9_20: type = pattern_type %T.loc9_7.1 [symbolic = %pattern_type.loc9_20 (constants.%pattern_type.51d)] // 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.%.740)] // 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.5a17a2.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.7955f3.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: %.loc9_29.1: Core.Form = init_form %ptr [symbolic = %.loc9_29.1 (constants.%.cb6)] // CHECK:STDOUT: %pattern_type.loc9_29: type = pattern_type %ptr [symbolic = %pattern_type.loc9_29 (constants.%pattern_type.4f4)] // CHECK:STDOUT: %return.param_patt.loc9_29.2: @F.%pattern_type.loc9_29 (%pattern_type.4f4) = out_param_pattern [symbolic = %return.param_patt.loc9_29.2 (constants.%return.param_patt.27f)] // CHECK:STDOUT: %return.patt.loc9_25.2: @F.%pattern_type.loc9_29 (%pattern_type.4f4) = return_slot_pattern %return.param_patt.loc9_29.2, %ptr [symbolic = %return.patt.loc9_25.2 (constants.%return.patt.d67)] @@ -1134,19 +1129,18 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc9_15: = require_complete_type %T.loc9_7.1 [symbolic = %require_complete.loc9_15 (constants.%require_complete.944)] // CHECK:STDOUT: %require_complete.loc9_25: = require_complete_type %ptr [symbolic = %require_complete.loc9_25 (constants.%require_complete.ef1)] -// CHECK:STDOUT: %.loc10_10.3: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.loc9_7.1) [symbolic = %.loc10_10.3 (constants.%.66e)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.1da)] // CHECK:STDOUT: %Copy.facet.loc10_10.3: %Copy.type = facet_value %ptr, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc10_10.3 (constants.%Copy.facet)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.loc10_10.3) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.e38)] -// CHECK:STDOUT: %.loc10_10.4: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc10_10.3 [symbolic = %.loc10_10.4 (constants.%.3f816)] -// CHECK:STDOUT: %impl.elem0.loc10_10.2: @F.%.loc10_10.4 (%.3f816) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc10_10.2 (constants.%impl.elem0.24a)] +// CHECK:STDOUT: %.loc10_10.3: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc10_10.3 [symbolic = %.loc10_10.3 (constants.%.3f816)] +// CHECK:STDOUT: %impl.elem0.loc10_10.2: @F.%.loc10_10.3 (%.3f816) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc10_10.2 (constants.%impl.elem0.24a)] // CHECK:STDOUT: %specific_impl_fn.loc10_10.2: = specific_impl_function %impl.elem0.loc10_10.2, @Copy.WithSelf.Op(%Copy.facet.loc10_10.3) [symbolic = %specific_impl_fn.loc10_10.2 (constants.%specific_impl_fn.6b3)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%t.param: ref @F.%T.loc9_7.1 (%T.67d)) -> out %return.param: @F.%ptr (%ptr.e8f8f9.2) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %t.ref: ref @F.%T.loc9_7.1 (%T.67d) = name_ref t, %t // CHECK:STDOUT: %addr: @F.%ptr (%ptr.e8f8f9.2) = addr_of %t.ref -// CHECK:STDOUT: %impl.elem0.loc10_10.1: @F.%.loc10_10.4 (%.3f816) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc10_10.2 (constants.%impl.elem0.24a)] +// CHECK:STDOUT: %impl.elem0.loc10_10.1: @F.%.loc10_10.3 (%.3f816) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc10_10.2 (constants.%impl.elem0.24a)] // CHECK:STDOUT: %bound_method.loc10_10.1: = bound_method %addr, %impl.elem0.loc10_10.1 // CHECK:STDOUT: %Copy.facet.loc10_10.1: %Copy.type = facet_value constants.%ptr.e8f8f9.2, (constants.%Copy.lookup_impl_witness.1da) [symbolic = %Copy.facet.loc10_10.3 (constants.%Copy.facet)] // CHECK:STDOUT: %.loc10_10.1: %Copy.type = converted constants.%ptr.e8f8f9.2, %Copy.facet.loc10_10.1 [symbolic = %Copy.facet.loc10_10.3 (constants.%Copy.facet)] @@ -1201,11 +1195,10 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %pattern_type.loc9_20 => constants.%pattern_type.51d // 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.%.740 // CHECK:STDOUT: %Ptr.impl_witness => constants.%Ptr.impl_witness.5a17a2.2 // CHECK:STDOUT: %Ptr.facet.loc9_29.1 => constants.%Ptr.facet.7955f3.2 // CHECK:STDOUT: %ptr => constants.%ptr.e8f8f9.2 -// CHECK:STDOUT: %.loc9_29.2 => constants.%.cb6 +// CHECK:STDOUT: %.loc9_29.1 => constants.%.cb6 // CHECK:STDOUT: %pattern_type.loc9_29 => constants.%pattern_type.4f4 // CHECK:STDOUT: %return.param_patt.loc9_29.2 => constants.%return.param_patt.27f // CHECK:STDOUT: %return.patt.loc9_25.2 => constants.%return.patt.d67 @@ -1246,7 +1239,6 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Ptr_where.type.c27: type = facet_type <@Ptr where %impl.elem0.406 = %ptr.ac4> [symbolic] // CHECK:STDOUT: %.d24: = impl_self_witness %T.76f, @Ptr [symbolic] // CHECK:STDOUT: %Ptr.impl_witness.a83: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%T.as_type.468) [symbolic] -// CHECK:STDOUT: %.3ee: 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] // CHECK:STDOUT: %return.param_patt.b93: %pattern_type.f62 = out_param_pattern [symbolic] @@ -1257,7 +1249,6 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %require_complete.841: = require_complete_type %ptr.ac4 [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Copy.lookup_impl_witness.d90: = lookup_impl_witness %ptr.ac4, @Copy [symbolic] -// CHECK:STDOUT: %.350: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.as_type.468) [symbolic] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.ac4, (%Copy.lookup_impl_witness.d90) [symbolic] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e45: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [symbolic] // CHECK:STDOUT: %.18f: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e45, %Copy.facet [symbolic] @@ -1319,10 +1310,10 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } { // 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: %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: %.loc9_28.2: 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.a83, 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_28.3: Core.Form = init_form %impl.elem0.loc9 [symbolic = %.loc9_28.1 (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.e58] // CHECK:STDOUT: %Ptr.ref: type = name_ref Ptr, file.%Ptr.decl [concrete = constants.%Ptr.type] @@ -1385,9 +1376,8 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %pattern_type.loc9_19: type = pattern_type %T.as_type.loc9_21.1 [symbolic = %pattern_type.loc9_19 (constants.%pattern_type.756)] // CHECK:STDOUT: %t.patt.loc9_19.2: @F.%pattern_type.loc9_19 (%pattern_type.756) = ref_binding_pattern t [symbolic = %t.patt.loc9_19.2 (constants.%t.patt)] // CHECK:STDOUT: %t.param_patt.loc9_14.2: @F.%pattern_type.loc9_19 (%pattern_type.756) = var_param_pattern %t.patt.loc9_19.2 [symbolic = %t.param_patt.loc9_14.2 (constants.%t.param_patt)] -// CHECK:STDOUT: %.loc9_28.1: require_specific_def_type = require_specific_def @U.as.Ptr.impl(%T.as_type.loc9_21.1) [symbolic = %.loc9_28.1 (constants.%.3ee)] // CHECK:STDOUT: %ptr: type = ptr_type %T.as_type.loc9_21.1 [symbolic = %ptr (constants.%ptr.ac4)] -// CHECK:STDOUT: %.loc9_28.2: Core.Form = init_form %ptr [symbolic = %.loc9_28.2 (constants.%.e16)] +// CHECK:STDOUT: %.loc9_28.1: Core.Form = init_form %ptr [symbolic = %.loc9_28.1 (constants.%.e16)] // CHECK:STDOUT: %pattern_type.loc9_28: type = pattern_type %ptr [symbolic = %pattern_type.loc9_28 (constants.%pattern_type.f62)] // CHECK:STDOUT: %return.param_patt.loc9_28.2: @F.%pattern_type.loc9_28 (%pattern_type.f62) = out_param_pattern [symbolic = %return.param_patt.loc9_28.2 (constants.%return.param_patt.b93)] // CHECK:STDOUT: %return.patt.loc9_24.2: @F.%pattern_type.loc9_28 (%pattern_type.f62) = return_slot_pattern %return.param_patt.loc9_28.2, %ptr [symbolic = %return.patt.loc9_24.2 (constants.%return.patt.058)] @@ -1395,19 +1385,18 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc9_14: = require_complete_type %T.as_type.loc9_21.1 [symbolic = %require_complete.loc9_14 (constants.%require_complete.35c)] // CHECK:STDOUT: %require_complete.loc9_24: = require_complete_type %ptr [symbolic = %require_complete.loc9_24 (constants.%require_complete.841)] -// CHECK:STDOUT: %.loc10_10.3: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.as_type.loc9_21.1) [symbolic = %.loc10_10.3 (constants.%.350)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.d90)] // CHECK:STDOUT: %Copy.facet.loc10_10.3: %Copy.type = facet_value %ptr, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc10_10.3 (constants.%Copy.facet)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.loc10_10.3) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.e45)] -// CHECK:STDOUT: %.loc10_10.4: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc10_10.3 [symbolic = %.loc10_10.4 (constants.%.18f)] -// CHECK:STDOUT: %impl.elem0.loc10_10.2: @F.%.loc10_10.4 (%.18f) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc10_10.2 (constants.%impl.elem0.aa9)] +// CHECK:STDOUT: %.loc10_10.3: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc10_10.3 [symbolic = %.loc10_10.3 (constants.%.18f)] +// CHECK:STDOUT: %impl.elem0.loc10_10.2: @F.%.loc10_10.3 (%.18f) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc10_10.2 (constants.%impl.elem0.aa9)] // CHECK:STDOUT: %specific_impl_fn.loc10_10.2: = specific_impl_function %impl.elem0.loc10_10.2, @Copy.WithSelf.Op(%Copy.facet.loc10_10.3) [symbolic = %specific_impl_fn.loc10_10.2 (constants.%specific_impl_fn.cd1)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%t.param: ref @F.%T.as_type.loc9_21.1 (%T.as_type.468)) -> out %return.param: @F.%ptr (%ptr.ac4) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %t.ref: ref @F.%T.as_type.loc9_21.1 (%T.as_type.468) = name_ref t, %t // CHECK:STDOUT: %addr: @F.%ptr (%ptr.ac4) = addr_of %t.ref -// CHECK:STDOUT: %impl.elem0.loc10_10.1: @F.%.loc10_10.4 (%.18f) = impl_witness_access constants.%Copy.lookup_impl_witness.d90, element0 [symbolic = %impl.elem0.loc10_10.2 (constants.%impl.elem0.aa9)] +// CHECK:STDOUT: %impl.elem0.loc10_10.1: @F.%.loc10_10.3 (%.18f) = impl_witness_access constants.%Copy.lookup_impl_witness.d90, element0 [symbolic = %impl.elem0.loc10_10.2 (constants.%impl.elem0.aa9)] // CHECK:STDOUT: %bound_method.loc10_10.1: = bound_method %addr, %impl.elem0.loc10_10.1 // CHECK:STDOUT: %Copy.facet.loc10_10.1: %Copy.type = facet_value constants.%ptr.ac4, (constants.%Copy.lookup_impl_witness.d90) [symbolic = %Copy.facet.loc10_10.3 (constants.%Copy.facet)] // CHECK:STDOUT: %.loc10_10.1: %Copy.type = converted constants.%ptr.ac4, %Copy.facet.loc10_10.1 [symbolic = %Copy.facet.loc10_10.3 (constants.%Copy.facet)] @@ -1463,9 +1452,8 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %pattern_type.loc9_19 => constants.%pattern_type.756 // CHECK:STDOUT: %t.patt.loc9_19.2 => constants.%t.patt // CHECK:STDOUT: %t.param_patt.loc9_14.2 => constants.%t.param_patt -// CHECK:STDOUT: %.loc9_28.1 => constants.%.3ee // CHECK:STDOUT: %ptr => constants.%ptr.ac4 -// CHECK:STDOUT: %.loc9_28.2 => constants.%.e16 +// CHECK:STDOUT: %.loc9_28.1 => constants.%.e16 // CHECK:STDOUT: %pattern_type.loc9_28 => constants.%pattern_type.f62 // CHECK:STDOUT: %return.param_patt.loc9_28.2 => constants.%return.param_patt.b93 // CHECK:STDOUT: %return.patt.loc9_24.2 => constants.%return.patt.058 @@ -1506,7 +1494,6 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Ptr_where.type.c27: type = facet_type <@Ptr where %impl.elem0.406 = %ptr.ac4> [symbolic] // CHECK:STDOUT: %.d24: = impl_self_witness %T.76f, @Ptr [symbolic] // CHECK:STDOUT: %Ptr.impl_witness.a83: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%T.as_type.468) [symbolic] -// CHECK:STDOUT: %.3ee: 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] // CHECK:STDOUT: %return.param_patt.b93: %pattern_type.f62 = out_param_pattern [symbolic] @@ -1517,7 +1504,6 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %require_complete.841: = require_complete_type %ptr.ac4 [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Copy.lookup_impl_witness.d90: = lookup_impl_witness %ptr.ac4, @Copy [symbolic] -// CHECK:STDOUT: %.350: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.as_type.468) [symbolic] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.ac4, (%Copy.lookup_impl_witness.d90) [symbolic] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e45: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [symbolic] // CHECK:STDOUT: %.18f: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e45, %Copy.facet [symbolic] @@ -1581,7 +1567,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // 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.a83, 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_28.2: Core.Form = init_form %impl.elem0.loc9 [symbolic = %.loc9_28.1 (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.e58] // CHECK:STDOUT: %Ptr.ref.loc9_9: type = name_ref Ptr, file.%Ptr.decl [concrete = constants.%Ptr.type] @@ -1644,9 +1630,8 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %pattern_type.loc9_19: type = pattern_type %T.as_type.loc9_21.1 [symbolic = %pattern_type.loc9_19 (constants.%pattern_type.756)] // CHECK:STDOUT: %t.patt.loc9_19.2: @F.%pattern_type.loc9_19 (%pattern_type.756) = ref_binding_pattern t [symbolic = %t.patt.loc9_19.2 (constants.%t.patt)] // CHECK:STDOUT: %t.param_patt.loc9_14.2: @F.%pattern_type.loc9_19 (%pattern_type.756) = var_param_pattern %t.patt.loc9_19.2 [symbolic = %t.param_patt.loc9_14.2 (constants.%t.param_patt)] -// CHECK:STDOUT: %.loc9_28.1: require_specific_def_type = require_specific_def @U.as.Ptr.impl(%T.as_type.loc9_21.1) [symbolic = %.loc9_28.1 (constants.%.3ee)] // CHECK:STDOUT: %ptr: type = ptr_type %T.as_type.loc9_21.1 [symbolic = %ptr (constants.%ptr.ac4)] -// CHECK:STDOUT: %.loc9_28.2: Core.Form = init_form %ptr [symbolic = %.loc9_28.2 (constants.%.e16)] +// CHECK:STDOUT: %.loc9_28.1: Core.Form = init_form %ptr [symbolic = %.loc9_28.1 (constants.%.e16)] // CHECK:STDOUT: %pattern_type.loc9_28: type = pattern_type %ptr [symbolic = %pattern_type.loc9_28 (constants.%pattern_type.f62)] // CHECK:STDOUT: %return.param_patt.loc9_28.2: @F.%pattern_type.loc9_28 (%pattern_type.f62) = out_param_pattern [symbolic = %return.param_patt.loc9_28.2 (constants.%return.param_patt.b93)] // CHECK:STDOUT: %return.patt.loc9_24.2: @F.%pattern_type.loc9_28 (%pattern_type.f62) = return_slot_pattern %return.param_patt.loc9_28.2, %ptr [symbolic = %return.patt.loc9_24.2 (constants.%return.patt.058)] @@ -1654,19 +1639,18 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc9_14: = require_complete_type %T.as_type.loc9_21.1 [symbolic = %require_complete.loc9_14 (constants.%require_complete.35c)] // CHECK:STDOUT: %require_complete.loc9_24: = require_complete_type %ptr [symbolic = %require_complete.loc9_24 (constants.%require_complete.841)] -// CHECK:STDOUT: %.loc10_10.3: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.as_type.loc9_21.1) [symbolic = %.loc10_10.3 (constants.%.350)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.d90)] // CHECK:STDOUT: %Copy.facet.loc10_10.3: %Copy.type = facet_value %ptr, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc10_10.3 (constants.%Copy.facet)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.loc10_10.3) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.e45)] -// CHECK:STDOUT: %.loc10_10.4: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc10_10.3 [symbolic = %.loc10_10.4 (constants.%.18f)] -// CHECK:STDOUT: %impl.elem0.loc10_10.2: @F.%.loc10_10.4 (%.18f) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc10_10.2 (constants.%impl.elem0.aa9)] +// CHECK:STDOUT: %.loc10_10.3: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc10_10.3 [symbolic = %.loc10_10.3 (constants.%.18f)] +// CHECK:STDOUT: %impl.elem0.loc10_10.2: @F.%.loc10_10.3 (%.18f) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc10_10.2 (constants.%impl.elem0.aa9)] // CHECK:STDOUT: %specific_impl_fn.loc10_10.2: = specific_impl_function %impl.elem0.loc10_10.2, @Copy.WithSelf.Op(%Copy.facet.loc10_10.3) [symbolic = %specific_impl_fn.loc10_10.2 (constants.%specific_impl_fn.cd1)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%t.param: ref @F.%T.as_type.loc9_21.1 (%T.as_type.468)) -> out %return.param: @F.%ptr (%ptr.ac4) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %t.ref: ref @F.%T.as_type.loc9_21.1 (%T.as_type.468) = name_ref t, %t // CHECK:STDOUT: %addr: @F.%ptr (%ptr.ac4) = addr_of %t.ref -// CHECK:STDOUT: %impl.elem0.loc10_10.1: @F.%.loc10_10.4 (%.18f) = impl_witness_access constants.%Copy.lookup_impl_witness.d90, element0 [symbolic = %impl.elem0.loc10_10.2 (constants.%impl.elem0.aa9)] +// CHECK:STDOUT: %impl.elem0.loc10_10.1: @F.%.loc10_10.3 (%.18f) = impl_witness_access constants.%Copy.lookup_impl_witness.d90, element0 [symbolic = %impl.elem0.loc10_10.2 (constants.%impl.elem0.aa9)] // CHECK:STDOUT: %bound_method.loc10_10.1: = bound_method %addr, %impl.elem0.loc10_10.1 // CHECK:STDOUT: %Copy.facet.loc10_10.1: %Copy.type = facet_value constants.%ptr.ac4, (constants.%Copy.lookup_impl_witness.d90) [symbolic = %Copy.facet.loc10_10.3 (constants.%Copy.facet)] // CHECK:STDOUT: %.loc10_10.1: %Copy.type = converted constants.%ptr.ac4, %Copy.facet.loc10_10.1 [symbolic = %Copy.facet.loc10_10.3 (constants.%Copy.facet)] @@ -1722,9 +1706,8 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %pattern_type.loc9_19 => constants.%pattern_type.756 // CHECK:STDOUT: %t.patt.loc9_19.2 => constants.%t.patt // CHECK:STDOUT: %t.param_patt.loc9_14.2 => constants.%t.param_patt -// CHECK:STDOUT: %.loc9_28.1 => constants.%.3ee // CHECK:STDOUT: %ptr => constants.%ptr.ac4 -// CHECK:STDOUT: %.loc9_28.2 => constants.%.e16 +// CHECK:STDOUT: %.loc9_28.1 => constants.%.e16 // CHECK:STDOUT: %pattern_type.loc9_28 => constants.%pattern_type.f62 // CHECK:STDOUT: %return.param_patt.loc9_28.2 => constants.%return.param_patt.b93 // CHECK:STDOUT: %return.patt.loc9_24.2 => constants.%return.patt.058 diff --git a/toolchain/check/testdata/impl/use_assoc_entity.carbon b/toolchain/check/testdata/impl/use_assoc_entity.carbon index 195058bd88cc..a12e4f1f617e 100644 --- a/toolchain/check/testdata/impl/use_assoc_entity.carbon +++ b/toolchain/check/testdata/impl/use_assoc_entity.carbon @@ -501,11 +501,11 @@ fn F() { // CHECK:STDOUT: %Int.as.Negate.impl.Op.type.629: type = fn_type @Int.as.Negate.impl.Op, @Int.as.Negate.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Negate.impl.Op.415: %Int.as.Negate.impl.Op.type.629 = struct_value () [symbolic] // CHECK:STDOUT: %Negate.impl_witness.c97: = impl_witness imports.%Negate.impl_witness_table, @Int.as.Negate.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Negate.impl.Op.type.b54: type = fn_type @Int.as.Negate.impl.Op, @Int.as.Negate.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Negate.impl.Op.c54: %Int.as.Negate.impl.Op.type.b54 = struct_value () [concrete] // CHECK:STDOUT: %Negate.facet: %Negate.type = facet_value %i32, (%Negate.impl_witness.c97) [concrete] // CHECK:STDOUT: %Negate.WithSelf.Op.type.c48: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] // CHECK:STDOUT: %.200: type = fn_type_with_self_type %Negate.WithSelf.Op.type.c48, %Negate.facet [concrete] +// CHECK:STDOUT: %Int.as.Negate.impl.Op.type.b54: type = fn_type @Int.as.Negate.impl.Op, @Int.as.Negate.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Negate.impl.Op.c54: %Int.as.Negate.impl.Op.type.b54 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Negate.impl.Op.specific_fn: = specific_function %Int.as.Negate.impl.Op.c54, @Int.as.Negate.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %.42a: type = fn_type_with_self_type %J.WithSelf.F.type.42a, %J.facet.77b [concrete] // CHECK:STDOUT: %int_40.f80: Core.IntLiteral = int_value 40 [concrete] @@ -514,11 +514,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_40.f80, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -814,11 +814,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.8a6: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.a55: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1009,11 +1009,11 @@ fn F() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // 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 1603eca0f579..dbaf1293d73d 100644 --- a/toolchain/check/testdata/index/array_element_access.carbon +++ b/toolchain/check/testdata/index/array_element_access.carbon @@ -45,11 +45,11 @@ var d: i32 = a[b]; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.71d: = bound_method %int_12.6a3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %pattern_type.d94: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -74,11 +74,11 @@ var d: i32 = a[b]; // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %d.patt: %pattern_type.d94 = ref_binding_pattern d [concrete] // CHECK:STDOUT: %d.var_patt: %pattern_type.d94 = var_pattern %d.patt [concrete] diff --git a/toolchain/check/testdata/index/expr_category.carbon b/toolchain/check/testdata/index/expr_category.carbon index a0fc5ba4065f..332540b8f0ad 100644 --- a/toolchain/check/testdata/index/expr_category.carbon +++ b/toolchain/check/testdata/index/expr_category.carbon @@ -70,11 +70,11 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -97,11 +97,11 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.83a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.a17, (%Copy.impl_witness.83a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9a2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.309: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9a2, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.81f, @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.776: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] diff --git a/toolchain/check/testdata/index/fail_array_large_index.carbon b/toolchain/check/testdata/index/fail_array_large_index.carbon index d379809b1d03..8d614e20e84f 100644 --- a/toolchain/check/testdata/index/fail_array_large_index.carbon +++ b/toolchain/check/testdata/index/fail_array_large_index.carbon @@ -49,11 +49,11 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.71d: = bound_method %int_12.6a3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %pattern_type.d94: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -69,11 +69,11 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %c.patt: %pattern_type.d94 = ref_binding_pattern c [concrete] // CHECK:STDOUT: %c.var_patt: %pattern_type.d94 = var_pattern %c.patt [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 fd180a5097f9..2eeb93a87fd4 100644 --- a/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon +++ b/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon @@ -45,11 +45,11 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_12.6a3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %pattern_type.d94: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -63,11 +63,11 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: 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 d068ffedc443..0fd3be8662f8 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 @@ -44,11 +44,11 @@ var b: i32 = a[1]; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.71d: = bound_method %int_12.6a3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %pattern_type.d94: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -64,11 +64,11 @@ var b: i32 = a[1]; // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/index/fail_expr_category.carbon b/toolchain/check/testdata/index/fail_expr_category.carbon index ef3700a8694d..12d5501684cb 100644 --- a/toolchain/check/testdata/index/fail_expr_category.carbon +++ b/toolchain/check/testdata/index/fail_expr_category.carbon @@ -69,11 +69,11 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.762: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -82,11 +82,11 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.83a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.a17, (%Copy.impl_witness.83a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9a2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.309: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9a2, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.81f, @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.776: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] diff --git a/toolchain/check/testdata/index/fail_negative_indexing.carbon b/toolchain/check/testdata/index/fail_negative_indexing.carbon index 4d370c57112b..2adec6d28486 100644 --- a/toolchain/check/testdata/index/fail_negative_indexing.carbon +++ b/toolchain/check/testdata/index/fail_negative_indexing.carbon @@ -45,11 +45,11 @@ var d: i32 = c[-10]; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.81c: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %pattern_type.d94: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -76,11 +76,11 @@ var d: i32 = c[-10]; // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interface/as_type_of_type.carbon b/toolchain/check/testdata/interface/as_type_of_type.carbon index abca5c56b6d4..8f96e07362b4 100644 --- a/toolchain/check/testdata/interface/as_type_of_type.carbon +++ b/toolchain/check/testdata/interface/as_type_of_type.carbon @@ -50,7 +50,6 @@ fn F(generic T: Empty) { // CHECK:STDOUT: %x.var_patt: %pattern_type.777 = var_pattern %x.patt [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.type: type = facet_type <@DefaultOrUnformed> [concrete] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness: = lookup_impl_witness %ptr, @DefaultOrUnformed [symbolic] -// CHECK:STDOUT: %.119: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%ptr) [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.343: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet) [symbolic] // CHECK:STDOUT: %.8b0: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.343, %DefaultOrUnformed.facet [symbolic] @@ -59,11 +58,8 @@ fn F(generic T: Empty) { // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] -// CHECK:STDOUT: %SubobjectDestroy.type: type = facet_type <@SubobjectDestroy> [concrete] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.bfc: = lookup_impl_witness %ptr, @DestroyImpl [symbolic] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.a87: = lookup_impl_witness %ptr, @SubobjectDestroy [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.8cb: %SubobjectDestroy.type = facet_value %ptr, (%SubobjectDestroy.lookup_impl_witness.a87) [symbolic] -// CHECK:STDOUT: %.7e3: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.8cb) [symbolic] // CHECK:STDOUT: %Destroy.facet: %Destroy.type = facet_value %ptr, (%DestroyImpl.lookup_impl_witness.bfc, %SubobjectDestroy.lookup_impl_witness.a87) [symbolic] // CHECK:STDOUT: %SelfDestruct.specific_fn: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet) [symbolic] // CHECK:STDOUT: } @@ -144,17 +140,14 @@ fn F(generic T: Empty) { // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc22_18.2 [symbolic = %pattern_type (constants.%pattern_type.777)] // CHECK:STDOUT: %x.patt.loc22_15.2: @F.%pattern_type (%pattern_type.777) = ref_binding_pattern x [symbolic = %x.patt.loc22_15.2 (constants.%x.patt)] // CHECK:STDOUT: %x.var_patt.loc22_3.2: @F.%pattern_type (%pattern_type.777) = var_pattern %x.patt.loc22_15.2 [symbolic = %x.var_patt.loc22_3.2 (constants.%x.var_patt)] -// CHECK:STDOUT: %.loc22_19.3: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%ptr.loc22_18.2) [symbolic = %.loc22_19.3 (constants.%.119)] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness: = lookup_impl_witness %ptr.loc22_18.2, @DefaultOrUnformed [symbolic = %DefaultOrUnformed.lookup_impl_witness (constants.%DefaultOrUnformed.lookup_impl_witness)] // CHECK:STDOUT: %DefaultOrUnformed.facet.loc22_19.2: %DefaultOrUnformed.type = facet_value %ptr.loc22_18.2, (%DefaultOrUnformed.lookup_impl_witness) [symbolic = %DefaultOrUnformed.facet.loc22_19.2 (constants.%DefaultOrUnformed.facet)] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.loc22_19.2) [symbolic = %DefaultOrUnformed.WithSelf.Op.type (constants.%DefaultOrUnformed.WithSelf.Op.type.343)] -// CHECK:STDOUT: %.loc22_19.4: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type, %DefaultOrUnformed.facet.loc22_19.2 [symbolic = %.loc22_19.4 (constants.%.8b0)] -// CHECK:STDOUT: %impl.elem0.loc22_19.2: @F.%.loc22_19.4 (%.8b0) = impl_witness_access %DefaultOrUnformed.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc22_19.2 (constants.%impl.elem0.fbe)] +// CHECK:STDOUT: %.loc22_19.3: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type, %DefaultOrUnformed.facet.loc22_19.2 [symbolic = %.loc22_19.3 (constants.%.8b0)] +// CHECK:STDOUT: %impl.elem0.loc22_19.2: @F.%.loc22_19.3 (%.8b0) = impl_witness_access %DefaultOrUnformed.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc22_19.2 (constants.%impl.elem0.fbe)] // CHECK:STDOUT: %specific_impl_fn.loc22_19.2: = specific_impl_function %impl.elem0.loc22_19.2, @DefaultOrUnformed.WithSelf.Op(%DefaultOrUnformed.facet.loc22_19.2) [symbolic = %specific_impl_fn.loc22_19.2 (constants.%specific_impl_fn.87e)] -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %ptr.loc22_18.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.a87)] -// CHECK:STDOUT: %SubobjectDestroy.facet: %SubobjectDestroy.type = facet_value %ptr.loc22_18.2, (%SubobjectDestroy.lookup_impl_witness) [symbolic = %SubobjectDestroy.facet (constants.%SubobjectDestroy.facet.8cb)] -// CHECK:STDOUT: %.loc22_3.3: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet) [symbolic = %.loc22_3.3 (constants.%.7e3)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness: = lookup_impl_witness %ptr.loc22_18.2, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness (constants.%DestroyImpl.lookup_impl_witness.bfc)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %ptr.loc22_18.2, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.a87)] // CHECK:STDOUT: %Destroy.facet.loc22_3.3: %Destroy.type = facet_value %ptr.loc22_18.2, (%DestroyImpl.lookup_impl_witness, %SubobjectDestroy.lookup_impl_witness) [symbolic = %Destroy.facet.loc22_3.3 (constants.%Destroy.facet)] // CHECK:STDOUT: %SelfDestruct.specific_fn.2: = specific_function constants.%SelfDestruct, @SelfDestruct(%Destroy.facet.loc22_3.3) [symbolic = %SelfDestruct.specific_fn.2 (constants.%SelfDestruct.specific_fn)] // CHECK:STDOUT: @@ -165,7 +158,7 @@ fn F(generic T: Empty) { // CHECK:STDOUT: %.loc22_19.1: %DefaultOrUnformed.type = converted constants.%ptr, %DefaultOrUnformed.facet.loc22_19.1 [symbolic = %DefaultOrUnformed.facet.loc22_19.2 (constants.%DefaultOrUnformed.facet)] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc22_19.1 [symbolic = %ptr.loc22_18.2 (constants.%ptr)] // CHECK:STDOUT: %.loc22_19.2: type = converted %.loc22_19.1, %as_type [symbolic = %ptr.loc22_18.2 (constants.%ptr)] -// CHECK:STDOUT: %impl.elem0.loc22_19.1: @F.%.loc22_19.4 (%.8b0) = impl_witness_access constants.%DefaultOrUnformed.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc22_19.2 (constants.%impl.elem0.fbe)] +// CHECK:STDOUT: %impl.elem0.loc22_19.1: @F.%.loc22_19.3 (%.8b0) = impl_witness_access constants.%DefaultOrUnformed.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc22_19.2 (constants.%impl.elem0.fbe)] // CHECK:STDOUT: %specific_impl_fn.loc22_19.1: = specific_impl_function %impl.elem0.loc22_19.1, @DefaultOrUnformed.WithSelf.Op(constants.%DefaultOrUnformed.facet) [symbolic = %specific_impl_fn.loc22_19.2 (constants.%specific_impl_fn.87e)] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.call: init @F.%ptr.loc22_18.2 (%ptr) = call %specific_impl_fn.loc22_19.1() // CHECK:STDOUT: assign %x.var, %DefaultOrUnformed.WithSelf.Op.call diff --git a/toolchain/check/testdata/interface/default_fn.carbon b/toolchain/check/testdata/interface/default_fn.carbon index 7df7d0492b86..d324d35bca7b 100644 --- a/toolchain/check/testdata/interface/default_fn.carbon +++ b/toolchain/check/testdata/interface/default_fn.carbon @@ -274,13 +274,13 @@ fn Call() { ().(I.G)(); } // CHECK:STDOUT: %I.WithSelf.G.c19: %I.WithSelf.G.type.05e = struct_value () [symbolic] // CHECK:STDOUT: %.2ef: = impl_self_witness %empty_tuple.type, @I [concrete] // CHECK:STDOUT: %I.impl_witness.e63: = impl_witness @T.as.I.impl.%I.impl_witness_table, @T.as.I.impl(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %T.as.I.impl.F.type.846: type = fn_type @T.as.I.impl.F, @T.as.I.impl(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %T.as.I.impl.F.20e: %T.as.I.impl.F.type.846 = struct_value () [concrete] // CHECK:STDOUT: %I.facet.b01: %I.type = facet_value %empty_tuple.type, (%I.impl_witness.e63) [concrete] -// CHECK:STDOUT: %I.WithSelf.G.type.c3e: type = fn_type @I.WithSelf.G, @I.WithSelf(%I.facet.b01) [concrete] -// CHECK:STDOUT: %I.WithSelf.G.861: %I.WithSelf.G.type.c3e = struct_value () [concrete] // CHECK:STDOUT: %I.WithSelf.F.type.0a9: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.b01) [concrete] // CHECK:STDOUT: %I.WithSelf.F.1d9: %I.WithSelf.F.type.0a9 = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.G.type.c3e: type = fn_type @I.WithSelf.G, @I.WithSelf(%I.facet.b01) [concrete] +// CHECK:STDOUT: %I.WithSelf.G.861: %I.WithSelf.G.type.c3e = struct_value () [concrete] +// CHECK:STDOUT: %T.as.I.impl.F.type.846: type = fn_type @T.as.I.impl.F, @T.as.I.impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %T.as.I.impl.F.20e: %T.as.I.impl.F.type.846 = struct_value () [concrete] // CHECK:STDOUT: %.aab: type = fn_type_with_self_type %I.WithSelf.F.type.0a9, %I.facet.b01 [concrete] // CHECK:STDOUT: %T.as.I.impl.F.specific_fn: = specific_function %T.as.I.impl.F.20e, @T.as.I.impl.F(%empty_tuple.type) [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon b/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon index 593ef73019a5..fb1697a04337 100644 --- a/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon +++ b/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon @@ -81,7 +81,6 @@ interface C { // CHECK:STDOUT: %Self.c1f: %J2.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.c1f [symbolic] // CHECK:STDOUT: %I2.lookup_impl_witness: = lookup_impl_witness %Self.c1f, @I2 [symbolic] -// CHECK:STDOUT: %.72a: require_specific_def_type = require_specific_def @V.as_type.as.I2.impl(%Self.c1f) [symbolic] // CHECK:STDOUT: %I2.facet.39b: %I2.type = facet_value %Self.as_type, (%I2.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %impl.elem0.422: type = impl_witness_access %I2.lookup_impl_witness, element0 [symbolic] // CHECK:STDOUT: %.932: Core.Form = init_form %impl.elem0.422 [symbolic] @@ -112,10 +111,10 @@ interface C { // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.as_type.loc14_14.2: type = facet_access_type @J2.%Self [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)] // CHECK:STDOUT: %I2.facet.loc14_14.2: %I2.type = facet_value %Self.as_type.loc14_14.2, (constants.%I2.lookup_impl_witness) [symbolic = %I2.facet.loc14_14.1 (constants.%I2.facet.39b)] -// CHECK:STDOUT: %.loc14_14.3: %I2.type = converted @J2.%Self, %I2.facet.loc14_14.2 [symbolic = %I2.facet.loc14_14.1 (constants.%I2.facet.39b)] +// CHECK:STDOUT: %.loc14_14.2: %I2.type = converted @J2.%Self, %I2.facet.loc14_14.2 [symbolic = %I2.facet.loc14_14.1 (constants.%I2.facet.39b)] // CHECK:STDOUT: %impl.elem0.loc14_14.2: type = impl_witness_access constants.%I2.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_14.1 (constants.%impl.elem0.422)] // CHECK:STDOUT: %U2.ref: type = name_ref U2, %impl.elem0.loc14_14.2 [symbolic = %impl.elem0.loc14_14.1 (constants.%impl.elem0.422)] -// CHECK:STDOUT: %.loc14_14.4: Core.Form = init_form %U2.ref [symbolic = %.loc14_14.2 (constants.%.932)] +// CHECK:STDOUT: %.loc14_14.3: Core.Form = init_form %U2.ref [symbolic = %.loc14_14.1 (constants.%.932)] // CHECK:STDOUT: %return.param: ref @J2.WithSelf.F2.%impl.elem0.loc14_14.1 (%impl.elem0.422) = out_param call_param0 // CHECK:STDOUT: %return: ref @J2.WithSelf.F2.%impl.elem0.loc14_14.1 (%impl.elem0.422) = return_slot %return.param // CHECK:STDOUT: } @@ -135,11 +134,10 @@ interface C { // CHECK:STDOUT: generic fn @J2.WithSelf.F2(@J2.%Self: %J2.type) { // CHECK:STDOUT: %Self: %J2.type = symbolic_binding Self, 0 [symbolic = %Self (constants.%Self.c1f)] // CHECK:STDOUT: %Self.as_type.loc14_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)] -// CHECK:STDOUT: %.loc14_14.1: require_specific_def_type = require_specific_def @V.as_type.as.I2.impl(%Self) [symbolic = %.loc14_14.1 (constants.%.72a)] // CHECK:STDOUT: %I2.lookup_impl_witness: = lookup_impl_witness %Self, @I2 [symbolic = %I2.lookup_impl_witness (constants.%I2.lookup_impl_witness)] // CHECK:STDOUT: %I2.facet.loc14_14.1: %I2.type = facet_value %Self.as_type.loc14_14.1, (%I2.lookup_impl_witness) [symbolic = %I2.facet.loc14_14.1 (constants.%I2.facet.39b)] // CHECK:STDOUT: %impl.elem0.loc14_14.1: type = impl_witness_access %I2.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc14_14.1 (constants.%impl.elem0.422)] -// CHECK:STDOUT: %.loc14_14.2: Core.Form = init_form %impl.elem0.loc14_14.1 [symbolic = %.loc14_14.2 (constants.%.932)] +// CHECK:STDOUT: %.loc14_14.1: Core.Form = init_form %impl.elem0.loc14_14.1 [symbolic = %.loc14_14.1 (constants.%.932)] // CHECK:STDOUT: %pattern_type: type = pattern_type %impl.elem0.loc14_14.1 [symbolic = %pattern_type (constants.%pattern_type.ff8)] // CHECK:STDOUT: %return.param_patt.loc14_14.2: @J2.WithSelf.F2.%pattern_type (%pattern_type.ff8) = out_param_pattern [symbolic = %return.param_patt.loc14_14.2 (constants.%return.param_patt)] // CHECK:STDOUT: %return.patt.loc14_11.2: @J2.WithSelf.F2.%pattern_type (%pattern_type.ff8) = return_slot_pattern %return.param_patt.loc14_14.2, %impl.elem0.loc14_14.1 [symbolic = %return.patt.loc14_11.2 (constants.%return.patt)] @@ -152,11 +150,10 @@ interface C { // CHECK:STDOUT: specific @J2.WithSelf.F2(constants.%Self.c1f) { // CHECK:STDOUT: %Self => constants.%Self.c1f // CHECK:STDOUT: %Self.as_type.loc14_14.1 => constants.%Self.as_type -// CHECK:STDOUT: %.loc14_14.1 => constants.%.72a // CHECK:STDOUT: %I2.lookup_impl_witness => constants.%I2.lookup_impl_witness // CHECK:STDOUT: %I2.facet.loc14_14.1 => constants.%I2.facet.39b // CHECK:STDOUT: %impl.elem0.loc14_14.1 => constants.%impl.elem0.422 -// CHECK:STDOUT: %.loc14_14.2 => constants.%.932 +// CHECK:STDOUT: %.loc14_14.1 => constants.%.932 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.ff8 // CHECK:STDOUT: %return.param_patt.loc14_14.2 => constants.%return.param_patt // CHECK:STDOUT: %return.patt.loc14_11.2 => constants.%return.patt 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 f5a2ec0015cb..3e18698c38b4 100644 --- a/toolchain/check/testdata/interface/fail_todo_assoc_const_default.carbon +++ b/toolchain/check/testdata/interface/fail_todo_assoc_const_default.carbon @@ -45,11 +45,11 @@ interface I { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/interface/final.carbon b/toolchain/check/testdata/interface/final.carbon index 491e3487ec17..ea5d149b0afa 100644 --- a/toolchain/check/testdata/interface/final.carbon +++ b/toolchain/check/testdata/interface/final.carbon @@ -10,7 +10,7 @@ // TIP: To dump output, run: // TIP: bazel run //toolchain/testing:file_test -- --dump_output --file_tests=toolchain/check/testdata/interface/final.carbon -// --- require_complete_impl.carbon +// --- require_specific_impl_definition.carbon //@include-in-dumps library "[[@TEST_NAME]]"; @@ -20,7 +20,7 @@ interface J {} final impl forall [T: J] T as I { fn F() {} } // This is creating an indirection where the `final impl` requires an indirect -// instantiation by the caller. +// instantiation when the caller forms the specific `UseI(C)`. fn UseI(generic T: I) { T.F(); } fn UseJ(generic T: J) { UseI(T); } @@ -28,7 +28,144 @@ class C {} impl C as J {} fn Use() { UseJ(C); } -// CHECK:STDOUT: --- require_complete_impl.carbon +// --- require_specific_impl_definition_from_symbolic_impl_in_class_definition.carbon +//@include-in-dumps +library "[[@TEST_NAME]]"; + +interface I { fn F(); } +interface J {} + +final impl forall [T: J] T as I { fn F() {} } + +class B(U: I) { + alias B1 = U; +} + +class C(V: J) { + // Does `V as I` which finds a symbolic ImplWitness. This adds a dependency + // edge on the `T as I` impl's specific definition with a specific arg of `V`. + alias C1 = B(V).B1; +} + +class D {} +impl D as J {} +fn Use() { + // Forms `C(D)` specific which also makes the ImplWitness concrete We now + // have a dependency on the `T as I` impl with a specific arg of `D`. Forming + // this specific must resolve the specific definition of the `T as I` impl + // before we try to access `F` in it. + alias C1 = C(D).C1; + // Access `F` from the `T as I` impl with a specific arg of `D`. Compound member + // access avoids performing a fresh lookup which would give an extra chance for + // the specific definition to be resolved. + C1.(I.F)(); +} + +// --- require_specific_impl_definition_from_lookup_impl_witness_in_class_definition.carbon +//@include-in-dumps +library "[[@TEST_NAME]]"; + +interface I { fn F(); } +interface J {} + +final impl forall [T: J] T as I { fn F() {} } + +class C(U: I) { + // This puts a LookupImplWitness for `U as I` in the eval block of C. + alias C1 = U.F; +} + +fn UseI(generic T: I) { C(T).C1(); } +fn UseJ(generic T: J) { UseI(T); } + +class D {} +impl D as J {} +fn Use() { + UseJ(D); +} + +// --- require_specific_impl_definition_through_specific_instantiation.carbon +//@include-in-dumps +library "[[@TEST_NAME]]"; + +interface L { let L1: type; } +interface M {} +final impl forall [T: M] T as L where .L1 = () {} + +interface Y { let Y1: L; } +class C(U: Y) { + // This puts a LookupImplWitness for `U.Y1 as L` in the eval block of C. + alias C1 = U.Y1.L1; +} + +fn F(generic T: Y where .Y1 impls M) { + // Forms a specific of C whose definition must be resolved in order to + // perform member access to C1. The resolved specific evaluates a modified + // LookupImplWitness (`U` substed with `T`) and finds a `final impl` for L. + // + // A dependency on a specific impl is a dependency on the specific impl's + // definition. We used to create a new instruction at the time we found the + // `final impl` to encode that dependency. But that instruction would end up + // in the eval block of `F` which is incorrect. The dependency needs to resolve + // the impl's specific definition again when a specific is applied to `C` and + // `U` is replaced. + C(T).C1; +} + +// --- require_specific_impl_definition_from_inside_impl_definition.carbon +//@include-in-dumps +library "[[@TEST_NAME]]"; + +interface I; + +class B(U: I) { + alias B1 = U; +} + +interface J {} +// Allow the decl of `B(V)` where `V impls J`. +final impl forall [T: J] T as I; + +interface I { + fn F(); + fn G(generic V: J) -> B(V); +} + +final impl forall [T: J] T as I { + fn F() {} + // The return type `B(V)` forms an ImplWitness of `V as I` which refers to + // the impl currently being defined. This introduces a dependency from the + // declaration of G to the specific `T as I` ImplDecl definition with a + // symbolic argument of `V`. + fn G(generic V: J) -> B(V) { + return {}; + } +} + +// Used to call `G` in order to form the specific `B(D)`. +class C {} +impl C as J {} + +class D {} +impl D as J {} + +fn Use() { + // This calls `G(D)` which forms the specific `B(D)` for the return type. + // That does a `D as I` lookup to form a FacetValue with an ImplWitness + // referring to the specific `T as I` ImplDecl with argument `D`. The alias + // is the FacetValue holding that ImplWitness. + // + // The decl of G should has dependency on the specific ImplDecl such that + // forming accessing the table of ImplWitness can use a resolved `T as I` + // specific definition with its argument `D`. + alias D_As_I = C.(I.G)(D).B1; + // This accesses `F` from the witness table using the `ImplWitness` from + // the return type of `G(D)`. That needs the specific definition referred + // to by the `ImplWitness` to be resolved. + D_As_I.(I.F)(); +} + +// CHECK:STDOUT: --- require_specific_impl_definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: type: type = facet_type [concrete] @@ -67,7 +204,6 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0, @I.WithSelf.F(%T.dda) [symbolic] // CHECK:STDOUT: %UseJ.type: type = fn_type @UseJ [concrete] // CHECK:STDOUT: %UseJ: %UseJ.type = struct_value () [concrete] -// CHECK:STDOUT: %.6cc: require_specific_def_type = require_specific_def @T.as_type.as.I.impl(%T.e40) [symbolic] // CHECK:STDOUT: %UseI.specific_fn.95d: = specific_function %UseI, @UseI(%I.facet.297) [symbolic] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -82,13 +218,12 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: %T.as_type.as.I.impl.F.specific_fn.2f7: = specific_function %T.as_type.as.I.impl.F.fed, @T.as_type.as.I.impl.F(%T.e40) [symbolic] // CHECK:STDOUT: %.b7f: = impl_self_witness %C, @I [concrete] // CHECK:STDOUT: %I.impl_witness.2ce: = 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.ad4: 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.9a9: %T.as_type.as.I.impl.F.type.ad4 = struct_value () [concrete] -// CHECK:STDOUT: %.109: require_specific_def_type = require_specific_def @T.as_type.as.I.impl(%J.facet) [concrete] // CHECK:STDOUT: %I.facet.c8e: %I.type = facet_value %C, (%I.impl_witness.2ce) [concrete] // CHECK:STDOUT: %UseI.specific_fn.0ef: = specific_function %UseI, @UseI(%I.facet.c8e) [concrete] // CHECK:STDOUT: %I.WithSelf.F.type.151: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.c8e) [concrete] // CHECK:STDOUT: %.e21: type = fn_type_with_self_type %I.WithSelf.F.type.151, %I.facet.c8e [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type.ad4: 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.9a9: %T.as_type.as.I.impl.F.type.ad4 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.I.impl.F.specific_fn.8c5: = specific_function %T.as_type.as.I.impl.F.9a9, @T.as_type.as.I.impl.F(%J.facet) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -264,7 +399,6 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: // 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.%.6cc)] // 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.e22)] // 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.297)] // 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.95d)] @@ -275,7 +409,7 @@ fn Use() { UseJ(C); } // 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.e22) [symbolic = %I.facet.loc12_31.2 (constants.%I.facet.297)] -// CHECK:STDOUT: %.loc12_31.1: %I.type = converted %T.ref, %I.facet.loc12_31.1 [symbolic = %I.facet.loc12_31.2 (constants.%I.facet.297)] +// CHECK:STDOUT: %.loc12_31: %I.type = converted %T.ref, %I.facet.loc12_31.1 [symbolic = %I.facet.loc12_31.2 (constants.%I.facet.297)] // CHECK:STDOUT: %UseI.specific_fn.loc12_25.1: = specific_function %UseI.ref, @UseI(constants.%I.facet.297) [symbolic = %UseI.specific_fn.loc12_25.2 (constants.%UseI.specific_fn.95d)] // CHECK:STDOUT: %UseI.call: init %empty_tuple.type = call %UseI.specific_fn.loc12_25.1() // CHECK:STDOUT: return @@ -373,7 +507,6 @@ 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.%.109 // CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.2ce // CHECK:STDOUT: %I.facet.loc12_31.2 => constants.%I.facet.c8e // CHECK:STDOUT: %UseI.specific_fn.loc12_25.2 => constants.%UseI.specific_fn.0ef @@ -412,3 +545,1787 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: +// CHECK:STDOUT: --- require_specific_impl_definition_from_symbolic_impl_in_class_definition.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] +// CHECK:STDOUT: %Self.37e: %I.type = symbolic_binding Self, 0 [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.type.de2: type = fn_type @I.WithSelf.F, @I.WithSelf(%Self.37e) [symbolic] +// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] +// CHECK:STDOUT: %I.WithSelf.F.20b: %I.WithSelf.F.type.de2 = struct_value () [symbolic] +// CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] +// CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.WithSelf.%I.WithSelf.F.decl [concrete] +// CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] +// CHECK:STDOUT: %Self.653: %J.type = symbolic_binding Self, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.2c5: type = pattern_type %J.type [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.2c5 = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T: %J.type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %T.as_type: type = facet_access_type %T [symbolic] +// CHECK:STDOUT: %.6accd5.1: = impl_self_witness %T, @I [symbolic] +// CHECK:STDOUT: %I.impl_witness.e22ed8.1: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%T) [symbolic] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type.898: type = fn_type @T.as_type.as.I.impl.F, @T.as_type.as.I.impl(%T) [symbolic] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.fed: %T.as_type.as.I.impl.F.type.898 = struct_value () [symbolic] +// CHECK:STDOUT: %I.facet.297833.1: %I.type = facet_value %T.as_type, (%I.impl_witness.e22ed8.1) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.type.492: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.297833.1) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.df6: %I.WithSelf.F.type.492 = struct_value () [symbolic] +// CHECK:STDOUT: %pattern_type.6cb: type = pattern_type %I.type [concrete] +// CHECK:STDOUT: %U.patt: %pattern_type.6cb = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %U: %I.type = symbolic_binding U, 0 [symbolic] +// CHECK:STDOUT: %B.type: type = parameterized_class_name_type @B [concrete] +// CHECK:STDOUT: %B.generic: %B.type = struct_value () [concrete] +// CHECK:STDOUT: %B.348: type = class_type @B, @B(%U) [symbolic] +// CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] +// CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] +// CHECK:STDOUT: %V.patt: %pattern_type.2c5 = symbolic_binding_pattern V, 0 [symbolic] +// CHECK:STDOUT: %V: %J.type = symbolic_binding V, 0 [symbolic] +// CHECK:STDOUT: %C.type: type = parameterized_class_name_type @C [concrete] +// CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] +// CHECK:STDOUT: %C.de8: type = class_type @C, @C(%V) [symbolic] +// CHECK:STDOUT: %V.as_type: type = facet_access_type %V [symbolic] +// CHECK:STDOUT: %.6accd5.2: = impl_self_witness %V, @I [symbolic] +// CHECK:STDOUT: %I.impl_witness.e22ed8.2: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%V) [symbolic] +// CHECK:STDOUT: %I.facet.297833.2: %I.type = facet_value %V.as_type, (%I.impl_witness.e22ed8.2) [symbolic] +// CHECK:STDOUT: %B.14e: type = class_type @B, @B(%I.facet.297833.2) [symbolic] +// CHECK:STDOUT: %D: type = class_type @D [concrete] +// CHECK:STDOUT: %.b77: = impl_self_witness %D, @J [concrete] +// CHECK:STDOUT: %J.impl_witness: = impl_witness @D.as.J.impl.%J.impl_witness_table [concrete] +// CHECK:STDOUT: %J.facet: %J.type = facet_value %D, (%J.impl_witness) [concrete] +// CHECK:STDOUT: %Use.type: type = fn_type @Use [concrete] +// CHECK:STDOUT: %Use: %Use.type = struct_value () [concrete] +// CHECK:STDOUT: %C.a61: type = class_type @C, @C(%J.facet) [concrete] +// CHECK:STDOUT: %.393: = impl_self_witness %D, @I [concrete] +// CHECK:STDOUT: %I.impl_witness.6a0: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%J.facet) [concrete] +// CHECK:STDOUT: %I.facet.a62: %I.type = facet_value %D, (%I.impl_witness.6a0) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.1b8: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.a62) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.183: %I.WithSelf.F.type.1b8 = struct_value () [concrete] +// CHECK:STDOUT: %.97a: type = fn_type_with_self_type %I.WithSelf.F.type.1b8, %I.facet.a62 [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type.1de: 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.ec8: %T.as_type.as.I.impl.F.type.1de = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.specific_fn: = specific_function %T.as_type.as.I.impl.F.ec8, @T.as_type.as.I.impl.F(%J.facet) [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: imports { +// CHECK:STDOUT: %Core: = namespace file.%Core.import, [concrete] { +// CHECK:STDOUT: import Core//prelude +// CHECK:STDOUT: import Core//prelude/... +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: file { +// CHECK:STDOUT: package: = namespace [concrete] { +// CHECK:STDOUT: .Core = imports.%Core +// CHECK:STDOUT: .I = %I.decl +// CHECK:STDOUT: .J = %J.decl +// CHECK:STDOUT: .B = %B.decl +// CHECK:STDOUT: .C = %C.decl +// CHECK:STDOUT: .D = %D.decl +// CHECK:STDOUT: .Use = %Use.decl +// CHECK:STDOUT: } +// CHECK:STDOUT: %Core.import = import Core +// CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} +// CHECK:STDOUT: %J.decl: type = interface_decl @J [concrete = constants.%J.type] {} {} +// CHECK:STDOUT: impl_decl @T.as_type.as.I.impl [concrete] { +// CHECK:STDOUT: %T.patt.loc7_21.1: %pattern_type.2c5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_21.2 (constants.%T.patt)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %T.ref: %J.type = name_ref T, %T.loc7_21.2 [symbolic = %T.loc7_21.1 (constants.%T)] +// CHECK:STDOUT: %T.as_type.loc7_26.2: type = facet_access_type %T.ref [symbolic = %T.as_type.loc7_26.1 (constants.%T.as_type)] +// CHECK:STDOUT: %.loc7_26: type = converted %T.ref, %T.as_type.loc7_26.2 [symbolic = %T.as_type.loc7_26.1 (constants.%T.as_type)] +// CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] +// CHECK:STDOUT: %.loc7_23: type = splice_block %J.ref [concrete = constants.%J.type] { +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc7_21.2: %J.type = symbolic_binding T, 0 [symbolic = %T.loc7_21.1 (constants.%T)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc7: = impl_self_witness @T.as_type.as.I.impl.%.loc7_26, @I [symbolic = @T.as_type.as.I.impl.%.loc7_33 (constants.%.6accd5.1)] +// CHECK:STDOUT: %B.decl: %B.type = class_decl @B [concrete = constants.%B.generic] { +// CHECK:STDOUT: %U.patt.loc9_10.1: %pattern_type.6cb = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_10.2 (constants.%U.patt)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %.loc9: type = splice_block %I.ref [concrete = constants.%I.type] { +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %U.loc9_10.2: %I.type = symbolic_binding U, 0 [symbolic = %U.loc9_10.1 (constants.%U)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { +// CHECK:STDOUT: %V.patt.loc13_10.1: %pattern_type.2c5 = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc13_10.2 (constants.%V.patt)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %.loc13: type = splice_block %J.ref [concrete = constants.%J.type] { +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %V.loc13_10.2: %J.type = symbolic_binding V, 0 [symbolic = %V.loc13_10.1 (constants.%V)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} +// CHECK:STDOUT: impl_decl @D.as.J.impl [concrete] {} { +// CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] +// CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc20: = impl_self_witness @D.as.J.impl.%D.ref, @J [concrete = constants.%.b77] +// CHECK:STDOUT: %Use.decl: %Use.type = fn_decl @Use [concrete = constants.%Use] {} {} +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: interface @I { +// CHECK:STDOUT: %Self: %I.type = symbolic_binding Self, 0 [symbolic = constants.%Self.37e] +// CHECK:STDOUT: %I.WithSelf.decl = interface_with_self_decl @I [concrete] +// CHECK:STDOUT: +// CHECK:STDOUT: !with Self: +// CHECK:STDOUT: %I.WithSelf.F.decl: @I.WithSelf.%I.WithSelf.F.type (%I.WithSelf.F.type.de2) = fn_decl @I.WithSelf.F [symbolic = @I.WithSelf.%I.WithSelf.F (constants.%I.WithSelf.F.20b)] {} {} +// CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %I.WithSelf.F.decl [concrete = constants.%assoc0] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = %Self +// CHECK:STDOUT: .F = @I.WithSelf.%assoc0 +// CHECK:STDOUT: witness = (@I.WithSelf.%I.WithSelf.F.decl) +// CHECK:STDOUT: +// CHECK:STDOUT: !requires: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: interface @J { +// CHECK:STDOUT: %Self: %J.type = symbolic_binding Self, 0 [symbolic = constants.%Self.653] +// CHECK:STDOUT: %J.WithSelf.decl = interface_with_self_decl @J [concrete] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = %Self +// CHECK:STDOUT: witness = () +// CHECK:STDOUT: +// CHECK:STDOUT: !requires: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic final impl @T.as_type.as.I.impl(%T.loc7_21.2: %J.type) { +// CHECK:STDOUT: %T.patt.loc7_21.2: %pattern_type.2c5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_21.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.loc7_21.1: %J.type = symbolic_binding T, 0 [symbolic = %T.loc7_21.1 (constants.%T)] +// 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)] +// CHECK:STDOUT: %.loc7_33: = impl_self_witness %T.loc7_21.1, @I [symbolic = %.loc7_33 (constants.%.6accd5.1)] +// 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.e22ed8.1)] +// 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.898)] +// CHECK:STDOUT: %T.as_type.as.I.impl.F: @T.as_type.as.I.impl.%T.as_type.as.I.impl.F.type (%T.as_type.as.I.impl.F.type.898) = struct_value () [symbolic = %T.as_type.as.I.impl.F (constants.%T.as_type.as.I.impl.F.fed)] +// CHECK:STDOUT: +// 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.898) = 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.fed)] {} {} +// 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) [symbolic = %I.impl_witness.loc7_33.2 (constants.%I.impl_witness.e22ed8.1)] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .F = %T.as_type.as.I.impl.F.decl +// CHECK:STDOUT: extend %I.ref +// CHECK:STDOUT: witness = %I.impl_witness.loc7_33.1 +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: impl @D.as.J.impl: %D.ref as %J.ref { +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (), @D.as.J.impl [concrete] +// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: extend %J.ref +// CHECK:STDOUT: witness = %J.impl_witness +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic class @B(%U.loc9_10.2: %I.type) { +// CHECK:STDOUT: %U.patt.loc9_10.2: %pattern_type.6cb = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_10.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.loc9_10.1: %I.type = symbolic_binding U, 0 [symbolic = %U.loc9_10.1 (constants.%U)] +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: +// CHECK:STDOUT: class { +// CHECK:STDOUT: %.loc10: %I.type = specific_constant %U.loc9_10.2, @B(constants.%U) [symbolic = constants.%U] +// CHECK:STDOUT: %U.ref: %I.type = name_ref U, %.loc10 [symbolic = constants.%U] +// CHECK:STDOUT: %B1: %I.type = alias_binding B1, %U.ref [symbolic = %U.loc9_10.1 (constants.%U)] +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] +// CHECK:STDOUT: complete_type_witness = %complete_type +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = constants.%B.348 +// CHECK:STDOUT: .U = +// CHECK:STDOUT: .B1 = %B1 +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic class @C(%V.loc13_10.2: %J.type) { +// CHECK:STDOUT: %V.patt.loc13_10.2: %pattern_type.2c5 = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc13_10.2 (constants.%V.patt)] +// CHECK:STDOUT: %V.loc13_10.1: %J.type = symbolic_binding V, 0 [symbolic = %V.loc13_10.1 (constants.%V)] +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %V.as_type.loc16_9: type = facet_access_type %V.loc13_10.1 [symbolic = %V.as_type.loc16_9 (constants.%V.as_type)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%V.loc13_10.1) [symbolic = %I.impl_witness (constants.%I.impl_witness.e22ed8.2)] +// CHECK:STDOUT: %I.facet.loc16_9: %I.type = facet_value %V.as_type.loc16_9, (%I.impl_witness) [symbolic = %I.facet.loc16_9 (constants.%I.facet.297833.2)] +// CHECK:STDOUT: +// CHECK:STDOUT: class { +// CHECK:STDOUT: %B.ref: %B.type = name_ref B, file.%B.decl [concrete = constants.%B.generic] +// CHECK:STDOUT: %.loc16_16: %J.type = specific_constant %V.loc13_10.2, @C(constants.%V) [symbolic = constants.%V] +// CHECK:STDOUT: %V.ref: %J.type = name_ref V, %.loc16_16 [symbolic = constants.%V] +// CHECK:STDOUT: %V.as_type.loc16_17: type = facet_access_type %V.ref [symbolic = constants.%V.as_type] +// CHECK:STDOUT: %I.facet.loc16_17: %I.type = facet_value %V.as_type.loc16_17, (constants.%I.impl_witness.e22ed8.2) [symbolic = constants.%I.facet.297833.2] +// CHECK:STDOUT: %.loc16_17: %I.type = converted %V.ref, %I.facet.loc16_17 [symbolic = constants.%I.facet.297833.2] +// CHECK:STDOUT: %B: type = class_type @B, @B(constants.%I.facet.297833.2) [symbolic = constants.%B.14e] +// CHECK:STDOUT: %.loc16_18: %I.type = specific_constant @B.%B1, @B(constants.%I.facet.297833.2) [symbolic = constants.%I.facet.297833.2] +// CHECK:STDOUT: %B1.ref: %I.type = name_ref B1, %.loc16_18 [symbolic = constants.%I.facet.297833.2] +// CHECK:STDOUT: %C1: %I.type = alias_binding C1, %B1.ref [symbolic = %I.facet.loc16_9 (constants.%I.facet.297833.2)] +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] +// CHECK:STDOUT: complete_type_witness = %complete_type +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = constants.%C.de8 +// CHECK:STDOUT: .B = +// CHECK:STDOUT: .V = +// CHECK:STDOUT: .C1 = %C1 +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: class @D { +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] +// CHECK:STDOUT: complete_type_witness = %complete_type +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = constants.%D +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic fn @I.WithSelf.F(@I.%Self: %I.type) { +// CHECK:STDOUT: fn(); +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic fn @T.as_type.as.I.impl.F(@T.as_type.as.I.impl.%T.loc7_21.2: %J.type) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: +// CHECK:STDOUT: fn() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: return +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: fn @Use() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] +// CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] +// CHECK:STDOUT: %J.facet: %J.type = facet_value %D.ref, (constants.%J.impl_witness) [concrete = constants.%J.facet] +// CHECK:STDOUT: %.loc26_17: %J.type = converted %D.ref, %J.facet [concrete = constants.%J.facet] +// CHECK:STDOUT: %C: type = class_type @C, @C(constants.%J.facet) [concrete = constants.%C.a61] +// CHECK:STDOUT: %.loc26_18: %I.type = specific_constant @C.%C1, @C(constants.%J.facet) [concrete = constants.%I.facet.a62] +// CHECK:STDOUT: %C1.ref.loc26: %I.type = name_ref C1, %.loc26_18 [concrete = constants.%I.facet.a62] +// CHECK:STDOUT: %C1: %I.type = alias_binding C1, %C1.ref.loc26 [concrete = constants.%I.facet.a62] +// CHECK:STDOUT: %C1.ref.loc30: %I.type = name_ref C1, %C1 [concrete = constants.%I.facet.a62] +// CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] +// CHECK:STDOUT: %F.ref: %I.assoc_type = name_ref F, @I.WithSelf.%assoc0 [concrete = constants.%assoc0] +// CHECK:STDOUT: %impl.elem0: %.97a = impl_witness_access constants.%I.impl_witness.6a0, element0 [concrete = constants.%T.as_type.as.I.impl.F.ec8] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @T.as_type.as.I.impl.F(constants.%J.facet) [concrete = constants.%T.as_type.as.I.impl.F.specific_fn] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.call: init %empty_tuple.type = call %specific_fn() +// CHECK:STDOUT: return +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf(constants.%Self.37e) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %Self => constants.%Self.37e +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.de2 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.20b +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%Self.37e) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @J.WithSelf(constants.%Self.653) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl(constants.%T) { +// CHECK:STDOUT: %T.patt.loc7_21.2 => constants.%T.patt +// CHECK:STDOUT: %T.loc7_21.1 => constants.%T +// CHECK:STDOUT: %T.as_type.loc7_26.1 => constants.%T.as_type +// CHECK:STDOUT: %.loc7_33 => constants.%.6accd5.1 +// CHECK:STDOUT: %I.impl_witness.loc7_33.2 => constants.%I.impl_witness.e22ed8.1 +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type => constants.%T.as_type.as.I.impl.F.type.898 +// CHECK:STDOUT: %T.as_type.as.I.impl.F => constants.%T.as_type.as.I.impl.F.fed +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl.F(constants.%T) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.297833.1) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %Self => constants.%I.facet.297833.1 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.492 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.df6 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.297833.1) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @B(constants.%U) { +// CHECK:STDOUT: %U.patt.loc9_10.2 => constants.%U.patt +// CHECK:STDOUT: %U.loc9_10.1 => constants.%U +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @C(constants.%V) { +// CHECK:STDOUT: %V.patt.loc13_10.2 => constants.%V.patt +// CHECK:STDOUT: %V.loc13_10.1 => constants.%V +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl(constants.%V) { +// CHECK:STDOUT: %T.patt.loc7_21.2 => constants.%T.patt +// CHECK:STDOUT: %T.loc7_21.1 => constants.%V +// CHECK:STDOUT: %T.as_type.loc7_26.1 => constants.%V.as_type +// CHECK:STDOUT: %.loc7_33 => constants.%.6accd5.2 +// CHECK:STDOUT: %I.impl_witness.loc7_33.2 => constants.%I.impl_witness.e22ed8.2 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @B(constants.%I.facet.297833.2) { +// CHECK:STDOUT: %U.patt.loc9_10.2 => constants.%U.patt +// CHECK:STDOUT: %U.loc9_10.1 => constants.%I.facet.297833.2 +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @C(constants.%J.facet) { +// CHECK:STDOUT: %V.patt.loc13_10.2 => constants.%V.patt +// CHECK:STDOUT: %V.loc13_10.1 => constants.%J.facet +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %V.as_type.loc16_9 => constants.%D +// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.6a0 +// CHECK:STDOUT: %I.facet.loc16_9 => constants.%I.facet.a62 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl(constants.%J.facet) { +// CHECK:STDOUT: %T.patt.loc7_21.2 => constants.%T.patt +// CHECK:STDOUT: %T.loc7_21.1 => constants.%J.facet +// CHECK:STDOUT: %T.as_type.loc7_26.1 => constants.%D +// CHECK:STDOUT: %.loc7_33 => constants.%.393 +// CHECK:STDOUT: %I.impl_witness.loc7_33.2 => constants.%I.impl_witness.6a0 +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type => constants.%T.as_type.as.I.impl.F.type.1de +// CHECK:STDOUT: %T.as_type.as.I.impl.F => constants.%T.as_type.as.I.impl.F.ec8 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.a62) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %Self => constants.%I.facet.a62 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.1b8 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.183 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl.F(constants.%J.facet) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: --- require_specific_impl_definition_from_lookup_impl_witness_in_class_definition.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] +// CHECK:STDOUT: %Self.37e: %I.type = symbolic_binding Self, 0 [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.type.de2: type = fn_type @I.WithSelf.F, @I.WithSelf(%Self.37e) [symbolic] +// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] +// CHECK:STDOUT: %I.WithSelf.F.20b: %I.WithSelf.F.type.de2 = struct_value () [symbolic] +// CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] +// CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.WithSelf.%I.WithSelf.F.decl [concrete] +// CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] +// CHECK:STDOUT: %Self.653: %J.type = symbolic_binding Self, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %.6ac: = impl_self_witness %T.e40, @I [symbolic] +// CHECK:STDOUT: %I.impl_witness.e22: = 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.898: 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.fed: %T.as_type.as.I.impl.F.type.898 = struct_value () [symbolic] +// CHECK:STDOUT: %I.facet.297: %I.type = facet_value %T.as_type.d90, (%I.impl_witness.e22) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.type.492: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.297) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.df6: %I.WithSelf.F.type.492 = struct_value () [symbolic] +// CHECK:STDOUT: %pattern_type.6cb: type = pattern_type %I.type [concrete] +// CHECK:STDOUT: %U.patt: %pattern_type.6cb = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %U: %I.type = symbolic_binding U, 0 [symbolic] +// CHECK:STDOUT: %C.type: type = parameterized_class_name_type @C [concrete] +// CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] +// CHECK:STDOUT: %C.f92650.1: type = class_type @C, @C(%U) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.type.eae64e.1: type = fn_type @I.WithSelf.F, @I.WithSelf(%U) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.4b1: %I.WithSelf.F.type.eae64e.1 = struct_value () [symbolic] +// CHECK:STDOUT: %U.as_type: type = facet_access_type %U [symbolic] +// CHECK:STDOUT: %I.lookup_impl_witness.03bc6d.1: = lookup_impl_witness %U, @I [symbolic] +// CHECK:STDOUT: %.b94131.1: type = fn_type_with_self_type %I.WithSelf.F.type.eae64e.1, %U [symbolic] +// CHECK:STDOUT: %impl.elem0.136579.1: %.b94131.1 = impl_witness_access %I.lookup_impl_witness.03bc6d.1, element0 [symbolic] +// CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] +// CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_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] +// CHECK:STDOUT: %UseI.type: type = fn_type @UseI [concrete] +// CHECK:STDOUT: %UseI: %UseI.type = struct_value () [concrete] +// CHECK:STDOUT: %C.f92650.2: type = class_type @C, @C(%T.dda) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.type.eae64e.2: type = fn_type @I.WithSelf.F, @I.WithSelf(%T.dda) [symbolic] +// CHECK:STDOUT: %.b94131.2: type = fn_type_with_self_type %I.WithSelf.F.type.eae64e.2, %T.dda [symbolic] +// CHECK:STDOUT: %I.lookup_impl_witness.03bc6d.2: = lookup_impl_witness %T.dda, @I [symbolic] +// CHECK:STDOUT: %impl.elem0.136579.2: %.b94131.2 = impl_witness_access %I.lookup_impl_witness.03bc6d.2, element0 [symbolic] +// CHECK:STDOUT: %require_complete.40f: = require_complete_type %C.f92650.2 [symbolic] +// CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0.136579.2, @I.WithSelf.F(%T.dda) [symbolic] +// CHECK:STDOUT: %UseJ.type: type = fn_type @UseJ [concrete] +// CHECK:STDOUT: %UseJ: %UseJ.type = struct_value () [concrete] +// CHECK:STDOUT: %UseI.specific_fn.95d: = specific_function %UseI, @UseI(%I.facet.297) [symbolic] +// CHECK:STDOUT: %D: type = class_type @D [concrete] +// CHECK:STDOUT: %.b77: = impl_self_witness %D, @J [concrete] +// CHECK:STDOUT: %J.impl_witness: = impl_witness @D.as.J.impl.%J.impl_witness_table [concrete] +// CHECK:STDOUT: %J.facet: %J.type = facet_value %D, (%J.impl_witness) [concrete] +// 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: %C.ac5: type = class_type @C, @C(%I.facet.297) [symbolic] +// CHECK:STDOUT: %require_complete.c9d: = require_complete_type %C.ac5 [symbolic] +// CHECK:STDOUT: %.d7c: type = fn_type_with_self_type %I.WithSelf.F.type.492, %I.facet.297 [symbolic] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.specific_fn.2f7: = specific_function %T.as_type.as.I.impl.F.fed, @T.as_type.as.I.impl.F(%T.e40) [symbolic] +// CHECK:STDOUT: %.393: = impl_self_witness %D, @I [concrete] +// CHECK:STDOUT: %I.impl_witness.6a0: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%J.facet) [concrete] +// CHECK:STDOUT: %I.facet.a62: %I.type = facet_value %D, (%I.impl_witness.6a0) [concrete] +// CHECK:STDOUT: %UseI.specific_fn.033: = specific_function %UseI, @UseI(%I.facet.a62) [concrete] +// CHECK:STDOUT: %C.c11: type = class_type @C, @C(%I.facet.a62) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.1b8: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.a62) [concrete] +// CHECK:STDOUT: %.97a: type = fn_type_with_self_type %I.WithSelf.F.type.1b8, %I.facet.a62 [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type.1de: 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.ec8: %T.as_type.as.I.impl.F.type.1de = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.specific_fn.c71: = specific_function %T.as_type.as.I.impl.F.ec8, @T.as_type.as.I.impl.F(%J.facet) [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: imports { +// CHECK:STDOUT: %Core: = namespace file.%Core.import, [concrete] { +// CHECK:STDOUT: import Core//prelude +// CHECK:STDOUT: import Core//prelude/... +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: file { +// CHECK:STDOUT: package: = namespace [concrete] { +// CHECK:STDOUT: .Core = imports.%Core +// CHECK:STDOUT: .I = %I.decl +// CHECK:STDOUT: .J = %J.decl +// CHECK:STDOUT: .C = %C.decl +// CHECK:STDOUT: .UseI = %UseI.decl +// CHECK:STDOUT: .UseJ = %UseJ.decl +// CHECK:STDOUT: .D = %D.decl +// CHECK:STDOUT: .Use = %Use.decl +// CHECK:STDOUT: } +// CHECK:STDOUT: %Core.import = import Core +// CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} +// CHECK:STDOUT: %J.decl: type = interface_decl @J [concrete = constants.%J.type] {} {} +// CHECK:STDOUT: impl_decl @T.as_type.as.I.impl [concrete] { +// CHECK:STDOUT: %T.patt.loc7_21.1: %pattern_type.2c5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_21.2 (constants.%T.patt.ac1)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %T.ref: %J.type = name_ref T, %T.loc7_21.2 [symbolic = %T.loc7_21.1 (constants.%T.e40)] +// CHECK:STDOUT: %T.as_type.loc7_26.2: type = facet_access_type %T.ref [symbolic = %T.as_type.loc7_26.1 (constants.%T.as_type.d90)] +// CHECK:STDOUT: %.loc7_26: type = converted %T.ref, %T.as_type.loc7_26.2 [symbolic = %T.as_type.loc7_26.1 (constants.%T.as_type.d90)] +// CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] +// CHECK:STDOUT: %.loc7_23: type = splice_block %J.ref [concrete = constants.%J.type] { +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc7_21.2: %J.type = symbolic_binding T, 0 [symbolic = %T.loc7_21.1 (constants.%T.e40)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc7: = impl_self_witness @T.as_type.as.I.impl.%.loc7_26, @I [symbolic = @T.as_type.as.I.impl.%.loc7_33 (constants.%.6ac)] +// CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { +// CHECK:STDOUT: %U.patt.loc9_10.1: %pattern_type.6cb = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_10.2 (constants.%U.patt)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %.loc9: type = splice_block %I.ref [concrete = constants.%I.type] { +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %U.loc9_10.2: %I.type = symbolic_binding U, 0 [symbolic = %U.loc9_10.1 (constants.%U)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %UseI.decl: %UseI.type = fn_decl @UseI [concrete = constants.%UseI] { +// CHECK:STDOUT: %T.patt.loc14_18.1: %pattern_type.6cb = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_18.2 (constants.%T.patt.1df)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %.loc14_20: type = splice_block %I.ref [concrete = constants.%I.type] { +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc14_18.2: %I.type = symbolic_binding T, 0 [symbolic = %T.loc14_18.1 (constants.%T.dda)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %UseJ.decl: %UseJ.type = fn_decl @UseJ [concrete = constants.%UseJ] { +// CHECK:STDOUT: %T.patt.loc15_18.1: %pattern_type.2c5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_18.2 (constants.%T.patt.ac1)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %.loc15_20: type = splice_block %J.ref [concrete = constants.%J.type] { +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc15_18.2: %J.type = symbolic_binding T, 0 [symbolic = %T.loc15_18.1 (constants.%T.e40)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} +// CHECK:STDOUT: impl_decl @D.as.J.impl [concrete] {} { +// CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] +// CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc18: = impl_self_witness @D.as.J.impl.%D.ref, @J [concrete = constants.%.b77] +// CHECK:STDOUT: %Use.decl: %Use.type = fn_decl @Use [concrete = constants.%Use] {} {} +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: interface @I { +// CHECK:STDOUT: %Self: %I.type = symbolic_binding Self, 0 [symbolic = constants.%Self.37e] +// CHECK:STDOUT: %I.WithSelf.decl = interface_with_self_decl @I [concrete] +// CHECK:STDOUT: +// CHECK:STDOUT: !with Self: +// CHECK:STDOUT: %I.WithSelf.F.decl: @I.WithSelf.%I.WithSelf.F.type (%I.WithSelf.F.type.de2) = fn_decl @I.WithSelf.F [symbolic = @I.WithSelf.%I.WithSelf.F (constants.%I.WithSelf.F.20b)] {} {} +// CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %I.WithSelf.F.decl [concrete = constants.%assoc0] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = %Self +// CHECK:STDOUT: .F = @I.WithSelf.%assoc0 +// CHECK:STDOUT: witness = (@I.WithSelf.%I.WithSelf.F.decl) +// CHECK:STDOUT: +// CHECK:STDOUT: !requires: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: interface @J { +// CHECK:STDOUT: %Self: %J.type = symbolic_binding Self, 0 [symbolic = constants.%Self.653] +// CHECK:STDOUT: %J.WithSelf.decl = interface_with_self_decl @J [concrete] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = %Self +// CHECK:STDOUT: witness = () +// CHECK:STDOUT: +// CHECK:STDOUT: !requires: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic final impl @T.as_type.as.I.impl(%T.loc7_21.2: %J.type) { +// CHECK:STDOUT: %T.patt.loc7_21.2: %pattern_type.2c5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_21.2 (constants.%T.patt.ac1)] +// 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.loc7_21.1, @I [symbolic = %.loc7_33 (constants.%.6ac)] +// 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.e22)] +// 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.898)] +// CHECK:STDOUT: %T.as_type.as.I.impl.F: @T.as_type.as.I.impl.%T.as_type.as.I.impl.F.type (%T.as_type.as.I.impl.F.type.898) = struct_value () [symbolic = %T.as_type.as.I.impl.F (constants.%T.as_type.as.I.impl.F.fed)] +// CHECK:STDOUT: +// 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.898) = 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.fed)] {} {} +// 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.e22)] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .F = %T.as_type.as.I.impl.F.decl +// CHECK:STDOUT: extend %I.ref +// CHECK:STDOUT: witness = %I.impl_witness.loc7_33.1 +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: impl @D.as.J.impl: %D.ref as %J.ref { +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (), @D.as.J.impl [concrete] +// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: extend %J.ref +// CHECK:STDOUT: witness = %J.impl_witness +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic class @C(%U.loc9_10.2: %I.type) { +// CHECK:STDOUT: %U.patt.loc9_10.2: %pattern_type.6cb = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_10.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.loc9_10.1: %I.type = symbolic_binding U, 0 [symbolic = %U.loc9_10.1 (constants.%U)] +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %I.WithSelf.F.type: type = fn_type @I.WithSelf.F, @I.WithSelf(%U.loc9_10.1) [symbolic = %I.WithSelf.F.type (constants.%I.WithSelf.F.type.eae64e.1)] +// CHECK:STDOUT: %.loc11_9: type = fn_type_with_self_type %I.WithSelf.F.type, %U.loc9_10.1 [symbolic = %.loc11_9 (constants.%.b94131.1)] +// CHECK:STDOUT: %I.lookup_impl_witness: = lookup_impl_witness %U.loc9_10.1, @I [symbolic = %I.lookup_impl_witness (constants.%I.lookup_impl_witness.03bc6d.1)] +// CHECK:STDOUT: %impl.elem0.loc11_9: @C.%.loc11_9 (%.b94131.1) = impl_witness_access %I.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc11_9 (constants.%impl.elem0.136579.1)] +// CHECK:STDOUT: +// CHECK:STDOUT: class { +// CHECK:STDOUT: %.loc11_14: %I.type = specific_constant %U.loc9_10.2, @C(constants.%U) [symbolic = constants.%U] +// CHECK:STDOUT: %U.ref: %I.type = name_ref U, %.loc11_14 [symbolic = constants.%U] +// CHECK:STDOUT: %U.as_type: type = facet_access_type %U.ref [symbolic = constants.%U.as_type] +// CHECK:STDOUT: %.loc11_15: type = converted %U.ref, %U.as_type [symbolic = constants.%U.as_type] +// CHECK:STDOUT: %F.ref: %I.assoc_type = name_ref F, @I.WithSelf.%assoc0 [concrete = constants.%assoc0] +// CHECK:STDOUT: %impl.elem0.loc11_15: %.b94131.1 = impl_witness_access constants.%I.lookup_impl_witness.03bc6d.1, element0 [symbolic = constants.%impl.elem0.136579.1] +// CHECK:STDOUT: %C1: @C.%.loc11_9 (%.b94131.1) = alias_binding C1, %impl.elem0.loc11_15 [symbolic = %impl.elem0.loc11_9 (constants.%impl.elem0.136579.1)] +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] +// CHECK:STDOUT: complete_type_witness = %complete_type +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = constants.%C.f92650.1 +// CHECK:STDOUT: .U = +// CHECK:STDOUT: .C1 = %C1 +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: class @D { +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] +// CHECK:STDOUT: complete_type_witness = %complete_type +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = constants.%D +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic fn @I.WithSelf.F(@I.%Self: %I.type) { +// CHECK:STDOUT: fn(); +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic fn @T.as_type.as.I.impl.F(@T.as_type.as.I.impl.%T.loc7_21.2: %J.type) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: +// CHECK:STDOUT: fn() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: return +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic fn @UseI(%T.loc14_18.2: %I.type) { +// CHECK:STDOUT: %T.patt.loc14_18.2: %pattern_type.6cb = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_18.2 (constants.%T.patt.1df)] +// CHECK:STDOUT: %T.loc14_18.1: %I.type = symbolic_binding T, 0 [symbolic = %T.loc14_18.1 (constants.%T.dda)] +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %C.loc14_28.2: type = class_type @C, @C(%T.loc14_18.1) [symbolic = %C.loc14_28.2 (constants.%C.f92650.2)] +// CHECK:STDOUT: %require_complete: = require_complete_type %C.loc14_28.2 [symbolic = %require_complete (constants.%require_complete.40f)] +// CHECK:STDOUT: %I.WithSelf.F.type: type = fn_type @I.WithSelf.F, @I.WithSelf(%T.loc14_18.1) [symbolic = %I.WithSelf.F.type (constants.%I.WithSelf.F.type.eae64e.2)] +// CHECK:STDOUT: %.loc14_29.2: type = fn_type_with_self_type %I.WithSelf.F.type, %T.loc14_18.1 [symbolic = %.loc14_29.2 (constants.%.b94131.2)] +// CHECK:STDOUT: %I.lookup_impl_witness: = lookup_impl_witness %T.loc14_18.1, @I [symbolic = %I.lookup_impl_witness (constants.%I.lookup_impl_witness.03bc6d.2)] +// CHECK:STDOUT: %impl.elem0: @UseI.%.loc14_29.2 (%.b94131.2) = impl_witness_access %I.lookup_impl_witness, element0 [symbolic = %impl.elem0 (constants.%impl.elem0.136579.2)] +// CHECK:STDOUT: %specific_impl_fn.loc14_29.2: = specific_impl_function %impl.elem0, @I.WithSelf.F(%T.loc14_18.1) [symbolic = %specific_impl_fn.loc14_29.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: +// CHECK:STDOUT: fn() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] +// CHECK:STDOUT: %T.ref: %I.type = name_ref T, %T.loc14_18.2 [symbolic = %T.loc14_18.1 (constants.%T.dda)] +// CHECK:STDOUT: %C.loc14_28.1: type = class_type @C, @C(constants.%T.dda) [symbolic = %C.loc14_28.2 (constants.%C.f92650.2)] +// CHECK:STDOUT: %.loc14_29.1: @UseI.%.loc14_29.2 (%.b94131.2) = specific_constant @C.%C1, @C(constants.%T.dda) [symbolic = %impl.elem0 (constants.%impl.elem0.136579.2)] +// CHECK:STDOUT: %C1.ref: @UseI.%.loc14_29.2 (%.b94131.2) = name_ref C1, %.loc14_29.1 [symbolic = %impl.elem0 (constants.%impl.elem0.136579.2)] +// CHECK:STDOUT: %specific_impl_fn.loc14_29.1: = specific_impl_function %C1.ref, @I.WithSelf.F(constants.%T.dda) [symbolic = %specific_impl_fn.loc14_29.2 (constants.%specific_impl_fn)] +// CHECK:STDOUT: %I.WithSelf.F.call: init %empty_tuple.type = call %specific_impl_fn.loc14_29.1() +// CHECK:STDOUT: return +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic fn @UseJ(%T.loc15_18.2: %J.type) { +// CHECK:STDOUT: %T.patt.loc15_18.2: %pattern_type.2c5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_18.2 (constants.%T.patt.ac1)] +// CHECK:STDOUT: %T.loc15_18.1: %J.type = symbolic_binding T, 0 [symbolic = %T.loc15_18.1 (constants.%T.e40)] +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %T.as_type.loc15_31.2: type = facet_access_type %T.loc15_18.1 [symbolic = %T.as_type.loc15_31.2 (constants.%T.as_type.d90)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%T.loc15_18.1) [symbolic = %I.impl_witness (constants.%I.impl_witness.e22)] +// CHECK:STDOUT: %I.facet.loc15_31.2: %I.type = facet_value %T.as_type.loc15_31.2, (%I.impl_witness) [symbolic = %I.facet.loc15_31.2 (constants.%I.facet.297)] +// CHECK:STDOUT: %UseI.specific_fn.loc15_25.2: = specific_function constants.%UseI, @UseI(%I.facet.loc15_31.2) [symbolic = %UseI.specific_fn.loc15_25.2 (constants.%UseI.specific_fn.95d)] +// 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.loc15_18.2 [symbolic = %T.loc15_18.1 (constants.%T.e40)] +// CHECK:STDOUT: %T.as_type.loc15_31.1: type = facet_access_type %T.ref [symbolic = %T.as_type.loc15_31.2 (constants.%T.as_type.d90)] +// CHECK:STDOUT: %I.facet.loc15_31.1: %I.type = facet_value %T.as_type.loc15_31.1, (constants.%I.impl_witness.e22) [symbolic = %I.facet.loc15_31.2 (constants.%I.facet.297)] +// CHECK:STDOUT: %.loc15_31: %I.type = converted %T.ref, %I.facet.loc15_31.1 [symbolic = %I.facet.loc15_31.2 (constants.%I.facet.297)] +// CHECK:STDOUT: %UseI.specific_fn.loc15_25.1: = specific_function %UseI.ref, @UseI(constants.%I.facet.297) [symbolic = %UseI.specific_fn.loc15_25.2 (constants.%UseI.specific_fn.95d)] +// CHECK:STDOUT: %UseI.call: init %empty_tuple.type = call %UseI.specific_fn.loc15_25.1() +// CHECK:STDOUT: return +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: fn @Use() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: %UseJ.ref: %UseJ.type = name_ref UseJ, file.%UseJ.decl [concrete = constants.%UseJ] +// CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] +// CHECK:STDOUT: %J.facet: %J.type = facet_value %D.ref, (constants.%J.impl_witness) [concrete = constants.%J.facet] +// CHECK:STDOUT: %.loc20: %J.type = converted %D.ref, %J.facet [concrete = constants.%J.facet] +// CHECK:STDOUT: %UseJ.specific_fn: = specific_function %UseJ.ref, @UseJ(constants.%J.facet) [concrete = constants.%UseJ.specific_fn] +// CHECK:STDOUT: %UseJ.call: init %empty_tuple.type = call %UseJ.specific_fn() +// CHECK:STDOUT: return +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf(constants.%Self.37e) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %Self => constants.%Self.37e +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.de2 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.20b +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%Self.37e) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @J.WithSelf(constants.%Self.653) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl(constants.%T.e40) { +// CHECK:STDOUT: %T.patt.loc7_21.2 => constants.%T.patt.ac1 +// 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.%.6ac +// CHECK:STDOUT: %I.impl_witness.loc7_33.2 => constants.%I.impl_witness.e22 +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type => constants.%T.as_type.as.I.impl.F.type.898 +// CHECK:STDOUT: %T.as_type.as.I.impl.F => constants.%T.as_type.as.I.impl.F.fed +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl.F(constants.%T.e40) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.297) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %Self => constants.%I.facet.297 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.492 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.df6 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.297) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @C(constants.%U) { +// CHECK:STDOUT: %U.patt.loc9_10.2 => constants.%U.patt +// CHECK:STDOUT: %U.loc9_10.1 => constants.%U +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf(constants.%U) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %Self => constants.%U +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.eae64e.1 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.4b1 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @UseI(constants.%T.dda) { +// CHECK:STDOUT: %T.patt.loc14_18.2 => constants.%T.patt.1df +// CHECK:STDOUT: %T.loc14_18.1 => constants.%T.dda +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @C(constants.%T.dda) { +// CHECK:STDOUT: %U.patt.loc9_10.2 => constants.%U.patt +// CHECK:STDOUT: %U.loc9_10.1 => constants.%T.dda +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.eae64e.2 +// CHECK:STDOUT: %.loc11_9 => constants.%.b94131.2 +// CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.lookup_impl_witness.03bc6d.2 +// CHECK:STDOUT: %impl.elem0.loc11_9 => constants.%impl.elem0.136579.2 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf(constants.%T.dda) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%T.dda) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @UseJ(constants.%T.e40) { +// CHECK:STDOUT: %T.patt.loc15_18.2 => constants.%T.patt.ac1 +// CHECK:STDOUT: %T.loc15_18.1 => constants.%T.e40 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @UseI(constants.%I.facet.297) { +// CHECK:STDOUT: %T.patt.loc14_18.2 => constants.%T.patt.1df +// CHECK:STDOUT: %T.loc14_18.1 => constants.%I.facet.297 +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %C.loc14_28.2 => constants.%C.ac5 +// CHECK:STDOUT: %require_complete => constants.%require_complete.c9d +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.492 +// CHECK:STDOUT: %.loc14_29.2 => constants.%.d7c +// CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.impl_witness.e22 +// CHECK:STDOUT: %impl.elem0 => constants.%T.as_type.as.I.impl.F.fed +// CHECK:STDOUT: %specific_impl_fn.loc14_29.2 => constants.%T.as_type.as.I.impl.F.specific_fn.2f7 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @UseJ(constants.%J.facet) { +// CHECK:STDOUT: %T.patt.loc15_18.2 => constants.%T.patt.ac1 +// CHECK:STDOUT: %T.loc15_18.1 => constants.%J.facet +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %T.as_type.loc15_31.2 => constants.%D +// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.6a0 +// CHECK:STDOUT: %I.facet.loc15_31.2 => constants.%I.facet.a62 +// CHECK:STDOUT: %UseI.specific_fn.loc15_25.2 => constants.%UseI.specific_fn.033 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @C(constants.%I.facet.297) { +// CHECK:STDOUT: %U.patt.loc9_10.2 => constants.%U.patt +// CHECK:STDOUT: %U.loc9_10.1 => constants.%I.facet.297 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl(constants.%J.facet) { +// CHECK:STDOUT: %T.patt.loc7_21.2 => constants.%T.patt.ac1 +// CHECK:STDOUT: %T.loc7_21.1 => constants.%J.facet +// CHECK:STDOUT: %T.as_type.loc7_26.1 => constants.%D +// CHECK:STDOUT: %.loc7_33 => constants.%.393 +// CHECK:STDOUT: %I.impl_witness.loc7_33.2 => constants.%I.impl_witness.6a0 +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type => constants.%T.as_type.as.I.impl.F.type.1de +// CHECK:STDOUT: %T.as_type.as.I.impl.F => constants.%T.as_type.as.I.impl.F.ec8 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @UseI(constants.%I.facet.a62) { +// CHECK:STDOUT: %T.patt.loc14_18.2 => constants.%T.patt.1df +// CHECK:STDOUT: %T.loc14_18.1 => constants.%I.facet.a62 +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %C.loc14_28.2 => constants.%C.c11 +// CHECK:STDOUT: %require_complete => constants.%complete_type +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.1b8 +// CHECK:STDOUT: %.loc14_29.2 => constants.%.97a +// CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.impl_witness.6a0 +// CHECK:STDOUT: %impl.elem0 => constants.%T.as_type.as.I.impl.F.ec8 +// CHECK:STDOUT: %specific_impl_fn.loc14_29.2 => constants.%T.as_type.as.I.impl.F.specific_fn.c71 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @C(constants.%I.facet.a62) { +// CHECK:STDOUT: %U.patt.loc9_10.2 => constants.%U.patt +// CHECK:STDOUT: %U.loc9_10.1 => constants.%I.facet.a62 +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.1b8 +// CHECK:STDOUT: %.loc11_9 => constants.%.97a +// CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.impl_witness.6a0 +// CHECK:STDOUT: %impl.elem0.loc11_9 => constants.%T.as_type.as.I.impl.F.ec8 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.a62) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.a62) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl.F(constants.%J.facet) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: --- require_specific_impl_definition_through_specific_instantiation.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %L.type: type = facet_type <@L> [concrete] +// CHECK:STDOUT: %Self.480: %L.type = symbolic_binding Self, 0 [symbolic] +// CHECK:STDOUT: %L.assoc_type: type = assoc_entity_type @L [concrete] +// CHECK:STDOUT: %assoc0.246: %L.assoc_type = assoc_entity element0, @L.WithSelf.%L1 [concrete] +// CHECK:STDOUT: %M.type: type = facet_type <@M> [concrete] +// CHECK:STDOUT: %Self.c16: %M.type = symbolic_binding Self, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.1af: type = pattern_type %M.type [concrete] +// CHECK:STDOUT: %T.patt.3fe: %pattern_type.1af = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.5fb: %M.type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %T.as_type.af8: type = facet_access_type %T.5fb [symbolic] +// CHECK:STDOUT: %.Self.frozen.f7f: %L.type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.as_type.8c7: type = facet_access_type %.Self.frozen.f7f [symbolic_self] +// CHECK:STDOUT: %.63f3: = impl_self_witness %.Self.frozen.f7f, @L [symbolic_self] +// CHECK:STDOUT: %impl.elem0.2e9: type = impl_witness_access %.63f3, element0 [symbolic_self] +// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] +// CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] +// CHECK:STDOUT: %.Self.866: %L.type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.300: = impl_self_witness %.Self.866, @L [symbolic_self] +// CHECK:STDOUT: %impl.elem0.865: type = impl_witness_access %.300, element0 [symbolic_self] +// CHECK:STDOUT: %L_where.type.94d: type = facet_type <@L where %impl.elem0.865 = %empty_tuple.type> [concrete] +// CHECK:STDOUT: %.63f6: = impl_self_witness %T.5fb, @L [symbolic] +// CHECK:STDOUT: %L.impl_witness.4ca: = impl_witness @T.as_type.as.L.impl.%L.impl_witness_table, @T.as_type.as.L.impl(%T.5fb) [symbolic] +// CHECK:STDOUT: %L.facet.d07: %L.type = facet_value %T.as_type.af8, (%L.impl_witness.4ca) [symbolic] +// CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] +// CHECK:STDOUT: %Self.765: %Y.type = symbolic_binding Self, 0 [symbolic] +// CHECK:STDOUT: %Y.assoc_type: type = assoc_entity_type @Y [concrete] +// CHECK:STDOUT: %assoc0.509: %Y.assoc_type = assoc_entity element0, @Y.WithSelf.%Y1 [concrete] +// CHECK:STDOUT: %pattern_type.cfb22c.1: type = pattern_type %Y.type [concrete] +// CHECK:STDOUT: %U.patt: %pattern_type.cfb22c.1 = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %U: %Y.type = symbolic_binding U, 0 [symbolic] +// CHECK:STDOUT: %C.type: type = parameterized_class_name_type @C [concrete] +// CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] +// CHECK:STDOUT: %C.410: type = class_type @C, @C(%U) [symbolic] +// CHECK:STDOUT: %U.as_type: type = facet_access_type %U [symbolic] +// CHECK:STDOUT: %Y.lookup_impl_witness.6a9071.1: = lookup_impl_witness %U, @Y [symbolic] +// CHECK:STDOUT: %impl.elem0.0788a1.1: %L.type = impl_witness_access %Y.lookup_impl_witness.6a9071.1, element0 [symbolic] +// CHECK:STDOUT: %as_type.529665.1: type = facet_access_type %impl.elem0.0788a1.1 [symbolic] +// CHECK:STDOUT: %L.lookup_impl_witness: = lookup_impl_witness %impl.elem0.0788a1.1, @L [symbolic] +// CHECK:STDOUT: %impl.elem0.226: type = impl_witness_access %L.lookup_impl_witness, element0 [symbolic] +// CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] +// CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] +// CHECK:STDOUT: %.Self.frozen.3a0: %Y.type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.as_type.449: type = facet_access_type %.Self.frozen.3a0 [symbolic_self] +// CHECK:STDOUT: %Y.lookup_impl_witness.94c: = lookup_impl_witness %.Self.frozen.3a0, @Y [symbolic_self] +// CHECK:STDOUT: %impl.elem0.f59: %L.type = impl_witness_access %Y.lookup_impl_witness.94c, element0 [symbolic_self] +// CHECK:STDOUT: %as_type.81d: type = facet_access_type %impl.elem0.f59 [symbolic_self] +// CHECK:STDOUT: %.Self.61d: %Y.type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %Y.lookup_impl_witness.9c7: = lookup_impl_witness %.Self.61d, @Y [symbolic_self] +// CHECK:STDOUT: %impl.elem0.e05: %L.type = impl_witness_access %Y.lookup_impl_witness.9c7, element0 [symbolic_self] +// CHECK:STDOUT: %as_type.702: type = facet_access_type %impl.elem0.e05 [symbolic_self] +// CHECK:STDOUT: %Y_where.type.bd02cd.1: type = facet_type <@Y where %impl.elem0.e05 impls @M> [concrete] +// CHECK:STDOUT: %pattern_type.cfb22c.2: type = pattern_type %Y_where.type.bd02cd.1 [concrete] +// CHECK:STDOUT: %T.patt.dc7: %pattern_type.cfb22c.2 = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.95b: %Y_where.type.bd02cd.1 = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %F.type: type = fn_type @F [concrete] +// CHECK:STDOUT: %F: %F.type = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.917: type = facet_access_type %T.95b [symbolic] +// CHECK:STDOUT: %Y.lookup_impl_witness.6a9071.2: = lookup_impl_witness %T.95b, @Y [symbolic] +// CHECK:STDOUT: %impl.elem0.0788a1.2: %L.type = impl_witness_access %Y.lookup_impl_witness.6a9071.2, element0 [symbolic] +// CHECK:STDOUT: %Y.facet.c69: %Y.type = facet_value %T.as_type.917, (%Y.lookup_impl_witness.6a9071.2) [symbolic] +// CHECK:STDOUT: %C.cbf: type = class_type @C, @C(%Y.facet.c69) [symbolic] +// CHECK:STDOUT: %as_type.529665.2: type = facet_access_type %impl.elem0.0788a1.2 [symbolic] +// CHECK:STDOUT: %M.lookup_impl_witness.07c63d.2: = lookup_impl_witness %impl.elem0.0788a1.2, @M [symbolic] +// CHECK:STDOUT: %M.facet: %M.type = facet_value %as_type.529665.2, (%M.lookup_impl_witness.07c63d.2) [symbolic] +// CHECK:STDOUT: %.34b: = impl_self_witness %impl.elem0.0788a1.2, @L [symbolic] +// CHECK:STDOUT: %L.impl_witness.d68: = impl_witness @T.as_type.as.L.impl.%L.impl_witness_table, @T.as_type.as.L.impl(%M.facet) [symbolic] +// CHECK:STDOUT: %require_complete: = require_complete_type %C.cbf [symbolic] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: imports { +// CHECK:STDOUT: %Core: = namespace file.%Core.import, [concrete] { +// CHECK:STDOUT: import Core//prelude +// CHECK:STDOUT: import Core//prelude/... +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: file { +// CHECK:STDOUT: package: = namespace [concrete] { +// CHECK:STDOUT: .Core = imports.%Core +// CHECK:STDOUT: .L = %L.decl +// CHECK:STDOUT: .M = %M.decl +// CHECK:STDOUT: .Y = %Y.decl +// CHECK:STDOUT: .C = %C.decl +// CHECK:STDOUT: .F = %F.decl +// CHECK:STDOUT: } +// CHECK:STDOUT: %Core.import = import Core +// CHECK:STDOUT: %L.decl: type = interface_decl @L [concrete = constants.%L.type] {} {} +// CHECK:STDOUT: %M.decl: type = interface_decl @M [concrete = constants.%M.type] {} {} +// CHECK:STDOUT: impl_decl @T.as_type.as.L.impl [concrete] { +// CHECK:STDOUT: %T.patt.loc6_21.1: %pattern_type.1af = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_21.2 (constants.%T.patt.3fe)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %T.ref: %M.type = name_ref T, %T.loc6_21.1 [symbolic = %T.loc6_21.2 (constants.%T.5fb)] +// CHECK:STDOUT: %T.as_type.loc6_26.1: type = facet_access_type %T.ref [symbolic = %T.as_type.loc6_26.2 (constants.%T.as_type.af8)] +// CHECK:STDOUT: %.loc6_26: type = converted %T.ref, %T.as_type.loc6_26.1 [symbolic = %T.as_type.loc6_26.2 (constants.%T.as_type.af8)] +// CHECK:STDOUT: %L.ref: type = name_ref L, file.%L.decl [concrete = constants.%L.type] +// CHECK:STDOUT: %.Self.frozen.loc6_33: %L.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.f7f] +// CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %L.ref [concrete] +// CHECK:STDOUT: %.Self.ref: %L.type = name_ref .Self, %.Self.frozen.loc6_33 [symbolic_self = constants.%.Self.frozen.f7f] +// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.ref [symbolic_self = constants.%.Self.frozen.as_type.8c7] +// CHECK:STDOUT: %.loc6_39: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.frozen.as_type.8c7] +// CHECK:STDOUT: %L1.ref: %L.assoc_type = name_ref L1, @L1.%assoc0 [concrete = constants.%assoc0.246] +// CHECK:STDOUT: %impl.elem0.loc6_39.1: type = impl_witness_access constants.%.63f3, element0 [symbolic_self = constants.%impl.elem0.2e9] +// CHECK:STDOUT: %.loc6_46.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc6_46.2: type = converted %.loc6_46.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %rewrite.loc6_43.1 = requirement_rewrite %impl.elem0.loc6_39.1, %.loc6_46.2 [concrete] +// CHECK:STDOUT: %impl.elem0.loc6_39.2: type = impl_witness_access constants.%.300, element0 [symbolic_self = constants.%impl.elem0.865] +// CHECK:STDOUT: %rewrite.loc6_43.2 = requirement_rewrite %impl.elem0.loc6_39.2, %.loc6_46.2 [concrete] +// CHECK:STDOUT: %.loc6_33: type = where_expr [concrete = constants.%L_where.type.94d] { +// CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %L.ref [concrete] +// CHECK:STDOUT: %rewrite.loc6_43.2 = requirement_rewrite %impl.elem0.loc6_39.2, %.loc6_46.2 [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc6_23: type = splice_block %M.ref [concrete = constants.%M.type] { +// CHECK:STDOUT: %.Self.frozen.loc6_21: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] +// CHECK:STDOUT: %M.ref: type = name_ref M, file.%M.decl [concrete = constants.%M.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc6_21.1: %M.type = symbolic_binding T, 0 [symbolic = %T.loc6_21.2 (constants.%T.5fb)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc6: = impl_self_witness @T.as_type.as.L.impl.%.loc6_26, @L [symbolic = @T.as_type.as.L.impl.%.loc6_48 (constants.%.63f6)] +// CHECK:STDOUT: %Y.decl: type = interface_decl @Y [concrete = constants.%Y.type] {} {} +// CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { +// CHECK:STDOUT: %U.patt.loc9_10.1: %pattern_type.cfb22c.1 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_10.2 (constants.%U.patt)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %.loc9: type = splice_block %Y.ref [concrete = constants.%Y.type] { +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] +// CHECK:STDOUT: %Y.ref: type = name_ref Y, file.%Y.decl [concrete = constants.%Y.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %U.loc9_10.2: %Y.type = symbolic_binding U, 0 [symbolic = %U.loc9_10.1 (constants.%U)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { +// CHECK:STDOUT: %T.patt.loc14_15.1: %pattern_type.cfb22c.2 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_15.2 (constants.%T.patt.dc7)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %.loc14_19.1: type = splice_block %.loc14_19.2 [concrete = constants.%Y_where.type.bd02cd.1] { +// CHECK:STDOUT: %.Self.frozen.loc14_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] +// CHECK:STDOUT: %Y.ref: type = name_ref Y, file.%Y.decl [concrete = constants.%Y.type] +// CHECK:STDOUT: %.Self.frozen.loc14_19: %Y.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.3a0] +// CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %Y.ref [concrete] +// CHECK:STDOUT: %.Self.ref: %Y.type = name_ref .Self, %.Self.frozen.loc14_19 [symbolic_self = constants.%.Self.frozen.3a0] +// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.ref [symbolic_self = constants.%.Self.frozen.as_type.449] +// CHECK:STDOUT: %.loc14_25.1: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.frozen.as_type.449] +// CHECK:STDOUT: %Y1.ref: %Y.assoc_type = name_ref Y1, @Y1.%assoc0 [concrete = constants.%assoc0.509] +// CHECK:STDOUT: %impl.elem0.loc14_25.1: %L.type = impl_witness_access constants.%Y.lookup_impl_witness.94c, element0 [symbolic_self = constants.%impl.elem0.f59] +// CHECK:STDOUT: %M.ref: type = name_ref M, file.%M.decl [concrete = constants.%M.type] +// CHECK:STDOUT: %as_type.loc14_25.1: type = facet_access_type %impl.elem0.loc14_25.1 [symbolic_self = constants.%as_type.81d] +// CHECK:STDOUT: %.loc14_25.2: type = converted %impl.elem0.loc14_25.1, %as_type.loc14_25.1 [symbolic_self = constants.%as_type.81d] +// CHECK:STDOUT: %impls.loc14_29.1 = requirement_impls %.loc14_25.2, %M.ref [concrete] +// CHECK:STDOUT: %impl.elem0.loc14_25.2: %L.type = impl_witness_access constants.%Y.lookup_impl_witness.9c7, element0 [symbolic_self = constants.%impl.elem0.e05] +// CHECK:STDOUT: %as_type.loc14_25.2: type = facet_access_type %impl.elem0.loc14_25.2 [symbolic_self = constants.%as_type.702] +// CHECK:STDOUT: %.loc14_25.3: type = converted %impl.elem0.loc14_25.1, %as_type.loc14_25.2 [symbolic_self = constants.%as_type.702] +// CHECK:STDOUT: %impls.loc14_29.2 = requirement_impls %.loc14_25.3, %M.ref [concrete] +// CHECK:STDOUT: %.loc14_19.2: type = where_expr [concrete = constants.%Y_where.type.bd02cd.1] { +// CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %Y.ref [concrete] +// CHECK:STDOUT: %impls.loc14_29.2 = requirement_impls %.loc14_25.3, %M.ref [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc14_15.2: %Y_where.type.bd02cd.1 = symbolic_binding T, 0 [symbolic = %T.loc14_15.1 (constants.%T.95b)] +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: interface @L { +// CHECK:STDOUT: %Self: %L.type = symbolic_binding Self, 0 [symbolic = constants.%Self.480] +// CHECK:STDOUT: %L.WithSelf.decl = interface_with_self_decl @L [concrete] +// CHECK:STDOUT: +// CHECK:STDOUT: !with Self: +// CHECK:STDOUT: %L1: type = assoc_const_decl @L1 [concrete] { +// CHECK:STDOUT: %assoc0: %L.assoc_type = assoc_entity element0, @L.WithSelf.%L1 [concrete = constants.%assoc0.246] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = %Self +// CHECK:STDOUT: .L1 = @L1.%assoc0 +// CHECK:STDOUT: witness = (@L.WithSelf.%L1) +// CHECK:STDOUT: +// CHECK:STDOUT: !requires: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: interface @M { +// CHECK:STDOUT: %Self: %M.type = symbolic_binding Self, 0 [symbolic = constants.%Self.c16] +// CHECK:STDOUT: %M.WithSelf.decl = interface_with_self_decl @M [concrete] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = %Self +// CHECK:STDOUT: witness = () +// CHECK:STDOUT: +// CHECK:STDOUT: !requires: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: interface @Y { +// CHECK:STDOUT: %Self: %Y.type = symbolic_binding Self, 0 [symbolic = constants.%Self.765] +// CHECK:STDOUT: %Y.WithSelf.decl = interface_with_self_decl @Y [concrete] +// CHECK:STDOUT: +// CHECK:STDOUT: !with Self: +// CHECK:STDOUT: %Y1: %L.type = assoc_const_decl @Y1 [concrete] { +// CHECK:STDOUT: %assoc0: %Y.assoc_type = assoc_entity element0, @Y.WithSelf.%Y1 [concrete = constants.%assoc0.509] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = %Self +// CHECK:STDOUT: .L = +// CHECK:STDOUT: .L = +// CHECK:STDOUT: .Y1 = @Y1.%assoc0 +// CHECK:STDOUT: witness = (@Y.WithSelf.%Y1) +// CHECK:STDOUT: +// CHECK:STDOUT: !requires: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic final impl @T.as_type.as.L.impl(%T.loc6_21.1: %M.type) { +// CHECK:STDOUT: %T.patt.loc6_21.2: %pattern_type.1af = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_21.2 (constants.%T.patt.3fe)] +// CHECK:STDOUT: %T.loc6_21.2: %M.type = symbolic_binding T, 0 [symbolic = %T.loc6_21.2 (constants.%T.5fb)] +// CHECK:STDOUT: %T.as_type.loc6_26.2: type = facet_access_type %T.loc6_21.2 [symbolic = %T.as_type.loc6_26.2 (constants.%T.as_type.af8)] +// CHECK:STDOUT: %.loc6_48: = impl_self_witness %T.loc6_21.2, @L [symbolic = %.loc6_48 (constants.%.63f6)] +// CHECK:STDOUT: %L.impl_witness.loc6_48.2: = impl_witness %L.impl_witness_table, @T.as_type.as.L.impl(%T.loc6_21.2) [symbolic = %L.impl_witness.loc6_48.2 (constants.%L.impl_witness.4ca)] +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: +// CHECK:STDOUT: final impl: %.loc6_26 as %L.ref { +// CHECK:STDOUT: %L.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @T.as_type.as.L.impl [concrete] +// CHECK:STDOUT: %L.impl_witness.loc6_48.1: = impl_witness %L.impl_witness_table, @T.as_type.as.L.impl(constants.%T.5fb) [symbolic = %L.impl_witness.loc6_48.2 (constants.%L.impl_witness.4ca)] +// 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: +// CHECK:STDOUT: extend %L.ref +// CHECK:STDOUT: witness = %L.impl_witness.loc6_48.1 +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic class @C(%U.loc9_10.2: %Y.type) { +// CHECK:STDOUT: %U.patt.loc9_10.2: %pattern_type.cfb22c.1 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_10.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.loc9_10.1: %Y.type = symbolic_binding U, 0 [symbolic = %U.loc9_10.1 (constants.%U)] +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %Y.lookup_impl_witness: = lookup_impl_witness %U.loc9_10.1, @Y [symbolic = %Y.lookup_impl_witness (constants.%Y.lookup_impl_witness.6a9071.1)] +// CHECK:STDOUT: %impl.elem0.loc11_9.1: %L.type = impl_witness_access %Y.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc11_9.1 (constants.%impl.elem0.0788a1.1)] +// CHECK:STDOUT: %L.lookup_impl_witness: = lookup_impl_witness %impl.elem0.loc11_9.1, @L [symbolic = %L.lookup_impl_witness (constants.%L.lookup_impl_witness)] +// CHECK:STDOUT: %impl.elem0.loc11_9.2: type = impl_witness_access %L.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc11_9.2 (constants.%impl.elem0.226)] +// CHECK:STDOUT: +// CHECK:STDOUT: class { +// CHECK:STDOUT: %.loc11_14: %Y.type = specific_constant %U.loc9_10.2, @C(constants.%U) [symbolic = constants.%U] +// CHECK:STDOUT: %U.ref: %Y.type = name_ref U, %.loc11_14 [symbolic = constants.%U] +// CHECK:STDOUT: %U.as_type: type = facet_access_type %U.ref [symbolic = constants.%U.as_type] +// CHECK:STDOUT: %.loc11_15: type = converted %U.ref, %U.as_type [symbolic = constants.%U.as_type] +// CHECK:STDOUT: %Y1.ref: %Y.assoc_type = name_ref Y1, @Y1.%assoc0 [concrete = constants.%assoc0.509] +// CHECK:STDOUT: %impl.elem0.loc11_15: %L.type = impl_witness_access constants.%Y.lookup_impl_witness.6a9071.1, element0 [symbolic = constants.%impl.elem0.0788a1.1] +// CHECK:STDOUT: %as_type: type = facet_access_type %impl.elem0.loc11_15 [symbolic = constants.%as_type.529665.1] +// CHECK:STDOUT: %.loc11_18: type = converted %impl.elem0.loc11_15, %as_type [symbolic = constants.%as_type.529665.1] +// CHECK:STDOUT: %L1.ref: %L.assoc_type = name_ref L1, @L1.%assoc0 [concrete = constants.%assoc0.246] +// CHECK:STDOUT: %impl.elem0.loc11_18: type = impl_witness_access constants.%L.lookup_impl_witness, element0 [symbolic = constants.%impl.elem0.226] +// CHECK:STDOUT: %C1: type = alias_binding C1, %impl.elem0.loc11_18 [symbolic = %impl.elem0.loc11_9.2 (constants.%impl.elem0.226)] +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] +// CHECK:STDOUT: complete_type_witness = %complete_type +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = constants.%C.410 +// CHECK:STDOUT: .U = +// CHECK:STDOUT: .C1 = %C1 +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic fn @F(%T.loc14_15.2: %Y_where.type.bd02cd.1) { +// CHECK:STDOUT: %T.patt.loc14_15.2: %pattern_type.cfb22c.2 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_15.2 (constants.%T.patt.dc7)] +// CHECK:STDOUT: %T.loc14_15.1: %Y_where.type.bd02cd.1 = symbolic_binding T, 0 [symbolic = %T.loc14_15.1 (constants.%T.95b)] +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %T.as_type.loc25_6.2: type = facet_access_type %T.loc14_15.1 [symbolic = %T.as_type.loc25_6.2 (constants.%T.as_type.917)] +// CHECK:STDOUT: %Y.lookup_impl_witness: = lookup_impl_witness %T.loc14_15.1, @Y [symbolic = %Y.lookup_impl_witness (constants.%Y.lookup_impl_witness.6a9071.2)] +// CHECK:STDOUT: %Y.facet.loc25_6.2: %Y.type = facet_value %T.as_type.loc25_6.2, (%Y.lookup_impl_witness) [symbolic = %Y.facet.loc25_6.2 (constants.%Y.facet.c69)] +// CHECK:STDOUT: %C.loc25_6.2: type = class_type @C, @C(%Y.facet.loc25_6.2) [symbolic = %C.loc25_6.2 (constants.%C.cbf)] +// CHECK:STDOUT: %require_complete: = require_complete_type %C.loc25_6.2 [symbolic = %require_complete (constants.%require_complete)] +// CHECK:STDOUT: +// CHECK:STDOUT: fn() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] +// CHECK:STDOUT: %T.ref: %Y_where.type.bd02cd.1 = name_ref T, %T.loc14_15.2 [symbolic = %T.loc14_15.1 (constants.%T.95b)] +// CHECK:STDOUT: %T.as_type.loc25_6.1: type = facet_access_type %T.ref [symbolic = %T.as_type.loc25_6.2 (constants.%T.as_type.917)] +// CHECK:STDOUT: %Y.facet.loc25_6.1: %Y.type = facet_value %T.as_type.loc25_6.1, (constants.%Y.lookup_impl_witness.6a9071.2) [symbolic = %Y.facet.loc25_6.2 (constants.%Y.facet.c69)] +// CHECK:STDOUT: %.loc25_6: %Y.type = converted %T.ref, %Y.facet.loc25_6.1 [symbolic = %Y.facet.loc25_6.2 (constants.%Y.facet.c69)] +// CHECK:STDOUT: %C.loc25_6.1: type = class_type @C, @C(constants.%Y.facet.c69) [symbolic = %C.loc25_6.2 (constants.%C.cbf)] +// CHECK:STDOUT: %.loc25_7: type = specific_constant @C.%C1, @C(constants.%Y.facet.c69) [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %C1.ref: type = name_ref C1, %.loc25_7 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: return +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @L.WithSelf(constants.%Self.480) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @M.WithSelf(constants.%Self.c16) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @L.WithSelf(constants.%.Self.frozen.f7f) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.L.impl(constants.%T.5fb) { +// CHECK:STDOUT: %T.patt.loc6_21.2 => constants.%T.patt.3fe +// CHECK:STDOUT: %T.loc6_21.2 => constants.%T.5fb +// CHECK:STDOUT: %T.as_type.loc6_26.2 => constants.%T.as_type.af8 +// CHECK:STDOUT: %.loc6_48 => constants.%.63f6 +// CHECK:STDOUT: %L.impl_witness.loc6_48.2 => constants.%L.impl_witness.4ca +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @L.WithSelf(constants.%L.facet.d07) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @Y.WithSelf(constants.%Self.765) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @C(constants.%U) { +// CHECK:STDOUT: %U.patt.loc9_10.2 => constants.%U.patt +// CHECK:STDOUT: %U.loc9_10.1 => constants.%U +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @Y.WithSelf(constants.%U) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @L.WithSelf(constants.%impl.elem0.0788a1.1) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @Y.WithSelf(constants.%.Self.frozen.3a0) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @F(constants.%T.95b) { +// CHECK:STDOUT: %T.patt.loc14_15.2 => constants.%T.patt.dc7 +// CHECK:STDOUT: %T.loc14_15.1 => constants.%T.95b +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @C(constants.%Y.facet.c69) { +// CHECK:STDOUT: %U.patt.loc9_10.2 => constants.%U.patt +// CHECK:STDOUT: %U.loc9_10.1 => constants.%Y.facet.c69 +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %Y.lookup_impl_witness => constants.%Y.lookup_impl_witness.6a9071.2 +// CHECK:STDOUT: %impl.elem0.loc11_9.1 => constants.%impl.elem0.0788a1.2 +// CHECK:STDOUT: %L.lookup_impl_witness => constants.%L.impl_witness.d68 +// CHECK:STDOUT: %impl.elem0.loc11_9.2 => constants.%empty_tuple.type +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.L.impl(constants.%M.facet) { +// CHECK:STDOUT: %T.patt.loc6_21.2 => constants.%T.patt.3fe +// CHECK:STDOUT: %T.loc6_21.2 => constants.%M.facet +// CHECK:STDOUT: %T.as_type.loc6_26.2 => constants.%as_type.529665.2 +// CHECK:STDOUT: %.loc6_48 => constants.%.34b +// CHECK:STDOUT: %L.impl_witness.loc6_48.2 => constants.%L.impl_witness.d68 +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: --- require_specific_impl_definition_from_inside_impl_definition.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.6cb: type = pattern_type %I.type [concrete] +// CHECK:STDOUT: %U.patt: %pattern_type.6cb = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %U: %I.type = symbolic_binding U, 0 [symbolic] +// CHECK:STDOUT: %B.type: type = parameterized_class_name_type @B [concrete] +// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] +// CHECK:STDOUT: %B.generic: %B.type = struct_value () [concrete] +// CHECK:STDOUT: %B.348: type = class_type @B, @B(%U) [symbolic] +// CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] +// CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] +// CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] +// CHECK:STDOUT: %Self.653: %J.type = symbolic_binding Self, 0 [symbolic] +// CHECK:STDOUT: %pattern_type.2c5: type = pattern_type %J.type [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.2c5 = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T: %J.type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %T.as_type: type = facet_access_type %T [symbolic] +// CHECK:STDOUT: %.6ac: = impl_self_witness %T, @I [symbolic] +// CHECK:STDOUT: %I.impl_witness.e22: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%T) [symbolic] +// CHECK:STDOUT: %Self.37e: %I.type = symbolic_binding Self, 0 [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.type.de2: type = fn_type @I.WithSelf.F, @I.WithSelf(%Self.37e) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.20b: %I.WithSelf.F.type.de2 = struct_value () [symbolic] +// CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] +// CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.WithSelf.%I.WithSelf.F.decl [concrete] +// CHECK:STDOUT: %V.patt: %pattern_type.2c5 = symbolic_binding_pattern V, 1 [symbolic] +// CHECK:STDOUT: %V: %J.type = symbolic_binding V, 1 [symbolic] +// CHECK:STDOUT: %V.as_type: type = facet_access_type %V [symbolic] +// CHECK:STDOUT: %.5be: = impl_self_witness %V, @I [symbolic] +// CHECK:STDOUT: %I.impl_witness.7ba: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%V) [symbolic] +// CHECK:STDOUT: %I.facet.4fb: %I.type = facet_value %V.as_type, (%I.impl_witness.7ba) [symbolic] +// CHECK:STDOUT: %B.e4c: type = class_type @B, @B(%I.facet.4fb) [symbolic] +// CHECK:STDOUT: %.0c7: Core.Form = init_form %B.e4c [symbolic] +// CHECK:STDOUT: %pattern_type.6de: type = pattern_type %B.e4c [symbolic] +// CHECK:STDOUT: %return.param_patt.468: %pattern_type.6de = out_param_pattern [symbolic] +// CHECK:STDOUT: %return.patt.e7f: %pattern_type.6de = return_slot_pattern %return.param_patt.468, %B.e4c [symbolic] +// CHECK:STDOUT: %I.WithSelf.G.type.ace: type = fn_type @I.WithSelf.G, @I.WithSelf(%Self.37e) [symbolic] +// CHECK:STDOUT: %I.WithSelf.G.179: %I.WithSelf.G.type.ace = struct_value () [symbolic] +// CHECK:STDOUT: %assoc1: %I.assoc_type = assoc_entity element1, @I.WithSelf.%I.WithSelf.G.decl [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type.898: type = fn_type @T.as_type.as.I.impl.F, @T.as_type.as.I.impl(%T) [symbolic] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.fed: %T.as_type.as.I.impl.F.type.898 = struct_value () [symbolic] +// CHECK:STDOUT: %T.as_type.as.I.impl.G.type.f6f: type = fn_type @T.as_type.as.I.impl.G, @T.as_type.as.I.impl(%T) [symbolic] +// CHECK:STDOUT: %T.as_type.as.I.impl.G.884: %T.as_type.as.I.impl.G.type.f6f = struct_value () [symbolic] +// CHECK:STDOUT: %I.facet.297: %I.type = facet_value %T.as_type, (%I.impl_witness.e22) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.type.492: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.297) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.df6: %I.WithSelf.F.type.492 = struct_value () [symbolic] +// CHECK:STDOUT: %I.WithSelf.G.type.8df: type = fn_type @I.WithSelf.G, @I.WithSelf(%I.facet.297) [symbolic] +// CHECK:STDOUT: %I.WithSelf.G.b54: %I.WithSelf.G.type.8df = struct_value () [symbolic] +// CHECK:STDOUT: %require_complete: = require_complete_type %B.e4c [symbolic] +// CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] +// CHECK:STDOUT: %B.val.2d3: %B.e4c = struct_value () [symbolic] +// CHECK:STDOUT: %C: type = class_type @C [concrete] +// CHECK:STDOUT: %.ffd: = impl_self_witness %C, @J [concrete] +// CHECK:STDOUT: %J.impl_witness.90c: = impl_witness @C.as.J.impl.%J.impl_witness_table [concrete] +// CHECK:STDOUT: %J.facet.0da: %J.type = facet_value %C, (%J.impl_witness.90c) [concrete] +// CHECK:STDOUT: %D: type = class_type @D [concrete] +// CHECK:STDOUT: %.b77: = impl_self_witness %D, @J [concrete] +// CHECK:STDOUT: %J.impl_witness.73f: = impl_witness @D.as.J.impl.%J.impl_witness_table [concrete] +// CHECK:STDOUT: %J.facet.28d: %J.type = facet_value %D, (%J.impl_witness.73f) [concrete] +// CHECK:STDOUT: %Use.type: type = fn_type @Use [concrete] +// CHECK:STDOUT: %Use: %Use.type = struct_value () [concrete] +// CHECK:STDOUT: %.b7f: = impl_self_witness %C, @I [concrete] +// CHECK:STDOUT: %I.impl_witness.2ce: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%J.facet.0da) [concrete] +// CHECK:STDOUT: %I.facet.c8e: %I.type = facet_value %C, (%I.impl_witness.2ce) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.151: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.c8e) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.b4b: %I.WithSelf.F.type.151 = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.G.type.278: type = fn_type @I.WithSelf.G, @I.WithSelf(%I.facet.c8e) [concrete] +// CHECK:STDOUT: %I.WithSelf.G.b9d: %I.WithSelf.G.type.278 = struct_value () [concrete] +// CHECK:STDOUT: %.d0a: type = fn_type_with_self_type %I.WithSelf.G.type.278, %I.facet.c8e [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type.ad4: type = fn_type @T.as_type.as.I.impl.F, @T.as_type.as.I.impl(%J.facet.0da) [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.9a9: %T.as_type.as.I.impl.F.type.ad4 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.G.type.f54: type = fn_type @T.as_type.as.I.impl.G, @T.as_type.as.I.impl(%J.facet.0da) [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.G.772: %T.as_type.as.I.impl.G.type.f54 = struct_value () [concrete] +// CHECK:STDOUT: %.393: = impl_self_witness %D, @I [concrete] +// CHECK:STDOUT: %I.impl_witness.6a0: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%J.facet.28d) [concrete] +// CHECK:STDOUT: %I.facet.a62: %I.type = facet_value %D, (%I.impl_witness.6a0) [concrete] +// CHECK:STDOUT: %B.51d: type = class_type @B, @B(%I.facet.a62) [concrete] +// CHECK:STDOUT: %.907: Core.Form = init_form %B.51d [concrete] +// CHECK:STDOUT: %pattern_type.711: type = pattern_type %B.51d [concrete] +// CHECK:STDOUT: %return.param_patt.75f: %pattern_type.711 = out_param_pattern [concrete] +// CHECK:STDOUT: %return.patt.121: %pattern_type.711 = return_slot_pattern %return.param_patt.75f, %B.51d [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.G.specific_fn: = specific_function %T.as_type.as.I.impl.G.772, @T.as_type.as.I.impl.G(%J.facet.0da, %J.facet.28d) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.1b8: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.a62) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.183: %I.WithSelf.F.type.1b8 = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.G.type.ec1: type = fn_type @I.WithSelf.G, @I.WithSelf(%I.facet.a62) [concrete] +// CHECK:STDOUT: %I.WithSelf.G.bb6: %I.WithSelf.G.type.ec1 = struct_value () [concrete] +// CHECK:STDOUT: %.97a: type = fn_type_with_self_type %I.WithSelf.F.type.1b8, %I.facet.a62 [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type.1de: type = fn_type @T.as_type.as.I.impl.F, @T.as_type.as.I.impl(%J.facet.28d) [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.ec8: %T.as_type.as.I.impl.F.type.1de = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.G.type.8be: type = fn_type @T.as_type.as.I.impl.G, @T.as_type.as.I.impl(%J.facet.28d) [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.G.e57: %T.as_type.as.I.impl.G.type.8be = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.specific_fn: = specific_function %T.as_type.as.I.impl.F.ec8, @T.as_type.as.I.impl.F(%J.facet.28d) [concrete] +// CHECK:STDOUT: %B.val.052: %B.51d = struct_value () [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: imports { +// CHECK:STDOUT: %Core: = namespace file.%Core.import, [concrete] { +// CHECK:STDOUT: import Core//prelude +// CHECK:STDOUT: import Core//prelude/... +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: file { +// CHECK:STDOUT: package: = namespace [concrete] { +// CHECK:STDOUT: .Core = imports.%Core +// CHECK:STDOUT: .I = %I.decl.loc4 +// CHECK:STDOUT: .B = %B.decl +// CHECK:STDOUT: .J = %J.decl +// CHECK:STDOUT: .C = %C.decl +// CHECK:STDOUT: .D = %D.decl +// CHECK:STDOUT: .Use = %Use.decl +// CHECK:STDOUT: } +// CHECK:STDOUT: %Core.import = import Core +// CHECK:STDOUT: %I.decl.loc4: type = interface_decl @I [concrete = constants.%I.type] {} {} +// CHECK:STDOUT: %B.decl: %B.type = class_decl @B [concrete = constants.%B.generic] { +// CHECK:STDOUT: %U.patt.loc6_10.1: %pattern_type.6cb = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc6_10.2 (constants.%U.patt)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %.loc6: type = splice_block %I.ref [concrete = constants.%I.type] { +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl.loc4 [concrete = constants.%I.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %U.loc6_10.2: %I.type = symbolic_binding U, 0 [symbolic = %U.loc6_10.1 (constants.%U)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %J.decl: type = interface_decl @J [concrete = constants.%J.type] {} {} +// CHECK:STDOUT: impl_decl @T.as_type.as.I.impl [concrete] { +// CHECK:STDOUT: %T.patt.loc12_21.1: %pattern_type.2c5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_21.2 (constants.%T.patt)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %T.ref.loc12: %J.type = name_ref T, %T.loc12_21.2 [symbolic = %T.loc12_21.1 (constants.%T)] +// CHECK:STDOUT: %T.as_type.loc12_26.2: type = facet_access_type %T.ref.loc12 [symbolic = %T.as_type.loc12_26.1 (constants.%T.as_type)] +// CHECK:STDOUT: %.loc12_26: type = converted %T.ref.loc12, %T.as_type.loc12_26.2 [symbolic = %T.as_type.loc12_26.1 (constants.%T.as_type)] +// CHECK:STDOUT: %I.ref.loc12: type = name_ref I, file.%I.decl.loc4 [concrete = constants.%I.type] +// CHECK:STDOUT: %.loc12_23: type = splice_block %J.ref.loc12 [concrete = constants.%J.type] { +// CHECK:STDOUT: %.Self.frozen.loc12: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %J.ref.loc12: type = name_ref J, file.%J.decl [concrete = constants.%J.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc12_21.2: %J.type = symbolic_binding T, 0 [symbolic = %T.loc12_21.1 (constants.%T)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc12: = impl_self_witness @T.as_type.as.I.impl.%.loc12_26, @I [symbolic = @T.as_type.as.I.impl.%.loc12_32 (constants.%.6ac)] +// CHECK:STDOUT: %I.decl.loc14: type = interface_decl @I [concrete = constants.%I.type] {} {} +// CHECK:STDOUT: impl_decl @T.as_type.as.I.impl [concrete] { +// CHECK:STDOUT: %T.patt.loc12_21.1: %pattern_type.2c5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_21.2 (constants.%T.patt)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %T.ref.loc19: %J.type = name_ref T, %T.loc19 [symbolic = %T.loc12_21.1 (constants.%T)] +// CHECK:STDOUT: %T.as_type.loc19: type = facet_access_type %T.ref.loc19 [symbolic = %T.as_type.loc12_26.1 (constants.%T.as_type)] +// CHECK:STDOUT: %.loc19_26: type = converted %T.ref.loc19, %T.as_type.loc19 [symbolic = %T.as_type.loc12_26.1 (constants.%T.as_type)] +// CHECK:STDOUT: %I.ref.loc19: type = name_ref I, file.%I.decl.loc4 [concrete = constants.%I.type] +// CHECK:STDOUT: %.loc19_23: type = splice_block %J.ref.loc19 [concrete = constants.%J.type] { +// CHECK:STDOUT: %.Self.frozen.loc19: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %J.ref.loc19: type = name_ref J, file.%J.decl [concrete = constants.%J.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc19: %J.type = symbolic_binding T, 0 [symbolic = %T.loc12_21.1 (constants.%T)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc19: = impl_self_witness @T.as_type.as.I.impl.%.loc19_26, @I [symbolic = @T.as_type.as.I.impl.%.loc12_32 (constants.%.6ac)] +// CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} +// CHECK:STDOUT: impl_decl @C.as.J.impl [concrete] {} { +// CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] +// CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc32: = impl_self_witness @C.as.J.impl.%C.ref, @J [concrete = constants.%.ffd] +// CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} +// CHECK:STDOUT: impl_decl @D.as.J.impl [concrete] {} { +// CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] +// CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc35: = impl_self_witness @D.as.J.impl.%D.ref, @J [concrete = constants.%.b77] +// CHECK:STDOUT: %Use.decl: %Use.type = fn_decl @Use [concrete = constants.%Use] {} {} +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: interface @I { +// CHECK:STDOUT: %Self: %I.type = symbolic_binding Self, 0 [symbolic = constants.%Self.37e] +// CHECK:STDOUT: %I.WithSelf.decl = interface_with_self_decl @I [concrete] +// CHECK:STDOUT: +// CHECK:STDOUT: !with Self: +// CHECK:STDOUT: %I.WithSelf.F.decl: @I.WithSelf.%I.WithSelf.F.type (%I.WithSelf.F.type.de2) = fn_decl @I.WithSelf.F [symbolic = @I.WithSelf.%I.WithSelf.F (constants.%I.WithSelf.F.20b)] {} {} +// CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %I.WithSelf.F.decl [concrete = constants.%assoc0] +// CHECK:STDOUT: %I.WithSelf.G.decl: @I.WithSelf.%I.WithSelf.G.type (%I.WithSelf.G.type.ace) = fn_decl @I.WithSelf.G [symbolic = @I.WithSelf.%I.WithSelf.G (constants.%I.WithSelf.G.179)] { +// CHECK:STDOUT: %V.patt.loc16_17.1: %pattern_type.2c5 = symbolic_binding_pattern V, 1 [symbolic = %V.patt.loc16_17.2 (constants.%V.patt)] +// CHECK:STDOUT: %return.param_patt.loc16_28.1: @I.WithSelf.G.%pattern_type (%pattern_type.6de) = out_param_pattern [symbolic = %return.param_patt.loc16_28.2 (constants.%return.param_patt.468)] +// CHECK:STDOUT: %return.patt.loc16_22.1: @I.WithSelf.G.%pattern_type (%pattern_type.6de) = return_slot_pattern %return.param_patt.loc16_28.1, %B.loc16_28.2 [symbolic = %return.patt.loc16_22.2 (constants.%return.patt.e7f)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %B.ref: %B.type = name_ref B, file.%B.decl [concrete = constants.%B.generic] +// CHECK:STDOUT: %V.ref: %J.type = name_ref V, %V.loc16_17.2 [symbolic = %V.loc16_17.1 (constants.%V)] +// CHECK:STDOUT: %V.as_type.loc16_28.2: type = facet_access_type %V.ref [symbolic = %V.as_type.loc16_28.1 (constants.%V.as_type)] +// CHECK:STDOUT: %I.facet.loc16_28.2: %I.type = facet_value %V.as_type.loc16_28.2, (constants.%I.impl_witness.7ba) [symbolic = %I.facet.loc16_28.1 (constants.%I.facet.4fb)] +// CHECK:STDOUT: %.loc16_28.2: %I.type = converted %V.ref, %I.facet.loc16_28.2 [symbolic = %I.facet.loc16_28.1 (constants.%I.facet.4fb)] +// CHECK:STDOUT: %B.loc16_28.2: type = class_type @B, @B(constants.%I.facet.4fb) [symbolic = %B.loc16_28.1 (constants.%B.e4c)] +// CHECK:STDOUT: %.loc16_28.3: Core.Form = init_form %B.loc16_28.2 [symbolic = %.loc16_28.1 (constants.%.0c7)] +// CHECK:STDOUT: %.loc16_19: type = splice_block %J.ref [concrete = constants.%J.type] { +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %V.loc16_17.2: %J.type = symbolic_binding V, 1 [symbolic = %V.loc16_17.1 (constants.%V)] +// CHECK:STDOUT: %return.param: ref @I.WithSelf.G.%B.loc16_28.1 (%B.e4c) = out_param call_param0 +// CHECK:STDOUT: %return: ref @I.WithSelf.G.%B.loc16_28.1 (%B.e4c) = return_slot %return.param +// CHECK:STDOUT: } +// CHECK:STDOUT: %assoc1: %I.assoc_type = assoc_entity element1, %I.WithSelf.G.decl [concrete = constants.%assoc1] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = %Self +// CHECK:STDOUT: .J = +// CHECK:STDOUT: .B = +// CHECK:STDOUT: .F = @I.WithSelf.%assoc0 +// CHECK:STDOUT: .J = +// CHECK:STDOUT: .B = +// CHECK:STDOUT: .G = @I.WithSelf.%assoc1 +// CHECK:STDOUT: witness = (@I.WithSelf.%I.WithSelf.F.decl, @I.WithSelf.%I.WithSelf.G.decl) +// CHECK:STDOUT: +// CHECK:STDOUT: !requires: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: interface @J { +// CHECK:STDOUT: %Self: %J.type = symbolic_binding Self, 0 [symbolic = constants.%Self.653] +// CHECK:STDOUT: %J.WithSelf.decl = interface_with_self_decl @J [concrete] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = %Self +// CHECK:STDOUT: witness = () +// CHECK:STDOUT: +// CHECK:STDOUT: !requires: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic final impl @T.as_type.as.I.impl(%T.loc12_21.2: %J.type) { +// CHECK:STDOUT: %T.patt.loc12_21.2: %pattern_type.2c5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_21.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.loc12_21.1: %J.type = symbolic_binding T, 0 [symbolic = %T.loc12_21.1 (constants.%T)] +// CHECK:STDOUT: %T.as_type.loc12_26.1: type = facet_access_type %T.loc12_21.1 [symbolic = %T.as_type.loc12_26.1 (constants.%T.as_type)] +// CHECK:STDOUT: %.loc12_32: = impl_self_witness %T.loc12_21.1, @I [symbolic = %.loc12_32 (constants.%.6ac)] +// CHECK:STDOUT: %I.impl_witness.loc12_32.2: = impl_witness %I.impl_witness_table, @T.as_type.as.I.impl(%T.loc12_21.1) [symbolic = %I.impl_witness.loc12_32.2 (constants.%I.impl_witness.e22)] +// 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.loc12_21.1) [symbolic = %T.as_type.as.I.impl.F.type (constants.%T.as_type.as.I.impl.F.type.898)] +// CHECK:STDOUT: %T.as_type.as.I.impl.F: @T.as_type.as.I.impl.%T.as_type.as.I.impl.F.type (%T.as_type.as.I.impl.F.type.898) = struct_value () [symbolic = %T.as_type.as.I.impl.F (constants.%T.as_type.as.I.impl.F.fed)] +// CHECK:STDOUT: %T.as_type.as.I.impl.G.type: type = fn_type @T.as_type.as.I.impl.G, @T.as_type.as.I.impl(%T.loc12_21.1) [symbolic = %T.as_type.as.I.impl.G.type (constants.%T.as_type.as.I.impl.G.type.f6f)] +// CHECK:STDOUT: %T.as_type.as.I.impl.G: @T.as_type.as.I.impl.%T.as_type.as.I.impl.G.type (%T.as_type.as.I.impl.G.type.f6f) = struct_value () [symbolic = %T.as_type.as.I.impl.G (constants.%T.as_type.as.I.impl.G.884)] +// CHECK:STDOUT: +// CHECK:STDOUT: final impl: %.loc12_26 as %I.ref.loc12 { +// 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.898) = 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.fed)] {} {} +// CHECK:STDOUT: %T.as_type.as.I.impl.G.decl: @T.as_type.as.I.impl.%T.as_type.as.I.impl.G.type (%T.as_type.as.I.impl.G.type.f6f) = fn_decl @T.as_type.as.I.impl.G [symbolic = @T.as_type.as.I.impl.%T.as_type.as.I.impl.G (constants.%T.as_type.as.I.impl.G.884)] { +// CHECK:STDOUT: %V.patt.loc25_17.1: %pattern_type.2c5 = symbolic_binding_pattern V, 1 [symbolic = %V.patt.loc25_17.2 (constants.%V.patt)] +// CHECK:STDOUT: %return.param_patt.loc25_28.1: @T.as_type.as.I.impl.G.%pattern_type (%pattern_type.6de) = out_param_pattern [symbolic = %return.param_patt.loc25_28.2 (constants.%return.param_patt.468)] +// CHECK:STDOUT: %return.patt.loc25_22.1: @T.as_type.as.I.impl.G.%pattern_type (%pattern_type.6de) = return_slot_pattern %return.param_patt.loc25_28.1, %B.loc25_28.2 [symbolic = %return.patt.loc25_22.2 (constants.%return.patt.e7f)] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %B.ref: %B.type = name_ref B, file.%B.decl [concrete = constants.%B.generic] +// CHECK:STDOUT: %V.ref: %J.type = name_ref V, %V.loc25_17.2 [symbolic = %V.loc25_17.1 (constants.%V)] +// CHECK:STDOUT: %V.as_type.loc25_28.2: type = facet_access_type %V.ref [symbolic = %V.as_type.loc25_28.1 (constants.%V.as_type)] +// CHECK:STDOUT: %I.facet.loc25_28.2: %I.type = facet_value %V.as_type.loc25_28.2, (constants.%I.impl_witness.7ba) [symbolic = %I.facet.loc25_28.1 (constants.%I.facet.4fb)] +// CHECK:STDOUT: %.loc25_28.2: %I.type = converted %V.ref, %I.facet.loc25_28.2 [symbolic = %I.facet.loc25_28.1 (constants.%I.facet.4fb)] +// CHECK:STDOUT: %B.loc25_28.2: type = class_type @B, @B(constants.%I.facet.4fb) [symbolic = %B.loc25_28.1 (constants.%B.e4c)] +// CHECK:STDOUT: %.loc25_28.3: Core.Form = init_form %B.loc25_28.2 [symbolic = %.loc25_28.1 (constants.%.0c7)] +// CHECK:STDOUT: %.loc25_19: type = splice_block %J.ref [concrete = constants.%J.type] { +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %V.loc25_17.2: %J.type = symbolic_binding V, 1 [symbolic = %V.loc25_17.1 (constants.%V)] +// CHECK:STDOUT: %return.param: ref @T.as_type.as.I.impl.G.%B.loc25_28.1 (%B.e4c) = out_param call_param0 +// CHECK:STDOUT: %return: ref @T.as_type.as.I.impl.G.%B.loc25_28.1 (%B.e4c) = return_slot %return.param +// CHECK:STDOUT: } +// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%T.as_type.as.I.impl.F.decl, %T.as_type.as.I.impl.G.decl), @T.as_type.as.I.impl [concrete] +// CHECK:STDOUT: %I.impl_witness.loc12_32.1: = impl_witness %I.impl_witness_table, @T.as_type.as.I.impl(constants.%T) [symbolic = %I.impl_witness.loc12_32.2 (constants.%I.impl_witness.e22)] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .F = %T.as_type.as.I.impl.F.decl +// CHECK:STDOUT: .J = +// CHECK:STDOUT: .B = +// CHECK:STDOUT: .G = %T.as_type.as.I.impl.G.decl +// CHECK:STDOUT: extend %I.ref.loc12 +// CHECK:STDOUT: witness = %I.impl_witness.loc12_32.1 +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: impl @C.as.J.impl: %C.ref as %J.ref { +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (), @C.as.J.impl [concrete] +// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.90c] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: extend %J.ref +// CHECK:STDOUT: witness = %J.impl_witness +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: impl @D.as.J.impl: %D.ref as %J.ref { +// CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (), @D.as.J.impl [concrete] +// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.73f] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: extend %J.ref +// CHECK:STDOUT: witness = %J.impl_witness +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic class @B(%U.loc6_10.2: %I.type) { +// CHECK:STDOUT: %U.patt.loc6_10.2: %pattern_type.6cb = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc6_10.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.loc6_10.1: %I.type = symbolic_binding U, 0 [symbolic = %U.loc6_10.1 (constants.%U)] +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: +// CHECK:STDOUT: class { +// CHECK:STDOUT: %.loc7: %I.type = specific_constant %U.loc6_10.2, @B(constants.%U) [symbolic = constants.%U] +// CHECK:STDOUT: %U.ref: %I.type = name_ref U, %.loc7 [symbolic = constants.%U] +// CHECK:STDOUT: %B1: %I.type = alias_binding B1, %U.ref [symbolic = %U.loc6_10.1 (constants.%U)] +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] +// CHECK:STDOUT: complete_type_witness = %complete_type +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = constants.%B.348 +// CHECK:STDOUT: .U = +// CHECK:STDOUT: .B1 = %B1 +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: class @C { +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] +// CHECK:STDOUT: complete_type_witness = %complete_type +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = constants.%C +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: class @D { +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] +// CHECK:STDOUT: complete_type_witness = %complete_type +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = constants.%D +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic fn @I.WithSelf.F(@I.%Self: %I.type) { +// CHECK:STDOUT: fn(); +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic fn @I.WithSelf.G(@I.%Self: %I.type, %V.loc16_17.2: %J.type) { +// CHECK:STDOUT: %V.patt.loc16_17.2: %pattern_type.2c5 = symbolic_binding_pattern V, 1 [symbolic = %V.patt.loc16_17.2 (constants.%V.patt)] +// CHECK:STDOUT: %V.loc16_17.1: %J.type = symbolic_binding V, 1 [symbolic = %V.loc16_17.1 (constants.%V)] +// CHECK:STDOUT: %V.as_type.loc16_28.1: type = facet_access_type %V.loc16_17.1 [symbolic = %V.as_type.loc16_28.1 (constants.%V.as_type)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%V.loc16_17.1) [symbolic = %I.impl_witness (constants.%I.impl_witness.7ba)] +// CHECK:STDOUT: %I.facet.loc16_28.1: %I.type = facet_value %V.as_type.loc16_28.1, (%I.impl_witness) [symbolic = %I.facet.loc16_28.1 (constants.%I.facet.4fb)] +// CHECK:STDOUT: %B.loc16_28.1: type = class_type @B, @B(%I.facet.loc16_28.1) [symbolic = %B.loc16_28.1 (constants.%B.e4c)] +// CHECK:STDOUT: %.loc16_28.1: Core.Form = init_form %B.loc16_28.1 [symbolic = %.loc16_28.1 (constants.%.0c7)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %B.loc16_28.1 [symbolic = %pattern_type (constants.%pattern_type.6de)] +// CHECK:STDOUT: %return.param_patt.loc16_28.2: @I.WithSelf.G.%pattern_type (%pattern_type.6de) = out_param_pattern [symbolic = %return.param_patt.loc16_28.2 (constants.%return.param_patt.468)] +// CHECK:STDOUT: %return.patt.loc16_22.2: @I.WithSelf.G.%pattern_type (%pattern_type.6de) = return_slot_pattern %return.param_patt.loc16_28.2, %B.loc16_28.1 [symbolic = %return.patt.loc16_22.2 (constants.%return.patt.e7f)] +// CHECK:STDOUT: +// CHECK:STDOUT: fn() -> out %return.param: @I.WithSelf.G.%B.loc16_28.1 (%B.e4c); +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic fn @T.as_type.as.I.impl.F(@T.as_type.as.I.impl.%T.loc19: %J.type) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: +// CHECK:STDOUT: fn() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: return +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic fn @T.as_type.as.I.impl.G(@T.as_type.as.I.impl.%T.loc19: %J.type, %V.loc25_17.2: %J.type) { +// CHECK:STDOUT: %V.patt.loc25_17.2: %pattern_type.2c5 = symbolic_binding_pattern V, 1 [symbolic = %V.patt.loc25_17.2 (constants.%V.patt)] +// CHECK:STDOUT: %V.loc25_17.1: %J.type = symbolic_binding V, 1 [symbolic = %V.loc25_17.1 (constants.%V)] +// CHECK:STDOUT: %V.as_type.loc25_28.1: type = facet_access_type %V.loc25_17.1 [symbolic = %V.as_type.loc25_28.1 (constants.%V.as_type)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%V.loc25_17.1) [symbolic = %I.impl_witness (constants.%I.impl_witness.7ba)] +// CHECK:STDOUT: %I.facet.loc25_28.1: %I.type = facet_value %V.as_type.loc25_28.1, (%I.impl_witness) [symbolic = %I.facet.loc25_28.1 (constants.%I.facet.4fb)] +// CHECK:STDOUT: %B.loc25_28.1: type = class_type @B, @B(%I.facet.loc25_28.1) [symbolic = %B.loc25_28.1 (constants.%B.e4c)] +// CHECK:STDOUT: %.loc25_28.1: Core.Form = init_form %B.loc25_28.1 [symbolic = %.loc25_28.1 (constants.%.0c7)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %B.loc25_28.1 [symbolic = %pattern_type (constants.%pattern_type.6de)] +// CHECK:STDOUT: %return.param_patt.loc25_28.2: @T.as_type.as.I.impl.G.%pattern_type (%pattern_type.6de) = out_param_pattern [symbolic = %return.param_patt.loc25_28.2 (constants.%return.param_patt.468)] +// CHECK:STDOUT: %return.patt.loc25_22.2: @T.as_type.as.I.impl.G.%pattern_type (%pattern_type.6de) = return_slot_pattern %return.param_patt.loc25_28.2, %B.loc25_28.1 [symbolic = %return.patt.loc25_22.2 (constants.%return.patt.e7f)] +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %require_complete: = require_complete_type %B.loc25_28.1 [symbolic = %require_complete (constants.%require_complete)] +// CHECK:STDOUT: %B.val: @T.as_type.as.I.impl.G.%B.loc25_28.1 (%B.e4c) = struct_value () [symbolic = %B.val (constants.%B.val.2d3)] +// CHECK:STDOUT: +// CHECK:STDOUT: fn() -> out %return.param: @T.as_type.as.I.impl.G.%B.loc25_28.1 (%B.e4c) { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: %.loc26_13.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] +// CHECK:STDOUT: %.loc26_13.2: init @T.as_type.as.I.impl.G.%B.loc25_28.1 (%B.e4c) to %return.param = class_init () [symbolic = %B.val (constants.%B.val.2d3)] +// CHECK:STDOUT: %.loc26_14: init @T.as_type.as.I.impl.G.%B.loc25_28.1 (%B.e4c) = converted %.loc26_13.1, %.loc26_13.2 [symbolic = %B.val (constants.%B.val.2d3)] +// CHECK:STDOUT: return %.loc26_14 to %return.param +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: fn @Use() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] +// CHECK:STDOUT: %I.ref.loc46: type = name_ref I, file.%I.decl.loc4 [concrete = constants.%I.type] +// CHECK:STDOUT: %G.ref: %I.assoc_type = name_ref G, @I.WithSelf.%assoc1 [concrete = constants.%assoc1] +// CHECK:STDOUT: %I.facet: %I.type = facet_value %C.ref, (constants.%I.impl_witness.2ce) [concrete = constants.%I.facet.c8e] +// CHECK:STDOUT: %.loc46_19: %I.type = converted %C.ref, %I.facet [concrete = constants.%I.facet.c8e] +// CHECK:STDOUT: %impl.elem1: %.d0a = impl_witness_access constants.%I.impl_witness.2ce, element1 [concrete = constants.%T.as_type.as.I.impl.G.772] +// CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] +// CHECK:STDOUT: %J.facet: %J.type = facet_value %D.ref, (constants.%J.impl_witness.73f) [concrete = constants.%J.facet.28d] +// CHECK:STDOUT: %.loc46_27.1: %J.type = converted %D.ref, %J.facet [concrete = constants.%J.facet.28d] +// CHECK:STDOUT: %specific_fn.loc46: = specific_function %impl.elem1, @T.as_type.as.I.impl.G(constants.%J.facet.0da, constants.%J.facet.28d) [concrete = constants.%T.as_type.as.I.impl.G.specific_fn] +// CHECK:STDOUT: %.loc46_27.2: ref %B.51d = temporary_storage +// CHECK:STDOUT: %T.as_type.as.I.impl.G.call: init %B.51d to %.loc46_27.2 = call %specific_fn.loc46() +// CHECK:STDOUT: %.loc46_27.3: ref %B.51d = temporary %.loc46_27.2, %T.as_type.as.I.impl.G.call +// CHECK:STDOUT: %.loc46_28: %I.type = specific_constant @B.%B1, @B(constants.%I.facet.a62) [concrete = constants.%I.facet.a62] +// CHECK:STDOUT: %B1.ref: %I.type = name_ref B1, %.loc46_28 [concrete = constants.%I.facet.a62] +// CHECK:STDOUT: %D_As_I: %I.type = alias_binding D_As_I, %B1.ref [concrete = constants.%I.facet.a62] +// CHECK:STDOUT: %D_As_I.ref: %I.type = name_ref D_As_I, %D_As_I [concrete = constants.%I.facet.a62] +// CHECK:STDOUT: %I.ref.loc50: type = name_ref I, file.%I.decl.loc4 [concrete = constants.%I.type] +// CHECK:STDOUT: %F.ref: %I.assoc_type = name_ref F, @I.WithSelf.%assoc0 [concrete = constants.%assoc0] +// CHECK:STDOUT: %impl.elem0: %.97a = impl_witness_access constants.%I.impl_witness.6a0, element0 [concrete = constants.%T.as_type.as.I.impl.F.ec8] +// CHECK:STDOUT: %specific_fn.loc50: = specific_function %impl.elem0, @T.as_type.as.I.impl.F(constants.%J.facet.28d) [concrete = constants.%T.as_type.as.I.impl.F.specific_fn] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.call: init %empty_tuple.type = call %specific_fn.loc50() +// CHECK:STDOUT: return +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @B(constants.%U) { +// CHECK:STDOUT: %U.patt.loc6_10.2 => constants.%U.patt +// CHECK:STDOUT: %U.loc6_10.1 => constants.%U +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @J.WithSelf(constants.%Self.653) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl(constants.%T) { +// CHECK:STDOUT: %T.patt.loc12_21.2 => constants.%T.patt +// CHECK:STDOUT: %T.loc12_21.1 => constants.%T +// CHECK:STDOUT: %T.as_type.loc12_26.1 => constants.%T.as_type +// CHECK:STDOUT: %.loc12_32 => constants.%.6ac +// CHECK:STDOUT: %I.impl_witness.loc12_32.2 => constants.%I.impl_witness.e22 +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type => constants.%T.as_type.as.I.impl.F.type.898 +// CHECK:STDOUT: %T.as_type.as.I.impl.F => constants.%T.as_type.as.I.impl.F.fed +// CHECK:STDOUT: %T.as_type.as.I.impl.G.type => constants.%T.as_type.as.I.impl.G.type.f6f +// CHECK:STDOUT: %T.as_type.as.I.impl.G => constants.%T.as_type.as.I.impl.G.884 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf(constants.%Self.37e) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %Self => constants.%Self.37e +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.de2 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.20b +// CHECK:STDOUT: %I.WithSelf.G.type => constants.%I.WithSelf.G.type.ace +// CHECK:STDOUT: %I.WithSelf.G => constants.%I.WithSelf.G.179 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%Self.37e) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl(constants.%V) { +// CHECK:STDOUT: %T.patt.loc12_21.2 => constants.%T.patt +// CHECK:STDOUT: %T.loc12_21.1 => constants.%V +// CHECK:STDOUT: %T.as_type.loc12_26.1 => constants.%V.as_type +// CHECK:STDOUT: %.loc12_32 => constants.%.5be +// CHECK:STDOUT: %I.impl_witness.loc12_32.2 => constants.%I.impl_witness.7ba +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @B(constants.%I.facet.4fb) { +// CHECK:STDOUT: %U.patt.loc6_10.2 => constants.%U.patt +// CHECK:STDOUT: %U.loc6_10.1 => constants.%I.facet.4fb +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf.G(constants.%Self.37e, constants.%V) { +// CHECK:STDOUT: %V.patt.loc16_17.2 => constants.%V.patt +// CHECK:STDOUT: %V.loc16_17.1 => constants.%V +// CHECK:STDOUT: %V.as_type.loc16_28.1 => constants.%V.as_type +// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.7ba +// CHECK:STDOUT: %I.facet.loc16_28.1 => constants.%I.facet.4fb +// CHECK:STDOUT: %B.loc16_28.1 => constants.%B.e4c +// CHECK:STDOUT: %.loc16_28.1 => constants.%.0c7 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.6de +// CHECK:STDOUT: %return.param_patt.loc16_28.2 => constants.%return.param_patt.468 +// CHECK:STDOUT: %return.patt.loc16_22.2 => constants.%return.patt.e7f +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl.F(constants.%T) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl.G(constants.%T, constants.%V) { +// CHECK:STDOUT: %V.patt.loc25_17.2 => constants.%V.patt +// CHECK:STDOUT: %V.loc25_17.1 => constants.%V +// CHECK:STDOUT: %V.as_type.loc25_28.1 => constants.%V.as_type +// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.7ba +// CHECK:STDOUT: %I.facet.loc25_28.1 => constants.%I.facet.4fb +// CHECK:STDOUT: %B.loc25_28.1 => constants.%B.e4c +// CHECK:STDOUT: %.loc25_28.1 => constants.%.0c7 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.6de +// CHECK:STDOUT: %return.param_patt.loc25_28.2 => constants.%return.param_patt.468 +// CHECK:STDOUT: %return.patt.loc25_22.2 => constants.%return.patt.e7f +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.297) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %Self => constants.%I.facet.297 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.492 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.df6 +// CHECK:STDOUT: %I.WithSelf.G.type => constants.%I.WithSelf.G.type.8df +// CHECK:STDOUT: %I.WithSelf.G => constants.%I.WithSelf.G.b54 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.297) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf.G(constants.%I.facet.297, constants.%V) { +// CHECK:STDOUT: %V.patt.loc16_17.2 => constants.%V.patt +// CHECK:STDOUT: %V.loc16_17.1 => constants.%V +// CHECK:STDOUT: %V.as_type.loc16_28.1 => constants.%V.as_type +// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.7ba +// CHECK:STDOUT: %I.facet.loc16_28.1 => constants.%I.facet.4fb +// CHECK:STDOUT: %B.loc16_28.1 => constants.%B.e4c +// CHECK:STDOUT: %.loc16_28.1 => constants.%.0c7 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.6de +// CHECK:STDOUT: %return.param_patt.loc16_28.2 => constants.%return.param_patt.468 +// CHECK:STDOUT: %return.patt.loc16_22.2 => constants.%return.patt.e7f +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.0da) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.28d) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl(constants.%J.facet.0da) { +// CHECK:STDOUT: %T.patt.loc12_21.2 => constants.%T.patt +// CHECK:STDOUT: %T.loc12_21.1 => constants.%J.facet.0da +// CHECK:STDOUT: %T.as_type.loc12_26.1 => constants.%C +// CHECK:STDOUT: %.loc12_32 => constants.%.b7f +// CHECK:STDOUT: %I.impl_witness.loc12_32.2 => constants.%I.impl_witness.2ce +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type => constants.%T.as_type.as.I.impl.F.type.ad4 +// CHECK:STDOUT: %T.as_type.as.I.impl.F => constants.%T.as_type.as.I.impl.F.9a9 +// CHECK:STDOUT: %T.as_type.as.I.impl.G.type => constants.%T.as_type.as.I.impl.G.type.f54 +// CHECK:STDOUT: %T.as_type.as.I.impl.G => constants.%T.as_type.as.I.impl.G.772 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.c8e) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %Self => constants.%I.facet.c8e +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.151 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.b4b +// CHECK:STDOUT: %I.WithSelf.G.type => constants.%I.WithSelf.G.type.278 +// CHECK:STDOUT: %I.WithSelf.G => constants.%I.WithSelf.G.b9d +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl.G(constants.%J.facet.0da, constants.%J.facet.28d) { +// CHECK:STDOUT: %V.patt.loc25_17.2 => constants.%V.patt +// CHECK:STDOUT: %V.loc25_17.1 => constants.%J.facet.28d +// CHECK:STDOUT: %V.as_type.loc25_28.1 => constants.%D +// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.6a0 +// CHECK:STDOUT: %I.facet.loc25_28.1 => constants.%I.facet.a62 +// CHECK:STDOUT: %B.loc25_28.1 => constants.%B.51d +// CHECK:STDOUT: %.loc25_28.1 => constants.%.907 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.711 +// CHECK:STDOUT: %return.param_patt.loc25_28.2 => constants.%return.param_patt.75f +// CHECK:STDOUT: %return.patt.loc25_22.2 => constants.%return.patt.121 +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %require_complete => constants.%complete_type +// CHECK:STDOUT: %B.val => constants.%B.val.052 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl(constants.%J.facet.28d) { +// CHECK:STDOUT: %T.patt.loc12_21.2 => constants.%T.patt +// CHECK:STDOUT: %T.loc12_21.1 => constants.%J.facet.28d +// CHECK:STDOUT: %T.as_type.loc12_26.1 => constants.%D +// CHECK:STDOUT: %.loc12_32 => constants.%.393 +// CHECK:STDOUT: %I.impl_witness.loc12_32.2 => constants.%I.impl_witness.6a0 +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type => constants.%T.as_type.as.I.impl.F.type.1de +// CHECK:STDOUT: %T.as_type.as.I.impl.F => constants.%T.as_type.as.I.impl.F.ec8 +// CHECK:STDOUT: %T.as_type.as.I.impl.G.type => constants.%T.as_type.as.I.impl.G.type.8be +// CHECK:STDOUT: %T.as_type.as.I.impl.G => constants.%T.as_type.as.I.impl.G.e57 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @B(constants.%I.facet.a62) { +// CHECK:STDOUT: %U.patt.loc6_10.2 => constants.%U.patt +// CHECK:STDOUT: %U.loc6_10.1 => constants.%I.facet.a62 +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.a62) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %Self => constants.%I.facet.a62 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.1b8 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.183 +// CHECK:STDOUT: %I.WithSelf.G.type => constants.%I.WithSelf.G.type.ec1 +// CHECK:STDOUT: %I.WithSelf.G => constants.%I.WithSelf.G.bb6 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @T.as_type.as.I.impl.F(constants.%J.facet.28d) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: } +// CHECK:STDOUT: diff --git a/toolchain/check/testdata/interface/generic_method.carbon b/toolchain/check/testdata/interface/generic_method.carbon index 0935b4a0bd73..4a903d9933a2 100644 --- a/toolchain/check/testdata/interface/generic_method.carbon +++ b/toolchain/check/testdata/interface/generic_method.carbon @@ -155,10 +155,9 @@ fn CallIndirect() { // CHECK:STDOUT: %X.val: %X = struct_value () [concrete] // CHECK:STDOUT: %Y.val: %Y = struct_value () [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20faaa.1: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.f125b3.1: %ptr.as.Copy.impl.Op.type.20faaa.1 = struct_value () [symbolic] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.lookup_impl_witness.1da: = lookup_impl_witness %ptr.e8f8f9.1, @Copy [symbolic] -// CHECK:STDOUT: %.66e: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%U.67d) [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.e38: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.302) [symbolic] // CHECK:STDOUT: %.3f816: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e38, %Copy.facet.302 [symbolic] @@ -173,9 +172,9 @@ fn CallIndirect() { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.f08: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Z) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Z, (%DefaultOrUnformed.impl_witness.f08) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.f93: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Z) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.2e7: %T.as.DefaultOrUnformed.impl.Op.type.f93 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Z, (%DefaultOrUnformed.impl_witness.f08) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.2e7, @T.as.DefaultOrUnformed.impl.Op(%Z) [concrete] // CHECK:STDOUT: %.b17: type = fn_type_with_self_type %A.WithSelf.F.type.b6e, %A.facet.091 [concrete] // CHECK:STDOUT: %ptr.415: type = ptr_type %Z [concrete] @@ -210,7 +209,6 @@ fn CallIndirect() { // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.ceb: %SubobjectDestroy.type = facet_value %ptr.415, (%custom_witness.b80ef6.4) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.011: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.ceb) [concrete] -// CHECK:STDOUT: %complete_type.458: = complete_type_witness %ptr.415 [concrete] // CHECK:STDOUT: %Destroy.facet.95d: %Destroy.type = facet_value %ptr.415, (%DestroyImpl.impl_witness.011, %custom_witness.b80ef6.4) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.3fb: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.95d) [concrete] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete] @@ -226,8 +224,6 @@ fn CallIndirect() { // CHECK:STDOUT: %custom_witness.b80ef6.5: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.5), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.c56: %SubobjectDestroy.type = facet_value %tuple.type.2cd, (%custom_witness.b80ef6.5) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.289: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.c56) [concrete] -// CHECK:STDOUT: %complete_type.dec: = complete_type_witness %tuple.type.2cd [concrete] -// CHECK:STDOUT: %.db9: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.c56) [concrete] // CHECK:STDOUT: %Destroy.facet.079: %Destroy.type = facet_value %tuple.type.2cd, (%DestroyImpl.impl_witness.289, %custom_witness.b80ef6.5) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.7c9: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.079) [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.6: type = fn_type @SubobjectDestroy.WithSelf.Op.loc22 [concrete] @@ -272,22 +268,21 @@ fn CallIndirect() { // CHECK:STDOUT: %require_complete.d1b: = require_complete_type %tuple.type.d80 [symbolic] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.ec9: = lookup_impl_witness %tuple.type.d80, @DestroyImpl [symbolic] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.a22: = lookup_impl_witness %tuple.type.d80, @SubobjectDestroy [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.2b2: %SubobjectDestroy.type = facet_value %tuple.type.d80, (%SubobjectDestroy.lookup_impl_witness.a22) [symbolic] -// CHECK:STDOUT: %.d3f: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.2b2) [symbolic] // CHECK:STDOUT: %Destroy.facet.ae3: %Destroy.type = facet_value %tuple.type.d80, (%DestroyImpl.lookup_impl_witness.ec9, %SubobjectDestroy.lookup_impl_witness.a22) [symbolic] // CHECK:STDOUT: %SelfDestruct.specific_fn.e0e: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.ae3) [symbolic] // CHECK:STDOUT: %CallIndirect.type: type = fn_type @CallIndirect [concrete] // CHECK:STDOUT: %CallIndirect: %CallIndirect.type = struct_value () [concrete] // CHECK:STDOUT: %facet_value: %facet_type.e51 = facet_value %Y, (%A.impl_witness, %DestroyImpl.impl_witness.a90, %custom_witness.b80ef6.3) [concrete] // CHECK:STDOUT: %CallGeneric.specific_fn: = specific_function %CallGeneric, @CallGeneric(%facet_value) [concrete] +// 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.99b: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Z) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.a7d: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Z) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.341: %ptr.as.Copy.impl.Op.type.a7d = struct_value () [concrete] -// CHECK:STDOUT: %.b44: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%Z) [concrete] // CHECK:STDOUT: %Copy.facet.67f: %Copy.type = facet_value %ptr.415, (%Copy.impl_witness.99b) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e8f: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.67f) [concrete] // CHECK:STDOUT: %.cf9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e8f, %Copy.facet.67f [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.a7d: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Z) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.341: %ptr.as.Copy.impl.Op.type.a7d = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.341, @ptr.as.Copy.impl.Op(%Z) [concrete] // CHECK:STDOUT: %tuple.67a: %tuple.type.924 = tuple_value (%X, %A.facet.091, %ptr.415) [concrete] // CHECK:STDOUT: } @@ -303,7 +298,7 @@ fn CallIndirect() { // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] -// CHECK:STDOUT: %Core.import_ref.06a: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.20faaa.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.f125b3.1)] +// CHECK:STDOUT: %Core.import_ref.06a: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.20f) = 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.f12)] // CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.06a), @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.002: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.5f6) = 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.5c0)] @@ -534,12 +529,11 @@ fn CallIndirect() { // CHECK:STDOUT: %require_complete.loc16_26: = require_complete_type %ptr.loc16_29.1 [symbolic = %require_complete.loc16_26 (constants.%require_complete.ef162c.1)] // CHECK:STDOUT: %require_complete.loc16_32: = require_complete_type %tuple.type.loc16 [symbolic = %require_complete.loc16_32 (constants.%require_complete.44f)] // 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.%.66e)] // 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.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.e38)] -// 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.%.3f816)] -// CHECK:STDOUT: %impl.elem0.loc17_21.2: @Y.as.A.impl.F.%.loc17_21.4 (%.3f816) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc17_21.2 (constants.%impl.elem0.24a)] +// CHECK:STDOUT: %.loc17_21.3: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc17_21.3 [symbolic = %.loc17_21.3 (constants.%.3f816)] +// CHECK:STDOUT: %impl.elem0.loc17_21.2: @Y.as.A.impl.F.%.loc17_21.3 (%.3f816) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc17_21.2 (constants.%impl.elem0.24a)] // CHECK:STDOUT: %specific_impl_fn.loc17_21.2: = specific_impl_function %impl.elem0.loc17_21.2, @Copy.WithSelf.Op(%Copy.facet.loc17_21.3) [symbolic = %specific_impl_fn.loc17_21.2 (constants.%specific_impl_fn.6b3)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%u.param: @Y.as.A.impl.F.%ptr.loc16_29.1 (%ptr.e8f8f9.1)) -> out %return.param: @Y.as.A.impl.F.%tuple.type.loc16 (%tuple.type.316) { @@ -554,7 +548,7 @@ fn CallIndirect() { // CHECK:STDOUT: %tuple.elem1: ref %Y = tuple_access %return.param, element1 // CHECK:STDOUT: %.loc17_18.2: init %Y to %tuple.elem1 = class_init () [concrete = constants.%Y.val] // 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 (%.3f816) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc17_21.2 (constants.%impl.elem0.24a)] +// CHECK:STDOUT: %impl.elem0.loc17_21.1: @Y.as.A.impl.F.%.loc17_21.3 (%.3f816) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc17_21.2 (constants.%impl.elem0.24a)] // 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.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)] @@ -674,10 +668,8 @@ fn CallIndirect() { // CHECK:STDOUT: %specific_impl_fn.loc28_4.2: = specific_impl_function %impl.elem0.loc28_4.2, @A.WithSelf.F(constants.%X, %A.facet, constants.%Z) [symbolic = %specific_impl_fn.loc28_4.2 (constants.%specific_impl_fn.bf9)] // CHECK:STDOUT: %tuple.type: type = tuple_type (constants.%X, %T.as_type.loc28_4.2, constants.%ptr.415) [symbolic = %tuple.type (constants.%tuple.type.d80)] // CHECK:STDOUT: %require_complete: = require_complete_type %tuple.type [symbolic = %require_complete (constants.%require_complete.d1b)] -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %tuple.type, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.a22)] -// CHECK:STDOUT: %SubobjectDestroy.facet: %SubobjectDestroy.type = facet_value %tuple.type, (%SubobjectDestroy.lookup_impl_witness) [symbolic = %SubobjectDestroy.facet (constants.%SubobjectDestroy.facet.2b2)] -// CHECK:STDOUT: %.loc28_12.5: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet) [symbolic = %.loc28_12.5 (constants.%.d3f)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness: = lookup_impl_witness %tuple.type, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness (constants.%DestroyImpl.lookup_impl_witness.ec9)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %tuple.type, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.a22)] // CHECK:STDOUT: %Destroy.facet.loc28_12.3: %Destroy.type = facet_value %tuple.type, (%DestroyImpl.lookup_impl_witness, %SubobjectDestroy.lookup_impl_witness) [symbolic = %Destroy.facet.loc28_12.3 (constants.%Destroy.facet.ae3)] // CHECK:STDOUT: %SelfDestruct.specific_fn.3: = specific_function constants.%SelfDestruct, @SelfDestruct(%Destroy.facet.loc28_12.3) [symbolic = %SelfDestruct.specific_fn.3 (constants.%SelfDestruct.specific_fn.e0e)] // CHECK:STDOUT: @@ -849,11 +841,10 @@ fn CallIndirect() { // CHECK:STDOUT: %require_complete.loc16_26 => constants.%complete_type.458 // 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.%.b44 // CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.99b // CHECK:STDOUT: %Copy.facet.loc17_21.3 => constants.%Copy.facet.67f // CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.e8f -// CHECK:STDOUT: %.loc17_21.4 => constants.%.cf9 +// CHECK:STDOUT: %.loc17_21.3 => constants.%.cf9 // CHECK:STDOUT: %impl.elem0.loc17_21.2 => constants.%ptr.as.Copy.impl.Op.341 // CHECK:STDOUT: %specific_impl_fn.loc17_21.2 => constants.%ptr.as.Copy.impl.Op.specific_fn // CHECK:STDOUT: } @@ -919,10 +910,8 @@ fn CallIndirect() { // CHECK:STDOUT: %specific_impl_fn.loc28_4.2 => constants.%Y.as.A.impl.F.specific_fn // CHECK:STDOUT: %tuple.type => constants.%tuple.type.2cd // CHECK:STDOUT: %require_complete => constants.%complete_type.dec -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness => constants.%custom_witness.b80ef6.5 -// CHECK:STDOUT: %SubobjectDestroy.facet => constants.%SubobjectDestroy.facet.c56 -// CHECK:STDOUT: %.loc28_12.5 => constants.%.db9 // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness => constants.%DestroyImpl.impl_witness.289 +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness => constants.%custom_witness.b80ef6.5 // CHECK:STDOUT: %Destroy.facet.loc28_12.3 => constants.%Destroy.facet.079 // CHECK:STDOUT: %SelfDestruct.specific_fn.3 => constants.%SelfDestruct.specific_fn.7c9 // CHECK:STDOUT: } @@ -1030,18 +1019,18 @@ fn CallIndirect() { // CHECK:STDOUT: %A.type.e51: type = facet_type <@A, @A(%X)> [concrete] // CHECK:STDOUT: %.5e8: = impl_self_witness %tuple.type.59f, @A, @A(%X) [concrete] // CHECK:STDOUT: %A.impl_witness.84c: = impl_witness @tuple.type.as.A.impl.%A.impl_witness_table, @tuple.type.as.A.impl(%Y1, %Y2, %X) [concrete] +// CHECK:STDOUT: %A.facet.9d8: %A.type.e51 = facet_value %tuple.type.59f, (%A.impl_witness.84c) [concrete] // CHECK:STDOUT: %Self.134: %A.type.e51 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %A.WithSelf.F.type.457: type = fn_type @A.WithSelf.F, @A.WithSelf(%X, %Self.5d3) [symbolic] // CHECK:STDOUT: %A.WithSelf.F.f8c: %A.WithSelf.F.type.457 = struct_value () [symbolic] // CHECK:STDOUT: %A.assoc_type.7e3: type = assoc_entity_type @A, @A(%X) [concrete] // CHECK:STDOUT: %assoc0.299: %A.assoc_type.7e3 = assoc_entity element0, @A.WithSelf.%A.WithSelf.F.decl [concrete] -// CHECK:STDOUT: %complete_type.3a8: = complete_type_witness %A.type.e51 [concrete] -// CHECK:STDOUT: %tuple.type.as.A.impl.F.type.72d: 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.a00: %tuple.type.as.A.impl.F.type.72d = struct_value () [concrete] -// CHECK:STDOUT: %A.facet.9d8: %A.type.e51 = facet_value %tuple.type.59f, (%A.impl_witness.84c) [concrete] // CHECK:STDOUT: %A.WithSelf.F.type.338: type = fn_type @A.WithSelf.F, @A.WithSelf(%X, %A.facet.9d8) [concrete] // CHECK:STDOUT: %A.WithSelf.F.fc4: %A.WithSelf.F.type.338 = struct_value () [concrete] // CHECK:STDOUT: %.160: type = fn_type_with_self_type %A.WithSelf.F.type.338, %A.facet.9d8 [concrete] +// CHECK:STDOUT: %complete_type.3a8: = complete_type_witness %A.type.e51 [concrete] +// CHECK:STDOUT: %tuple.type.as.A.impl.F.type.72d: 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.a00: %tuple.type.as.A.impl.F.type.72d = struct_value () [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] @@ -1105,8 +1094,6 @@ fn CallIndirect() { // CHECK:STDOUT: %custom_witness.b80ef6.7: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.7), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.392: %SubobjectDestroy.type = facet_value %tuple.type.d40, (%custom_witness.b80ef6.7) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.bff: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.392) [concrete] -// CHECK:STDOUT: %complete_type.8f6: = complete_type_witness %tuple.type.d40 [concrete] -// CHECK:STDOUT: %.ee1: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.392) [concrete] // CHECK:STDOUT: %Destroy.facet.40b: %Destroy.type = facet_value %tuple.type.d40, (%DestroyImpl.impl_witness.bff, %custom_witness.b80ef6.7) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.3da: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.40b) [concrete] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] @@ -1145,14 +1132,13 @@ fn CallIndirect() { // CHECK:STDOUT: %require_complete.0eb: = require_complete_type %tuple.type.93b [symbolic] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.f6e: = lookup_impl_witness %tuple.type.93b, @DestroyImpl [symbolic] // CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness.a22: = lookup_impl_witness %tuple.type.93b, @SubobjectDestroy [symbolic] -// CHECK:STDOUT: %SubobjectDestroy.facet.ef4: %SubobjectDestroy.type = facet_value %tuple.type.93b, (%SubobjectDestroy.lookup_impl_witness.a22) [symbolic] -// CHECK:STDOUT: %.463: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.ef4) [symbolic] // CHECK:STDOUT: %Destroy.facet.b56: %Destroy.type = facet_value %tuple.type.93b, (%DestroyImpl.lookup_impl_witness.f6e, %SubobjectDestroy.lookup_impl_witness.a22) [symbolic] // CHECK:STDOUT: %SelfDestruct.specific_fn.ba5: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.b56) [symbolic] // CHECK:STDOUT: %CallIndirect.type: type = fn_type @CallIndirect [concrete] // CHECK:STDOUT: %CallIndirect: %CallIndirect.type = struct_value () [concrete] // CHECK:STDOUT: %facet_value: %facet_type.e51 = facet_value %tuple.type.59f, (%A.impl_witness.84c, %DestroyImpl.impl_witness.55e, %custom_witness.b80ef6.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.571: %tuple.type.924 = tuple_value (%X, %A.facet.9d8, %Z) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1577,10 +1563,8 @@ fn CallIndirect() { // CHECK:STDOUT: %specific_impl_fn.loc28_4.2: = specific_impl_function %impl.elem0.loc28_4.2, @A.WithSelf.F(constants.%X, %A.facet, constants.%Z) [symbolic = %specific_impl_fn.loc28_4.2 (constants.%specific_impl_fn.bf9)] // CHECK:STDOUT: %tuple.type: type = tuple_type (constants.%X, %T.as_type.loc28_4.2, constants.%Z) [symbolic = %tuple.type (constants.%tuple.type.93b)] // CHECK:STDOUT: %require_complete: = require_complete_type %tuple.type [symbolic = %require_complete (constants.%require_complete.0eb)] -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %tuple.type, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.a22)] -// CHECK:STDOUT: %SubobjectDestroy.facet: %SubobjectDestroy.type = facet_value %tuple.type, (%SubobjectDestroy.lookup_impl_witness) [symbolic = %SubobjectDestroy.facet (constants.%SubobjectDestroy.facet.ef4)] -// CHECK:STDOUT: %.loc28_12.5: require_specific_def_type = require_specific_def @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet) [symbolic = %.loc28_12.5 (constants.%.463)] // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness: = lookup_impl_witness %tuple.type, @DestroyImpl [symbolic = %DestroyImpl.lookup_impl_witness (constants.%DestroyImpl.lookup_impl_witness.f6e)] +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness: = lookup_impl_witness %tuple.type, @SubobjectDestroy [symbolic = %SubobjectDestroy.lookup_impl_witness (constants.%SubobjectDestroy.lookup_impl_witness.a22)] // CHECK:STDOUT: %Destroy.facet.loc28_12.3: %Destroy.type = facet_value %tuple.type, (%DestroyImpl.lookup_impl_witness, %SubobjectDestroy.lookup_impl_witness) [symbolic = %Destroy.facet.loc28_12.3 (constants.%Destroy.facet.b56)] // CHECK:STDOUT: %SelfDestruct.specific_fn.3: = specific_function constants.%SelfDestruct, @SelfDestruct(%Destroy.facet.loc28_12.3) [symbolic = %SelfDestruct.specific_fn.3 (constants.%SelfDestruct.specific_fn.ba5)] // CHECK:STDOUT: @@ -1891,10 +1875,8 @@ fn CallIndirect() { // CHECK:STDOUT: %specific_impl_fn.loc28_4.2 => constants.%tuple.type.as.A.impl.F.specific_fn.dac // CHECK:STDOUT: %tuple.type => constants.%tuple.type.d40 // CHECK:STDOUT: %require_complete => constants.%complete_type.8f6 -// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness => constants.%custom_witness.b80ef6.7 -// CHECK:STDOUT: %SubobjectDestroy.facet => constants.%SubobjectDestroy.facet.392 -// CHECK:STDOUT: %.loc28_12.5 => constants.%.ee1 // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness => constants.%DestroyImpl.impl_witness.bff +// CHECK:STDOUT: %SubobjectDestroy.lookup_impl_witness => constants.%custom_witness.b80ef6.7 // CHECK:STDOUT: %Destroy.facet.loc28_12.3 => constants.%Destroy.facet.40b // CHECK:STDOUT: %SelfDestruct.specific_fn.3 => constants.%SelfDestruct.specific_fn.3da // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/import.carbon b/toolchain/check/testdata/interface/import.carbon index 2b21fb15f081..87faf48978cc 100644 --- a/toolchain/check/testdata/interface/import.carbon +++ b/toolchain/check/testdata/interface/import.carbon @@ -81,9 +81,9 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.c8a: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%struct_type.f) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %struct_type.f, (%DefaultOrUnformed.impl_witness.c8a) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.3f8: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%struct_type.f) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.11c: %T.as.DefaultOrUnformed.impl.Op.type.3f8 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %struct_type.f, (%DefaultOrUnformed.impl_witness.c8a) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.11c, @T.as.DefaultOrUnformed.impl.Op(%struct_type.f) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -258,11 +258,11 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.2cb: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%ForwardDeclared.type) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.a6d: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%ForwardDeclared.type) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.f22: %ptr.as.Copy.impl.Op.type.a6d = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.b71, (%Copy.impl_witness.2cb) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.b85: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.e1b: type = fn_type_with_self_type %Copy.WithSelf.Op.type.b85, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.a6d: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%ForwardDeclared.type) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.f22: %ptr.as.Copy.impl.Op.type.a6d = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.f22 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.f22, @ptr.as.Copy.impl.Op(%ForwardDeclared.type) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] diff --git a/toolchain/check/testdata/interface/member_lookup.carbon b/toolchain/check/testdata/interface/member_lookup.carbon index 59e58c898976..9182514c8967 100644 --- a/toolchain/check/testdata/interface/member_lookup.carbon +++ b/toolchain/check/testdata/interface/member_lookup.carbon @@ -82,7 +82,6 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.lookup_impl_witness.1da: = lookup_impl_witness %ptr.e8f, @Copy [symbolic] -// CHECK:STDOUT: %.66e: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %Copy.facet.302: %Copy.type = facet_value %ptr.e8f, (%Copy.lookup_impl_witness.1da) [symbolic] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e38: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.302) [symbolic] // CHECK:STDOUT: %.3f816: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e38, %Copy.facet.302 [symbolic] @@ -112,11 +111,11 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: %Interface.lookup_impl_witness.a30: = lookup_impl_witness %I.eef, @Interface, @Interface(%i32) [symbolic] // CHECK:STDOUT: %impl.elem0.085: %ptr.a17 = impl_witness_access %Interface.lookup_impl_witness.a30, element0 [symbolic] // CHECK:STDOUT: %Copy.impl_witness.83a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.652: %Copy.type = facet_value %ptr.a17, (%Copy.impl_witness.83a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9a2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.652) [concrete] // CHECK:STDOUT: %.309: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9a2, %Copy.facet.652 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %impl.elem0.085, %ptr.as.Copy.impl.Op.81f [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.81f, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %bound_method.d80: = bound_method %impl.elem0.085, %ptr.as.Copy.impl.Op.specific_fn [symbolic] @@ -245,12 +244,11 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: %assoc0: @AccessGeneric.%Interface.assoc_type (%Interface.assoc_type.f63) = assoc_entity element0, @Interface.WithSelf.%X [symbolic = %assoc0 (constants.%assoc0.f45)] // CHECK:STDOUT: %Interface.lookup_impl_witness: = lookup_impl_witness %I.loc8_36.1, @Interface, @Interface(%T.loc8_19.1) [symbolic = %Interface.lookup_impl_witness (constants.%Interface.lookup_impl_witness.e71)] // CHECK:STDOUT: %impl.elem0.loc9_11.3: @AccessGeneric.%ptr.loc8_56.1 (%ptr.e8f) = impl_witness_access %Interface.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc9_11.3 (constants.%impl.elem0.e9d)] -// CHECK:STDOUT: %.loc9_11.5: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%T.loc8_19.1) [symbolic = %.loc9_11.5 (constants.%.66e)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr.loc8_56.1, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.1da)] // CHECK:STDOUT: %Copy.facet.loc9_11.3: %Copy.type = facet_value %ptr.loc8_56.1, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc9_11.3 (constants.%Copy.facet.302)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.loc9_11.3) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.e38)] -// CHECK:STDOUT: %.loc9_11.6: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc9_11.3 [symbolic = %.loc9_11.6 (constants.%.3f816)] -// CHECK:STDOUT: %impl.elem0.loc9_11.4: @AccessGeneric.%.loc9_11.6 (%.3f816) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc9_11.4 (constants.%impl.elem0.24a)] +// CHECK:STDOUT: %.loc9_11.5: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc9_11.3 [symbolic = %.loc9_11.5 (constants.%.3f816)] +// CHECK:STDOUT: %impl.elem0.loc9_11.4: @AccessGeneric.%.loc9_11.5 (%.3f816) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc9_11.4 (constants.%impl.elem0.24a)] // CHECK:STDOUT: %bound_method.loc9_11.3: = bound_method %impl.elem0.loc9_11.3, %impl.elem0.loc9_11.4 [symbolic = %bound_method.loc9_11.3 (constants.%bound_method.7c0)] // CHECK:STDOUT: %specific_impl_fn.loc9_11.2: = specific_impl_function %impl.elem0.loc9_11.4, @Copy.WithSelf.Op(%Copy.facet.loc9_11.3) [symbolic = %specific_impl_fn.loc9_11.2 (constants.%specific_impl_fn.6b3)] // CHECK:STDOUT: %bound_method.loc9_11.4: = bound_method %impl.elem0.loc9_11.3, %specific_impl_fn.loc9_11.2 [symbolic = %bound_method.loc9_11.4 (constants.%bound_method.104)] @@ -263,7 +261,7 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: %.loc9_11.2: @AccessGeneric.%Interface.assoc_type (%Interface.assoc_type.f63) = specific_constant @X.%assoc0, @Interface.WithSelf(constants.%T.67d, constants.%I.165) [symbolic = %assoc0 (constants.%assoc0.f45)] // CHECK:STDOUT: %X.ref: @AccessGeneric.%Interface.assoc_type (%Interface.assoc_type.f63) = name_ref X, %.loc9_11.2 [symbolic = %assoc0 (constants.%assoc0.f45)] // CHECK:STDOUT: %impl.elem0.loc9_11.1: @AccessGeneric.%ptr.loc8_56.1 (%ptr.e8f) = impl_witness_access constants.%Interface.lookup_impl_witness.e71, element0 [symbolic = %impl.elem0.loc9_11.3 (constants.%impl.elem0.e9d)] -// CHECK:STDOUT: %impl.elem0.loc9_11.2: @AccessGeneric.%.loc9_11.6 (%.3f816) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc9_11.4 (constants.%impl.elem0.24a)] +// CHECK:STDOUT: %impl.elem0.loc9_11.2: @AccessGeneric.%.loc9_11.5 (%.3f816) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc9_11.4 (constants.%impl.elem0.24a)] // CHECK:STDOUT: %bound_method.loc9_11.1: = bound_method %impl.elem0.loc9_11.1, %impl.elem0.loc9_11.2 [symbolic = %bound_method.loc9_11.3 (constants.%bound_method.7c0)] // CHECK:STDOUT: %Copy.facet.loc9_11.1: %Copy.type = facet_value constants.%ptr.e8f, (constants.%Copy.lookup_impl_witness.1da) [symbolic = %Copy.facet.loc9_11.3 (constants.%Copy.facet.302)] // CHECK:STDOUT: %.loc9_11.3: %Copy.type = converted constants.%ptr.e8f, %Copy.facet.loc9_11.1 [symbolic = %Copy.facet.loc9_11.3 (constants.%Copy.facet.302)] diff --git a/toolchain/check/testdata/interface/observe.carbon b/toolchain/check/testdata/interface/observe.carbon index 4677cb50fb45..878395882f76 100644 --- a/toolchain/check/testdata/interface/observe.carbon +++ b/toolchain/check/testdata/interface/observe.carbon @@ -653,15 +653,11 @@ fn F[W: A, X: I(W)](x: X) { // CHECK:STDOUT: %RequiresA: %RequiresA.type = struct_value () [concrete] // CHECK:STDOUT: %require_complete.94f: = require_complete_type %T.as_type.3b8 [symbolic] // CHECK:STDOUT: %B.lookup_impl_witness: = lookup_impl_witness %T.626, @B [symbolic] -// CHECK:STDOUT: %.eca: require_specific_def_type = require_specific_def @T.as_type.as.B.impl(%T.626) [symbolic] // CHECK:STDOUT: %B.facet.c85: %B.type = facet_value %T.as_type.3b8, (%B.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %RequiresB.specific_fn: = specific_function %RequiresB, @RequiresB(%B.facet.c85) [symbolic] // CHECK:STDOUT: %impls.be1 = observe_impls %T.626, %B.type [symbolic] // CHECK:STDOUT: %impls.86f = observe_impls %T.626, %C.type [symbolic] // CHECK:STDOUT: %D.lookup_impl_witness: = lookup_impl_witness %T.626, @D [symbolic] -// CHECK:STDOUT: %C.lookup_impl_witness: = lookup_impl_witness %T.626, @C [symbolic] -// CHECK:STDOUT: %C.facet.124: %C.type = facet_value %T.as_type.3b8, (%C.lookup_impl_witness) [symbolic] -// CHECK:STDOUT: %.eb1: require_specific_def_type = require_specific_def @T.as_type.as.D.impl(%C.facet.124) [symbolic] // CHECK:STDOUT: %D.facet.5cf: %D.type = facet_value %T.as_type.3b8, (%D.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %RequiresD.specific_fn: = specific_function %RequiresD, @RequiresD(%D.facet.5cf) [symbolic] // CHECK:STDOUT: } @@ -697,15 +693,11 @@ fn F[W: A, X: I(W)](x: X) { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %T.as_type.loc16_23.1 [symbolic = %require_complete (constants.%require_complete.94f)] -// CHECK:STDOUT: %.loc17_14.3: require_specific_def_type = require_specific_def @T.as_type.as.B.impl(%T.loc16_15.1) [symbolic = %.loc17_14.3 (constants.%.eca)] // CHECK:STDOUT: %B.lookup_impl_witness: = lookup_impl_witness %T.loc16_15.1, @B [symbolic = %B.lookup_impl_witness (constants.%B.lookup_impl_witness)] // CHECK:STDOUT: %B.facet.loc17_14.3: %B.type = facet_value %T.as_type.loc16_23.1, (%B.lookup_impl_witness) [symbolic = %B.facet.loc17_14.3 (constants.%B.facet.c85)] // CHECK:STDOUT: %RequiresB.specific_fn.loc17_3.2: = specific_function constants.%RequiresB, @RequiresB(%B.facet.loc17_14.3) [symbolic = %RequiresB.specific_fn.loc17_3.2 (constants.%RequiresB.specific_fn)] // CHECK:STDOUT: %impls.loc19 = observe_impls %T.loc16_15.1, constants.%B.type [symbolic = %impls.loc19 (constants.%impls.be1)] // CHECK:STDOUT: %impls.loc20 = observe_impls %T.loc16_15.1, constants.%C.type [symbolic = %impls.loc20 (constants.%impls.86f)] -// CHECK:STDOUT: %C.lookup_impl_witness: = lookup_impl_witness %T.loc16_15.1, @C [symbolic = %C.lookup_impl_witness (constants.%C.lookup_impl_witness)] -// CHECK:STDOUT: %C.facet: %C.type = facet_value %T.as_type.loc16_23.1, (%C.lookup_impl_witness) [symbolic = %C.facet (constants.%C.facet.124)] -// CHECK:STDOUT: %.loc21_14.3: require_specific_def_type = require_specific_def @T.as_type.as.D.impl(%C.facet) [symbolic = %.loc21_14.3 (constants.%.eb1)] // CHECK:STDOUT: %D.lookup_impl_witness: = lookup_impl_witness %T.loc16_15.1, @D [symbolic = %D.lookup_impl_witness (constants.%D.lookup_impl_witness)] // CHECK:STDOUT: %D.facet.loc21_14.3: %D.type = facet_value %T.as_type.loc16_23.1, (%D.lookup_impl_witness) [symbolic = %D.facet.loc21_14.3 (constants.%D.facet.5cf)] // CHECK:STDOUT: %RequiresD.specific_fn.loc21_3.2: = specific_function constants.%RequiresD, @RequiresD(%D.facet.loc21_14.3) [symbolic = %RequiresD.specific_fn.loc21_3.2 (constants.%RequiresD.specific_fn)] diff --git a/toolchain/check/testdata/interface/todo_define_not_default.carbon b/toolchain/check/testdata/interface/todo_define_not_default.carbon index bc2c9bcb3f20..1d935bb441b1 100644 --- a/toolchain/check/testdata/interface/todo_define_not_default.carbon +++ b/toolchain/check/testdata/interface/todo_define_not_default.carbon @@ -61,11 +61,11 @@ interface I { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/interop/cpp/basics/import/import.carbon b/toolchain/check/testdata/interop/cpp/basics/import/import.carbon index d11aff42013b..998058f2d968 100644 --- a/toolchain/check/testdata/interop/cpp/basics/import/import.carbon +++ b/toolchain/check/testdata/interop/cpp/basics/import/import.carbon @@ -156,11 +156,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.4de: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: 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.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.144 = facet_value Core.IntLiteral, (%As.impl_witness.4de) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.0b5: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] // CHECK:STDOUT: %.f79: type = fn_type_with_self_type %As.WithSelf.Convert.type.0b5, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: 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.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_8.b85, %Core.IntLiteral.as.As.impl.Convert.262 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.262, @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] diff --git a/toolchain/check/testdata/interop/cpp/basics/import/indirect.carbon b/toolchain/check/testdata/interop/cpp/basics/import/indirect.carbon index 95ad68500ca9..e80e9d591cf5 100644 --- a/toolchain/check/testdata/interop/cpp/basics/import/indirect.carbon +++ b/toolchain/check/testdata/interop/cpp/basics/import/indirect.carbon @@ -155,11 +155,11 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %SubobjectDestroy.type: type = facet_type <@SubobjectDestroy> [concrete] @@ -257,11 +257,11 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -274,11 +274,11 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %SubobjectDestroy.type: type = facet_type <@SubobjectDestroy> [concrete] @@ -382,11 +382,11 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %SubobjectDestroy.type: type = facet_type <@SubobjectDestroy> [concrete] diff --git a/toolchain/check/testdata/interop/cpp/class/import/base.carbon b/toolchain/check/testdata/interop/cpp/class/import/base.carbon index e2b088bee276..a2e55aa690c7 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/base.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/base.carbon @@ -409,11 +409,11 @@ class V { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.39c: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Base) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.903: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Base) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.982: %ptr.as.Copy.impl.Op.type.903 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.0e0, (%Copy.impl_witness.39c) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e2a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2aa: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e2a, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.903: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Base) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.982: %ptr.as.Copy.impl.Op.type.903 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.982, @ptr.as.Copy.impl.Op(%Base) [concrete] // CHECK:STDOUT: %AcceptVal.type: type = fn_type @AcceptVal [concrete] // CHECK:STDOUT: %AcceptVal: %AcceptVal.type = struct_value () [concrete] @@ -561,11 +561,11 @@ class V { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interop/cpp/class/import/constructor.carbon b/toolchain/check/testdata/interop/cpp/class/import/constructor.carbon index bd071449151e..da9d25c1c899 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/constructor.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/constructor.carbon @@ -456,11 +456,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.60d: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.c2a: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -568,11 +568,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.60d: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.c2a: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -705,11 +705,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.32a: = bound_method %int_8.b85, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.bff: = bound_method %int_8.b85, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -853,11 +853,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -1054,11 +1054,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_8.b85, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.bff: = bound_method %int_8.b85, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1068,11 +1068,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_8.b85, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.94f, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f31: = bound_method %int_8.b85, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1197,11 +1197,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.32a: = bound_method %int_8.b85, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.bff: = bound_method %int_8.b85, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1217,11 +1217,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_8.b85, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.94f, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f31: = bound_method %int_8.b85, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/interop/cpp/class/import/field.carbon b/toolchain/check/testdata/interop/cpp/class/import/field.carbon index 263c802b9971..fbb2e9affe01 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/field.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/field.carbon @@ -223,11 +223,11 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -336,11 +336,11 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -406,11 +406,11 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %BitfieldUnion: type = class_type @BitfieldUnion [concrete] // CHECK:STDOUT: %BitfieldUnion.elem: type = unbound_element_type %BitfieldUnion, %i32 [concrete] diff --git a/toolchain/check/testdata/interop/cpp/class/import/template.carbon b/toolchain/check/testdata/interop/cpp/class/import/template.carbon index f2ba333f02ad..0319c3d18604 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/template.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/template.carbon @@ -169,21 +169,21 @@ fn G() { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @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.39c: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Base) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.903: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Base) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.982: %ptr.as.Copy.impl.Op.type.903 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.ee1: %Copy.type = facet_value %ptr.0e0, (%Copy.impl_witness.39c) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e2a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.ee1) [concrete] // CHECK:STDOUT: %.2aa: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e2a, %Copy.facet.ee1 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.903: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Base) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.982: %ptr.as.Copy.impl.Op.type.903 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.982, @ptr.as.Copy.impl.Op(%Base) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -249,11 +249,11 @@ fn G() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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 G() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/interop/cpp/enum/convert.carbon b/toolchain/check/testdata/interop/cpp/enum/convert.carbon index d65a24ff45be..dc532a9cba43 100644 --- a/toolchain/check/testdata/interop/cpp/enum/convert.carbon +++ b/toolchain/check/testdata/interop/cpp/enum/convert.carbon @@ -86,11 +86,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.4de: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: 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.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.144 = facet_value Core.IntLiteral, (%As.impl_witness.4de) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.0b5: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] // CHECK:STDOUT: %.f79: type = fn_type_with_self_type %As.WithSelf.Convert.type.0b5, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: 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.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.As.impl.Convert.262 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.262, @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] 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 4bdc4aa4c630..f86b5fbc9bec 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 @@ -704,24 +704,24 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.549: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_8) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.173: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_8) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.fae: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.173 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.38b = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.549) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.3d7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i8, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.4c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.3d7, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.173: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_8) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.fae: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.173 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_-1.638, %Core.IntLiteral.as.ImplicitAs.impl.Convert.fae [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.fae, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_8) [concrete] // CHECK:STDOUT: %bound_method.687: = bound_method %int_-1.638, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_-1.f9e: %i8 = int_value -1 [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.b0a: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_8) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.12c: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_8) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.534: %Int.as.Copy.impl.Op.type.12c = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.fb6: %Copy.type = facet_value %i8, (%Copy.impl_witness.b0a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.d57: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.fb6) [concrete] // CHECK:STDOUT: %.38e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d57, %Copy.facet.fb6 [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.12c: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_8) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.534: %Int.as.Copy.impl.Op.type.12c = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_-1.f9e, %Int.as.Copy.impl.Op.534 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.534, @Int.as.Copy.impl.Op(%int_8) [concrete] // CHECK:STDOUT: %bound_method.3ef: = bound_method %int_-1.f9e, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -819,11 +819,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.60e: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.be5 = struct_value () [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.a1f: = impl_witness imports.%ImplicitAs.impl_witness_table.79a, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_8) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.bce: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_8) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.8c1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.bce = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.f52 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a1f) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.0b5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u8, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.b73: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.0b5, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.bce: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_8) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.8c1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.bce = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.8c1 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.8c1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_8) [concrete] // CHECK:STDOUT: %bound_method.7ef: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -831,11 +831,11 @@ fn F() { // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.97a: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.2a0: %UInt.as.Copy.impl.Op.type.97a = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.598: = impl_witness imports.%Copy.impl_witness_table.238, @UInt.as.Copy.impl(%int_8) [concrete] -// CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.718: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_8) [concrete] -// CHECK:STDOUT: %UInt.as.Copy.impl.Op.5bd: %UInt.as.Copy.impl.Op.type.718 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %u8, (%Copy.impl_witness.598) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.2e9: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.992: type = fn_type_with_self_type %Copy.WithSelf.Op.type.2e9, %Copy.facet [concrete] +// CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.718: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_8) [concrete] +// CHECK:STDOUT: %UInt.as.Copy.impl.Op.5bd: %UInt.as.Copy.impl.Op.type.718 = struct_value () [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.bound: = bound_method %int_1.5dc, %UInt.as.Copy.impl.Op.5bd [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.specific_fn: = specific_function %UInt.as.Copy.impl.Op.5bd, @UInt.as.Copy.impl.Op(%int_8) [concrete] // CHECK:STDOUT: %bound_method.605: = bound_method %int_1.5dc, %UInt.as.Copy.impl.Op.specific_fn [concrete] @@ -1042,11 +1042,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -1150,11 +1150,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.4de: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.144 = facet_value Core.IntLiteral, (%As.impl_witness.4de) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.0b5: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] // CHECK:STDOUT: %.f79: type = fn_type_with_self_type %As.WithSelf.Convert.type.0b5, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.262 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.262, @Core.IntLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.1e6: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1166,11 +1166,11 @@ fn F() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.21d: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.21d) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.64d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.376: type = fn_type_with_self_type %Copy.WithSelf.Op.type.64d, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.6e1, %Int.as.Copy.impl.Op.5fe [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.5fe, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.96e: = bound_method %int_1.6e1, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -1260,24 +1260,24 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.610: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.9e0: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e71: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.9e0 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.887 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.610) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.14b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i16, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.425: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.14b, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.9e0: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_16) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e71: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.9e0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_32767.f4b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e71 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e71, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.2ce: = bound_method %int_32767.f4b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_32767.15e: %i16 = int_value 32767 [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.21d: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.c44: %Copy.type = facet_value %i16, (%Copy.impl_witness.21d) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.64d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.c44) [concrete] // CHECK:STDOUT: %.376: type = fn_type_with_self_type %Copy.WithSelf.Op.type.64d, %Copy.facet.c44 [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_32767.15e, %Int.as.Copy.impl.Op.5fe [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.5fe, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.1f5: = bound_method %int_32767.15e, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -1375,24 +1375,24 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.610: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.9e0: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e71: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.9e0 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.887 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.610) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.14b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i16, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.425: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.14b, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.9e0: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_16) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e71: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.9e0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_-32768.882, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e71 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e71, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.cae: = bound_method %int_-32768.882, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_-32768.827: %i16 = int_value -32768 [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.21d: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.c44: %Copy.type = facet_value %i16, (%Copy.impl_witness.21d) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.64d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.c44) [concrete] // CHECK:STDOUT: %.376: type = fn_type_with_self_type %Copy.WithSelf.Op.type.64d, %Copy.facet.c44 [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_-32768.827, %Int.as.Copy.impl.Op.5fe [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.5fe, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.a80: = bound_method %int_-32768.827, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -1486,11 +1486,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.4de: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.144 = facet_value Core.IntLiteral, (%As.impl_witness.4de) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.0b5: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] // CHECK:STDOUT: %.f79: type = fn_type_with_self_type %As.WithSelf.Convert.type.0b5, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.262 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.262, @Core.IntLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.1e6: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1502,11 +1502,11 @@ fn F() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.21d: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.21d) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.64d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.376: type = fn_type_with_self_type %Copy.WithSelf.Op.type.64d, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.6e1, %Int.as.Copy.impl.Op.5fe [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.5fe, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.96e: = bound_method %int_1.6e1, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -1593,11 +1593,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.4de: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.144 = facet_value Core.IntLiteral, (%As.impl_witness.4de) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.0b5: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] // CHECK:STDOUT: %.f79: type = fn_type_with_self_type %As.WithSelf.Convert.type.0b5, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.262 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.262, @Core.IntLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.1e6: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1609,11 +1609,11 @@ fn F() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.21d: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.21d) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.64d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.376: type = fn_type_with_self_type %Copy.WithSelf.Op.type.64d, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.6e1, %Int.as.Copy.impl.Op.5fe [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.5fe, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.96e: = bound_method %int_1.6e1, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -1700,11 +1700,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.4de: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.144 = facet_value Core.IntLiteral, (%As.impl_witness.4de) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.0b5: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] // CHECK:STDOUT: %.f79: type = fn_type_with_self_type %As.WithSelf.Convert.type.0b5, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.262 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.262, @Core.IntLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.1e6: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1716,11 +1716,11 @@ fn F() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.21d: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.21d) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.64d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.376: type = fn_type_with_self_type %Copy.WithSelf.Op.type.64d, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.6e1, %Int.as.Copy.impl.Op.5fe [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.5fe, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.96e: = bound_method %int_1.6e1, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -1807,11 +1807,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.4de: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.144 = facet_value Core.IntLiteral, (%As.impl_witness.4de) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.0b5: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] // CHECK:STDOUT: %.f79: type = fn_type_with_self_type %As.WithSelf.Convert.type.0b5, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.262 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.262, @Core.IntLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.1e6: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1823,11 +1823,11 @@ fn F() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.21d: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.21d) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.64d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.376: type = fn_type_with_self_type %Copy.WithSelf.Op.type.64d, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.6e1, %Int.as.Copy.impl.Op.5fe [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.5fe, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.96e: = bound_method %int_1.6e1, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -1913,11 +1913,11 @@ fn F() { // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.4b6: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.0cf: %Core.FloatLiteral.as.As.impl.Convert.type.4b6 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.fc9: = impl_witness imports.%As.impl_witness_table.591, @Core.FloatLiteral.as.As.impl(%int_16) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.220: 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.e12: %Core.FloatLiteral.as.As.impl.Convert.type.220 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.35f = facet_value Core.FloatLiteral, (%As.impl_witness.fc9) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.4ec: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f16.727, %As.facet) [concrete] // CHECK:STDOUT: %.045: type = fn_type_with_self_type %As.WithSelf.Convert.type.4ec, %As.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.220: 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.e12: %Core.FloatLiteral.as.As.impl.Convert.type.220 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.e12 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.As.impl.Convert.e12, @Core.FloatLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.d8e: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1929,11 +1929,11 @@ fn F() { // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.e8d: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Float.as.Copy.impl.Op.fe9: %Float.as.Copy.impl.Op.type.e8d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.9ab: = impl_witness imports.%Copy.impl_witness_table.14d, @Float.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.714: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.a14: %Float.as.Copy.impl.Op.type.714 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f16.727, (%Copy.impl_witness.9ab) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.657: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.714: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.a14: %Float.as.Copy.impl.Op.type.714 = struct_value () [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.bound: = bound_method %float.413, %Float.as.Copy.impl.Op.a14 [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.specific_fn: = specific_function %Float.as.Copy.impl.Op.a14, @Float.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.30a: = bound_method %float.413, %Float.as.Copy.impl.Op.specific_fn [concrete] @@ -2019,11 +2019,11 @@ fn F() { // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.4b6: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.0cf: %Core.FloatLiteral.as.As.impl.Convert.type.4b6 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.ceb: = impl_witness imports.%As.impl_witness_table.591, @Core.FloatLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.40d: 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.4d5: %Core.FloatLiteral.as.As.impl.Convert.type.40d = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.f72 = facet_value Core.FloatLiteral, (%As.impl_witness.ceb) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.ce5: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f32.3bc, %As.facet) [concrete] // CHECK:STDOUT: %.6e3: type = fn_type_with_self_type %As.WithSelf.Convert.type.ce5, %As.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.40d: 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.4d5: %Core.FloatLiteral.as.As.impl.Convert.type.40d = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.4d5 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.As.impl.Convert.4d5, @Core.FloatLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.aa7: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -2035,11 +2035,11 @@ fn F() { // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.e8d: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Float.as.Copy.impl.Op.fe9: %Float.as.Copy.impl.Op.type.e8d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.cc6: = impl_witness imports.%Copy.impl_witness_table.14d, @Float.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.bc1: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.f7a: %Float.as.Copy.impl.Op.type.bc1 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f32.3bc, (%Copy.impl_witness.cc6) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e23: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.c24: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e23, %Copy.facet [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.bc1: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.f7a: %Float.as.Copy.impl.Op.type.bc1 = struct_value () [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.bound: = bound_method %float.5cc, %Float.as.Copy.impl.Op.f7a [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.specific_fn: = specific_function %Float.as.Copy.impl.Op.f7a, @Float.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.4f2: = bound_method %float.5cc, %Float.as.Copy.impl.Op.specific_fn [concrete] @@ -2125,11 +2125,11 @@ fn F() { // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.4b6: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.0cf: %Core.FloatLiteral.as.As.impl.Convert.type.4b6 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.553: = impl_witness imports.%As.impl_witness_table.591, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.ecc: 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.882: %Core.FloatLiteral.as.As.impl.Convert.type.ecc = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b48 = facet_value Core.FloatLiteral, (%As.impl_witness.553) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.7fd: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f64.761, %As.facet) [concrete] // CHECK:STDOUT: %.dac: type = fn_type_with_self_type %As.WithSelf.Convert.type.7fd, %As.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.ecc: 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.882: %Core.FloatLiteral.as.As.impl.Convert.type.ecc = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.882 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.As.impl.Convert.882, @Core.FloatLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.c7d: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -2141,11 +2141,11 @@ fn F() { // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.e8d: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Float.as.Copy.impl.Op.fe9: %Float.as.Copy.impl.Op.type.e8d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.eac: = impl_witness imports.%Copy.impl_witness_table.14d, @Float.as.Copy.impl(%int_64) [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.33e: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_64) [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.f20: %Float.as.Copy.impl.Op.type.33e = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f64.761, (%Copy.impl_witness.eac) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.276: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.b25: type = fn_type_with_self_type %Copy.WithSelf.Op.type.276, %Copy.facet [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.33e: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_64) [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.f20: %Float.as.Copy.impl.Op.type.33e = struct_value () [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.bound: = bound_method %float.069, %Float.as.Copy.impl.Op.f20 [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.specific_fn: = specific_function %Float.as.Copy.impl.Op.f20, @Float.as.Copy.impl.Op(%int_64) [concrete] // CHECK:STDOUT: %bound_method.67a: = bound_method %float.069, %Float.as.Copy.impl.Op.specific_fn [concrete] @@ -2231,11 +2231,11 @@ fn F() { // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.4b6: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.0cf: %Core.FloatLiteral.as.As.impl.Convert.type.4b6 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.7f0: = impl_witness imports.%As.impl_witness_table.591, @Core.FloatLiteral.as.As.impl(%int_128) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.9cc: 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.d5a: %Core.FloatLiteral.as.As.impl.Convert.type.9cc = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.d26 = facet_value Core.FloatLiteral, (%As.impl_witness.7f0) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.631: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f128.72e, %As.facet) [concrete] // CHECK:STDOUT: %.749: type = fn_type_with_self_type %As.WithSelf.Convert.type.631, %As.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.9cc: 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.d5a: %Core.FloatLiteral.as.As.impl.Convert.type.9cc = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.d5a [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.As.impl.Convert.d5a, @Core.FloatLiteral.as.As.impl.Convert(%int_128) [concrete] // CHECK:STDOUT: %bound_method.8b0: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -2247,11 +2247,11 @@ fn F() { // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.e8d: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Float.as.Copy.impl.Op.fe9: %Float.as.Copy.impl.Op.type.e8d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.74c: = impl_witness imports.%Copy.impl_witness_table.14d, @Float.as.Copy.impl(%int_128) [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.7c5: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_128) [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.c56: %Float.as.Copy.impl.Op.type.7c5 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f128.72e, (%Copy.impl_witness.74c) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9af: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.d9c: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9af, %Copy.facet [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.7c5: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_128) [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.c56: %Float.as.Copy.impl.Op.type.7c5 = struct_value () [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.bound: = bound_method %float.b2b, %Float.as.Copy.impl.Op.c56 [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.specific_fn: = specific_function %Float.as.Copy.impl.Op.c56, @Float.as.Copy.impl.Op(%int_128) [concrete] // CHECK:STDOUT: %bound_method.00b: = bound_method %float.b2b, %Float.as.Copy.impl.Op.specific_fn [concrete] 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 3165426e2d89..d7996ec223f4 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 @@ -314,11 +314,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -373,11 +373,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2147483647.d89, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -441,11 +441,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_-2147483648.3b9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -508,11 +508,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -567,11 +567,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -626,11 +626,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.be5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.60e: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.be5 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.88f: = impl_witness imports.%ImplicitAs.impl_witness_table.79a, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.56f: 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.14a: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.56f = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.f26 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.88f) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.3d4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.8ad: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.3d4, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.56f: 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.14a: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.56f = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.14a [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.14a, @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] @@ -685,11 +685,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -745,11 +745,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -816,11 +816,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -924,11 +924,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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,11 +1023,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.b1b: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5: 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.dcd: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.e56 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.b1b) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4cd: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.7ee: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4cd, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5: 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.dcd: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd, @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] diff --git a/toolchain/check/testdata/interop/cpp/function/import/constexpr.carbon b/toolchain/check/testdata/interop/cpp/function/import/constexpr.carbon index 87642d3c5b9e..e5dff69a7733 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/constexpr.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/constexpr.carbon @@ -161,24 +161,24 @@ let a: array(i32, F()) = (1, 2, 3); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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.9f3: %i32 = int_value 3 [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %SubobjectDestroy.type: type = facet_type <@SubobjectDestroy> [concrete] 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 9604384803f3..904c75f31f51 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/decayed_param.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/decayed_param.carbon @@ -100,11 +100,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -133,11 +133,11 @@ fn F() { // CHECK:STDOUT: %Destroy.facet.553: %Destroy.type = facet_value %ptr.a17, (%custom_witness.b80ef6.1, %DestroyImpl.impl_witness.b8f) [concrete] // CHECK:STDOUT: %MaybeUnformed.729: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.553) [concrete] // CHECK:STDOUT: %OptionalStorage.impl_witness.d72: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%i32) [concrete] -// CHECK:STDOUT: %.31e: type = maybe_unformed_type %ptr.a17 [concrete] // CHECK:STDOUT: %OptionalStorage.facet.3c0: %OptionalStorage.type = facet_value %ptr.a17, (%OptionalStorage.impl_witness.d72) [concrete] // CHECK:STDOUT: %Optional.785: type = class_type @Optional, @Optional(%OptionalStorage.facet.3c0) [concrete] // CHECK:STDOUT: %TakesArray.type: type = fn_type @TakesArray [concrete] // CHECK:STDOUT: %TakesArray: %TakesArray.type = struct_value () [concrete] +// CHECK:STDOUT: %.31e: type = maybe_unformed_type %ptr.a17 [concrete] // CHECK:STDOUT: %ImplicitAs.type.51c: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.785)> [concrete] // CHECK:STDOUT: %OptionalAs.type.5bd: type = facet_type <@OptionalAs, @OptionalAs(%T.220e40.1)> [symbolic] // CHECK:STDOUT: %U.c66: %OptionalAs.type.5bd = symbolic_binding U, 1 [symbolic] @@ -149,11 +149,11 @@ fn F() { // CHECK:STDOUT: %OptionalAs.impl_witness.d02: = impl_witness imports.%OptionalAs.impl_witness_table.98f, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.3c0) [concrete] // CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.987 = facet_value %ptr.a17, (%OptionalAs.impl_witness.d02) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.ec2: = impl_witness imports.%ImplicitAs.impl_witness_table.653, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.3c0, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.5b0: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.3c0, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.c03: %U.as_type.as.ImplicitAs.impl.Convert.type.5b0 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.7a7: %ImplicitAs.type.51c = facet_value %ptr.a17, (%ImplicitAs.impl_witness.ec2) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6dc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.785, %ImplicitAs.facet.7a7) [concrete] // CHECK:STDOUT: %.ed9: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6dc, %ImplicitAs.facet.7a7 [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.5b0: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.3c0, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.c03: %U.as_type.as.ImplicitAs.impl.Convert.type.5b0 = struct_value () [concrete] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.c03, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.3c0, %OptionalAs.facet) [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.4: type = fn_type @SubobjectDestroy.WithSelf.Op.loc11_18.3 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.4: %SubobjectDestroy.WithSelf.Op.type.6870fd.4 = struct_value () [concrete] @@ -166,11 +166,11 @@ fn F() { // CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.22d: 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.68f: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.22d = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.c57: = impl_witness imports.%ImplicitAs.impl_witness_table.71b, @Cpp.nullptr_t.as.ImplicitAs.impl(%i32) [concrete] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.bc5: 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.9fa: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.bc5 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.16a: %ImplicitAs.type.51c = facet_value %Cpp.nullptr_t, (%ImplicitAs.impl_witness.c57) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.f3d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.785, %ImplicitAs.facet.16a) [concrete] // CHECK:STDOUT: %.186: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.f3d, %ImplicitAs.facet.16a [concrete] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.bc5: 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.9fa: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.bc5 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.bound: = bound_method %uninit, %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.9fa [concrete] // CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.9fa, @Cpp.nullptr_t.as.ImplicitAs.impl.Convert(%i32) [concrete] // CHECK:STDOUT: %bound_method.30a: = bound_method %uninit, %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -246,8 +246,8 @@ fn F() { // CHECK:STDOUT: %UnformedInit.impl_witness_table.cae = impl_witness_table (), @Array.as.UnformedInit.impl [concrete] // CHECK:STDOUT: %UnformedInit.impl_witness_table.6e2 = 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.e47: @Core.IntLiteral.as.ImplicitAs.impl.6b6.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.6b6.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f53 = impl_witness_table (%Core.import_ref.e47), @Core.IntLiteral.as.ImplicitAs.impl.6b6 [concrete] +// CHECK:STDOUT: %Core.import_ref.e474: @Core.IntLiteral.as.ImplicitAs.impl.6b6.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.6b6.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f53 = impl_witness_table (%Core.import_ref.e474), @Core.IntLiteral.as.ImplicitAs.impl.6b6 [concrete] // CHECK:STDOUT: %Core.import_ref.30b: type = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.OptionalStorage.impl.%MaybeUnformed (constants.%MaybeUnformed.dac)] // CHECK:STDOUT: %Core.import_ref.9ff: @ptr.as.OptionalStorage.impl.%ptr.as.OptionalStorage.impl.None.type (%ptr.as.OptionalStorage.impl.None.type.629) = 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.f84)] // CHECK:STDOUT: %Core.import_ref.470: @ptr.as.OptionalStorage.impl.%ptr.as.OptionalStorage.impl.Some.type (%ptr.as.OptionalStorage.impl.Some.type.b0c) = 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.bf1)] @@ -255,8 +255,8 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.0e8 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.713 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.30b, %Core.import_ref.9ff, %Core.import_ref.470, %Core.import_ref.322, %Core.import_ref.0e8, %Core.import_ref.713), @ptr.as.OptionalStorage.impl [concrete] -// CHECK:STDOUT: %Core.import_ref.7b53: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b53), @T.as_type.as.DestroyImpl.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.74d0: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/destroy, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.74d0), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %TakesArray.decl: %TakesArray.type = fn_decl @TakesArray [concrete = constants.%TakesArray] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -751,11 +751,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] 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 aba3822ead59..65973fb0c697 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/default_arg.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/default_arg.carbon @@ -128,11 +128,11 @@ fn Call() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -427,11 +427,11 @@ fn Call() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] 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 39ccd6c32fb0..6304037277ec 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/extern_c.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/extern_c.carbon @@ -116,11 +116,11 @@ fn MyF(a: Cpp.X, b: Cpp.X) -> Cpp.X { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -176,11 +176,11 @@ fn MyF(a: Cpp.X, b: Cpp.X) -> Cpp.X { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: 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 269476ae015a..908af33d8f3f 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/full_semir.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/full_semir.carbon @@ -87,11 +87,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.4de: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: 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.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.144 = facet_value Core.IntLiteral, (%As.impl_witness.4de) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.0b5: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] // CHECK:STDOUT: %.f79: type = fn_type_with_self_type %As.WithSelf.Convert.type.0b5, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: 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.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.262 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.262, @Core.IntLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.1e6: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -106,11 +106,11 @@ fn F() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.21d: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.21d) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.64d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.376: type = fn_type_with_self_type %Copy.WithSelf.Op.type.64d, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.6e1, %Int.as.Copy.impl.Op.5fe [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.5fe, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.96e: = bound_method %int_1.6e1, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -246,11 +246,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/interop/cpp/function/import/function.carbon b/toolchain/check/testdata/interop/cpp/function/import/function.carbon index 8cdb1e5f1283..27adb3ede77a 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/function.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/function.carbon @@ -337,11 +337,11 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.94f, @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] diff --git a/toolchain/check/testdata/interop/cpp/function/import/function_ptr.carbon b/toolchain/check/testdata/interop/cpp/function/import/function_ptr.carbon index 57f6917183f7..5ffb25461698 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/function_ptr.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/function_ptr.carbon @@ -403,24 +403,24 @@ fn F() { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.e8d: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N) [symbolic] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.fe9: %Float.as.Copy.impl.Op.type.e8d = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.f723: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f84: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %float.239: %f32.3bc = float_value 1 [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.e8d: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N) [symbolic] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.fe9: %Float.as.Copy.impl.Op.type.e8d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.cc6: = impl_witness imports.%Copy.impl_witness_table.14d, @Float.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.bc1: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.f7a: %Float.as.Copy.impl.Op.type.bc1 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.62e: %Copy.type = facet_value %f32.3bc, (%Copy.impl_witness.cc6) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e23: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.62e) [concrete] // CHECK:STDOUT: %.c24: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e23, %Copy.facet.62e [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.bc1: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.f7a: %Float.as.Copy.impl.Op.type.bc1 = struct_value () [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.bound: = bound_method %float.239, %Float.as.Copy.impl.Op.f7a [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.specific_fn: = specific_function %Float.as.Copy.impl.Op.f7a, @Float.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.acb: = bound_method %float.239, %Float.as.Copy.impl.Op.specific_fn [concrete] 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 7e1e0ba4ae5b..8174de83aa1e 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/in_template.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/in_template.carbon @@ -51,11 +51,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/interop/cpp/function/import/inline.carbon b/toolchain/check/testdata/interop/cpp/function/import/inline.carbon index 1ec3c3130dc7..4d0cacf97fda 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/inline.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/inline.carbon @@ -160,11 +160,11 @@ fn MyF() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.5d8: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.5d8 [concrete] @@ -180,11 +180,11 @@ fn MyF() { // CHECK:STDOUT: %ThunkOnArg__carbon_thunk: %ThunkOnArg__carbon_thunk.type = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.887: type = facet_type <@ImplicitAs, @ImplicitAs(%i16)> [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.610: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.9e0: 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.e71: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.9e0 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.b42: %ImplicitAs.type.887 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.610) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.14b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i16, %ImplicitAs.facet.b42) [concrete] // CHECK:STDOUT: %.425: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.14b, %ImplicitAs.facet.b42 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.9e0: 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.e71: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.9e0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.d9f: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e71 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.91f: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e71, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.f03: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.91f [concrete] @@ -193,11 +193,11 @@ fn MyF() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.21d: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.21d) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.64d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.376: type = fn_type_with_self_type %Copy.WithSelf.Op.type.64d, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.6f7: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.5fe: %Int.as.Copy.impl.Op.type.6f7 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.6e1, %Int.as.Copy.impl.Op.5fe [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.5fe, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.96e: = bound_method %int_1.6e1, %Int.as.Copy.impl.Op.specific_fn [concrete] diff --git a/toolchain/check/testdata/interop/cpp/function/import/pointer.carbon b/toolchain/check/testdata/interop/cpp/function/import/pointer.carbon index 9e53612b88b7..8eb00c767e3f 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/pointer.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/pointer.carbon @@ -599,11 +599,11 @@ fn F() { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.f50: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%DoubleNonNullableParamS) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.5b1: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%DoubleNonNullableParamS) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.43a: %ptr.as.Copy.impl.Op.type.5b1 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.40d, (%Copy.impl_witness.f50) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.104: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.38b: type = fn_type_with_self_type %Copy.WithSelf.Op.type.104, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.5b1: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%DoubleNonNullableParamS) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.43a: %ptr.as.Copy.impl.Op.type.5b1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.43a, @ptr.as.Copy.impl.Op(%DoubleNonNullableParamS) [concrete] // CHECK:STDOUT: %double_non_nullable_param_foo.cpp_overload_set.type: type = cpp_overload_set_type @double_non_nullable_param_foo.cpp_overload_set [concrete] // CHECK:STDOUT: %double_non_nullable_param_foo.cpp_overload_set.value: %double_non_nullable_param_foo.cpp_overload_set.type = cpp_overload_set_value @double_non_nullable_param_foo.cpp_overload_set [concrete] @@ -1066,11 +1066,11 @@ fn F() { // CHECK:STDOUT: %Destroy.facet.0a4: %Destroy.type = facet_value %ptr.13b, (%custom_witness.b80ef6.1, %DestroyImpl.impl_witness.c03) [concrete] // CHECK:STDOUT: %MaybeUnformed.97c: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.0a4) [concrete] // CHECK:STDOUT: %OptionalStorage.impl_witness.361: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%ConstNullableParamS) [concrete] -// CHECK:STDOUT: %.c5e: type = maybe_unformed_type %ptr.13b [concrete] // CHECK:STDOUT: %OptionalStorage.facet.9ab: %OptionalStorage.type = facet_value %ptr.13b, (%OptionalStorage.impl_witness.361) [concrete] // CHECK:STDOUT: %Optional.4b8: type = class_type @Optional, @Optional(%OptionalStorage.facet.9ab) [concrete] // CHECK:STDOUT: %const_nullable_foo.type: type = fn_type @const_nullable_foo [concrete] // CHECK:STDOUT: %const_nullable_foo: %const_nullable_foo.type = struct_value () [concrete] +// CHECK:STDOUT: %.c5e: type = maybe_unformed_type %ptr.13b [concrete] // CHECK:STDOUT: %ImplicitAs.type.19b: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.4b8)> [concrete] // CHECK:STDOUT: %ImplicitAs.type.b02b67.2: type = facet_type <@ImplicitAs, @ImplicitAs(%T.67d)> [symbolic] // CHECK:STDOUT: %U.862: %ImplicitAs.type.b02b67.2 = symbolic_binding U, 1 [symbolic] @@ -1088,11 +1088,11 @@ fn F() { // CHECK:STDOUT: %ImplicitAs.impl_witness.3ab: = impl_witness imports.%ImplicitAs.impl_witness_table.653, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.9ab, %OptionalAs.facet) [concrete] // CHECK:STDOUT: %ImplicitAs.facet.f93: %ImplicitAs.type.19b = facet_value %ptr.13b, (%ImplicitAs.impl_witness.3ab) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.818: = impl_witness imports.%ImplicitAs.impl_witness_table.c21, @const.as.ImplicitAs.impl(%Optional.4b8, %ImplicitAs.facet.f93) [concrete] -// CHECK:STDOUT: %const.as.ImplicitAs.impl.Convert.type.c95: type = fn_type @const.as.ImplicitAs.impl.Convert, @const.as.ImplicitAs.impl(%Optional.4b8, %ImplicitAs.facet.f93) [concrete] -// CHECK:STDOUT: %const.as.ImplicitAs.impl.Convert.f0b: %const.as.ImplicitAs.impl.Convert.type.c95 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.362: %ImplicitAs.type.19b = facet_value %const.2f4, (%ImplicitAs.impl_witness.818) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.9d7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.4b8, %ImplicitAs.facet.362) [concrete] // CHECK:STDOUT: %.8ee: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.9d7, %ImplicitAs.facet.362 [concrete] +// CHECK:STDOUT: %const.as.ImplicitAs.impl.Convert.type.c95: type = fn_type @const.as.ImplicitAs.impl.Convert, @const.as.ImplicitAs.impl(%Optional.4b8, %ImplicitAs.facet.f93) [concrete] +// CHECK:STDOUT: %const.as.ImplicitAs.impl.Convert.f0b: %const.as.ImplicitAs.impl.Convert.type.c95 = struct_value () [concrete] // CHECK:STDOUT: %const.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %const.as.ImplicitAs.impl.Convert.f0b, @const.as.ImplicitAs.impl.Convert(%Optional.4b8, %ImplicitAs.facet.f93) [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.4: type = fn_type @SubobjectDestroy.WithSelf.Op.loc11_26.3 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.4: %SubobjectDestroy.WithSelf.Op.type.6870fd.4 = struct_value () [concrete] @@ -1123,8 +1123,8 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.0e8 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.713 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.30b, %Core.import_ref.814, %Core.import_ref.470, %Core.import_ref.322, %Core.import_ref.0e8, %Core.import_ref.713), @ptr.as.OptionalStorage.impl [concrete] -// CHECK:STDOUT: %Core.import_ref.7b53: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b53), @T.as_type.as.DestroyImpl.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.74d0: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/destroy, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.74d0), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %const_nullable_foo.decl: %const_nullable_foo.type = fn_decl @const_nullable_foo [concrete = constants.%const_nullable_foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -1235,11 +1235,11 @@ fn F() { // CHECK:STDOUT: %Destroy.facet.0a4: %Destroy.type = facet_value %ptr.13b, (%custom_witness.b80ef6.1, %DestroyImpl.impl_witness.c03) [concrete] // CHECK:STDOUT: %MaybeUnformed.97c: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.0a4) [concrete] // CHECK:STDOUT: %OptionalStorage.impl_witness.361: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%ConstNullableParamS) [concrete] -// CHECK:STDOUT: %.c5e: type = maybe_unformed_type %ptr.13b [concrete] // CHECK:STDOUT: %OptionalStorage.facet.9ab: %OptionalStorage.type = facet_value %ptr.13b, (%OptionalStorage.impl_witness.361) [concrete] // CHECK:STDOUT: %Optional.4b8: type = class_type @Optional, @Optional(%OptionalStorage.facet.9ab) [concrete] // CHECK:STDOUT: %const_nullable_foo.type: type = fn_type @const_nullable_foo [concrete] // CHECK:STDOUT: %const_nullable_foo: %const_nullable_foo.type = struct_value () [concrete] +// CHECK:STDOUT: %.c5e: type = maybe_unformed_type %ptr.13b [concrete] // CHECK:STDOUT: %ImplicitAs.type.19b: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.4b8)> [concrete] // CHECK:STDOUT: %OptionalAs.type.5bd: type = facet_type <@OptionalAs, @OptionalAs(%T.220e40.1)> [symbolic] // CHECK:STDOUT: %U.c66: %OptionalAs.type.5bd = symbolic_binding U, 1 [symbolic] @@ -1251,11 +1251,11 @@ fn F() { // CHECK:STDOUT: %OptionalAs.impl_witness.e49: = impl_witness imports.%OptionalAs.impl_witness_table.98f, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.9ab) [concrete] // CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.168 = facet_value %ptr.13b, (%OptionalAs.impl_witness.e49) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.3ab: = impl_witness imports.%ImplicitAs.impl_witness_table.653, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.9ab, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.d7e: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.9ab, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.311: %U.as_type.as.ImplicitAs.impl.Convert.type.d7e = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.f93: %ImplicitAs.type.19b = facet_value %ptr.13b, (%ImplicitAs.impl_witness.3ab) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a91: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.4b8, %ImplicitAs.facet.f93) [concrete] // CHECK:STDOUT: %.56e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a91, %ImplicitAs.facet.f93 [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.d7e: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.9ab, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.311: %U.as_type.as.ImplicitAs.impl.Convert.type.d7e = struct_value () [concrete] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.311, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.9ab, %OptionalAs.facet) [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.4: type = fn_type @SubobjectDestroy.WithSelf.Op.loc11_26.3 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.4: %SubobjectDestroy.WithSelf.Op.type.6870fd.4 = struct_value () [concrete] @@ -1280,8 +1280,8 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.0e8 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.713 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.30b, %Core.import_ref.814, %Core.import_ref.470, %Core.import_ref.322, %Core.import_ref.0e8, %Core.import_ref.713), @ptr.as.OptionalStorage.impl [concrete] -// CHECK:STDOUT: %Core.import_ref.7b53: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b53), @T.as_type.as.DestroyImpl.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.74d0: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/destroy, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.74d0), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %const_nullable_foo.decl: %const_nullable_foo.type = fn_decl @const_nullable_foo [concrete = constants.%const_nullable_foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -1525,11 +1525,11 @@ fn F() { // CHECK:STDOUT: %Destroy.facet.6e0: %Destroy.type = facet_value %ptr.1f0, (%custom_witness.b80ef6.1, %DestroyImpl.impl_witness.82b) [concrete] // CHECK:STDOUT: %MaybeUnformed.b5a: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.6e0) [concrete] // CHECK:STDOUT: %OptionalStorage.impl_witness.b77: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%NullableParamS) [concrete] -// CHECK:STDOUT: %.280: type = maybe_unformed_type %ptr.1f0 [concrete] // CHECK:STDOUT: %OptionalStorage.facet.9ba: %OptionalStorage.type = facet_value %ptr.1f0, (%OptionalStorage.impl_witness.b77) [concrete] // CHECK:STDOUT: %Optional.37f: type = class_type @Optional, @Optional(%OptionalStorage.facet.9ba) [concrete] // CHECK:STDOUT: %nullable_param_foo.type: type = fn_type @nullable_param_foo [concrete] // CHECK:STDOUT: %nullable_param_foo: %nullable_param_foo.type = struct_value () [concrete] +// CHECK:STDOUT: %.280: type = maybe_unformed_type %ptr.1f0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.7b3: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.37f)> [concrete] // CHECK:STDOUT: %OptionalAs.type.5bd: type = facet_type <@OptionalAs, @OptionalAs(%T.220e40.1)> [symbolic] // CHECK:STDOUT: %U.c66: %OptionalAs.type.5bd = symbolic_binding U, 1 [symbolic] @@ -1541,11 +1541,11 @@ fn F() { // CHECK:STDOUT: %OptionalAs.impl_witness.0b4: = impl_witness imports.%OptionalAs.impl_witness_table.98f, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.9ba) [concrete] // CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.300 = facet_value %ptr.1f0, (%OptionalAs.impl_witness.0b4) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.940: = impl_witness imports.%ImplicitAs.impl_witness_table.653, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.9ba, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.ce0: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.9ba, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.d9f: %U.as_type.as.ImplicitAs.impl.Convert.type.ce0 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.162: %ImplicitAs.type.7b3 = facet_value %ptr.1f0, (%ImplicitAs.impl_witness.940) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a1f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.37f, %ImplicitAs.facet.162) [concrete] // CHECK:STDOUT: %.94f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a1f, %ImplicitAs.facet.162 [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.ce0: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.9ba, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.d9f: %U.as_type.as.ImplicitAs.impl.Convert.type.ce0 = struct_value () [concrete] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.d9f, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.9ba, %OptionalAs.facet) [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.4: type = fn_type @SubobjectDestroy.WithSelf.Op.loc9_26.3 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.4: %SubobjectDestroy.WithSelf.Op.type.6870fd.4 = struct_value () [concrete] @@ -1576,8 +1576,8 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.0e8 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.713 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.30b, %Core.import_ref.814, %Core.import_ref.470, %Core.import_ref.322, %Core.import_ref.0e8, %Core.import_ref.713), @ptr.as.OptionalStorage.impl [concrete] -// CHECK:STDOUT: %Core.import_ref.7b53: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b53), @T.as_type.as.DestroyImpl.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.74d0: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/destroy, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.74d0), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %nullable_param_foo.decl: %nullable_param_foo.type = fn_decl @nullable_param_foo [concrete = constants.%nullable_param_foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -1669,13 +1669,13 @@ fn F() { // CHECK:STDOUT: %MaybeUnformed.dac: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.5f3) [symbolic] // CHECK:STDOUT: %ptr.as.OptionalStorage.impl.None.type.629: type = fn_type @ptr.as.OptionalStorage.impl.None, @ptr.as.OptionalStorage.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.OptionalStorage.impl.None.f84: %ptr.as.OptionalStorage.impl.None.type.629 = struct_value () [symbolic] -// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %NullableParamS: type = class_type @NullableParamS [concrete] // CHECK:STDOUT: %ptr.1f0: type = ptr_type %NullableParamS [concrete] +// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.1: type = fn_type @SubobjectDestroy.WithSelf.Op.2 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.1: %SubobjectDestroy.WithSelf.Op.type.6870fd.1 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.b80ef6.1: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.1), @SubobjectDestroy [concrete] @@ -1684,11 +1684,11 @@ fn F() { // CHECK:STDOUT: %Destroy.facet.6e0: %Destroy.type = facet_value %ptr.1f0, (%custom_witness.b80ef6.1, %DestroyImpl.impl_witness.82b) [concrete] // CHECK:STDOUT: %MaybeUnformed.b5a: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.6e0) [concrete] // CHECK:STDOUT: %OptionalStorage.impl_witness.b77: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%NullableParamS) [concrete] -// CHECK:STDOUT: %.280: type = maybe_unformed_type %ptr.1f0 [concrete] // CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.1f0, (%OptionalStorage.impl_witness.b77) [concrete] // CHECK:STDOUT: %Optional.37f: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %Optional.None.type.2bc: type = fn_type @Optional.None, @Optional(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %Optional.None.7f6: %Optional.None.type.2bc = struct_value () [concrete] +// CHECK:STDOUT: %.280: type = maybe_unformed_type %ptr.1f0 [concrete] // CHECK:STDOUT: %Optional.None.specific_fn: = specific_function %Optional.None.7f6, @Optional.None(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %nullable_param_foo.type: type = fn_type @nullable_param_foo [concrete] // CHECK:STDOUT: %nullable_param_foo: %nullable_param_foo.type = struct_value () [concrete] @@ -1721,10 +1721,10 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.0e8 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.713 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.30b, %Core.import_ref.9ff, %Core.import_ref.a1a, %Core.import_ref.322, %Core.import_ref.0e8, %Core.import_ref.713), @ptr.as.OptionalStorage.impl [concrete] -// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.d6d: @Optional.%Optional.None.type (%Optional.None.type.626) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @Optional.%Optional.None (constants.%Optional.None.3ad)] // CHECK:STDOUT: %NullableParamS.decl: type = class_decl @NullableParamS [concrete = constants.%NullableParamS] {} {} +// CHECK:STDOUT: %Core.import_ref.74d0: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/destroy, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.74d0), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %nullable_param_foo.decl: %nullable_param_foo.type = fn_decl @nullable_param_foo [concrete = constants.%nullable_param_foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -1804,12 +1804,12 @@ fn F() { // CHECK:STDOUT: %MaybeUnformed.dac: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.5f3) [symbolic] // CHECK:STDOUT: %ptr.as.OptionalStorage.impl.Some.type.b0c: type = fn_type @ptr.as.OptionalStorage.impl.Some, @ptr.as.OptionalStorage.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.OptionalStorage.impl.Some.bf1: %ptr.as.OptionalStorage.impl.Some.type.b0c = struct_value () [symbolic] -// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %ptr.1f0: type = ptr_type %NullableParamS [concrete] +// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.1: type = fn_type @SubobjectDestroy.WithSelf.Op.2 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.1: %SubobjectDestroy.WithSelf.Op.type.6870fd.1 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.b80ef6.1: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.1), @SubobjectDestroy [concrete] @@ -1818,11 +1818,11 @@ fn F() { // CHECK:STDOUT: %Destroy.facet.6e0: %Destroy.type = facet_value %ptr.1f0, (%custom_witness.b80ef6.1, %DestroyImpl.impl_witness.82b) [concrete] // CHECK:STDOUT: %MaybeUnformed.b5a: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.6e0) [concrete] // CHECK:STDOUT: %OptionalStorage.impl_witness.b77: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%NullableParamS) [concrete] -// CHECK:STDOUT: %.280: type = maybe_unformed_type %ptr.1f0 [concrete] // CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.1f0, (%OptionalStorage.impl_witness.b77) [concrete] // CHECK:STDOUT: %Optional.37f: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %Optional.Some.type.683: type = fn_type @Optional.Some, @Optional(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %Optional.Some.fff: %Optional.Some.type.683 = struct_value () [concrete] +// CHECK:STDOUT: %.280: type = maybe_unformed_type %ptr.1f0 [concrete] // CHECK:STDOUT: %Optional.Some.specific_fn: = specific_function %Optional.Some.fff, @Optional.Some(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %nullable_param_foo.type: type = fn_type @nullable_param_foo [concrete] // CHECK:STDOUT: %nullable_param_foo: %nullable_param_foo.type = struct_value () [concrete] @@ -1862,9 +1862,9 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.0e8 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.713 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.30b, %Core.import_ref.814, %Core.import_ref.470, %Core.import_ref.322, %Core.import_ref.0e8, %Core.import_ref.713), @ptr.as.OptionalStorage.impl [concrete] -// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.9b4: @Optional.%Optional.Some.type (%Optional.Some.type.63b) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @Optional.%Optional.Some (constants.%Optional.Some.792)] +// CHECK:STDOUT: %Core.import_ref.74d0: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/destroy, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.74d0), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %nullable_param_foo.decl: %nullable_param_foo.type = fn_decl @nullable_param_foo [concrete = constants.%nullable_param_foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -1971,11 +1971,11 @@ fn F() { // CHECK:STDOUT: %Destroy.facet.6e0: %Destroy.type = facet_value %ptr.1f0, (%custom_witness.b80ef6.1, %DestroyImpl.impl_witness.82b) [concrete] // CHECK:STDOUT: %MaybeUnformed.b5a: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.6e0) [concrete] // CHECK:STDOUT: %OptionalStorage.impl_witness.b77: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%NullableParamS) [concrete] -// CHECK:STDOUT: %.280: type = maybe_unformed_type %ptr.1f0 [concrete] // CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.1f0, (%OptionalStorage.impl_witness.b77) [concrete] // CHECK:STDOUT: %Optional.37f: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %nullable_param_get.type: type = fn_type @nullable_param_get [concrete] // CHECK:STDOUT: %nullable_param_get: %nullable_param_get.type = struct_value () [concrete] +// CHECK:STDOUT: %.280: type = maybe_unformed_type %ptr.1f0 [concrete] // CHECK:STDOUT: %nullable_param_foo.type: type = fn_type @nullable_param_foo [concrete] // CHECK:STDOUT: %nullable_param_foo: %nullable_param_foo.type = struct_value () [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.4: type = fn_type @SubobjectDestroy.WithSelf.Op.loc8_49.3 [concrete] @@ -2001,8 +2001,8 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.0e8 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.713 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.30b, %Core.import_ref.814, %Core.import_ref.a1a, %Core.import_ref.322, %Core.import_ref.0e8, %Core.import_ref.713), @ptr.as.OptionalStorage.impl [concrete] -// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.74d0: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/destroy, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.74d0), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %nullable_param_get.decl: %nullable_param_get.type = fn_decl @nullable_param_get [concrete = constants.%nullable_param_get] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -2169,11 +2169,11 @@ fn F() { // CHECK:STDOUT: %MaybeUnformed.dac: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.5f3) [symbolic] // CHECK:STDOUT: %ptr.as.OptionalStorage.impl.Some.type.b0c: type = fn_type @ptr.as.OptionalStorage.impl.Some, @ptr.as.OptionalStorage.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.OptionalStorage.impl.Some.bf1: %ptr.as.OptionalStorage.impl.Some.type.b0c = struct_value () [symbolic] +// CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] +// CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] // CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] -// CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] -// CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.1: type = fn_type @SubobjectDestroy.WithSelf.Op.2 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.1: %SubobjectDestroy.WithSelf.Op.type.6870fd.1 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.b80ef6.1: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.1), @SubobjectDestroy [concrete] @@ -2182,12 +2182,12 @@ fn F() { // CHECK:STDOUT: %Destroy.facet.bf2: %Destroy.type = facet_value %ptr.6cb, (%custom_witness.b80ef6.1, %DestroyImpl.impl_witness.a4f) [concrete] // CHECK:STDOUT: %MaybeUnformed.fc9: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.bf2) [concrete] // CHECK:STDOUT: %OptionalStorage.impl_witness.9df: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%DeducedPointerS) [concrete] -// CHECK:STDOUT: %.fb1: type = maybe_unformed_type %ptr.6cb [concrete] // CHECK:STDOUT: %OptionalStorage.facet.b3a: %OptionalStorage.type = facet_value %ptr.6cb, (%OptionalStorage.impl_witness.9df) [concrete] // CHECK:STDOUT: %Optional.1e6: type = class_type @Optional, @Optional(%OptionalStorage.facet.b3a) [concrete] // CHECK:STDOUT: %pattern_type.7e1: type = pattern_type %Optional.1e6 [concrete] // CHECK:STDOUT: %Direct.type: type = fn_type @Direct [concrete] // CHECK:STDOUT: %Direct: %Direct.type = struct_value () [concrete] +// CHECK:STDOUT: %.fb1: type = maybe_unformed_type %ptr.6cb [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.b63: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.1e6)> [concrete] @@ -2201,11 +2201,11 @@ fn F() { // CHECK:STDOUT: %OptionalAs.impl_witness.957: = impl_witness imports.%OptionalAs.impl_witness_table.98f, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.b3a) [concrete] // CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.51c = facet_value %ptr.6cb, (%OptionalAs.impl_witness.957) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.f71: = impl_witness imports.%ImplicitAs.impl_witness_table.653, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.b3a, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.5ca: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.b3a, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.c66: %U.as_type.as.ImplicitAs.impl.Convert.type.5ca = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.25a: %ImplicitAs.type.b63 = facet_value %ptr.6cb, (%ImplicitAs.impl_witness.f71) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.c06: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.1e6, %ImplicitAs.facet.25a) [concrete] // CHECK:STDOUT: %.d55: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.c06, %ImplicitAs.facet.25a [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.5ca: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.b3a, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.c66: %U.as_type.as.ImplicitAs.impl.Convert.type.5ca = struct_value () [concrete] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.c66, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.b3a, %OptionalAs.facet) [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.4: type = fn_type @SubobjectDestroy.WithSelf.Op.loc11_14.3 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.4: %SubobjectDestroy.WithSelf.Op.type.6870fd.4 = struct_value () [concrete] @@ -2251,8 +2251,8 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.0e8 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.713 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.30b, %Core.import_ref.814, %Core.import_ref.470, %Core.import_ref.322, %Core.import_ref.0e8, %Core.import_ref.713), @ptr.as.OptionalStorage.impl [concrete] -// CHECK:STDOUT: %Core.import_ref.7b53: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b53), @T.as_type.as.DestroyImpl.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.74d0: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/destroy, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.74d0), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Direct.decl: %Direct.type = fn_decl @Direct [concrete = constants.%Direct] { // CHECK:STDOUT: // 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 76a1c732c77b..9536469d1e06 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/qualified_param.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/qualified_param.carbon @@ -50,11 +50,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/interop/cpp/function/import/variadic.carbon b/toolchain/check/testdata/interop/cpp/function/import/variadic.carbon index eddf2ac7f676..7092a3d582ab 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/variadic.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/variadic.carbon @@ -56,11 +56,11 @@ fn Call3() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] 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 4efecb41e9f1..288e36c752ae 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/void_pointer.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/void_pointer.carbon @@ -227,11 +227,11 @@ fn F() { // CHECK:STDOUT: %Destroy.facet.44c: %Destroy.type = facet_value %ptr.00a, (%custom_witness.b80ef6.1, %DestroyImpl.impl_witness.e97) [concrete] // CHECK:STDOUT: %MaybeUnformed.ecd: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.44c) [concrete] // CHECK:STDOUT: %OptionalStorage.impl_witness.3d3: = 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.9a2: %OptionalStorage.type = facet_value %ptr.00a, (%OptionalStorage.impl_witness.3d3) [concrete] // CHECK:STDOUT: %Optional.7de: type = class_type @Optional, @Optional(%OptionalStorage.facet.9a2) [concrete] // CHECK:STDOUT: %foo_nullable_param.type: type = fn_type @foo_nullable_param [concrete] // CHECK:STDOUT: %foo_nullable_param: %foo_nullable_param.type = struct_value () [concrete] +// CHECK:STDOUT: %.a7d: type = maybe_unformed_type %ptr.00a [concrete] // CHECK:STDOUT: %ImplicitAs.type.afd: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.7de)> [concrete] // CHECK:STDOUT: %OptionalAs.type.5bd: type = facet_type <@OptionalAs, @OptionalAs(%T.220e40.1)> [symbolic] // CHECK:STDOUT: %U.c66: %OptionalAs.type.5bd = symbolic_binding U, 1 [symbolic] @@ -243,11 +243,11 @@ fn F() { // CHECK:STDOUT: %OptionalAs.impl_witness.b96: = impl_witness imports.%OptionalAs.impl_witness_table.98f, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.9a2) [concrete] // CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.2c3 = facet_value %ptr.00a, (%OptionalAs.impl_witness.b96) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.552: = impl_witness imports.%ImplicitAs.impl_witness_table.653, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.9a2, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.f25: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.9a2, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.f02: %U.as_type.as.ImplicitAs.impl.Convert.type.f25 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.b08: %ImplicitAs.type.afd = facet_value %ptr.00a, (%ImplicitAs.impl_witness.552) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.05b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.7de, %ImplicitAs.facet.b08) [concrete] // CHECK:STDOUT: %.b42: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.05b, %ImplicitAs.facet.b08 [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.f25: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.0c0(%OptionalStorage.facet.9a2, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.f02: %U.as_type.as.ImplicitAs.impl.Convert.type.f25 = struct_value () [concrete] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.f02, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.9a2, %OptionalAs.facet) [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.4: type = fn_type @SubobjectDestroy.WithSelf.Op.loc10_26.3 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.4: %SubobjectDestroy.WithSelf.Op.type.6870fd.4 = struct_value () [concrete] @@ -271,8 +271,8 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.0e8 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.713 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.30b, %Core.import_ref.814, %Core.import_ref.470, %Core.import_ref.322, %Core.import_ref.0e8, %Core.import_ref.713), @ptr.as.OptionalStorage.impl [concrete] -// CHECK:STDOUT: %Core.import_ref.7b53: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b53), @T.as_type.as.DestroyImpl.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.74d0: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/destroy, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.74d0), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %foo_nullable_param.decl: %foo_nullable_param.type = fn_decl @foo_nullable_param [concrete = constants.%foo_nullable_param] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -343,13 +343,13 @@ fn F() { // CHECK:STDOUT: %MaybeUnformed.dac: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.5f3) [symbolic] // CHECK:STDOUT: %ptr.as.OptionalStorage.impl.None.type.629: type = fn_type @ptr.as.OptionalStorage.impl.None, @ptr.as.OptionalStorage.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.OptionalStorage.impl.None.f84: %ptr.as.OptionalStorage.impl.None.type.629 = struct_value () [symbolic] -// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] // CHECK:STDOUT: %ptr.00a: type = ptr_type %Cpp.void [concrete] +// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.1: type = fn_type @SubobjectDestroy.WithSelf.Op.2 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.1: %SubobjectDestroy.WithSelf.Op.type.6870fd.1 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.b80ef6.1: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.1), @SubobjectDestroy [concrete] @@ -358,11 +358,11 @@ fn F() { // CHECK:STDOUT: %Destroy.facet.44c: %Destroy.type = facet_value %ptr.00a, (%custom_witness.b80ef6.1, %DestroyImpl.impl_witness.e97) [concrete] // CHECK:STDOUT: %MaybeUnformed.ecd: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.44c) [concrete] // CHECK:STDOUT: %OptionalStorage.impl_witness.3d3: = 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.3d3) [concrete] // CHECK:STDOUT: %Optional.7de: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %Optional.None.type.f11: type = fn_type @Optional.None, @Optional(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %Optional.None.6db: %Optional.None.type.f11 = struct_value () [concrete] +// CHECK:STDOUT: %.a7d: type = maybe_unformed_type %ptr.00a [concrete] // CHECK:STDOUT: %Optional.None.specific_fn: = specific_function %Optional.None.6db, @Optional.None(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %foo_null_param.type: type = fn_type @foo_null_param [concrete] // CHECK:STDOUT: %foo_null_param: %foo_null_param.type = struct_value () [concrete] @@ -396,8 +396,6 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.0e8 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.713 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.30b, %Core.import_ref.9ff, %Core.import_ref.a1a, %Core.import_ref.322, %Core.import_ref.0e8, %Core.import_ref.713), @ptr.as.OptionalStorage.impl [concrete] -// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.d6d: @Optional.%Optional.None.type (%Optional.None.type.626) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @Optional.%Optional.None (constants.%Optional.None.3ad)] // CHECK:STDOUT: %Core.CppCompat: = import_ref Core//prelude, CppCompat, loaded // CHECK:STDOUT: %CppCompat.f0dbf9.1: = namespace %Core.CppCompat, [concrete] { @@ -406,6 +404,8 @@ fn F() { // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.VoidBase: type = import_ref Core//prelude/types/cpp/void, VoidBase, loaded [concrete = constants.%Cpp.void] +// CHECK:STDOUT: %Core.import_ref.74d0: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/destroy, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.74d0), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %foo_null_param.decl: %foo_null_param.type = fn_decl @foo_null_param [concrete = constants.%foo_null_param] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -471,13 +471,13 @@ fn F() { // CHECK:STDOUT: %DestroyImpl.lookup_impl_witness.18b: = lookup_impl_witness %ptr.e8f, @DestroyImpl [symbolic] // CHECK:STDOUT: %Destroy.facet.5f3: %Destroy.type = facet_value %ptr.e8f, (%SubobjectDestroy.lookup_impl_witness.61e, %DestroyImpl.lookup_impl_witness.18b) [symbolic] // CHECK:STDOUT: %MaybeUnformed.dac: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.5f3) [symbolic] -// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] // CHECK:STDOUT: %ptr.00a: type = ptr_type %Cpp.void [concrete] +// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.1: type = fn_type @SubobjectDestroy.WithSelf.Op.2 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.1: %SubobjectDestroy.WithSelf.Op.type.6870fd.1 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.b80ef6.1: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.1), @SubobjectDestroy [concrete] @@ -486,9 +486,9 @@ fn F() { // CHECK:STDOUT: %Destroy.facet.44c: %Destroy.type = facet_value %ptr.00a, (%custom_witness.b80ef6.1, %DestroyImpl.impl_witness.e97) [concrete] // CHECK:STDOUT: %MaybeUnformed.ecd: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.44c) [concrete] // CHECK:STDOUT: %OptionalStorage.impl_witness.3d3: = 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.3d3) [concrete] // CHECK:STDOUT: %Optional.7de: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %.a7d: type = maybe_unformed_type %ptr.00a [concrete] // CHECK:STDOUT: %pattern_type.332: type = pattern_type %Optional.7de [concrete] // CHECK:STDOUT: %output.patt: %pattern_type.332 = value_binding_pattern output [concrete] // CHECK:STDOUT: %foo_nullable_return.cpp_overload_set.type: type = cpp_overload_set_type @foo_nullable_return.cpp_overload_set [concrete] @@ -524,8 +524,6 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.0e8 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.713 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.30b, %Core.import_ref.814, %Core.import_ref.a1a, %Core.import_ref.322, %Core.import_ref.0e8, %Core.import_ref.713), @ptr.as.OptionalStorage.impl [concrete] -// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.CppCompat: = import_ref Core//prelude, CppCompat, loaded // CHECK:STDOUT: %CppCompat.f0dbf9.1: = namespace %Core.CppCompat, [concrete] { // CHECK:STDOUT: .VoidBase = %Core.VoidBase @@ -533,6 +531,8 @@ fn F() { // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.VoidBase: type = import_ref Core//prelude/types/cpp/void, VoidBase, loaded [concrete = constants.%Cpp.void] +// CHECK:STDOUT: %Core.import_ref.74d0: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/destroy, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.74d0), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %foo_nullable_return.cpp_overload_set.value: %foo_nullable_return.cpp_overload_set.type = cpp_overload_set_value @foo_nullable_return.cpp_overload_set [concrete = constants.%foo_nullable_return.cpp_overload_set.value] // CHECK:STDOUT: %foo_nullable_return.decl: %foo_nullable_return.type = fn_decl @foo_nullable_return [concrete = constants.%foo_nullable_return] { // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interop/cpp/impls/copy.carbon b/toolchain/check/testdata/interop/cpp/impls/copy.carbon index ffbc527d3b0d..48bcbedda5b1 100644 --- a/toolchain/check/testdata/interop/cpp/impls/copy.carbon +++ b/toolchain/check/testdata/interop/cpp/impls/copy.carbon @@ -275,11 +275,11 @@ fn EqualWitnesses(p: Wrap(Cpp.Copyable)*) -> Wrap(Cpp.Copyable)* { // CHECK:STDOUT: %Wrap.064: type = class_type @Wrap, @Wrap(%Copy.facet.07e) [concrete] // CHECK:STDOUT: %ptr.5a2: type = ptr_type %Wrap.064 [concrete] // CHECK:STDOUT: %Copy.impl_witness.35f: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Wrap.064) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.fbc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Wrap.064) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.4dc: %ptr.as.Copy.impl.Op.type.fbc = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.d17: %Copy.type.bd0 = facet_value %ptr.5a2, (%Copy.impl_witness.35f) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e69: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.d17) [concrete] // CHECK:STDOUT: %.a85: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e69, %Copy.facet.d17 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.fbc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Wrap.064) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.4dc: %ptr.as.Copy.impl.Op.type.fbc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.4dc, @ptr.as.Copy.impl.Op(%Wrap.064) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interop/cpp/impls/implicit_as.carbon b/toolchain/check/testdata/interop/cpp/impls/implicit_as.carbon index d589da97f037..3d93cd005a59 100644 --- a/toolchain/check/testdata/interop/cpp/impls/implicit_as.carbon +++ b/toolchain/check/testdata/interop/cpp/impls/implicit_as.carbon @@ -995,11 +995,11 @@ fn InitFromStruct() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1346,11 +1346,11 @@ fn InitFromStruct() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/interop/cpp/macros/macros.carbon b/toolchain/check/testdata/interop/cpp/macros/macros.carbon index 9e6f0bbbc270..194fe978e4ea 100644 --- a/toolchain/check/testdata/interop/cpp/macros/macros.carbon +++ b/toolchain/check/testdata/interop/cpp/macros/macros.carbon @@ -980,11 +980,11 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.dfd: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From.fe9) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.914: %Int.as.ImplicitAs.impl.Convert.type.dfd = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.323: = impl_witness imports.%ImplicitAs.impl_witness_table.b7c, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.0aa: %ImplicitAs.type.5be = facet_value %i32, (%ImplicitAs.impl_witness.323) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4c7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.0aa) [concrete] // CHECK:STDOUT: %.ce7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4c7, %ImplicitAs.facet.0aa [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.68a, %Int.as.ImplicitAs.impl.Convert.779 [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.779, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.846: = bound_method %int_1.68a, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1001,11 +1001,11 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.253: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet.253) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet.253 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %pattern_type.239: type = pattern_type %f32.3bc [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -1752,20 +1752,20 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %Destroy.facet.abb: %Destroy.type = facet_value %ptr.a17, (%DestroyImpl.impl_witness.b8f, %custom_witness.b80ef6.2) [concrete] // CHECK:STDOUT: %MaybeUnformed.5f0: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.abb) [concrete] // CHECK:STDOUT: %OptionalStorage.impl_witness.d72: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%i32) [concrete] -// CHECK:STDOUT: %.31e: type = maybe_unformed_type %ptr.a17 [concrete] // CHECK:STDOUT: %OptionalStorage.facet.3c0: %OptionalStorage.type = facet_value %ptr.a17, (%OptionalStorage.impl_witness.d72) [concrete] // CHECK:STDOUT: %Optional.785: type = class_type @Optional, @Optional(%OptionalStorage.facet.3c0) [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] +// CHECK:STDOUT: %.31e: type = maybe_unformed_type %ptr.a17 [concrete] // CHECK:STDOUT: %ImplicitAs.type.51c: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.785)> [concrete] // CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.22d: 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.68f: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.22d = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.c57: = impl_witness imports.%ImplicitAs.impl_witness_table.71b, @Cpp.nullptr_t.as.ImplicitAs.impl(%i32) [concrete] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.bc5: 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.9fa: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.bc5 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.51c = facet_value %Cpp.nullptr_t, (%ImplicitAs.impl_witness.c57) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.f3d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.785, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.186: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.f3d, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.bc5: 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.9fa: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.bc5 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.bound: = bound_method %uninit, %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.9fa [concrete] // CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.9fa, @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] @@ -2073,11 +2073,11 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -2133,11 +2133,11 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/interop/cpp/operators/operators.carbon b/toolchain/check/testdata/interop/cpp/operators/operators.carbon index efd68857e50f..9d4e5807736d 100644 --- a/toolchain/check/testdata/interop/cpp/operators/operators.carbon +++ b/toolchain/check/testdata/interop/cpp/operators/operators.carbon @@ -1126,11 +1126,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.b3c: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.fb0: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/interop/cpp/primitive_types/arithmetic.carbon b/toolchain/check/testdata/interop/cpp/primitive_types/arithmetic.carbon index 8d292961c882..cbaa0828654f 100644 --- a/toolchain/check/testdata/interop/cpp/primitive_types/arithmetic.carbon +++ b/toolchain/check/testdata/interop/cpp/primitive_types/arithmetic.carbon @@ -117,11 +117,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert.1, @Core.IntLiteral.as.As.impl.753(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.eaa: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl.753(%int_8) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.d01: type = fn_type @Core.IntLiteral.as.As.impl.Convert.1, @Core.IntLiteral.as.As.impl.753(%int_8) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.af7: %Core.IntLiteral.as.As.impl.Convert.type.d01 = struct_value () [concrete] // CHECK:STDOUT: %As.facet.7d8: %As.type.88d = facet_value Core.IntLiteral, (%As.impl_witness.eaa) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.c54: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i8, %As.facet.7d8) [concrete] // CHECK:STDOUT: %.706: type = fn_type_with_self_type %As.WithSelf.Convert.type.c54, %As.facet.7d8 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.d01: type = fn_type @Core.IntLiteral.as.As.impl.Convert.1, @Core.IntLiteral.as.As.impl.753(%int_8) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.af7: %Core.IntLiteral.as.As.impl.Convert.type.d01 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.fa4: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.af7 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn.730: = specific_function %Core.IntLiteral.as.As.impl.Convert.af7, @Core.IntLiteral.as.As.impl.Convert.1(%int_8) [concrete] // CHECK:STDOUT: %bound_method.7a1f: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn.730 [concrete] @@ -133,11 +133,11 @@ fn F() { // CHECK:STDOUT: %cpp_short.patt: %pattern_type.9bc = value_binding_pattern cpp_short [concrete] // CHECK:STDOUT: %As.type.144: type = facet_type <@As, @As(%i16)> [concrete] // CHECK:STDOUT: %As.impl_witness.4de: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: type = fn_type @Core.IntLiteral.as.As.impl.Convert.1, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %As.facet.c1b: %As.type.144 = facet_value Core.IntLiteral, (%As.impl_witness.4de) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.0b5: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet.c1b) [concrete] // CHECK:STDOUT: %.f79: type = fn_type_with_self_type %As.WithSelf.Convert.type.0b5, %As.facet.c1b [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.361: type = fn_type @Core.IntLiteral.as.As.impl.Convert.1, @Core.IntLiteral.as.As.impl.753(%int_16) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.262: %Core.IntLiteral.as.As.impl.Convert.type.361 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.d94: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.262 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn.f24: = specific_function %Core.IntLiteral.as.As.impl.Convert.262, @Core.IntLiteral.as.As.impl.Convert.1(%int_16) [concrete] // CHECK:STDOUT: %bound_method.1e6: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn.f24 [concrete] @@ -149,11 +149,11 @@ fn F() { // CHECK:STDOUT: %cpp_int.patt: %pattern_type.d94 = value_binding_pattern cpp_int [concrete] // CHECK:STDOUT: %As.type.b93: type = facet_type <@As, @As(%i32)> [concrete] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl.753(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: type = fn_type @Core.IntLiteral.as.As.impl.Convert.1, @Core.IntLiteral.as.As.impl.753(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet.c68: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet.c68) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet.c68 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: type = fn_type @Core.IntLiteral.as.As.impl.Convert.1, @Core.IntLiteral.as.As.impl.753(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.022: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn.7fd: = specific_function %Core.IntLiteral.as.As.impl.Convert.94f, @Core.IntLiteral.as.As.impl.Convert.1(%int_32) [concrete] // CHECK:STDOUT: %bound_method.5c4: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn.7fd [concrete] @@ -166,11 +166,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.16e: type = fn_type @Core.IntLiteral.as.As.impl.Convert.2, @Core.IntLiteral.as.As.impl.d83(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.81c: %Core.IntLiteral.as.As.impl.Convert.type.16e = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.a43: = impl_witness imports.%As.impl_witness_table.43c, @Core.IntLiteral.as.As.impl.d83(%int_8) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.096: type = fn_type @Core.IntLiteral.as.As.impl.Convert.2, @Core.IntLiteral.as.As.impl.d83(%int_8) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.ff3: %Core.IntLiteral.as.As.impl.Convert.type.096 = struct_value () [concrete] // CHECK:STDOUT: %As.facet.f14: %As.type.05a = facet_value Core.IntLiteral, (%As.impl_witness.a43) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.dbd: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u8, %As.facet.f14) [concrete] // CHECK:STDOUT: %.39f: type = fn_type_with_self_type %As.WithSelf.Convert.type.dbd, %As.facet.f14 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.096: type = fn_type @Core.IntLiteral.as.As.impl.Convert.2, @Core.IntLiteral.as.As.impl.d83(%int_8) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.ff3: %Core.IntLiteral.as.As.impl.Convert.type.096 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.002: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.ff3 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn.92f: = specific_function %Core.IntLiteral.as.As.impl.Convert.ff3, @Core.IntLiteral.as.As.impl.Convert.2(%int_8) [concrete] // CHECK:STDOUT: %bound_method.7a1a: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn.92f [concrete] @@ -181,11 +181,11 @@ fn F() { // CHECK:STDOUT: %cpp_unsigned_short.patt: %pattern_type.bc6 = value_binding_pattern cpp_unsigned_short [concrete] // CHECK:STDOUT: %As.type.b6c: type = facet_type <@As, @As(%u16)> [concrete] // CHECK:STDOUT: %As.impl_witness.8df: = impl_witness imports.%As.impl_witness_table.43c, @Core.IntLiteral.as.As.impl.d83(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.dc1: type = fn_type @Core.IntLiteral.as.As.impl.Convert.2, @Core.IntLiteral.as.As.impl.d83(%int_16) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.ae8: %Core.IntLiteral.as.As.impl.Convert.type.dc1 = struct_value () [concrete] // CHECK:STDOUT: %As.facet.edb: %As.type.b6c = facet_value Core.IntLiteral, (%As.impl_witness.8df) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.14a: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u16, %As.facet.edb) [concrete] // CHECK:STDOUT: %.5ac: type = fn_type_with_self_type %As.WithSelf.Convert.type.14a, %As.facet.edb [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.dc1: type = fn_type @Core.IntLiteral.as.As.impl.Convert.2, @Core.IntLiteral.as.As.impl.d83(%int_16) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.ae8: %Core.IntLiteral.as.As.impl.Convert.type.dc1 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.db4: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.ae8 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn.a7d: = specific_function %Core.IntLiteral.as.As.impl.Convert.ae8, @Core.IntLiteral.as.As.impl.Convert.2(%int_16) [concrete] // CHECK:STDOUT: %bound_method.bd4: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn.a7d [concrete] @@ -196,11 +196,11 @@ fn F() { // CHECK:STDOUT: %cpp_unsigned_int.patt: %pattern_type.129 = value_binding_pattern cpp_unsigned_int [concrete] // CHECK:STDOUT: %As.type.d0a: type = facet_type <@As, @As(%u32)> [concrete] // CHECK:STDOUT: %As.impl_witness.f4f: = impl_witness imports.%As.impl_witness_table.43c, @Core.IntLiteral.as.As.impl.d83(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.ea3: type = fn_type @Core.IntLiteral.as.As.impl.Convert.2, @Core.IntLiteral.as.As.impl.d83(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.0bc: %Core.IntLiteral.as.As.impl.Convert.type.ea3 = struct_value () [concrete] // CHECK:STDOUT: %As.facet.08d: %As.type.d0a = facet_value Core.IntLiteral, (%As.impl_witness.f4f) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2f2: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u32, %As.facet.08d) [concrete] // CHECK:STDOUT: %.a11: type = fn_type_with_self_type %As.WithSelf.Convert.type.2f2, %As.facet.08d [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.ea3: type = fn_type @Core.IntLiteral.as.As.impl.Convert.2, @Core.IntLiteral.as.As.impl.d83(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.0bc: %Core.IntLiteral.as.As.impl.Convert.type.ea3 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.82d: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.0bc [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn.536: = specific_function %Core.IntLiteral.as.As.impl.Convert.0bc, @Core.IntLiteral.as.As.impl.Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.159: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn.536 [concrete] @@ -214,11 +214,11 @@ fn F() { // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.4b6: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.0cf: %Core.FloatLiteral.as.As.impl.Convert.type.4b6 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.ceb: = impl_witness imports.%As.impl_witness_table.591, @Core.FloatLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.40d: 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.4d5: %Core.FloatLiteral.as.As.impl.Convert.type.40d = struct_value () [concrete] // CHECK:STDOUT: %As.facet.c92: %As.type.f72 = facet_value Core.FloatLiteral, (%As.impl_witness.ceb) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.ce5: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f32.3bc, %As.facet.c92) [concrete] // CHECK:STDOUT: %.6e3: type = fn_type_with_self_type %As.WithSelf.Convert.type.ce5, %As.facet.c92 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.40d: 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.4d5: %Core.FloatLiteral.as.As.impl.Convert.type.40d = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound.81a: = bound_method %float.6daae3.1, %Core.FloatLiteral.as.As.impl.Convert.4d5 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn.4bb: = specific_function %Core.FloatLiteral.as.As.impl.Convert.4d5, @Core.FloatLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.88a: = bound_method %float.6daae3.1, %Core.FloatLiteral.as.As.impl.Convert.specific_fn.4bb [concrete] @@ -231,11 +231,11 @@ fn F() { // CHECK:STDOUT: %float.6daae3.2: Core.FloatLiteral = float_literal_value 10e-1 [concrete] // CHECK:STDOUT: %As.type.b48: type = facet_type <@As, @As(%f64.761)> [concrete] // CHECK:STDOUT: %As.impl_witness.553: = impl_witness imports.%As.impl_witness_table.591, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.ecc: 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.882: %Core.FloatLiteral.as.As.impl.Convert.type.ecc = struct_value () [concrete] // CHECK:STDOUT: %As.facet.767: %As.type.b48 = facet_value Core.FloatLiteral, (%As.impl_witness.553) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.7fd: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f64.761, %As.facet.767) [concrete] // CHECK:STDOUT: %.dac: type = fn_type_with_self_type %As.WithSelf.Convert.type.7fd, %As.facet.767 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.ecc: 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.882: %Core.FloatLiteral.as.As.impl.Convert.type.ecc = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound.c4d: = bound_method %float.6daae3.2, %Core.FloatLiteral.as.As.impl.Convert.882 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn.4c2: = specific_function %Core.FloatLiteral.as.As.impl.Convert.882, @Core.FloatLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.a68: = bound_method %float.6daae3.2, %Core.FloatLiteral.as.As.impl.Convert.specific_fn.4c2 [concrete] @@ -472,11 +472,11 @@ fn F() { // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.4b6: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.0cf: %Core.FloatLiteral.as.As.impl.Convert.type.4b6 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.553: = impl_witness imports.%As.impl_witness_table, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.ecc: 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.882: %Core.FloatLiteral.as.As.impl.Convert.type.ecc = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b48 = facet_value Core.FloatLiteral, (%As.impl_witness.553) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.7fd: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f64.761, %As.facet) [concrete] // CHECK:STDOUT: %.dac: type = fn_type_with_self_type %As.WithSelf.Convert.type.7fd, %As.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.ecc: 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.882: %Core.FloatLiteral.as.As.impl.Convert.type.ecc = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.As.impl.Convert.882 [concrete] // CHECK:STDOUT: %pattern_type.667: type = pattern_type %f64.761 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.As.impl.Convert.882, @Core.FloatLiteral.as.As.impl.Convert(%int_64) [concrete] 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 ac289caf7d77..2163a4f4fad1 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 @@ -661,11 +661,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.253: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet.253) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet.253 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @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] @@ -857,11 +857,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.253: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet.253) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet.253 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @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] @@ -1013,11 +1013,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.dfd: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From.fe9) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.914: %Int.as.ImplicitAs.impl.Convert.type.dfd = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.b1b: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.246: %ImplicitAs.type.e56 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.b1b) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4cd: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.246) [concrete] // CHECK:STDOUT: %.7ee: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4cd, %ImplicitAs.facet.246 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.8b9: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.2f8: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1056,20 +1056,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.c26: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl.753(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.3e7: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.4dc: %Core.IntLiteral.as.As.impl.Convert.type.3e7 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.074 = facet_value Core.IntLiteral, (%As.impl_witness.c26) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.851: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i64, %As.facet) [concrete] // CHECK:STDOUT: %.0d9: type = fn_type_with_self_type %As.WithSelf.Convert.type.851, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.3e7: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.4dc: %Core.IntLiteral.as.As.impl.Convert.type.3e7 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.4dc [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.4dc, @Core.IntLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.7df: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.0f5: = impl_witness imports.%ImplicitAs.impl_witness_table.b7c, @Int.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.835: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.c7a: %Int.as.ImplicitAs.impl.Convert.type.835 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.47d: %ImplicitAs.type.5be = facet_value %i64, (%ImplicitAs.impl_witness.0f5) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.07a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.47d) [concrete] // CHECK:STDOUT: %.0b0: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.07a, %ImplicitAs.facet.47d [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.835: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.c7a: %Int.as.ImplicitAs.impl.Convert.type.835 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.836, %Int.as.ImplicitAs.impl.Convert.c7a [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.c7a, @Int.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.a55: = bound_method %int_1.836, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1085,11 +1085,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.253: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet.253) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet.253 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f84: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1620,6 +1620,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.8e7: = impl_witness imports.%ImplicitAs.impl_witness_table.668 [concrete] // CHECK:STDOUT: %ImplicitAs.facet.018: %ImplicitAs.type.e56 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.8e7) [concrete] // CHECK:STDOUT: %EqWith.impl_witness.6e5: = impl_witness imports.%EqWith.impl_witness_table.44b, @T.as_type.as.EqWith.impl.e67(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %EqWith.facet.cca: %EqWith.type.205 = facet_value %Cpp.long, (%EqWith.impl_witness.6e5) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.6ac: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%i64, %EqWith.facet.cca) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.75d: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%i64, %EqWith.facet.cca) [concrete] +// CHECK:STDOUT: %.7c6: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.6ac, %EqWith.facet.cca [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.810915.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.8, @T.as_type.as.EqWith.impl.e67(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.e42dd6.1: %T.as_type.as.EqWith.impl.Equal.type.810915.1 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.d9d433.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.8, @T.as_type.as.EqWith.impl.e67(%int_64, %ImplicitAs.facet.018) [concrete] @@ -1628,10 +1632,6 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.e42dd6.2: %T.as_type.as.EqWith.impl.Equal.type.810915.2 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.d9d433.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.7, @T.as_type.as.EqWith.impl.e67(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.73d45b.2: %T.as_type.as.EqWith.impl.NotEqual.type.d9d433.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.cca: %EqWith.type.205 = facet_value %Cpp.long, (%EqWith.impl_witness.6e5) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.6ac: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%i64, %EqWith.facet.cca) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.75d: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%i64, %EqWith.facet.cca) [concrete] -// CHECK:STDOUT: %.7c6: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.6ac, %EqWith.facet.cca [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.9e81b4.1: = specific_function %T.as_type.as.EqWith.impl.Equal.e42dd6.2, @T.as_type.as.EqWith.impl.Equal.7(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.9e81b4.2: = specific_function %T.as_type.as.EqWith.impl.Equal.e42dd6.1, @T.as_type.as.EqWith.impl.Equal.8(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a3e: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.018) [concrete] @@ -1676,6 +1676,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.cf6a52.2: %T.as_type.as.OrderedWith.impl.Less.type.760509.2 = struct_value () [symbolic] // CHECK:STDOUT: %OrderedWith.type.024: type = facet_type <@OrderedWith, @OrderedWith(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %OrderedWith.impl_witness.6f2: = impl_witness imports.%OrderedWith.impl_witness_table.8f5, @T.as_type.as.OrderedWith.impl.9da(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %OrderedWith.facet.c55: %OrderedWith.type.cd1 = facet_value %Cpp.long, (%OrderedWith.impl_witness.6f2) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.6a9: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.c55) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.21d: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.c55) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.856: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.c55) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.6cb: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.c55) [concrete] +// CHECK:STDOUT: %.646: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.856, %OrderedWith.facet.c55 [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.c7f7bb.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.8, @T.as_type.as.OrderedWith.impl.9da(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.ab2751.1: %T.as_type.as.OrderedWith.impl.Less.type.c7f7bb.1 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.434301.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.8, @T.as_type.as.OrderedWith.impl.9da(%int_64, %ImplicitAs.facet.018) [concrete] @@ -1692,12 +1698,6 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.7cb35d.2: %T.as_type.as.OrderedWith.impl.Greater.type.ce3521.2 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.380944.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7, @T.as_type.as.OrderedWith.impl.9da(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.ba9637.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.380944.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.c55: %OrderedWith.type.cd1 = facet_value %Cpp.long, (%OrderedWith.impl_witness.6f2) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.6a9: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.c55) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.21d: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.c55) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.856: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.c55) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.6cb: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.c55) [concrete] -// CHECK:STDOUT: %.646: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.856, %OrderedWith.facet.c55 [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.1bd588.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.7cb35d.2, @T.as_type.as.OrderedWith.impl.Greater.7(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.1bd588.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.7cb35d.1, @T.as_type.as.OrderedWith.impl.Greater.8(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %.0f7: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.6a9, %OrderedWith.facet.c55 [concrete] @@ -1710,6 +1710,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.9a639d.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.3b50cc.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.7(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.9a639d.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.3b50cc.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.8(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %EqWith.impl_witness.570: = impl_witness imports.%EqWith.impl_witness_table.537, @Cpp.long.as.EqWith.impl.c5a(%ImplicitAs.facet.ee1) [concrete] +// CHECK:STDOUT: %EqWith.facet.c2d: %EqWith.type.61f = facet_value %Cpp.long, (%EqWith.impl_witness.570) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.bc2: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.c2d) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.926: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.c2d) [concrete] +// CHECK:STDOUT: %.6dc: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.bc2, %EqWith.facet.c2d [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.096933.1: type = fn_type @Cpp.long.as.EqWith.impl.Equal.2, @Cpp.long.as.EqWith.impl.c5a(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.e36cb8.1: %Cpp.long.as.EqWith.impl.Equal.type.096933.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.06049f.1: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.2, @Cpp.long.as.EqWith.impl.c5a(%ImplicitAs.facet.ee1) [concrete] @@ -1718,16 +1722,18 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.e36cb8.2: %Cpp.long.as.EqWith.impl.Equal.type.096933.2 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.06049f.2: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.1, @Cpp.long.as.EqWith.impl.c5a(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.6880e5.2: %Cpp.long.as.EqWith.impl.NotEqual.type.06049f.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.c2d: %EqWith.type.61f = facet_value %Cpp.long, (%EqWith.impl_witness.570) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.bc2: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.c2d) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.926: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.c2d) [concrete] -// CHECK:STDOUT: %.6dc: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.bc2, %EqWith.facet.c2d [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.27fe38.1: = specific_function %Cpp.long.as.EqWith.impl.Equal.e36cb8.2, @Cpp.long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.27fe38.2: = specific_function %Cpp.long.as.EqWith.impl.Equal.e36cb8.1, @Cpp.long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %.092: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.926, %EqWith.facet.c2d [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.b9a91f.1: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.6880e5.2, @Cpp.long.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.b9a91f.2: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.6880e5.1, @Cpp.long.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %OrderedWith.impl_witness.011: = impl_witness imports.%OrderedWith.impl_witness_table.68f, @Cpp.long.as.OrderedWith.impl.344(%ImplicitAs.facet.ee1) [concrete] +// CHECK:STDOUT: %OrderedWith.facet.cab: %OrderedWith.type.024 = facet_value %Cpp.long, (%OrderedWith.impl_witness.011) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.048: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.cab) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.996: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.cab) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.b4c: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.cab) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.1c5: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.cab) [concrete] +// CHECK:STDOUT: %.e92: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.b4c, %OrderedWith.facet.cab [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.f9c766.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.2, @Cpp.long.as.OrderedWith.impl.344(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.5a83e8.1: %Cpp.long.as.OrderedWith.impl.Less.type.f9c766.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.5f6d89.1: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.344(%ImplicitAs.facet.ee1) [concrete] @@ -1744,12 +1750,6 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.893f0a.2: %Cpp.long.as.OrderedWith.impl.Greater.type.7191f2.2 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.477f81.2: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.344(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.e33bf0.2: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.477f81.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.cab: %OrderedWith.type.024 = facet_value %Cpp.long, (%OrderedWith.impl_witness.011) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.048: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.cab) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.996: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.cab) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.b4c: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.cab) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.1c5: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.cab) [concrete] -// CHECK:STDOUT: %.e92: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.b4c, %OrderedWith.facet.cab [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.6615e0.1: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.893f0a.2, @Cpp.long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.6615e0.2: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.893f0a.1, @Cpp.long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %.9c1: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.048, %OrderedWith.facet.cab [concrete] @@ -2095,6 +2095,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.8e7: = impl_witness imports.%ImplicitAs.impl_witness_table.668 [concrete] // CHECK:STDOUT: %ImplicitAs.facet.018: %ImplicitAs.type.e56 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.8e7) [concrete] // CHECK:STDOUT: %EqWith.impl_witness.6dc: = impl_witness imports.%EqWith.impl_witness_table.091, @Int.as.EqWith.impl.de6(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %EqWith.facet.a4f: %EqWith.type.006 = facet_value %i64, (%EqWith.impl_witness.6dc) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.442: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.a4f) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.ef8: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.a4f) [concrete] +// CHECK:STDOUT: %.ee6: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.442, %EqWith.facet.a4f [concrete] // CHECK:STDOUT: %Int.as.EqWith.impl.Equal.type.36998d.1: type = fn_type @Int.as.EqWith.impl.Equal.3, @Int.as.EqWith.impl.de6(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.EqWith.impl.Equal.4ef1aa.1: %Int.as.EqWith.impl.Equal.type.36998d.1 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.type.f1e952.1: type = fn_type @Int.as.EqWith.impl.NotEqual.3, @Int.as.EqWith.impl.de6(%int_64, %ImplicitAs.facet.018) [concrete] @@ -2103,10 +2107,6 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.EqWith.impl.Equal.4ef1aa.2: %Int.as.EqWith.impl.Equal.type.36998d.2 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.type.f1e952.2: type = fn_type @Int.as.EqWith.impl.NotEqual.2, @Int.as.EqWith.impl.de6(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.1d5edd.2: %Int.as.EqWith.impl.NotEqual.type.f1e952.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.a4f: %EqWith.type.006 = facet_value %i64, (%EqWith.impl_witness.6dc) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.442: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.a4f) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.ef8: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.a4f) [concrete] -// CHECK:STDOUT: %.ee6: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.442, %EqWith.facet.a4f [concrete] // CHECK:STDOUT: %Int.as.EqWith.impl.Equal.specific_fn.fe4c4f.1: = specific_function %Int.as.EqWith.impl.Equal.4ef1aa.2, @Int.as.EqWith.impl.Equal.2(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.EqWith.impl.Equal.specific_fn.fe4c4f.2: = specific_function %Int.as.EqWith.impl.Equal.4ef1aa.1, @Int.as.EqWith.impl.Equal.3(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a3e: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.018) [concrete] @@ -2150,6 +2150,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.type.31952a.2: type = fn_type @Int.as.OrderedWith.impl.Less.3, @Int.as.OrderedWith.impl.7f4(%N, %T.f16) [symbolic] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.572cf3.2: %Int.as.OrderedWith.impl.Less.type.31952a.2 = struct_value () [symbolic] // CHECK:STDOUT: %OrderedWith.impl_witness.549: = impl_witness imports.%OrderedWith.impl_witness_table.c6a, @Int.as.OrderedWith.impl.7f4(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %OrderedWith.facet.077: %OrderedWith.type.b27 = facet_value %i64, (%OrderedWith.impl_witness.549) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.3bc: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.077) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.6dc: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.077) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.df1: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.077) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.f45: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.077) [concrete] +// CHECK:STDOUT: %.7e9: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.df1, %OrderedWith.facet.077 [concrete] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.type.15057a.1: type = fn_type @Int.as.OrderedWith.impl.Less.3, @Int.as.OrderedWith.impl.7f4(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.3db5f1.1: %Int.as.OrderedWith.impl.Less.type.15057a.1 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.type.29d6c0.1: type = fn_type @Int.as.OrderedWith.impl.LessOrEquivalent.3, @Int.as.OrderedWith.impl.7f4(%int_64, %ImplicitAs.facet.018) [concrete] @@ -2166,12 +2172,6 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.22009f.2: %Int.as.OrderedWith.impl.Greater.type.b017ce.2 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.type.0104a8.2: type = fn_type @Int.as.OrderedWith.impl.GreaterOrEquivalent.2, @Int.as.OrderedWith.impl.7f4(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.8e07c1.2: %Int.as.OrderedWith.impl.GreaterOrEquivalent.type.0104a8.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.077: %OrderedWith.type.b27 = facet_value %i64, (%OrderedWith.impl_witness.549) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.3bc: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.077) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.6dc: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.077) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.df1: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.077) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.f45: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.077) [concrete] -// CHECK:STDOUT: %.7e9: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.df1, %OrderedWith.facet.077 [concrete] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.specific_fn.338a4f.1: = specific_function %Int.as.OrderedWith.impl.Greater.22009f.2, @Int.as.OrderedWith.impl.Greater.2(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.specific_fn.338a4f.2: = specific_function %Int.as.OrderedWith.impl.Greater.22009f.1, @Int.as.OrderedWith.impl.Greater.3(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %.d63: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.3bc, %OrderedWith.facet.077 [concrete] @@ -2184,6 +2184,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.specific_fn.4e902f.1: = specific_function %Int.as.OrderedWith.impl.LessOrEquivalent.d293b2.2, @Int.as.OrderedWith.impl.LessOrEquivalent.2(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.specific_fn.4e902f.2: = specific_function %Int.as.OrderedWith.impl.LessOrEquivalent.d293b2.1, @Int.as.OrderedWith.impl.LessOrEquivalent.3(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %EqWith.impl_witness.e5c: = impl_witness imports.%EqWith.impl_witness_table.3fe, @T.as_type.as.EqWith.impl.f28(%ImplicitAs.facet.ee1) [concrete] +// CHECK:STDOUT: %EqWith.facet.bd0: %EqWith.type.006 = facet_value Core.IntLiteral, (%EqWith.impl_witness.e5c) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.32b: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.bd0) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.273: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.bd0) [concrete] +// CHECK:STDOUT: %.b552: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.32b, %EqWith.facet.bd0 [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.abbd95.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.4, @T.as_type.as.EqWith.impl.f28(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.4052fe.1: %T.as_type.as.EqWith.impl.Equal.type.abbd95.1 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.6cb43d.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.4, @T.as_type.as.EqWith.impl.f28(%ImplicitAs.facet.ee1) [concrete] @@ -2192,10 +2196,6 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.4052fe.2: %T.as_type.as.EqWith.impl.Equal.type.abbd95.2 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.6cb43d.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.3, @T.as_type.as.EqWith.impl.f28(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.39a331.2: %T.as_type.as.EqWith.impl.NotEqual.type.6cb43d.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.bd0: %EqWith.type.006 = facet_value Core.IntLiteral, (%EqWith.impl_witness.e5c) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.32b: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.bd0) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.273: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.bd0) [concrete] -// CHECK:STDOUT: %.b552: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.32b, %EqWith.facet.bd0 [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.33f085.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.4052fe.2 [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.12e9c3.1: = specific_function %T.as_type.as.EqWith.impl.Equal.4052fe.2, @T.as_type.as.EqWith.impl.Equal.3(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %bound_method.68609a.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.12e9c3.1 [concrete] @@ -2210,6 +2210,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.672322.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.39a331.1, @T.as_type.as.EqWith.impl.NotEqual.4(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %bound_method.420b98.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.672322.2 [concrete] // CHECK:STDOUT: %OrderedWith.impl_witness.2de: = impl_witness imports.%OrderedWith.impl_witness_table.27a, @T.as_type.as.OrderedWith.impl.804(%ImplicitAs.facet.ee1) [concrete] +// CHECK:STDOUT: %OrderedWith.facet.230: %OrderedWith.type.b27 = facet_value Core.IntLiteral, (%OrderedWith.impl_witness.2de) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.5f4: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.230) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.57f: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.230) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.517: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.230) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.258: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.230) [concrete] +// CHECK:STDOUT: %.491: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.517, %OrderedWith.facet.230 [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.cd7b2d.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.4, @T.as_type.as.OrderedWith.impl.804(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.b8de4c.1: %T.as_type.as.OrderedWith.impl.Less.type.cd7b2d.1 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.b05ade.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.4, @T.as_type.as.OrderedWith.impl.804(%ImplicitAs.facet.ee1) [concrete] @@ -2226,12 +2232,6 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.d2135f.2: %T.as_type.as.OrderedWith.impl.Greater.type.b0cc60.2 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.52135f.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.3, @T.as_type.as.OrderedWith.impl.804(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1b7ac6.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.52135f.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.230: %OrderedWith.type.b27 = facet_value Core.IntLiteral, (%OrderedWith.impl_witness.2de) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.5f4: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.230) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.57f: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.230) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.517: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.230) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.258: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.230) [concrete] -// CHECK:STDOUT: %.491: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.517, %OrderedWith.facet.230 [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.ab042e.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.d2135f.2 [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.74a733.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.d2135f.2, @T.as_type.as.OrderedWith.impl.Greater.3(%ImplicitAs.facet.ee1) [concrete] // CHECK:STDOUT: %bound_method.e6476b.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.74a733.1 [concrete] @@ -2586,13 +2586,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.74e: = impl_witness imports.%ImplicitAs.impl_witness_table.f48, @T.as_type.as.ImplicitAs.impl(%Copy.facet) [concrete] // CHECK:STDOUT: %ImplicitAs.facet.03f: %ImplicitAs.type.3c9 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.74e) [concrete] // CHECK:STDOUT: %AddAssignWith.impl_witness.b61: = impl_witness imports.%AddAssignWith.impl_witness_table.627, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.03f) [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.c23: %AddAssignWith.type.9f8 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.b61) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.844: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.c23) [concrete] +// CHECK:STDOUT: %.df3: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.844, %AddAssignWith.facet.c23 [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.16674d.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.457fcf.1: %Cpp.long.as.AddAssignWith.impl.Op.type.16674d.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.16674d.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.457fcf.2: %Cpp.long.as.AddAssignWith.impl.Op.type.16674d.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.c23: %AddAssignWith.type.9f8 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.b61) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.844: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.c23) [concrete] -// CHECK:STDOUT: %.df3: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.844, %AddAssignWith.facet.c23 [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.f5950e.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.457fcf.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.f5950e.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.457fcf.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %SubAssignWith.type.d58: type = facet_type <@SubAssignWith, @SubAssignWith(%Cpp.long)> [concrete] @@ -2601,13 +2601,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.a1c5d0.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%U.2ef) [symbolic] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.c87dd1.2: %Cpp.long.as.SubAssignWith.impl.Op.type.a1c5d0.2 = struct_value () [symbolic] // CHECK:STDOUT: %SubAssignWith.impl_witness.946: = impl_witness imports.%SubAssignWith.impl_witness_table.f8c, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.03f) [concrete] +// CHECK:STDOUT: %SubAssignWith.facet.ce7: %SubAssignWith.type.d58 = facet_value %Cpp.long, (%SubAssignWith.impl_witness.946) [concrete] +// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.348: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long, %SubAssignWith.facet.ce7) [concrete] +// CHECK:STDOUT: %.f8b: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.348, %SubAssignWith.facet.ce7 [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.56cee2.1: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.bc06fc.1: %Cpp.long.as.SubAssignWith.impl.Op.type.56cee2.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.56cee2.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.1, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.bc06fc.2: %Cpp.long.as.SubAssignWith.impl.Op.type.56cee2.2 = struct_value () [concrete] -// CHECK:STDOUT: %SubAssignWith.facet.ce7: %SubAssignWith.type.d58 = facet_value %Cpp.long, (%SubAssignWith.impl_witness.946) [concrete] -// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.348: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long, %SubAssignWith.facet.ce7) [concrete] -// CHECK:STDOUT: %.f8b: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.348, %SubAssignWith.facet.ce7 [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.8e9580.1: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.bc06fc.2, @Cpp.long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.8e9580.2: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.bc06fc.1, @Cpp.long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %MulAssignWith.type.1a8: type = facet_type <@MulAssignWith, @MulAssignWith(%Cpp.long)> [concrete] @@ -2616,13 +2616,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.65a267.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%U.2ef) [symbolic] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.2c9ea0.2: %Cpp.long.as.MulAssignWith.impl.Op.type.65a267.2 = struct_value () [symbolic] // CHECK:STDOUT: %MulAssignWith.impl_witness.ad9: = impl_witness imports.%MulAssignWith.impl_witness_table.b66, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.03f) [concrete] +// CHECK:STDOUT: %MulAssignWith.facet.2a7: %MulAssignWith.type.1a8 = facet_value %Cpp.long, (%MulAssignWith.impl_witness.ad9) [concrete] +// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.ff6: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long, %MulAssignWith.facet.2a7) [concrete] +// CHECK:STDOUT: %.a77: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.ff6, %MulAssignWith.facet.2a7 [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.e5ffc2.1: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.4b95a1.1: %Cpp.long.as.MulAssignWith.impl.Op.type.e5ffc2.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.e5ffc2.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.1, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.4b95a1.2: %Cpp.long.as.MulAssignWith.impl.Op.type.e5ffc2.2 = struct_value () [concrete] -// CHECK:STDOUT: %MulAssignWith.facet.2a7: %MulAssignWith.type.1a8 = facet_value %Cpp.long, (%MulAssignWith.impl_witness.ad9) [concrete] -// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.ff6: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long, %MulAssignWith.facet.2a7) [concrete] -// CHECK:STDOUT: %.a77: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.ff6, %MulAssignWith.facet.2a7 [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.e23e59.1: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.4b95a1.2, @Cpp.long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.e23e59.2: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.4b95a1.1, @Cpp.long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %DivAssignWith.type.14a: type = facet_type <@DivAssignWith, @DivAssignWith(%Cpp.long)> [concrete] @@ -2631,13 +2631,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.fb56d9.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%U.2ef) [symbolic] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.333e9d.2: %Cpp.long.as.DivAssignWith.impl.Op.type.fb56d9.2 = struct_value () [symbolic] // CHECK:STDOUT: %DivAssignWith.impl_witness.cc7: = impl_witness imports.%DivAssignWith.impl_witness_table.b64, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.03f) [concrete] +// CHECK:STDOUT: %DivAssignWith.facet.0bf: %DivAssignWith.type.14a = facet_value %Cpp.long, (%DivAssignWith.impl_witness.cc7) [concrete] +// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.4f6: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long, %DivAssignWith.facet.0bf) [concrete] +// CHECK:STDOUT: %.549: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.4f6, %DivAssignWith.facet.0bf [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.fba539.1: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.dad0e5.1: %Cpp.long.as.DivAssignWith.impl.Op.type.fba539.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.fba539.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.1, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.dad0e5.2: %Cpp.long.as.DivAssignWith.impl.Op.type.fba539.2 = struct_value () [concrete] -// CHECK:STDOUT: %DivAssignWith.facet.0bf: %DivAssignWith.type.14a = facet_value %Cpp.long, (%DivAssignWith.impl_witness.cc7) [concrete] -// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.4f6: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long, %DivAssignWith.facet.0bf) [concrete] -// CHECK:STDOUT: %.549: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.4f6, %DivAssignWith.facet.0bf [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.44bad8.1: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.dad0e5.2, @Cpp.long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.44bad8.2: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.dad0e5.1, @Cpp.long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %ModAssignWith.type.8a8: type = facet_type <@ModAssignWith, @ModAssignWith(%Cpp.long)> [concrete] @@ -2646,13 +2646,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.3d7ddc.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%U.2ef) [symbolic] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.002543.2: %Cpp.long.as.ModAssignWith.impl.Op.type.3d7ddc.2 = struct_value () [symbolic] // CHECK:STDOUT: %ModAssignWith.impl_witness.f24: = impl_witness imports.%ModAssignWith.impl_witness_table.616, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.03f) [concrete] +// CHECK:STDOUT: %ModAssignWith.facet.400: %ModAssignWith.type.8a8 = facet_value %Cpp.long, (%ModAssignWith.impl_witness.f24) [concrete] +// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.511: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long, %ModAssignWith.facet.400) [concrete] +// CHECK:STDOUT: %.901: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.511, %ModAssignWith.facet.400 [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.9ce69c.1: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.92a81f.1: %Cpp.long.as.ModAssignWith.impl.Op.type.9ce69c.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.9ce69c.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.1, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.92a81f.2: %Cpp.long.as.ModAssignWith.impl.Op.type.9ce69c.2 = struct_value () [concrete] -// CHECK:STDOUT: %ModAssignWith.facet.400: %ModAssignWith.type.8a8 = facet_value %Cpp.long, (%ModAssignWith.impl_witness.f24) [concrete] -// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.511: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long, %ModAssignWith.facet.400) [concrete] -// CHECK:STDOUT: %.901: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.511, %ModAssignWith.facet.400 [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.291265.1: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.92a81f.2, @Cpp.long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.291265.2: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.92a81f.1, @Cpp.long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %BitAndAssignWith.type.c11: type = facet_type <@BitAndAssignWith, @BitAndAssignWith(%Cpp.long)> [concrete] @@ -2661,13 +2661,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.4fd52d.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%U.2ef) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.fb3b66.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.4fd52d.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitAndAssignWith.impl_witness.ce4: = impl_witness imports.%BitAndAssignWith.impl_witness_table.288, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.03f) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.facet.9ac: %BitAndAssignWith.type.c11 = facet_value %Cpp.long, (%BitAndAssignWith.impl_witness.ce4) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.ea4: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long, %BitAndAssignWith.facet.9ac) [concrete] +// CHECK:STDOUT: %.f6e: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.ea4, %BitAndAssignWith.facet.9ac [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.18b315.1: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.db86a3.1: %Cpp.long.as.BitAndAssignWith.impl.Op.type.18b315.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.18b315.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.1, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.db86a3.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.18b315.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndAssignWith.facet.9ac: %BitAndAssignWith.type.c11 = facet_value %Cpp.long, (%BitAndAssignWith.impl_witness.ce4) [concrete] -// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.ea4: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long, %BitAndAssignWith.facet.9ac) [concrete] -// CHECK:STDOUT: %.f6e: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.ea4, %BitAndAssignWith.facet.9ac [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.397f9a.1: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.db86a3.2, @Cpp.long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.397f9a.2: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.db86a3.1, @Cpp.long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %BitOrAssignWith.type.2f5: type = facet_type <@BitOrAssignWith, @BitOrAssignWith(%Cpp.long)> [concrete] @@ -2676,13 +2676,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.035048.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%U.2ef) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.c04b02.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.035048.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitOrAssignWith.impl_witness.8ae: = impl_witness imports.%BitOrAssignWith.impl_witness_table.ab8, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.03f) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.facet.424: %BitOrAssignWith.type.2f5 = facet_value %Cpp.long, (%BitOrAssignWith.impl_witness.8ae) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.24d: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long, %BitOrAssignWith.facet.424) [concrete] +// CHECK:STDOUT: %.8d9: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.24d, %BitOrAssignWith.facet.424 [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.448080.1: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.9089cb.1: %Cpp.long.as.BitOrAssignWith.impl.Op.type.448080.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.448080.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.1, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.9089cb.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.448080.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitOrAssignWith.facet.424: %BitOrAssignWith.type.2f5 = facet_value %Cpp.long, (%BitOrAssignWith.impl_witness.8ae) [concrete] -// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.24d: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long, %BitOrAssignWith.facet.424) [concrete] -// CHECK:STDOUT: %.8d9: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.24d, %BitOrAssignWith.facet.424 [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.82af8c.1: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.9089cb.2, @Cpp.long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.82af8c.2: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.9089cb.1, @Cpp.long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %BitXorAssignWith.type.379: type = facet_type <@BitXorAssignWith, @BitXorAssignWith(%Cpp.long)> [concrete] @@ -2691,13 +2691,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.01a7c8.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%U.2ef) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.8644ea.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.01a7c8.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitXorAssignWith.impl_witness.765: = impl_witness imports.%BitXorAssignWith.impl_witness_table.f38, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.03f) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.facet.e65: %BitXorAssignWith.type.379 = facet_value %Cpp.long, (%BitXorAssignWith.impl_witness.765) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.6bc: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long, %BitXorAssignWith.facet.e65) [concrete] +// CHECK:STDOUT: %.e4e: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.6bc, %BitXorAssignWith.facet.e65 [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.833f63.1: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.a3666d.1: %Cpp.long.as.BitXorAssignWith.impl.Op.type.833f63.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.833f63.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.1, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.a3666d.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.833f63.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitXorAssignWith.facet.e65: %BitXorAssignWith.type.379 = facet_value %Cpp.long, (%BitXorAssignWith.impl_witness.765) [concrete] -// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.6bc: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long, %BitXorAssignWith.facet.e65) [concrete] -// CHECK:STDOUT: %.e4e: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.6bc, %BitXorAssignWith.facet.e65 [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.286f4e.1: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.a3666d.2, @Cpp.long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.286f4e.2: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.a3666d.1, @Cpp.long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.type.eec: type = facet_type <@LeftShiftAssignWith, @LeftShiftAssignWith(%Cpp.long)> [concrete] @@ -2706,13 +2706,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.837768.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%U.2ef) [symbolic] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.f10195.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.837768.2 = struct_value () [symbolic] // CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.ca9: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.6ad, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.03f) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.facet.aa0: %LeftShiftAssignWith.type.eec = facet_value %Cpp.long, (%LeftShiftAssignWith.impl_witness.ca9) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.c8d: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long, %LeftShiftAssignWith.facet.aa0) [concrete] +// CHECK:STDOUT: %.6ab: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.c8d, %LeftShiftAssignWith.facet.aa0 [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.c87f3e.1: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.addd0b.1: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.c87f3e.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.c87f3e.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.addd0b.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.c87f3e.2 = struct_value () [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.facet.aa0: %LeftShiftAssignWith.type.eec = facet_value %Cpp.long, (%LeftShiftAssignWith.impl_witness.ca9) [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.c8d: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long, %LeftShiftAssignWith.facet.aa0) [concrete] -// CHECK:STDOUT: %.6ab: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.c8d, %LeftShiftAssignWith.facet.aa0 [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.f099c2.1: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.addd0b.2, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.f099c2.2: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.addd0b.1, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.type.690: type = facet_type <@RightShiftAssignWith, @RightShiftAssignWith(%Cpp.long)> [concrete] @@ -2721,13 +2721,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.283894.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%U.2ef) [symbolic] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.534d8b.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.283894.2 = struct_value () [symbolic] // CHECK:STDOUT: %RightShiftAssignWith.impl_witness.1b2: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.b67, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.03f) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.facet.dc2: %RightShiftAssignWith.type.690 = facet_value %Cpp.long, (%RightShiftAssignWith.impl_witness.1b2) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.7f2: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long, %RightShiftAssignWith.facet.dc2) [concrete] +// CHECK:STDOUT: %.84d: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.7f2, %RightShiftAssignWith.facet.dc2 [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.7835a4.1: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.05cc9d.1: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.7835a4.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.7835a4.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.05cc9d.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.7835a4.2 = struct_value () [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.facet.dc2: %RightShiftAssignWith.type.690 = facet_value %Cpp.long, (%RightShiftAssignWith.impl_witness.1b2) [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.7f2: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long, %RightShiftAssignWith.facet.dc2) [concrete] -// CHECK:STDOUT: %.84d: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.7f2, %RightShiftAssignWith.facet.dc2 [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.e749ef.1: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.05cc9d.2, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.e749ef.2: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.05cc9d.1, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.03f) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -3046,13 +3046,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.8e7: = impl_witness imports.%ImplicitAs.impl_witness_table.668 [concrete] // CHECK:STDOUT: %ImplicitAs.facet.018: %ImplicitAs.type.e56 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.8e7) [concrete] // CHECK:STDOUT: %AddAssignWith.impl_witness.5da: = impl_witness imports.%AddAssignWith.impl_witness_table.fab, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.25e: %AddAssignWith.type.9f8 = facet_value %i64, (%AddAssignWith.impl_witness.5da) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.93b: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.25e) [concrete] +// CHECK:STDOUT: %.a00: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.93b, %AddAssignWith.facet.25e [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.1a9ae2.1: type = fn_type @Int.as.AddAssignWith.impl.Op.2, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.54f2ef.1: %Int.as.AddAssignWith.impl.Op.type.1a9ae2.1 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.1a9ae2.2: type = fn_type @Int.as.AddAssignWith.impl.Op.1, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.54f2ef.2: %Int.as.AddAssignWith.impl.Op.type.1a9ae2.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.25e: %AddAssignWith.type.9f8 = facet_value %i64, (%AddAssignWith.impl_witness.5da) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.93b: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.25e) [concrete] -// CHECK:STDOUT: %.a00: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.93b, %AddAssignWith.facet.25e [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.d4c2e2.1: = specific_function %Int.as.AddAssignWith.impl.Op.54f2ef.2, @Int.as.AddAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.d4c2e2.2: = specific_function %Int.as.AddAssignWith.impl.Op.54f2ef.1, @Int.as.AddAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a3e: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.018) [concrete] @@ -3065,13 +3065,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.type.8e60c4.2: type = fn_type @Int.as.SubAssignWith.impl.Op.2, @Int.as.SubAssignWith.impl(%N, %U.f16) [symbolic] // CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.f08cab.2: %Int.as.SubAssignWith.impl.Op.type.8e60c4.2 = struct_value () [symbolic] // CHECK:STDOUT: %SubAssignWith.impl_witness.0ce: = impl_witness imports.%SubAssignWith.impl_witness_table.eb9, @Int.as.SubAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %SubAssignWith.facet.3eb: %SubAssignWith.type.d58 = facet_value %i64, (%SubAssignWith.impl_witness.0ce) [concrete] +// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.5d0: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long, %SubAssignWith.facet.3eb) [concrete] +// CHECK:STDOUT: %.0b5: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.5d0, %SubAssignWith.facet.3eb [concrete] // CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.type.274c19.1: type = fn_type @Int.as.SubAssignWith.impl.Op.2, @Int.as.SubAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.cc888b.1: %Int.as.SubAssignWith.impl.Op.type.274c19.1 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.type.274c19.2: type = fn_type @Int.as.SubAssignWith.impl.Op.1, @Int.as.SubAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.cc888b.2: %Int.as.SubAssignWith.impl.Op.type.274c19.2 = struct_value () [concrete] -// CHECK:STDOUT: %SubAssignWith.facet.3eb: %SubAssignWith.type.d58 = facet_value %i64, (%SubAssignWith.impl_witness.0ce) [concrete] -// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.5d0: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long, %SubAssignWith.facet.3eb) [concrete] -// CHECK:STDOUT: %.0b5: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.5d0, %SubAssignWith.facet.3eb [concrete] // CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.specific_fn.536792.1: = specific_function %Int.as.SubAssignWith.impl.Op.cc888b.2, @Int.as.SubAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.specific_fn.536792.2: = specific_function %Int.as.SubAssignWith.impl.Op.cc888b.1, @Int.as.SubAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %MulAssignWith.type.1a8: type = facet_type <@MulAssignWith, @MulAssignWith(%Cpp.long)> [concrete] @@ -3080,13 +3080,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.type.bfafd7.2: type = fn_type @Int.as.MulAssignWith.impl.Op.2, @Int.as.MulAssignWith.impl(%N, %U.f16) [symbolic] // CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.d5bc95.2: %Int.as.MulAssignWith.impl.Op.type.bfafd7.2 = struct_value () [symbolic] // CHECK:STDOUT: %MulAssignWith.impl_witness.621: = impl_witness imports.%MulAssignWith.impl_witness_table.324, @Int.as.MulAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %MulAssignWith.facet.6ef: %MulAssignWith.type.1a8 = facet_value %i64, (%MulAssignWith.impl_witness.621) [concrete] +// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.1d6: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long, %MulAssignWith.facet.6ef) [concrete] +// CHECK:STDOUT: %.fac: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.1d6, %MulAssignWith.facet.6ef [concrete] // CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.type.9b087a.1: type = fn_type @Int.as.MulAssignWith.impl.Op.2, @Int.as.MulAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.fba443.1: %Int.as.MulAssignWith.impl.Op.type.9b087a.1 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.type.9b087a.2: type = fn_type @Int.as.MulAssignWith.impl.Op.1, @Int.as.MulAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.fba443.2: %Int.as.MulAssignWith.impl.Op.type.9b087a.2 = struct_value () [concrete] -// CHECK:STDOUT: %MulAssignWith.facet.6ef: %MulAssignWith.type.1a8 = facet_value %i64, (%MulAssignWith.impl_witness.621) [concrete] -// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.1d6: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long, %MulAssignWith.facet.6ef) [concrete] -// CHECK:STDOUT: %.fac: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.1d6, %MulAssignWith.facet.6ef [concrete] // CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.specific_fn.461cee.1: = specific_function %Int.as.MulAssignWith.impl.Op.fba443.2, @Int.as.MulAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.specific_fn.461cee.2: = specific_function %Int.as.MulAssignWith.impl.Op.fba443.1, @Int.as.MulAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %DivAssignWith.type.14a: type = facet_type <@DivAssignWith, @DivAssignWith(%Cpp.long)> [concrete] @@ -3095,13 +3095,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.type.694d6e.2: type = fn_type @Int.as.DivAssignWith.impl.Op.2, @Int.as.DivAssignWith.impl(%N, %U.f16) [symbolic] // CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.f16edf.2: %Int.as.DivAssignWith.impl.Op.type.694d6e.2 = struct_value () [symbolic] // CHECK:STDOUT: %DivAssignWith.impl_witness.0d1: = impl_witness imports.%DivAssignWith.impl_witness_table.662, @Int.as.DivAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %DivAssignWith.facet.201: %DivAssignWith.type.14a = facet_value %i64, (%DivAssignWith.impl_witness.0d1) [concrete] +// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.716: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long, %DivAssignWith.facet.201) [concrete] +// CHECK:STDOUT: %.2c0: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.716, %DivAssignWith.facet.201 [concrete] // CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.type.d918e5.1: type = fn_type @Int.as.DivAssignWith.impl.Op.2, @Int.as.DivAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.a740ac.1: %Int.as.DivAssignWith.impl.Op.type.d918e5.1 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.type.d918e5.2: type = fn_type @Int.as.DivAssignWith.impl.Op.1, @Int.as.DivAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.a740ac.2: %Int.as.DivAssignWith.impl.Op.type.d918e5.2 = struct_value () [concrete] -// CHECK:STDOUT: %DivAssignWith.facet.201: %DivAssignWith.type.14a = facet_value %i64, (%DivAssignWith.impl_witness.0d1) [concrete] -// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.716: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long, %DivAssignWith.facet.201) [concrete] -// CHECK:STDOUT: %.2c0: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.716, %DivAssignWith.facet.201 [concrete] // CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.specific_fn.c12b11.1: = specific_function %Int.as.DivAssignWith.impl.Op.a740ac.2, @Int.as.DivAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.specific_fn.c12b11.2: = specific_function %Int.as.DivAssignWith.impl.Op.a740ac.1, @Int.as.DivAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %ModAssignWith.type.8a8: type = facet_type <@ModAssignWith, @ModAssignWith(%Cpp.long)> [concrete] @@ -3110,13 +3110,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.type.45f996.2: type = fn_type @Int.as.ModAssignWith.impl.Op.2, @Int.as.ModAssignWith.impl(%N, %U.f16) [symbolic] // CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.1121c1.2: %Int.as.ModAssignWith.impl.Op.type.45f996.2 = struct_value () [symbolic] // CHECK:STDOUT: %ModAssignWith.impl_witness.cc1: = impl_witness imports.%ModAssignWith.impl_witness_table.a00, @Int.as.ModAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %ModAssignWith.facet.794: %ModAssignWith.type.8a8 = facet_value %i64, (%ModAssignWith.impl_witness.cc1) [concrete] +// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.432: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long, %ModAssignWith.facet.794) [concrete] +// CHECK:STDOUT: %.e7e: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.432, %ModAssignWith.facet.794 [concrete] // CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.type.edfe98.1: type = fn_type @Int.as.ModAssignWith.impl.Op.2, @Int.as.ModAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.c70bbb.1: %Int.as.ModAssignWith.impl.Op.type.edfe98.1 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.type.edfe98.2: type = fn_type @Int.as.ModAssignWith.impl.Op.1, @Int.as.ModAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.c70bbb.2: %Int.as.ModAssignWith.impl.Op.type.edfe98.2 = struct_value () [concrete] -// CHECK:STDOUT: %ModAssignWith.facet.794: %ModAssignWith.type.8a8 = facet_value %i64, (%ModAssignWith.impl_witness.cc1) [concrete] -// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.432: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long, %ModAssignWith.facet.794) [concrete] -// CHECK:STDOUT: %.e7e: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.432, %ModAssignWith.facet.794 [concrete] // CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.specific_fn.337d88.1: = specific_function %Int.as.ModAssignWith.impl.Op.c70bbb.2, @Int.as.ModAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.specific_fn.337d88.2: = specific_function %Int.as.ModAssignWith.impl.Op.c70bbb.1, @Int.as.ModAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %BitAndAssignWith.type.c11: type = facet_type <@BitAndAssignWith, @BitAndAssignWith(%Cpp.long)> [concrete] @@ -3125,13 +3125,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.type.bc5330.2: type = fn_type @Int.as.BitAndAssignWith.impl.Op.2, @Int.as.BitAndAssignWith.impl(%N, %U.f16) [symbolic] // CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.7b2ec1.2: %Int.as.BitAndAssignWith.impl.Op.type.bc5330.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitAndAssignWith.impl_witness.cad: = impl_witness imports.%BitAndAssignWith.impl_witness_table.76a, @Int.as.BitAndAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.facet.b87: %BitAndAssignWith.type.c11 = facet_value %i64, (%BitAndAssignWith.impl_witness.cad) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.db9: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long, %BitAndAssignWith.facet.b87) [concrete] +// CHECK:STDOUT: %.cb1: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.db9, %BitAndAssignWith.facet.b87 [concrete] // CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.type.fc17d4.1: type = fn_type @Int.as.BitAndAssignWith.impl.Op.2, @Int.as.BitAndAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.586560.1: %Int.as.BitAndAssignWith.impl.Op.type.fc17d4.1 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.type.fc17d4.2: type = fn_type @Int.as.BitAndAssignWith.impl.Op.1, @Int.as.BitAndAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.586560.2: %Int.as.BitAndAssignWith.impl.Op.type.fc17d4.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndAssignWith.facet.b87: %BitAndAssignWith.type.c11 = facet_value %i64, (%BitAndAssignWith.impl_witness.cad) [concrete] -// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.db9: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long, %BitAndAssignWith.facet.b87) [concrete] -// CHECK:STDOUT: %.cb1: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.db9, %BitAndAssignWith.facet.b87 [concrete] // CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.specific_fn.b47fdc.1: = specific_function %Int.as.BitAndAssignWith.impl.Op.586560.2, @Int.as.BitAndAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.specific_fn.b47fdc.2: = specific_function %Int.as.BitAndAssignWith.impl.Op.586560.1, @Int.as.BitAndAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %BitOrAssignWith.type.2f5: type = facet_type <@BitOrAssignWith, @BitOrAssignWith(%Cpp.long)> [concrete] @@ -3140,13 +3140,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.type.906d57.2: type = fn_type @Int.as.BitOrAssignWith.impl.Op.2, @Int.as.BitOrAssignWith.impl(%N, %U.f16) [symbolic] // CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.2043b8.2: %Int.as.BitOrAssignWith.impl.Op.type.906d57.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitOrAssignWith.impl_witness.75b: = impl_witness imports.%BitOrAssignWith.impl_witness_table.bd9, @Int.as.BitOrAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.facet.64a: %BitOrAssignWith.type.2f5 = facet_value %i64, (%BitOrAssignWith.impl_witness.75b) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.d85: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long, %BitOrAssignWith.facet.64a) [concrete] +// CHECK:STDOUT: %.852: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.d85, %BitOrAssignWith.facet.64a [concrete] // CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.type.0e1942.1: type = fn_type @Int.as.BitOrAssignWith.impl.Op.2, @Int.as.BitOrAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.e2d2ac.1: %Int.as.BitOrAssignWith.impl.Op.type.0e1942.1 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.type.0e1942.2: type = fn_type @Int.as.BitOrAssignWith.impl.Op.1, @Int.as.BitOrAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.e2d2ac.2: %Int.as.BitOrAssignWith.impl.Op.type.0e1942.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitOrAssignWith.facet.64a: %BitOrAssignWith.type.2f5 = facet_value %i64, (%BitOrAssignWith.impl_witness.75b) [concrete] -// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.d85: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long, %BitOrAssignWith.facet.64a) [concrete] -// CHECK:STDOUT: %.852: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.d85, %BitOrAssignWith.facet.64a [concrete] // CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.specific_fn.9a6c06.1: = specific_function %Int.as.BitOrAssignWith.impl.Op.e2d2ac.2, @Int.as.BitOrAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.specific_fn.9a6c06.2: = specific_function %Int.as.BitOrAssignWith.impl.Op.e2d2ac.1, @Int.as.BitOrAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %BitXorAssignWith.type.379: type = facet_type <@BitXorAssignWith, @BitXorAssignWith(%Cpp.long)> [concrete] @@ -3155,13 +3155,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.type.bf8238.2: type = fn_type @Int.as.BitXorAssignWith.impl.Op.2, @Int.as.BitXorAssignWith.impl(%N, %U.f16) [symbolic] // CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.fed844.2: %Int.as.BitXorAssignWith.impl.Op.type.bf8238.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitXorAssignWith.impl_witness.fe6: = impl_witness imports.%BitXorAssignWith.impl_witness_table.8e7, @Int.as.BitXorAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.facet.fc7: %BitXorAssignWith.type.379 = facet_value %i64, (%BitXorAssignWith.impl_witness.fe6) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.c68: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long, %BitXorAssignWith.facet.fc7) [concrete] +// CHECK:STDOUT: %.1ce9: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.c68, %BitXorAssignWith.facet.fc7 [concrete] // CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.type.f8b28f.1: type = fn_type @Int.as.BitXorAssignWith.impl.Op.2, @Int.as.BitXorAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.1e7566.1: %Int.as.BitXorAssignWith.impl.Op.type.f8b28f.1 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.type.f8b28f.2: type = fn_type @Int.as.BitXorAssignWith.impl.Op.1, @Int.as.BitXorAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.1e7566.2: %Int.as.BitXorAssignWith.impl.Op.type.f8b28f.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitXorAssignWith.facet.fc7: %BitXorAssignWith.type.379 = facet_value %i64, (%BitXorAssignWith.impl_witness.fe6) [concrete] -// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.c68: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long, %BitXorAssignWith.facet.fc7) [concrete] -// CHECK:STDOUT: %.1ce9: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.c68, %BitXorAssignWith.facet.fc7 [concrete] // CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.specific_fn.006873.1: = specific_function %Int.as.BitXorAssignWith.impl.Op.1e7566.2, @Int.as.BitXorAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.specific_fn.006873.2: = specific_function %Int.as.BitXorAssignWith.impl.Op.1e7566.1, @Int.as.BitXorAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.type.eec: type = facet_type <@LeftShiftAssignWith, @LeftShiftAssignWith(%Cpp.long)> [concrete] @@ -3170,13 +3170,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.type.c2c614.2: type = fn_type @Int.as.LeftShiftAssignWith.impl.Op.2, @Int.as.LeftShiftAssignWith.impl(%N, %U.f16) [symbolic] // CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.17c79c.2: %Int.as.LeftShiftAssignWith.impl.Op.type.c2c614.2 = struct_value () [symbolic] // CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.fca: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.15a, @Int.as.LeftShiftAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.facet.527: %LeftShiftAssignWith.type.eec = facet_value %i64, (%LeftShiftAssignWith.impl_witness.fca) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.d26: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long, %LeftShiftAssignWith.facet.527) [concrete] +// CHECK:STDOUT: %.99e: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.d26, %LeftShiftAssignWith.facet.527 [concrete] // CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.type.f226c5.1: type = fn_type @Int.as.LeftShiftAssignWith.impl.Op.2, @Int.as.LeftShiftAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.849cb7.1: %Int.as.LeftShiftAssignWith.impl.Op.type.f226c5.1 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.type.f226c5.2: type = fn_type @Int.as.LeftShiftAssignWith.impl.Op.1, @Int.as.LeftShiftAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.849cb7.2: %Int.as.LeftShiftAssignWith.impl.Op.type.f226c5.2 = struct_value () [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.facet.527: %LeftShiftAssignWith.type.eec = facet_value %i64, (%LeftShiftAssignWith.impl_witness.fca) [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.d26: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long, %LeftShiftAssignWith.facet.527) [concrete] -// CHECK:STDOUT: %.99e: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.d26, %LeftShiftAssignWith.facet.527 [concrete] // CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.specific_fn.0b700a.1: = specific_function %Int.as.LeftShiftAssignWith.impl.Op.849cb7.2, @Int.as.LeftShiftAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.specific_fn.0b700a.2: = specific_function %Int.as.LeftShiftAssignWith.impl.Op.849cb7.1, @Int.as.LeftShiftAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.type.690: type = facet_type <@RightShiftAssignWith, @RightShiftAssignWith(%Cpp.long)> [concrete] @@ -3185,13 +3185,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.type.484b98.2: type = fn_type @Int.as.RightShiftAssignWith.impl.Op.2, @Int.as.RightShiftAssignWith.impl(%N, %U.f16) [symbolic] // CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.78f28b.2: %Int.as.RightShiftAssignWith.impl.Op.type.484b98.2 = struct_value () [symbolic] // CHECK:STDOUT: %RightShiftAssignWith.impl_witness.a62: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.f0c, @Int.as.RightShiftAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.facet.e9e: %RightShiftAssignWith.type.690 = facet_value %i64, (%RightShiftAssignWith.impl_witness.a62) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.4f1: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long, %RightShiftAssignWith.facet.e9e) [concrete] +// CHECK:STDOUT: %.3a6: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.4f1, %RightShiftAssignWith.facet.e9e [concrete] // CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.type.13a5a2.1: type = fn_type @Int.as.RightShiftAssignWith.impl.Op.2, @Int.as.RightShiftAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.4119c1.1: %Int.as.RightShiftAssignWith.impl.Op.type.13a5a2.1 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.type.13a5a2.2: type = fn_type @Int.as.RightShiftAssignWith.impl.Op.1, @Int.as.RightShiftAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.4119c1.2: %Int.as.RightShiftAssignWith.impl.Op.type.13a5a2.2 = struct_value () [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.facet.e9e: %RightShiftAssignWith.type.690 = facet_value %i64, (%RightShiftAssignWith.impl_witness.a62) [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.4f1: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long, %RightShiftAssignWith.facet.e9e) [concrete] -// CHECK:STDOUT: %.3a6: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.4f1, %RightShiftAssignWith.facet.e9e [concrete] // CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.specific_fn.052e44.1: = specific_function %Int.as.RightShiftAssignWith.impl.Op.4119c1.2, @Int.as.RightShiftAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.specific_fn.052e44.2: = specific_function %Int.as.RightShiftAssignWith.impl.Op.4119c1.1, @Int.as.RightShiftAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: } @@ -3455,13 +3455,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.57bd5a.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%U.2ef) [symbolic] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.97b6f8.2: %Cpp.long.as.AddAssignWith.impl.Op.type.57bd5a.2 = struct_value () [symbolic] // CHECK:STDOUT: %AddAssignWith.impl_witness.200: = impl_witness imports.%AddAssignWith.impl_witness_table.627, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.8ed: %AddAssignWith.type.144 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.200) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.fd2: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(Core.IntLiteral, %AddAssignWith.facet.8ed) [concrete] +// CHECK:STDOUT: %.417: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.fd2, %AddAssignWith.facet.8ed [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.533c34.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.56ddbc.1: %Cpp.long.as.AddAssignWith.impl.Op.type.533c34.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.533c34.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.56ddbc.2: %Cpp.long.as.AddAssignWith.impl.Op.type.533c34.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.8ed: %AddAssignWith.type.144 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.200) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.fd2: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(Core.IntLiteral, %AddAssignWith.facet.8ed) [concrete] -// CHECK:STDOUT: %.417: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.fd2, %AddAssignWith.facet.8ed [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.9c08d1.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.56ddbc.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet) [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.9c08d1.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.56ddbc.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -3561,11 +3561,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.b1b: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.246: %ImplicitAs.type.e56 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.b1b) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4cd: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.246) [concrete] // CHECK:STDOUT: %.7ee: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4cd, %ImplicitAs.facet.246 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.8b9: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd, @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] @@ -3592,13 +3592,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.8e7: = impl_witness imports.%ImplicitAs.impl_witness_table.668 [concrete] // CHECK:STDOUT: %ImplicitAs.facet.018: %ImplicitAs.type.e56 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.8e7) [concrete] // CHECK:STDOUT: %AddAssignWith.impl_witness.5da: = impl_witness imports.%AddAssignWith.impl_witness_table.fab, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.25e: %AddAssignWith.type.9f8 = facet_value %i64, (%AddAssignWith.impl_witness.5da) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.93b: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.25e) [concrete] +// CHECK:STDOUT: %.a00: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.93b, %AddAssignWith.facet.25e [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.1a9ae2.1: type = fn_type @Int.as.AddAssignWith.impl.Op.2, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.54f2ef.1: %Int.as.AddAssignWith.impl.Op.type.1a9ae2.1 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.1a9ae2.2: type = fn_type @Int.as.AddAssignWith.impl.Op.1, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.54f2ef.2: %Int.as.AddAssignWith.impl.Op.type.1a9ae2.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.25e: %AddAssignWith.type.9f8 = facet_value %i64, (%AddAssignWith.impl_witness.5da) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.93b: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.25e) [concrete] -// CHECK:STDOUT: %.a00: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.93b, %AddAssignWith.facet.25e [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.d4c2e2.1: = specific_function %Int.as.AddAssignWith.impl.Op.54f2ef.2, @Int.as.AddAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.d4c2e2.2: = specific_function %Int.as.AddAssignWith.impl.Op.54f2ef.1, @Int.as.AddAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.018) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a3e: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.018) [concrete] @@ -3814,11 +3814,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.60e: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.be5 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.type.5be: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.b83: = impl_witness imports.%ImplicitAs.impl_witness_table.79a, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.858: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.e4f: %ImplicitAs.type.1b9 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.b83) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.338: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u64, %ImplicitAs.facet.e4f) [concrete] // CHECK:STDOUT: %.8b3: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.338, %ImplicitAs.facet.e4f [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.858: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.b4d: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.858 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.858, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.ed4: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -3880,11 +3880,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.253: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet.253) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet.253 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f84: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] 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 5653ab44361b..6405c74ce92d 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 @@ -666,11 +666,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.dfd: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From.fe9) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.914: %Int.as.ImplicitAs.impl.Convert.type.dfd = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.b1b: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.246: %ImplicitAs.type.e56 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.b1b) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4cd: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.246) [concrete] // CHECK:STDOUT: %.7ee: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4cd, %ImplicitAs.facet.246 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.2f8: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -682,20 +682,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.c26: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl.753(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.3e7: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.4dc: %Core.IntLiteral.as.As.impl.Convert.type.3e7 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.074 = facet_value Core.IntLiteral, (%As.impl_witness.c26) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.851: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i64, %As.facet) [concrete] // CHECK:STDOUT: %.0d9: type = fn_type_with_self_type %As.WithSelf.Convert.type.851, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.3e7: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.4dc: %Core.IntLiteral.as.As.impl.Convert.type.3e7 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.4dc [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.4dc, @Core.IntLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.7df: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.0f5: = impl_witness imports.%ImplicitAs.impl_witness_table.b7c, @Int.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.835: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.c7a: %Int.as.ImplicitAs.impl.Convert.type.835 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.47d: %ImplicitAs.type.5be = facet_value %i64, (%ImplicitAs.impl_witness.0f5) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.07a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.47d) [concrete] // CHECK:STDOUT: %.0b0: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.07a, %ImplicitAs.facet.47d [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.835: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.c7a: %Int.as.ImplicitAs.impl.Convert.type.835 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.836, %Int.as.ImplicitAs.impl.Convert.c7a [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.c7a, @Int.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.a55: = bound_method %int_1.836, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -711,11 +711,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.253: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet.253) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet.253 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f84: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -867,11 +867,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.802: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.d6a(%From.fe9) [symbolic] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.7a2: %UInt.as.ImplicitAs.impl.Convert.type.802 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.b83: = impl_witness imports.%ImplicitAs.impl_witness_table.79a, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.858: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.e4f: %ImplicitAs.type.1b9 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.b83) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.338: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u64, %ImplicitAs.facet.e4f) [concrete] // CHECK:STDOUT: %.8b3: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.338, %ImplicitAs.facet.e4f [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.858: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.858 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.858, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.ed4: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -883,20 +883,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.16e: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.d83(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.81c: %Core.IntLiteral.as.As.impl.Convert.type.16e = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.6d9: = impl_witness imports.%As.impl_witness_table.43c, @Core.IntLiteral.as.As.impl.d83(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.7a3: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.d83(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.f4a: %Core.IntLiteral.as.As.impl.Convert.type.7a3 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.786 = facet_value Core.IntLiteral, (%As.impl_witness.6d9) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.f47: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u64, %As.facet) [concrete] // CHECK:STDOUT: %.ce6: type = fn_type_with_self_type %As.WithSelf.Convert.type.f47, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.7a3: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.d83(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.f4a: %Core.IntLiteral.as.As.impl.Convert.type.7a3 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.f4a [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.f4a, @Core.IntLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.c5a: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.a0b: = impl_witness imports.%ImplicitAs.impl_witness_table.7eb, @UInt.as.ImplicitAs.impl.d6a(%int_64) [concrete] -// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.b8d: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.d6a(%int_64) [concrete] -// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.4e3: %UInt.as.ImplicitAs.impl.Convert.type.b8d = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.49b: %ImplicitAs.type.5be = facet_value %u64, (%ImplicitAs.impl_witness.a0b) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.f7d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.49b) [concrete] // CHECK:STDOUT: %.5bc: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.f7d, %ImplicitAs.facet.49b [concrete] +// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.b8d: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.d6a(%int_64) [concrete] +// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.4e3: %UInt.as.ImplicitAs.impl.Convert.type.b8d = struct_value () [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.169, %UInt.as.ImplicitAs.impl.Convert.4e3 [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %UInt.as.ImplicitAs.impl.Convert.4e3, @UInt.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.eec: = bound_method %int_1.169, %UInt.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -912,11 +912,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.253: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet.253) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet.253 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f84: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1137,11 +1137,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.253: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet.253) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet.253 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @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] @@ -1687,6 +1687,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.23a: = impl_witness imports.%ImplicitAs.impl_witness_table.967 [concrete] // CHECK:STDOUT: %ImplicitAs.facet.8ee: %ImplicitAs.type.797 = facet_value %i32, (%ImplicitAs.impl_witness.23a) [concrete] // CHECK:STDOUT: %EqWith.impl_witness.862: = impl_witness imports.%EqWith.impl_witness_table.c1f, @Cpp.long.as.EqWith.impl.e3b(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %EqWith.facet.2d1: %EqWith.type.2bc = facet_value %Cpp.long, (%EqWith.impl_witness.862) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.e8c: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%i32, %EqWith.facet.2d1) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.df7: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%i32, %EqWith.facet.2d1) [concrete] +// CHECK:STDOUT: %.de7: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.e8c, %EqWith.facet.2d1 [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.cd03d9.1: type = fn_type @Cpp.long.as.EqWith.impl.Equal.2, @Cpp.long.as.EqWith.impl.e3b(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.e7d57b.1: %Cpp.long.as.EqWith.impl.Equal.type.cd03d9.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.de711e.1: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.2, @Cpp.long.as.EqWith.impl.e3b(%ImplicitAs.facet.8ee) [concrete] @@ -1695,10 +1699,6 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.e7d57b.2: %Cpp.long.as.EqWith.impl.Equal.type.cd03d9.2 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.de711e.2: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.1, @Cpp.long.as.EqWith.impl.e3b(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.c7ab6f.2: %Cpp.long.as.EqWith.impl.NotEqual.type.de711e.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.2d1: %EqWith.type.2bc = facet_value %Cpp.long, (%EqWith.impl_witness.862) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.e8c: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%i32, %EqWith.facet.2d1) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.df7: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%i32, %EqWith.facet.2d1) [concrete] -// CHECK:STDOUT: %.de7: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.e8c, %EqWith.facet.2d1 [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.7ad230.1: = specific_function %Cpp.long.as.EqWith.impl.Equal.e7d57b.2, @Cpp.long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.7ad230.2: = specific_function %Cpp.long.as.EqWith.impl.Equal.e7d57b.1, @Cpp.long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.870: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.8ee) [concrete] @@ -1727,6 +1727,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.5fe447.2: %Cpp.long.as.OrderedWith.impl.Less.type.53fa0f.2 = struct_value () [symbolic] // CHECK:STDOUT: %OrderedWith.type.024: type = facet_type <@OrderedWith, @OrderedWith(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %OrderedWith.impl_witness.541: = impl_witness imports.%OrderedWith.impl_witness_table.f31, @Cpp.long.as.OrderedWith.impl.40e(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %OrderedWith.facet.c3e: %OrderedWith.type.f2f = facet_value %Cpp.long, (%OrderedWith.impl_witness.541) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.dc8: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.c3e) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.539: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.c3e) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.23b: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.c3e) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.78f: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.c3e) [concrete] +// CHECK:STDOUT: %.3edb: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.23b, %OrderedWith.facet.c3e [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.9b023d.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.2, @Cpp.long.as.OrderedWith.impl.40e(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.f2b349.1: %Cpp.long.as.OrderedWith.impl.Less.type.9b023d.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.a622a6.1: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.40e(%ImplicitAs.facet.8ee) [concrete] @@ -1743,12 +1749,6 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.68ae34.2: %Cpp.long.as.OrderedWith.impl.Greater.type.e81525.2 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.1f8acc.2: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.40e(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.430d19.2: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.1f8acc.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.c3e: %OrderedWith.type.f2f = facet_value %Cpp.long, (%OrderedWith.impl_witness.541) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.dc8: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.c3e) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.539: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.c3e) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.23b: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.c3e) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.78f: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.c3e) [concrete] -// CHECK:STDOUT: %.3edb: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.23b, %OrderedWith.facet.c3e [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.371c1c.1: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.68ae34.2, @Cpp.long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.371c1c.2: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.68ae34.1, @Cpp.long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %.2b6: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.dc8, %OrderedWith.facet.c3e [concrete] @@ -1761,6 +1761,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.7b8ce6.1: = specific_function %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.d3c724.2, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.7b8ce6.2: = specific_function %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.d3c724.1, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %EqWith.impl_witness.f4b: = impl_witness imports.%EqWith.impl_witness_table.c1f, @Cpp.long.as.EqWith.impl.e3b(%ImplicitAs.facet.c54) [concrete] +// CHECK:STDOUT: %EqWith.facet.1ac: %EqWith.type.61f = facet_value %Cpp.long, (%EqWith.impl_witness.f4b) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.667: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.1ac) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.8a0: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.1ac) [concrete] +// CHECK:STDOUT: %.3ed6: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.667, %EqWith.facet.1ac [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.92d005.1: type = fn_type @Cpp.long.as.EqWith.impl.Equal.2, @Cpp.long.as.EqWith.impl.e3b(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.e005a6.1: %Cpp.long.as.EqWith.impl.Equal.type.92d005.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.d50271.1: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.2, @Cpp.long.as.EqWith.impl.e3b(%ImplicitAs.facet.c54) [concrete] @@ -1769,16 +1773,18 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.e005a6.2: %Cpp.long.as.EqWith.impl.Equal.type.92d005.2 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.d50271.2: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.1, @Cpp.long.as.EqWith.impl.e3b(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.8d3ae7.2: %Cpp.long.as.EqWith.impl.NotEqual.type.d50271.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.1ac: %EqWith.type.61f = facet_value %Cpp.long, (%EqWith.impl_witness.f4b) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.667: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.1ac) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.8a0: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.1ac) [concrete] -// CHECK:STDOUT: %.3ed6: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.667, %EqWith.facet.1ac [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.9482e5.1: = specific_function %Cpp.long.as.EqWith.impl.Equal.e005a6.2, @Cpp.long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.9482e5.2: = specific_function %Cpp.long.as.EqWith.impl.Equal.e005a6.1, @Cpp.long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %.d33: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.8a0, %EqWith.facet.1ac [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.4dbdbd.1: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.8d3ae7.2, @Cpp.long.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.4dbdbd.2: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.8d3ae7.1, @Cpp.long.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %OrderedWith.impl_witness.e4c: = impl_witness imports.%OrderedWith.impl_witness_table.f31, @Cpp.long.as.OrderedWith.impl.40e(%ImplicitAs.facet.c54) [concrete] +// CHECK:STDOUT: %OrderedWith.facet.ea0: %OrderedWith.type.024 = facet_value %Cpp.long, (%OrderedWith.impl_witness.e4c) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.808: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.ea0) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.48a: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.ea0) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.de7: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.ea0) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.a6d: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.ea0) [concrete] +// CHECK:STDOUT: %.7ec: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.de7, %OrderedWith.facet.ea0 [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.27022c.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.2, @Cpp.long.as.OrderedWith.impl.40e(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.ff5f08.1: %Cpp.long.as.OrderedWith.impl.Less.type.27022c.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.95141e.1: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.40e(%ImplicitAs.facet.c54) [concrete] @@ -1795,12 +1801,6 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.38af17.2: %Cpp.long.as.OrderedWith.impl.Greater.type.a31991.2 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.edc886.2: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.40e(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.a5bee7.2: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.edc886.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.ea0: %OrderedWith.type.024 = facet_value %Cpp.long, (%OrderedWith.impl_witness.e4c) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.808: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.ea0) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.48a: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.ea0) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.de7: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.ea0) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.a6d: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.ea0) [concrete] -// CHECK:STDOUT: %.7ec: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.de7, %OrderedWith.facet.ea0 [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.cc1c50.1: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.38af17.2, @Cpp.long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.cc1c50.2: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.38af17.1, @Cpp.long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %.71c: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.808, %OrderedWith.facet.ea0 [concrete] @@ -2143,6 +2143,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.23a: = impl_witness imports.%ImplicitAs.impl_witness_table.967 [concrete] // CHECK:STDOUT: %ImplicitAs.facet.8ee: %ImplicitAs.type.797 = facet_value %i32, (%ImplicitAs.impl_witness.23a) [concrete] // CHECK:STDOUT: %EqWith.impl_witness.6f0: = impl_witness imports.%EqWith.impl_witness_table.a81, @T.as_type.as.EqWith.impl.d7c(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %EqWith.facet.06c: %EqWith.type.6df = facet_value %i32, (%EqWith.impl_witness.6f0) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.c14: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.06c) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.7e9: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.06c) [concrete] +// CHECK:STDOUT: %.782: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.c14, %EqWith.facet.06c [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.969c87.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.2, @T.as_type.as.EqWith.impl.d7c(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.46e150.1: %T.as_type.as.EqWith.impl.Equal.type.969c87.1 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.3effa6.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.2, @T.as_type.as.EqWith.impl.d7c(%ImplicitAs.facet.8ee) [concrete] @@ -2151,10 +2155,6 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.46e150.2: %T.as_type.as.EqWith.impl.Equal.type.969c87.2 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.3effa6.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.1, @T.as_type.as.EqWith.impl.d7c(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.d679a1.2: %T.as_type.as.EqWith.impl.NotEqual.type.3effa6.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.06c: %EqWith.type.6df = facet_value %i32, (%EqWith.impl_witness.6f0) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.c14: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.06c) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.7e9: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.06c) [concrete] -// CHECK:STDOUT: %.782: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.c14, %EqWith.facet.06c [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.8b812e.1: = specific_function %T.as_type.as.EqWith.impl.Equal.46e150.2, @T.as_type.as.EqWith.impl.Equal.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.8b812e.2: = specific_function %T.as_type.as.EqWith.impl.Equal.46e150.1, @T.as_type.as.EqWith.impl.Equal.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.870: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.8ee) [concrete] @@ -2182,6 +2182,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.5accdd.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.2, @T.as_type.as.OrderedWith.impl.800(%T.65a) [symbolic] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.1112a9.2: %T.as_type.as.OrderedWith.impl.Less.type.5accdd.2 = struct_value () [symbolic] // CHECK:STDOUT: %OrderedWith.impl_witness.f55: = impl_witness imports.%OrderedWith.impl_witness_table.00a, @T.as_type.as.OrderedWith.impl.800(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %OrderedWith.facet.175: %OrderedWith.type.9a3 = facet_value %i32, (%OrderedWith.impl_witness.f55) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.514: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.175) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.afb: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.175) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.5bf: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.175) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.b0d: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.175) [concrete] +// CHECK:STDOUT: %.296: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.5bf, %OrderedWith.facet.175 [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.3c5ab0.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.2, @T.as_type.as.OrderedWith.impl.800(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.2e9eb2.1: %T.as_type.as.OrderedWith.impl.Less.type.3c5ab0.1 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.917d45.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2, @T.as_type.as.OrderedWith.impl.800(%ImplicitAs.facet.8ee) [concrete] @@ -2198,12 +2204,6 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.28c406.2: %T.as_type.as.OrderedWith.impl.Greater.type.ee0234.2 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.49b791.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1, @T.as_type.as.OrderedWith.impl.800(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6259f9.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.49b791.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.175: %OrderedWith.type.9a3 = facet_value %i32, (%OrderedWith.impl_witness.f55) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.514: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.175) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.afb: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.175) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.5bf: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.175) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.b0d: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.175) [concrete] -// CHECK:STDOUT: %.296: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.5bf, %OrderedWith.facet.175 [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.43e155.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.28c406.2, @T.as_type.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.43e155.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.28c406.1, @T.as_type.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %.469: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.514, %OrderedWith.facet.175 [concrete] @@ -2216,6 +2216,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.bf5cac.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.ef1b25.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.bf5cac.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.ef1b25.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %EqWith.impl_witness.020: = impl_witness imports.%EqWith.impl_witness_table.a81, @T.as_type.as.EqWith.impl.d7c(%ImplicitAs.facet.c54) [concrete] +// CHECK:STDOUT: %EqWith.facet.99f: %EqWith.type.6df = facet_value Core.IntLiteral, (%EqWith.impl_witness.020) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.658: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.99f) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.8ce: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.99f) [concrete] +// CHECK:STDOUT: %.f32: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.658, %EqWith.facet.99f [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.4425c2.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.2, @T.as_type.as.EqWith.impl.d7c(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.15452c.1: %T.as_type.as.EqWith.impl.Equal.type.4425c2.1 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.e56833.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.2, @T.as_type.as.EqWith.impl.d7c(%ImplicitAs.facet.c54) [concrete] @@ -2224,10 +2228,6 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.15452c.2: %T.as_type.as.EqWith.impl.Equal.type.4425c2.2 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.e56833.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.1, @T.as_type.as.EqWith.impl.d7c(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.480215.2: %T.as_type.as.EqWith.impl.NotEqual.type.e56833.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.99f: %EqWith.type.6df = facet_value Core.IntLiteral, (%EqWith.impl_witness.020) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.658: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.99f) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.8ce: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.99f) [concrete] -// CHECK:STDOUT: %.f32: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.658, %EqWith.facet.99f [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.a9b0fa.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.15452c.2 [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.819b05.1: = specific_function %T.as_type.as.EqWith.impl.Equal.15452c.2, @T.as_type.as.EqWith.impl.Equal.1(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %bound_method.c30d73.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.819b05.1 [concrete] @@ -2242,6 +2242,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.186885.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.480215.1, @T.as_type.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %bound_method.80f79b.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.186885.2 [concrete] // CHECK:STDOUT: %OrderedWith.impl_witness.ef9: = impl_witness imports.%OrderedWith.impl_witness_table.00a, @T.as_type.as.OrderedWith.impl.800(%ImplicitAs.facet.c54) [concrete] +// CHECK:STDOUT: %OrderedWith.facet.92a: %OrderedWith.type.9a3 = facet_value Core.IntLiteral, (%OrderedWith.impl_witness.ef9) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.d87: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.92a) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.4d5: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.92a) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.3a3: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.92a) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.950: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.92a) [concrete] +// CHECK:STDOUT: %.979: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.3a3, %OrderedWith.facet.92a [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.46d61e.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.2, @T.as_type.as.OrderedWith.impl.800(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.15d719.1: %T.as_type.as.OrderedWith.impl.Less.type.46d61e.1 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.6fdea0.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2, @T.as_type.as.OrderedWith.impl.800(%ImplicitAs.facet.c54) [concrete] @@ -2258,12 +2264,6 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.33dd54.2: %T.as_type.as.OrderedWith.impl.Greater.type.3d02e6.2 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.7a6648.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1, @T.as_type.as.OrderedWith.impl.800(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7e1d99.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.7a6648.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.92a: %OrderedWith.type.9a3 = facet_value Core.IntLiteral, (%OrderedWith.impl_witness.ef9) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.d87: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.92a) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.4d5: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.92a) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.3a3: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.92a) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.950: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.92a) [concrete] -// CHECK:STDOUT: %.979: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.3a3, %OrderedWith.facet.92a [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.69a28b.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.33dd54.2 [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.0d228f.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.33dd54.2, @T.as_type.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.c54) [concrete] // CHECK:STDOUT: %bound_method.2c9f93.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.0d228f.1 [concrete] @@ -2845,13 +2845,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.226: = impl_witness imports.%ImplicitAs.impl_witness_table.f48, @T.as_type.as.ImplicitAs.impl(%Copy.facet) [concrete] // CHECK:STDOUT: %ImplicitAs.facet.b5c: %ImplicitAs.type.797 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.226) [concrete] // CHECK:STDOUT: %AddAssignWith.impl_witness.c31: = impl_witness imports.%AddAssignWith.impl_witness_table.d07, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.d2a: %AddAssignWith.type.736 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.c31) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.21b: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.d2a) [concrete] +// CHECK:STDOUT: %.643: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.21b, %AddAssignWith.facet.d2a [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.ce0cc0.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.e5a887.1: %Cpp.long.as.AddAssignWith.impl.Op.type.ce0cc0.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.ce0cc0.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.e5a887.2: %Cpp.long.as.AddAssignWith.impl.Op.type.ce0cc0.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.d2a: %AddAssignWith.type.736 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.c31) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.21b: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.d2a) [concrete] -// CHECK:STDOUT: %.643: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.21b, %AddAssignWith.facet.d2a [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.b67c74.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.e5a887.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.b67c74.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.e5a887.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %SubAssignWith.type.985: type = facet_type <@SubAssignWith, @SubAssignWith(%Cpp.long)> [concrete] @@ -2860,13 +2860,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.28533d.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.312ab3.2: %Cpp.long.as.SubAssignWith.impl.Op.type.28533d.2 = struct_value () [symbolic] // CHECK:STDOUT: %SubAssignWith.impl_witness.58a: = impl_witness imports.%SubAssignWith.impl_witness_table.2e2, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] +// CHECK:STDOUT: %SubAssignWith.facet.52d: %SubAssignWith.type.985 = facet_value %Cpp.long, (%SubAssignWith.impl_witness.58a) [concrete] +// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.ea4: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long, %SubAssignWith.facet.52d) [concrete] +// CHECK:STDOUT: %.603: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.ea4, %SubAssignWith.facet.52d [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.006601.1: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.40621a.1: %Cpp.long.as.SubAssignWith.impl.Op.type.006601.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.006601.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.1, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.40621a.2: %Cpp.long.as.SubAssignWith.impl.Op.type.006601.2 = struct_value () [concrete] -// CHECK:STDOUT: %SubAssignWith.facet.52d: %SubAssignWith.type.985 = facet_value %Cpp.long, (%SubAssignWith.impl_witness.58a) [concrete] -// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.ea4: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long, %SubAssignWith.facet.52d) [concrete] -// CHECK:STDOUT: %.603: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.ea4, %SubAssignWith.facet.52d [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.fbe343.1: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.40621a.2, @Cpp.long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.fbe343.2: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.40621a.1, @Cpp.long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %MulAssignWith.type.b9f: type = facet_type <@MulAssignWith, @MulAssignWith(%Cpp.long)> [concrete] @@ -2875,13 +2875,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.b2f827.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.0f3004.2: %Cpp.long.as.MulAssignWith.impl.Op.type.b2f827.2 = struct_value () [symbolic] // CHECK:STDOUT: %MulAssignWith.impl_witness.8d1: = impl_witness imports.%MulAssignWith.impl_witness_table.1b2, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] +// CHECK:STDOUT: %MulAssignWith.facet.690: %MulAssignWith.type.b9f = facet_value %Cpp.long, (%MulAssignWith.impl_witness.8d1) [concrete] +// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.c08: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long, %MulAssignWith.facet.690) [concrete] +// CHECK:STDOUT: %.ac2: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.c08, %MulAssignWith.facet.690 [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.208a04.1: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.ea4474.1: %Cpp.long.as.MulAssignWith.impl.Op.type.208a04.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.208a04.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.1, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.ea4474.2: %Cpp.long.as.MulAssignWith.impl.Op.type.208a04.2 = struct_value () [concrete] -// CHECK:STDOUT: %MulAssignWith.facet.690: %MulAssignWith.type.b9f = facet_value %Cpp.long, (%MulAssignWith.impl_witness.8d1) [concrete] -// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.c08: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long, %MulAssignWith.facet.690) [concrete] -// CHECK:STDOUT: %.ac2: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.c08, %MulAssignWith.facet.690 [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.2d1093.1: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.ea4474.2, @Cpp.long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.2d1093.2: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.ea4474.1, @Cpp.long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %DivAssignWith.type.812: type = facet_type <@DivAssignWith, @DivAssignWith(%Cpp.long)> [concrete] @@ -2890,13 +2890,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.ebf1dc.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.5315c3.2: %Cpp.long.as.DivAssignWith.impl.Op.type.ebf1dc.2 = struct_value () [symbolic] // CHECK:STDOUT: %DivAssignWith.impl_witness.a46: = impl_witness imports.%DivAssignWith.impl_witness_table.e07, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] +// CHECK:STDOUT: %DivAssignWith.facet.804: %DivAssignWith.type.812 = facet_value %Cpp.long, (%DivAssignWith.impl_witness.a46) [concrete] +// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.337: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long, %DivAssignWith.facet.804) [concrete] +// CHECK:STDOUT: %.88c: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.337, %DivAssignWith.facet.804 [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.efafed.1: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.297c6c.1: %Cpp.long.as.DivAssignWith.impl.Op.type.efafed.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.efafed.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.1, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.297c6c.2: %Cpp.long.as.DivAssignWith.impl.Op.type.efafed.2 = struct_value () [concrete] -// CHECK:STDOUT: %DivAssignWith.facet.804: %DivAssignWith.type.812 = facet_value %Cpp.long, (%DivAssignWith.impl_witness.a46) [concrete] -// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.337: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long, %DivAssignWith.facet.804) [concrete] -// CHECK:STDOUT: %.88c: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.337, %DivAssignWith.facet.804 [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.e8c339.1: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.297c6c.2, @Cpp.long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.e8c339.2: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.297c6c.1, @Cpp.long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %ModAssignWith.type.717: type = facet_type <@ModAssignWith, @ModAssignWith(%Cpp.long)> [concrete] @@ -2905,13 +2905,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.64482e.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.833b27.2: %Cpp.long.as.ModAssignWith.impl.Op.type.64482e.2 = struct_value () [symbolic] // CHECK:STDOUT: %ModAssignWith.impl_witness.189: = impl_witness imports.%ModAssignWith.impl_witness_table.d63, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] +// CHECK:STDOUT: %ModAssignWith.facet.8da: %ModAssignWith.type.717 = facet_value %Cpp.long, (%ModAssignWith.impl_witness.189) [concrete] +// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.410: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long, %ModAssignWith.facet.8da) [concrete] +// CHECK:STDOUT: %.6d2: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.410, %ModAssignWith.facet.8da [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.f5773e.1: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.525e77.1: %Cpp.long.as.ModAssignWith.impl.Op.type.f5773e.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.f5773e.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.1, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.525e77.2: %Cpp.long.as.ModAssignWith.impl.Op.type.f5773e.2 = struct_value () [concrete] -// CHECK:STDOUT: %ModAssignWith.facet.8da: %ModAssignWith.type.717 = facet_value %Cpp.long, (%ModAssignWith.impl_witness.189) [concrete] -// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.410: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long, %ModAssignWith.facet.8da) [concrete] -// CHECK:STDOUT: %.6d2: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.410, %ModAssignWith.facet.8da [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.b0d517.1: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.525e77.2, @Cpp.long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.b0d517.2: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.525e77.1, @Cpp.long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %BitAndAssignWith.type.f43: type = facet_type <@BitAndAssignWith, @BitAndAssignWith(%Cpp.long)> [concrete] @@ -2920,13 +2920,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.c736e6.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.71595b.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.c736e6.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitAndAssignWith.impl_witness.846: = impl_witness imports.%BitAndAssignWith.impl_witness_table.b63, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.facet.b3a: %BitAndAssignWith.type.f43 = facet_value %Cpp.long, (%BitAndAssignWith.impl_witness.846) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.f36: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long, %BitAndAssignWith.facet.b3a) [concrete] +// CHECK:STDOUT: %.45c: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.f36, %BitAndAssignWith.facet.b3a [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.248763.1: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.e44848.1: %Cpp.long.as.BitAndAssignWith.impl.Op.type.248763.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.248763.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.1, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.e44848.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.248763.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndAssignWith.facet.b3a: %BitAndAssignWith.type.f43 = facet_value %Cpp.long, (%BitAndAssignWith.impl_witness.846) [concrete] -// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.f36: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long, %BitAndAssignWith.facet.b3a) [concrete] -// CHECK:STDOUT: %.45c: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.f36, %BitAndAssignWith.facet.b3a [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.23b300.1: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.e44848.2, @Cpp.long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.23b300.2: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.e44848.1, @Cpp.long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %BitOrAssignWith.type.a3a: type = facet_type <@BitOrAssignWith, @BitOrAssignWith(%Cpp.long)> [concrete] @@ -2935,13 +2935,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.d2030e.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.210031.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.d2030e.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitOrAssignWith.impl_witness.578: = impl_witness imports.%BitOrAssignWith.impl_witness_table.78e, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.facet.74e: %BitOrAssignWith.type.a3a = facet_value %Cpp.long, (%BitOrAssignWith.impl_witness.578) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.be7: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long, %BitOrAssignWith.facet.74e) [concrete] +// CHECK:STDOUT: %.38c: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.be7, %BitOrAssignWith.facet.74e [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.58e84d.1: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.9be57a.1: %Cpp.long.as.BitOrAssignWith.impl.Op.type.58e84d.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.58e84d.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.1, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.9be57a.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.58e84d.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitOrAssignWith.facet.74e: %BitOrAssignWith.type.a3a = facet_value %Cpp.long, (%BitOrAssignWith.impl_witness.578) [concrete] -// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.be7: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long, %BitOrAssignWith.facet.74e) [concrete] -// CHECK:STDOUT: %.38c: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.be7, %BitOrAssignWith.facet.74e [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.278c73.1: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.9be57a.2, @Cpp.long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.278c73.2: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.9be57a.1, @Cpp.long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %BitXorAssignWith.type.14e: type = facet_type <@BitXorAssignWith, @BitXorAssignWith(%Cpp.long)> [concrete] @@ -2950,13 +2950,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.9c1c88.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.0098c4.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.9c1c88.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitXorAssignWith.impl_witness.970: = impl_witness imports.%BitXorAssignWith.impl_witness_table.10a, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.facet.2c3: %BitXorAssignWith.type.14e = facet_value %Cpp.long, (%BitXorAssignWith.impl_witness.970) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.c64: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long, %BitXorAssignWith.facet.2c3) [concrete] +// CHECK:STDOUT: %.350: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.c64, %BitXorAssignWith.facet.2c3 [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.7db318.1: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.848900.1: %Cpp.long.as.BitXorAssignWith.impl.Op.type.7db318.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.7db318.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.1, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.848900.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.7db318.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitXorAssignWith.facet.2c3: %BitXorAssignWith.type.14e = facet_value %Cpp.long, (%BitXorAssignWith.impl_witness.970) [concrete] -// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.c64: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long, %BitXorAssignWith.facet.2c3) [concrete] -// CHECK:STDOUT: %.350: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.c64, %BitXorAssignWith.facet.2c3 [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.dd3278.1: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.848900.2, @Cpp.long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.dd3278.2: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.848900.1, @Cpp.long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.type.35b: type = facet_type <@LeftShiftAssignWith, @LeftShiftAssignWith(%Cpp.long)> [concrete] @@ -2965,13 +2965,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.87f306.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.c718da.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.87f306.2 = struct_value () [symbolic] // CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.bdc: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.c4a, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.facet.fd8: %LeftShiftAssignWith.type.35b = facet_value %Cpp.long, (%LeftShiftAssignWith.impl_witness.bdc) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.982: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long, %LeftShiftAssignWith.facet.fd8) [concrete] +// CHECK:STDOUT: %.8c8: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.982, %LeftShiftAssignWith.facet.fd8 [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.deae1d.1: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.0844fd.1: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.deae1d.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.deae1d.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.0844fd.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.deae1d.2 = struct_value () [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.facet.fd8: %LeftShiftAssignWith.type.35b = facet_value %Cpp.long, (%LeftShiftAssignWith.impl_witness.bdc) [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.982: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long, %LeftShiftAssignWith.facet.fd8) [concrete] -// CHECK:STDOUT: %.8c8: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.982, %LeftShiftAssignWith.facet.fd8 [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.3859df.1: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.0844fd.2, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.3859df.2: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.0844fd.1, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.type.c07: type = facet_type <@RightShiftAssignWith, @RightShiftAssignWith(%Cpp.long)> [concrete] @@ -2980,13 +2980,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.f27273.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.afe2b4.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.f27273.2 = struct_value () [symbolic] // CHECK:STDOUT: %RightShiftAssignWith.impl_witness.a77: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.6aa, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.facet.9ad: %RightShiftAssignWith.type.c07 = facet_value %Cpp.long, (%RightShiftAssignWith.impl_witness.a77) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.cbc: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long, %RightShiftAssignWith.facet.9ad) [concrete] +// CHECK:STDOUT: %.df6: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.cbc, %RightShiftAssignWith.facet.9ad [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.b9cae1.1: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.0fc2da.1: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.b9cae1.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.b9cae1.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.0fc2da.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.b9cae1.2 = struct_value () [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.facet.9ad: %RightShiftAssignWith.type.c07 = facet_value %Cpp.long, (%RightShiftAssignWith.impl_witness.a77) [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.cbc: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long, %RightShiftAssignWith.facet.9ad) [concrete] -// CHECK:STDOUT: %.df6: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.cbc, %RightShiftAssignWith.facet.9ad [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.30be6a.1: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.0fc2da.2, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.30be6a.2: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.0fc2da.1, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.b5c) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -3302,13 +3302,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.23a: = impl_witness imports.%ImplicitAs.impl_witness_table.967 [concrete] // CHECK:STDOUT: %ImplicitAs.facet.8ee: %ImplicitAs.type.797 = facet_value %i32, (%ImplicitAs.impl_witness.23a) [concrete] // CHECK:STDOUT: %AddAssignWith.impl_witness.09e: = impl_witness imports.%AddAssignWith.impl_witness_table.d07, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.161: %AddAssignWith.type.1ad = facet_value %Cpp.long, (%AddAssignWith.impl_witness.09e) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.ff8: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i32, %AddAssignWith.facet.161) [concrete] +// CHECK:STDOUT: %.f21: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.ff8, %AddAssignWith.facet.161 [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.b1c40c.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.c16552.1: %Cpp.long.as.AddAssignWith.impl.Op.type.b1c40c.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.b1c40c.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.c16552.2: %Cpp.long.as.AddAssignWith.impl.Op.type.b1c40c.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.161: %AddAssignWith.type.1ad = facet_value %Cpp.long, (%AddAssignWith.impl_witness.09e) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.ff8: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i32, %AddAssignWith.facet.161) [concrete] -// CHECK:STDOUT: %.f21: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.ff8, %AddAssignWith.facet.161 [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.b20eeb.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.c16552.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.b20eeb.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.c16552.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.870: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.8ee) [concrete] @@ -3321,13 +3321,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.28533d.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.312ab3.2: %Cpp.long.as.SubAssignWith.impl.Op.type.28533d.2 = struct_value () [symbolic] // CHECK:STDOUT: %SubAssignWith.impl_witness.ef9: = impl_witness imports.%SubAssignWith.impl_witness_table.2e2, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %SubAssignWith.facet.e78: %SubAssignWith.type.da8 = facet_value %Cpp.long, (%SubAssignWith.impl_witness.ef9) [concrete] +// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.3f1: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%i32, %SubAssignWith.facet.e78) [concrete] +// CHECK:STDOUT: %.f05: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.3f1, %SubAssignWith.facet.e78 [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.55e325.1: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.5c3f3e.1: %Cpp.long.as.SubAssignWith.impl.Op.type.55e325.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.55e325.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.1, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.5c3f3e.2: %Cpp.long.as.SubAssignWith.impl.Op.type.55e325.2 = struct_value () [concrete] -// CHECK:STDOUT: %SubAssignWith.facet.e78: %SubAssignWith.type.da8 = facet_value %Cpp.long, (%SubAssignWith.impl_witness.ef9) [concrete] -// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.3f1: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%i32, %SubAssignWith.facet.e78) [concrete] -// CHECK:STDOUT: %.f05: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.3f1, %SubAssignWith.facet.e78 [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.759c33.1: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.5c3f3e.2, @Cpp.long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.759c33.2: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.5c3f3e.1, @Cpp.long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %MulAssignWith.type.a99: type = facet_type <@MulAssignWith, @MulAssignWith(%i32)> [concrete] @@ -3336,13 +3336,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.b2f827.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.0f3004.2: %Cpp.long.as.MulAssignWith.impl.Op.type.b2f827.2 = struct_value () [symbolic] // CHECK:STDOUT: %MulAssignWith.impl_witness.a7d: = impl_witness imports.%MulAssignWith.impl_witness_table.1b2, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %MulAssignWith.facet.b1a: %MulAssignWith.type.a99 = facet_value %Cpp.long, (%MulAssignWith.impl_witness.a7d) [concrete] +// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.184: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%i32, %MulAssignWith.facet.b1a) [concrete] +// CHECK:STDOUT: %.af0: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.184, %MulAssignWith.facet.b1a [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.cc7199.1: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.6aaeaa.1: %Cpp.long.as.MulAssignWith.impl.Op.type.cc7199.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.cc7199.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.1, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.6aaeaa.2: %Cpp.long.as.MulAssignWith.impl.Op.type.cc7199.2 = struct_value () [concrete] -// CHECK:STDOUT: %MulAssignWith.facet.b1a: %MulAssignWith.type.a99 = facet_value %Cpp.long, (%MulAssignWith.impl_witness.a7d) [concrete] -// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.184: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%i32, %MulAssignWith.facet.b1a) [concrete] -// CHECK:STDOUT: %.af0: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.184, %MulAssignWith.facet.b1a [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.411da1.1: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.6aaeaa.2, @Cpp.long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.411da1.2: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.6aaeaa.1, @Cpp.long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %DivAssignWith.type.49e: type = facet_type <@DivAssignWith, @DivAssignWith(%i32)> [concrete] @@ -3351,13 +3351,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.ebf1dc.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.5315c3.2: %Cpp.long.as.DivAssignWith.impl.Op.type.ebf1dc.2 = struct_value () [symbolic] // CHECK:STDOUT: %DivAssignWith.impl_witness.375: = impl_witness imports.%DivAssignWith.impl_witness_table.e07, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %DivAssignWith.facet.f15: %DivAssignWith.type.49e = facet_value %Cpp.long, (%DivAssignWith.impl_witness.375) [concrete] +// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.ccc: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%i32, %DivAssignWith.facet.f15) [concrete] +// CHECK:STDOUT: %.cfc: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.ccc, %DivAssignWith.facet.f15 [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.df415e.1: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.1a2b90.1: %Cpp.long.as.DivAssignWith.impl.Op.type.df415e.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.df415e.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.1, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.1a2b90.2: %Cpp.long.as.DivAssignWith.impl.Op.type.df415e.2 = struct_value () [concrete] -// CHECK:STDOUT: %DivAssignWith.facet.f15: %DivAssignWith.type.49e = facet_value %Cpp.long, (%DivAssignWith.impl_witness.375) [concrete] -// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.ccc: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%i32, %DivAssignWith.facet.f15) [concrete] -// CHECK:STDOUT: %.cfc: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.ccc, %DivAssignWith.facet.f15 [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.5f1f13.1: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.1a2b90.2, @Cpp.long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.5f1f13.2: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.1a2b90.1, @Cpp.long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %ModAssignWith.type.124: type = facet_type <@ModAssignWith, @ModAssignWith(%i32)> [concrete] @@ -3366,13 +3366,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.64482e.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.833b27.2: %Cpp.long.as.ModAssignWith.impl.Op.type.64482e.2 = struct_value () [symbolic] // CHECK:STDOUT: %ModAssignWith.impl_witness.b09: = impl_witness imports.%ModAssignWith.impl_witness_table.d63, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %ModAssignWith.facet.13d: %ModAssignWith.type.124 = facet_value %Cpp.long, (%ModAssignWith.impl_witness.b09) [concrete] +// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.d72: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%i32, %ModAssignWith.facet.13d) [concrete] +// CHECK:STDOUT: %.4bb: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.d72, %ModAssignWith.facet.13d [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.c56756.1: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.d309e9.1: %Cpp.long.as.ModAssignWith.impl.Op.type.c56756.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.c56756.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.1, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.d309e9.2: %Cpp.long.as.ModAssignWith.impl.Op.type.c56756.2 = struct_value () [concrete] -// CHECK:STDOUT: %ModAssignWith.facet.13d: %ModAssignWith.type.124 = facet_value %Cpp.long, (%ModAssignWith.impl_witness.b09) [concrete] -// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.d72: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%i32, %ModAssignWith.facet.13d) [concrete] -// CHECK:STDOUT: %.4bb: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.d72, %ModAssignWith.facet.13d [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.d1c630.1: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.d309e9.2, @Cpp.long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.d1c630.2: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.d309e9.1, @Cpp.long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %BitAndAssignWith.type.f47: type = facet_type <@BitAndAssignWith, @BitAndAssignWith(%i32)> [concrete] @@ -3381,13 +3381,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.c736e6.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.71595b.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.c736e6.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitAndAssignWith.impl_witness.67b: = impl_witness imports.%BitAndAssignWith.impl_witness_table.b63, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.facet.a97: %BitAndAssignWith.type.f47 = facet_value %Cpp.long, (%BitAndAssignWith.impl_witness.67b) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.5a4: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%i32, %BitAndAssignWith.facet.a97) [concrete] +// CHECK:STDOUT: %.79c: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.5a4, %BitAndAssignWith.facet.a97 [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.627a6d.1: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.f55682.1: %Cpp.long.as.BitAndAssignWith.impl.Op.type.627a6d.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.627a6d.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.1, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.f55682.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.627a6d.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndAssignWith.facet.a97: %BitAndAssignWith.type.f47 = facet_value %Cpp.long, (%BitAndAssignWith.impl_witness.67b) [concrete] -// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.5a4: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%i32, %BitAndAssignWith.facet.a97) [concrete] -// CHECK:STDOUT: %.79c: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.5a4, %BitAndAssignWith.facet.a97 [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.b5150d.1: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.f55682.2, @Cpp.long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.b5150d.2: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.f55682.1, @Cpp.long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %BitOrAssignWith.type.8b6: type = facet_type <@BitOrAssignWith, @BitOrAssignWith(%i32)> [concrete] @@ -3396,13 +3396,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.d2030e.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.210031.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.d2030e.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitOrAssignWith.impl_witness.f5f: = impl_witness imports.%BitOrAssignWith.impl_witness_table.78e, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.facet.abf: %BitOrAssignWith.type.8b6 = facet_value %Cpp.long, (%BitOrAssignWith.impl_witness.f5f) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.69a: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%i32, %BitOrAssignWith.facet.abf) [concrete] +// CHECK:STDOUT: %.8bb: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.69a, %BitOrAssignWith.facet.abf [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.3e5d47.1: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.cd92e9.1: %Cpp.long.as.BitOrAssignWith.impl.Op.type.3e5d47.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.3e5d47.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.1, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.cd92e9.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.3e5d47.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitOrAssignWith.facet.abf: %BitOrAssignWith.type.8b6 = facet_value %Cpp.long, (%BitOrAssignWith.impl_witness.f5f) [concrete] -// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.69a: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%i32, %BitOrAssignWith.facet.abf) [concrete] -// CHECK:STDOUT: %.8bb: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.69a, %BitOrAssignWith.facet.abf [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.def779.1: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.cd92e9.2, @Cpp.long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.def779.2: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.cd92e9.1, @Cpp.long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %BitXorAssignWith.type.e76: type = facet_type <@BitXorAssignWith, @BitXorAssignWith(%i32)> [concrete] @@ -3411,13 +3411,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.9c1c88.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.0098c4.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.9c1c88.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitXorAssignWith.impl_witness.981: = impl_witness imports.%BitXorAssignWith.impl_witness_table.10a, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.facet.4f1: %BitXorAssignWith.type.e76 = facet_value %Cpp.long, (%BitXorAssignWith.impl_witness.981) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.de2: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%i32, %BitXorAssignWith.facet.4f1) [concrete] +// CHECK:STDOUT: %.caa: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.de2, %BitXorAssignWith.facet.4f1 [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.e5b4a2.1: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.c82d23.1: %Cpp.long.as.BitXorAssignWith.impl.Op.type.e5b4a2.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.e5b4a2.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.1, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.c82d23.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.e5b4a2.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitXorAssignWith.facet.4f1: %BitXorAssignWith.type.e76 = facet_value %Cpp.long, (%BitXorAssignWith.impl_witness.981) [concrete] -// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.de2: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%i32, %BitXorAssignWith.facet.4f1) [concrete] -// CHECK:STDOUT: %.caa: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.de2, %BitXorAssignWith.facet.4f1 [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.9350dc.1: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.c82d23.2, @Cpp.long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.9350dc.2: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.c82d23.1, @Cpp.long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.type.e04: type = facet_type <@LeftShiftAssignWith, @LeftShiftAssignWith(%i32)> [concrete] @@ -3426,13 +3426,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.87f306.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.c718da.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.87f306.2 = struct_value () [symbolic] // CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.d2c: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.c4a, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.facet.e7d: %LeftShiftAssignWith.type.e04 = facet_value %Cpp.long, (%LeftShiftAssignWith.impl_witness.d2c) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.347: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%i32, %LeftShiftAssignWith.facet.e7d) [concrete] +// CHECK:STDOUT: %.864: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.347, %LeftShiftAssignWith.facet.e7d [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.0a629c.1: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.a56dbe.1: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.0a629c.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.0a629c.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.a56dbe.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.0a629c.2 = struct_value () [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.facet.e7d: %LeftShiftAssignWith.type.e04 = facet_value %Cpp.long, (%LeftShiftAssignWith.impl_witness.d2c) [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.347: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%i32, %LeftShiftAssignWith.facet.e7d) [concrete] -// CHECK:STDOUT: %.864: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.347, %LeftShiftAssignWith.facet.e7d [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.077c86.1: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.a56dbe.2, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.077c86.2: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.a56dbe.1, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.type.db2: type = facet_type <@RightShiftAssignWith, @RightShiftAssignWith(%i32)> [concrete] @@ -3441,13 +3441,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.f27273.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.afe2b4.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.f27273.2 = struct_value () [symbolic] // CHECK:STDOUT: %RightShiftAssignWith.impl_witness.a1a: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.6aa, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.facet.d5c: %RightShiftAssignWith.type.db2 = facet_value %Cpp.long, (%RightShiftAssignWith.impl_witness.a1a) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.6a2: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%i32, %RightShiftAssignWith.facet.d5c) [concrete] +// CHECK:STDOUT: %.a375: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.6a2, %RightShiftAssignWith.facet.d5c [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.4051bd.1: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.a8366c.1: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.4051bd.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.4051bd.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.a8366c.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.4051bd.2 = struct_value () [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.facet.d5c: %RightShiftAssignWith.type.db2 = facet_value %Cpp.long, (%RightShiftAssignWith.impl_witness.a1a) [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.6a2: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%i32, %RightShiftAssignWith.facet.d5c) [concrete] -// CHECK:STDOUT: %.a375: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.6a2, %RightShiftAssignWith.facet.d5c [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.777143.1: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.a8366c.2, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.777143.2: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.a8366c.1, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -3776,13 +3776,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.4a4937.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%U.65a) [symbolic] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.199fad.2: %Cpp.long.as.AddAssignWith.impl.Op.type.4a4937.2 = struct_value () [symbolic] // CHECK:STDOUT: %AddAssignWith.impl_witness.1b7: = impl_witness imports.%AddAssignWith.impl_witness_table.d07, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.4b6: %AddAssignWith.type.144 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.1b7) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.3dd: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(Core.IntLiteral, %AddAssignWith.facet.4b6) [concrete] +// CHECK:STDOUT: %.ebe: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.3dd, %AddAssignWith.facet.4b6 [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.365040.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.d85b7d.1: %Cpp.long.as.AddAssignWith.impl.Op.type.365040.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.365040.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.d85b7d.2: %Cpp.long.as.AddAssignWith.impl.Op.type.365040.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.4b6: %AddAssignWith.type.144 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.1b7) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.3dd: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(Core.IntLiteral, %AddAssignWith.facet.4b6) [concrete] -// CHECK:STDOUT: %.ebe: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.3dd, %AddAssignWith.facet.4b6 [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.69abc1.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.d85b7d.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet) [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.69abc1.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.d85b7d.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -3892,11 +3892,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -3910,13 +3910,13 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.23a: = impl_witness imports.%ImplicitAs.impl_witness_table.967 [concrete] // CHECK:STDOUT: %ImplicitAs.facet.8ee: %ImplicitAs.type.797 = facet_value %i32, (%ImplicitAs.impl_witness.23a) [concrete] // CHECK:STDOUT: %AddAssignWith.impl_witness.09e: = impl_witness imports.%AddAssignWith.impl_witness_table.d07, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.161: %AddAssignWith.type.1ad = facet_value %Cpp.long, (%AddAssignWith.impl_witness.09e) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.ff8: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i32, %AddAssignWith.facet.161) [concrete] +// CHECK:STDOUT: %.f21: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.ff8, %AddAssignWith.facet.161 [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.b1c40c.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.c16552.1: %Cpp.long.as.AddAssignWith.impl.Op.type.b1c40c.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.b1c40c.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.c16552.2: %Cpp.long.as.AddAssignWith.impl.Op.type.b1c40c.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.161: %AddAssignWith.type.1ad = facet_value %Cpp.long, (%AddAssignWith.impl_witness.09e) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.ff8: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i32, %AddAssignWith.facet.161) [concrete] -// CHECK:STDOUT: %.f21: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.ff8, %AddAssignWith.facet.161 [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.b20eeb.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.c16552.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.b20eeb.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.c16552.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.8ee) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.870: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.8ee) [concrete] @@ -4164,11 +4164,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.be5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.60e: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.be5 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.88f: = impl_witness imports.%ImplicitAs.impl_witness_table.79a, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.56f: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.14a: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.56f = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.1ad: %ImplicitAs.type.f26 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.88f) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.3d4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u32, %ImplicitAs.facet.1ad) [concrete] // CHECK:STDOUT: %.8ad: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.3d4, %ImplicitAs.facet.1ad [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.56f: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.14a: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.56f = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f80: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.14a [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.14a, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.9ac: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -4213,11 +4213,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.253: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet.253) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet.253 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f84: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] 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 faf659028393..e36d2eab4e90 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 @@ -622,11 +622,11 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.dfd: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From.fe9) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.914: %Int.as.ImplicitAs.impl.Convert.type.dfd = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.b1b: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.246: %ImplicitAs.type.e56 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.b1b) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4cd: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.246) [concrete] // CHECK:STDOUT: %.7ee: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4cd, %ImplicitAs.facet.246 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.2f8: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -638,20 +638,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.c26: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl.753(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.3e7: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.4dc: %Core.IntLiteral.as.As.impl.Convert.type.3e7 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.074 = facet_value Core.IntLiteral, (%As.impl_witness.c26) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.851: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i64, %As.facet) [concrete] // CHECK:STDOUT: %.0d9: type = fn_type_with_self_type %As.WithSelf.Convert.type.851, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.3e7: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.753(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.4dc: %Core.IntLiteral.as.As.impl.Convert.type.3e7 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.4dc [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.4dc, @Core.IntLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.7df: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.0f5: = impl_witness imports.%ImplicitAs.impl_witness_table.b7c, @Int.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.835: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.c7a: %Int.as.ImplicitAs.impl.Convert.type.835 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.47d: %ImplicitAs.type.5be = facet_value %i64, (%ImplicitAs.impl_witness.0f5) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.07a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.47d) [concrete] // CHECK:STDOUT: %.0b0: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.07a, %ImplicitAs.facet.47d [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.835: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.c7a: %Int.as.ImplicitAs.impl.Convert.type.835 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.836, %Int.as.ImplicitAs.impl.Convert.c7a [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.c7a, @Int.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.a55: = bound_method %int_1.836, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -667,11 +667,11 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.253: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet.253) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet.253 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f84: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -823,11 +823,11 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.802: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.d6a(%From.fe9) [symbolic] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.7a2: %UInt.as.ImplicitAs.impl.Convert.type.802 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.b83: = impl_witness imports.%ImplicitAs.impl_witness_table.79a, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.858: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.e4f: %ImplicitAs.type.1b9 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.b83) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.338: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u64, %ImplicitAs.facet.e4f) [concrete] // CHECK:STDOUT: %.8b3: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.338, %ImplicitAs.facet.e4f [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.858: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.858 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.858, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.ed4: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -839,20 +839,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.16e: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.d83(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.81c: %Core.IntLiteral.as.As.impl.Convert.type.16e = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.6d9: = impl_witness imports.%As.impl_witness_table.43c, @Core.IntLiteral.as.As.impl.d83(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.7a3: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.d83(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.f4a: %Core.IntLiteral.as.As.impl.Convert.type.7a3 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.786 = facet_value Core.IntLiteral, (%As.impl_witness.6d9) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.f47: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u64, %As.facet) [concrete] // CHECK:STDOUT: %.ce6: type = fn_type_with_self_type %As.WithSelf.Convert.type.f47, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.7a3: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.d83(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.f4a: %Core.IntLiteral.as.As.impl.Convert.type.7a3 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.f4a [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.f4a, @Core.IntLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.c5a: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.a0b: = impl_witness imports.%ImplicitAs.impl_witness_table.7eb, @UInt.as.ImplicitAs.impl.d6a(%int_64) [concrete] -// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.b8d: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.d6a(%int_64) [concrete] -// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.4e3: %UInt.as.ImplicitAs.impl.Convert.type.b8d = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.49b: %ImplicitAs.type.5be = facet_value %u64, (%ImplicitAs.impl_witness.a0b) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.f7d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.49b) [concrete] // CHECK:STDOUT: %.5bc: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.f7d, %ImplicitAs.facet.49b [concrete] +// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.b8d: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.d6a(%int_64) [concrete] +// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.4e3: %UInt.as.ImplicitAs.impl.Convert.type.b8d = struct_value () [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.169, %UInt.as.ImplicitAs.impl.Convert.4e3 [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %UInt.as.ImplicitAs.impl.Convert.4e3, @UInt.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.eec: = bound_method %int_1.169, %UInt.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -868,11 +868,11 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.253: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet.253) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet.253 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f84: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1083,11 +1083,11 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.253: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet.253) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet.253 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @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] @@ -1620,6 +1620,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.244: = impl_witness imports.%ImplicitAs.impl_witness_table.591 [concrete] // CHECK:STDOUT: %ImplicitAs.facet.1e8: %ImplicitAs.type.a57 = facet_value %i64, (%ImplicitAs.impl_witness.244) [concrete] // CHECK:STDOUT: %EqWith.impl_witness.26c: = impl_witness imports.%EqWith.impl_witness_table.786, @Cpp.long_long.as.EqWith.impl.e41(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %EqWith.facet.ab5: %EqWith.type.205 = facet_value %Cpp.long_long, (%EqWith.impl_witness.26c) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.24d: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%i64, %EqWith.facet.ab5) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.d95: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%i64, %EqWith.facet.ab5) [concrete] +// CHECK:STDOUT: %.31c: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.24d, %EqWith.facet.ab5 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.type.b4ff3a.1: type = fn_type @Cpp.long_long.as.EqWith.impl.Equal.2, @Cpp.long_long.as.EqWith.impl.e41(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.92eb47.1: %Cpp.long_long.as.EqWith.impl.Equal.type.b4ff3a.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.type.cafb54.1: type = fn_type @Cpp.long_long.as.EqWith.impl.NotEqual.2, @Cpp.long_long.as.EqWith.impl.e41(%ImplicitAs.facet.1e8) [concrete] @@ -1628,10 +1632,6 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.92eb47.2: %Cpp.long_long.as.EqWith.impl.Equal.type.b4ff3a.2 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.type.cafb54.2: type = fn_type @Cpp.long_long.as.EqWith.impl.NotEqual.1, @Cpp.long_long.as.EqWith.impl.e41(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.3f2f14.2: %Cpp.long_long.as.EqWith.impl.NotEqual.type.cafb54.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.ab5: %EqWith.type.205 = facet_value %Cpp.long_long, (%EqWith.impl_witness.26c) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.24d: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%i64, %EqWith.facet.ab5) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.d95: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%i64, %EqWith.facet.ab5) [concrete] -// CHECK:STDOUT: %.31c: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.24d, %EqWith.facet.ab5 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.1d7588.1: = specific_function %Cpp.long_long.as.EqWith.impl.Equal.92eb47.2, @Cpp.long_long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.1d7588.2: = specific_function %Cpp.long_long.as.EqWith.impl.Equal.92eb47.1, @Cpp.long_long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.ef1: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.1e8) [concrete] @@ -1660,6 +1660,12 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.ede047.2: %Cpp.long_long.as.OrderedWith.impl.Less.type.366178.2 = struct_value () [symbolic] // CHECK:STDOUT: %OrderedWith.type.024: type = facet_type <@OrderedWith, @OrderedWith(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %OrderedWith.impl_witness.b33: = impl_witness imports.%OrderedWith.impl_witness_table.163, @Cpp.long_long.as.OrderedWith.impl.f88(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %OrderedWith.facet.14b: %OrderedWith.type.cd1 = facet_value %Cpp.long_long, (%OrderedWith.impl_witness.b33) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.7be: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.14b) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.468: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.14b) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.991: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.14b) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.75f: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.14b) [concrete] +// CHECK:STDOUT: %.37f: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.991, %OrderedWith.facet.14b [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.type.a778f9.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Less.2, @Cpp.long_long.as.OrderedWith.impl.f88(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.453ade.1: %Cpp.long_long.as.OrderedWith.impl.Less.type.a778f9.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.4dcf15.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long_long.as.OrderedWith.impl.f88(%ImplicitAs.facet.1e8) [concrete] @@ -1676,12 +1682,6 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.402487.2: %Cpp.long_long.as.OrderedWith.impl.Greater.type.e13c3d.2 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.5a6cfb.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long_long.as.OrderedWith.impl.f88(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.37bc68.2: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.5a6cfb.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.14b: %OrderedWith.type.cd1 = facet_value %Cpp.long_long, (%OrderedWith.impl_witness.b33) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.7be: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.14b) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.468: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.14b) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.991: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.14b) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.75f: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.14b) [concrete] -// CHECK:STDOUT: %.37f: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.991, %OrderedWith.facet.14b [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.07b730.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.Greater.402487.2, @Cpp.long_long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.07b730.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.Greater.402487.1, @Cpp.long_long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %.227: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.7be, %OrderedWith.facet.14b [concrete] @@ -1694,6 +1694,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.2f7343.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.b2405a.2, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.2f7343.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.b2405a.1, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %EqWith.impl_witness.abe: = impl_witness imports.%EqWith.impl_witness_table.786, @Cpp.long_long.as.EqWith.impl.e41(%ImplicitAs.facet.cc9) [concrete] +// CHECK:STDOUT: %EqWith.facet.0a0: %EqWith.type.61f = facet_value %Cpp.long_long, (%EqWith.impl_witness.abe) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.ee7: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.0a0) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.806: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.0a0) [concrete] +// CHECK:STDOUT: %.070: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.ee7, %EqWith.facet.0a0 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.type.f10080.1: type = fn_type @Cpp.long_long.as.EqWith.impl.Equal.2, @Cpp.long_long.as.EqWith.impl.e41(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.a699b9.1: %Cpp.long_long.as.EqWith.impl.Equal.type.f10080.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.type.35a231.1: type = fn_type @Cpp.long_long.as.EqWith.impl.NotEqual.2, @Cpp.long_long.as.EqWith.impl.e41(%ImplicitAs.facet.cc9) [concrete] @@ -1702,16 +1706,18 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.a699b9.2: %Cpp.long_long.as.EqWith.impl.Equal.type.f10080.2 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.type.35a231.2: type = fn_type @Cpp.long_long.as.EqWith.impl.NotEqual.1, @Cpp.long_long.as.EqWith.impl.e41(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.870d75.2: %Cpp.long_long.as.EqWith.impl.NotEqual.type.35a231.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.0a0: %EqWith.type.61f = facet_value %Cpp.long_long, (%EqWith.impl_witness.abe) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.ee7: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.0a0) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.806: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.0a0) [concrete] -// CHECK:STDOUT: %.070: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.ee7, %EqWith.facet.0a0 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.78fda2.1: = specific_function %Cpp.long_long.as.EqWith.impl.Equal.a699b9.2, @Cpp.long_long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.78fda2.2: = specific_function %Cpp.long_long.as.EqWith.impl.Equal.a699b9.1, @Cpp.long_long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %.b96: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.806, %EqWith.facet.0a0 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.6e28cf.1: = specific_function %Cpp.long_long.as.EqWith.impl.NotEqual.870d75.2, @Cpp.long_long.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.6e28cf.2: = specific_function %Cpp.long_long.as.EqWith.impl.NotEqual.870d75.1, @Cpp.long_long.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %OrderedWith.impl_witness.184: = impl_witness imports.%OrderedWith.impl_witness_table.163, @Cpp.long_long.as.OrderedWith.impl.f88(%ImplicitAs.facet.cc9) [concrete] +// CHECK:STDOUT: %OrderedWith.facet.91e: %OrderedWith.type.024 = facet_value %Cpp.long_long, (%OrderedWith.impl_witness.184) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.457: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.91e) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.f2e: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.91e) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.021: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.91e) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.da1: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.91e) [concrete] +// CHECK:STDOUT: %.428: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.021, %OrderedWith.facet.91e [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.type.713f6d.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Less.2, @Cpp.long_long.as.OrderedWith.impl.f88(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.963b6f.1: %Cpp.long_long.as.OrderedWith.impl.Less.type.713f6d.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.f5eed7.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long_long.as.OrderedWith.impl.f88(%ImplicitAs.facet.cc9) [concrete] @@ -1728,12 +1734,6 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.c3dee8.2: %Cpp.long_long.as.OrderedWith.impl.Greater.type.7a8931.2 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.7749a7.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long_long.as.OrderedWith.impl.f88(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.241850.2: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.7749a7.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.91e: %OrderedWith.type.024 = facet_value %Cpp.long_long, (%OrderedWith.impl_witness.184) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.457: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.91e) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.f2e: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.91e) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.021: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.91e) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.da1: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.91e) [concrete] -// CHECK:STDOUT: %.428: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.021, %OrderedWith.facet.91e [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.ac49c5.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.Greater.c3dee8.2, @Cpp.long_long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.ac49c5.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.Greater.c3dee8.1, @Cpp.long_long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %.18d: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.457, %OrderedWith.facet.91e [concrete] @@ -2076,6 +2076,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.244: = impl_witness imports.%ImplicitAs.impl_witness_table.591 [concrete] // CHECK:STDOUT: %ImplicitAs.facet.1e8: %ImplicitAs.type.a57 = facet_value %i64, (%ImplicitAs.impl_witness.244) [concrete] // CHECK:STDOUT: %EqWith.impl_witness.65c: = impl_witness imports.%EqWith.impl_witness_table.701, @T.as_type.as.EqWith.impl.a5e(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %EqWith.facet.2e8: %EqWith.type.e35 = facet_value %i64, (%EqWith.impl_witness.65c) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.29e: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.2e8) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.b3f: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.2e8) [concrete] +// CHECK:STDOUT: %.9e7: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.29e, %EqWith.facet.2e8 [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.064cd7.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.6, @T.as_type.as.EqWith.impl.a5e(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bf507c.1: %T.as_type.as.EqWith.impl.Equal.type.064cd7.1 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.7d9c52.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.6, @T.as_type.as.EqWith.impl.a5e(%ImplicitAs.facet.1e8) [concrete] @@ -2084,10 +2088,6 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bf507c.2: %T.as_type.as.EqWith.impl.Equal.type.064cd7.2 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.7d9c52.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.5, @T.as_type.as.EqWith.impl.a5e(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.48bb9a.2: %T.as_type.as.EqWith.impl.NotEqual.type.7d9c52.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.2e8: %EqWith.type.e35 = facet_value %i64, (%EqWith.impl_witness.65c) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.29e: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.2e8) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.b3f: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.2e8) [concrete] -// CHECK:STDOUT: %.9e7: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.29e, %EqWith.facet.2e8 [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.a6cfc4.1: = specific_function %T.as_type.as.EqWith.impl.Equal.bf507c.2, @T.as_type.as.EqWith.impl.Equal.5(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.a6cfc4.2: = specific_function %T.as_type.as.EqWith.impl.Equal.bf507c.1, @T.as_type.as.EqWith.impl.Equal.6(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.ef1: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.1e8) [concrete] @@ -2115,6 +2115,12 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.ceb779.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.6, @T.as_type.as.OrderedWith.impl.17b(%T.d70) [symbolic] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.c28535.2: %T.as_type.as.OrderedWith.impl.Less.type.ceb779.2 = struct_value () [symbolic] // CHECK:STDOUT: %OrderedWith.impl_witness.2f3: = impl_witness imports.%OrderedWith.impl_witness_table.101, @T.as_type.as.OrderedWith.impl.17b(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %OrderedWith.facet.cc2: %OrderedWith.type.b28 = facet_value %i64, (%OrderedWith.impl_witness.2f3) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.536: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.cc2) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.48b: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.cc2) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.260: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.cc2) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.362: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.cc2) [concrete] +// CHECK:STDOUT: %.664: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.260, %OrderedWith.facet.cc2 [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.656ca5.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.6, @T.as_type.as.OrderedWith.impl.17b(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.e1f155.1: %T.as_type.as.OrderedWith.impl.Less.type.656ca5.1 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.23dc0a.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6, @T.as_type.as.OrderedWith.impl.17b(%ImplicitAs.facet.1e8) [concrete] @@ -2131,12 +2137,6 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.0b6df5.2: %T.as_type.as.OrderedWith.impl.Greater.type.0967cb.2 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.d6de62.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5, @T.as_type.as.OrderedWith.impl.17b(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.778748.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.d6de62.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.cc2: %OrderedWith.type.b28 = facet_value %i64, (%OrderedWith.impl_witness.2f3) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.536: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.cc2) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.48b: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.cc2) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.260: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.cc2) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.362: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.cc2) [concrete] -// CHECK:STDOUT: %.664: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.260, %OrderedWith.facet.cc2 [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.496733.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.0b6df5.2, @T.as_type.as.OrderedWith.impl.Greater.5(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.496733.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.0b6df5.1, @T.as_type.as.OrderedWith.impl.Greater.6(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %.e33: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.536, %OrderedWith.facet.cc2 [concrete] @@ -2149,6 +2149,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.2bc7bc.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.22dca3.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.5(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.2bc7bc.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.22dca3.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %EqWith.impl_witness.f16: = impl_witness imports.%EqWith.impl_witness_table.701, @T.as_type.as.EqWith.impl.a5e(%ImplicitAs.facet.cc9) [concrete] +// CHECK:STDOUT: %EqWith.facet.146: %EqWith.type.e35 = facet_value Core.IntLiteral, (%EqWith.impl_witness.f16) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.9b3: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.146) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.921: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.146) [concrete] +// CHECK:STDOUT: %.01d: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.9b3, %EqWith.facet.146 [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.eda188.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.6, @T.as_type.as.EqWith.impl.a5e(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.8b24a0.1: %T.as_type.as.EqWith.impl.Equal.type.eda188.1 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.c69aed.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.6, @T.as_type.as.EqWith.impl.a5e(%ImplicitAs.facet.cc9) [concrete] @@ -2157,10 +2161,6 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.8b24a0.2: %T.as_type.as.EqWith.impl.Equal.type.eda188.2 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.c69aed.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.5, @T.as_type.as.EqWith.impl.a5e(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.dce29c.2: %T.as_type.as.EqWith.impl.NotEqual.type.c69aed.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.146: %EqWith.type.e35 = facet_value Core.IntLiteral, (%EqWith.impl_witness.f16) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.9b3: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.146) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.921: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.146) [concrete] -// CHECK:STDOUT: %.01d: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.9b3, %EqWith.facet.146 [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.f7e3db.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.8b24a0.2 [concrete] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.faa4cf.1: = specific_function %T.as_type.as.EqWith.impl.Equal.8b24a0.2, @T.as_type.as.EqWith.impl.Equal.5(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %bound_method.9a7805.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.faa4cf.1 [concrete] @@ -2175,6 +2175,12 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.1064c0.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.dce29c.1, @T.as_type.as.EqWith.impl.NotEqual.6(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %bound_method.86e496.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.1064c0.2 [concrete] // CHECK:STDOUT: %OrderedWith.impl_witness.2e8: = impl_witness imports.%OrderedWith.impl_witness_table.101, @T.as_type.as.OrderedWith.impl.17b(%ImplicitAs.facet.cc9) [concrete] +// CHECK:STDOUT: %OrderedWith.facet.207: %OrderedWith.type.b28 = facet_value Core.IntLiteral, (%OrderedWith.impl_witness.2e8) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.14e: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.207) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.414: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.207) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.574: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.207) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.b08: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.207) [concrete] +// CHECK:STDOUT: %.68d: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.574, %OrderedWith.facet.207 [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.3a037c.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.6, @T.as_type.as.OrderedWith.impl.17b(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.3b87ee.1: %T.as_type.as.OrderedWith.impl.Less.type.3a037c.1 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.c47891.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6, @T.as_type.as.OrderedWith.impl.17b(%ImplicitAs.facet.cc9) [concrete] @@ -2191,12 +2197,6 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bb1ee5.2: %T.as_type.as.OrderedWith.impl.Greater.type.847fb5.2 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.34cd2b.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5, @T.as_type.as.OrderedWith.impl.17b(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.216ae0.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.34cd2b.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.207: %OrderedWith.type.b28 = facet_value Core.IntLiteral, (%OrderedWith.impl_witness.2e8) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.14e: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.207) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.414: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.207) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.574: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.207) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.b08: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.207) [concrete] -// CHECK:STDOUT: %.68d: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.574, %OrderedWith.facet.207 [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.f81b1d.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.bb1ee5.2 [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.1552dd.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.bb1ee5.2, @T.as_type.as.OrderedWith.impl.Greater.5(%ImplicitAs.facet.cc9) [concrete] // CHECK:STDOUT: %bound_method.f9770f.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.1552dd.1 [concrete] @@ -2561,13 +2561,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.26f: = impl_witness imports.%ImplicitAs.impl_witness_table.f48, @T.as_type.as.ImplicitAs.impl(%Copy.facet) [concrete] // CHECK:STDOUT: %ImplicitAs.facet.030: %ImplicitAs.type.a57 = facet_value %Cpp.long_long, (%ImplicitAs.impl_witness.26f) [concrete] // CHECK:STDOUT: %AddAssignWith.impl_witness.0d5: = impl_witness imports.%AddAssignWith.impl_witness_table.f2f, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.030) [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.85e: %AddAssignWith.type.8a9 = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.0d5) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.95c: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long_long, %AddAssignWith.facet.85e) [concrete] +// CHECK:STDOUT: %.9d2: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.95c, %AddAssignWith.facet.85e [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.b4dd51.1: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.0e05f5.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.b4dd51.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.b4dd51.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.1, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.0e05f5.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.b4dd51.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.85e: %AddAssignWith.type.8a9 = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.0d5) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.95c: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long_long, %AddAssignWith.facet.85e) [concrete] -// CHECK:STDOUT: %.9d2: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.95c, %AddAssignWith.facet.85e [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.48fc4a.1: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.0e05f5.2, @Cpp.long_long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.48fc4a.2: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.0e05f5.1, @Cpp.long_long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %SubAssignWith.type.143: type = facet_type <@SubAssignWith, @SubAssignWith(%Cpp.long_long)> [concrete] @@ -2576,13 +2576,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.9980fa.2: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.2, @Cpp.long_long.as.SubAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.726c91.2: %Cpp.long_long.as.SubAssignWith.impl.Op.type.9980fa.2 = struct_value () [symbolic] // CHECK:STDOUT: %SubAssignWith.impl_witness.5a8: = impl_witness imports.%SubAssignWith.impl_witness_table.1c3, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.030) [concrete] +// CHECK:STDOUT: %SubAssignWith.facet.9f8: %SubAssignWith.type.143 = facet_value %Cpp.long_long, (%SubAssignWith.impl_witness.5a8) [concrete] +// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.762: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long_long, %SubAssignWith.facet.9f8) [concrete] +// CHECK:STDOUT: %.0fb: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.762, %SubAssignWith.facet.9f8 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.59c3e0.1: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.2, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.fa0f8d.1: %Cpp.long_long.as.SubAssignWith.impl.Op.type.59c3e0.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.59c3e0.2: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.1, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.fa0f8d.2: %Cpp.long_long.as.SubAssignWith.impl.Op.type.59c3e0.2 = struct_value () [concrete] -// CHECK:STDOUT: %SubAssignWith.facet.9f8: %SubAssignWith.type.143 = facet_value %Cpp.long_long, (%SubAssignWith.impl_witness.5a8) [concrete] -// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.762: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long_long, %SubAssignWith.facet.9f8) [concrete] -// CHECK:STDOUT: %.0fb: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.762, %SubAssignWith.facet.9f8 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.f50fea.1: = specific_function %Cpp.long_long.as.SubAssignWith.impl.Op.fa0f8d.2, @Cpp.long_long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.f50fea.2: = specific_function %Cpp.long_long.as.SubAssignWith.impl.Op.fa0f8d.1, @Cpp.long_long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %MulAssignWith.type.6ad: type = facet_type <@MulAssignWith, @MulAssignWith(%Cpp.long_long)> [concrete] @@ -2591,13 +2591,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.84ad55.2: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.2, @Cpp.long_long.as.MulAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.d6b6aa.2: %Cpp.long_long.as.MulAssignWith.impl.Op.type.84ad55.2 = struct_value () [symbolic] // CHECK:STDOUT: %MulAssignWith.impl_witness.955: = impl_witness imports.%MulAssignWith.impl_witness_table.fa8, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.030) [concrete] +// CHECK:STDOUT: %MulAssignWith.facet.51f: %MulAssignWith.type.6ad = facet_value %Cpp.long_long, (%MulAssignWith.impl_witness.955) [concrete] +// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.58e: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long_long, %MulAssignWith.facet.51f) [concrete] +// CHECK:STDOUT: %.fdf: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.58e, %MulAssignWith.facet.51f [concrete] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.e02657.1: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.2, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.b6e63f.1: %Cpp.long_long.as.MulAssignWith.impl.Op.type.e02657.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.e02657.2: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.1, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.b6e63f.2: %Cpp.long_long.as.MulAssignWith.impl.Op.type.e02657.2 = struct_value () [concrete] -// CHECK:STDOUT: %MulAssignWith.facet.51f: %MulAssignWith.type.6ad = facet_value %Cpp.long_long, (%MulAssignWith.impl_witness.955) [concrete] -// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.58e: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long_long, %MulAssignWith.facet.51f) [concrete] -// CHECK:STDOUT: %.fdf: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.58e, %MulAssignWith.facet.51f [concrete] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.6524e5.1: = specific_function %Cpp.long_long.as.MulAssignWith.impl.Op.b6e63f.2, @Cpp.long_long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.6524e5.2: = specific_function %Cpp.long_long.as.MulAssignWith.impl.Op.b6e63f.1, @Cpp.long_long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %DivAssignWith.type.309: type = facet_type <@DivAssignWith, @DivAssignWith(%Cpp.long_long)> [concrete] @@ -2606,13 +2606,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.d93afb.2: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.2, @Cpp.long_long.as.DivAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.c0ddb1.2: %Cpp.long_long.as.DivAssignWith.impl.Op.type.d93afb.2 = struct_value () [symbolic] // CHECK:STDOUT: %DivAssignWith.impl_witness.604: = impl_witness imports.%DivAssignWith.impl_witness_table.5fc, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.030) [concrete] +// CHECK:STDOUT: %DivAssignWith.facet.0cb: %DivAssignWith.type.309 = facet_value %Cpp.long_long, (%DivAssignWith.impl_witness.604) [concrete] +// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.9db: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long_long, %DivAssignWith.facet.0cb) [concrete] +// CHECK:STDOUT: %.f87: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.9db, %DivAssignWith.facet.0cb [concrete] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.2f9287.1: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.2, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.bfaef9.1: %Cpp.long_long.as.DivAssignWith.impl.Op.type.2f9287.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.2f9287.2: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.1, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.bfaef9.2: %Cpp.long_long.as.DivAssignWith.impl.Op.type.2f9287.2 = struct_value () [concrete] -// CHECK:STDOUT: %DivAssignWith.facet.0cb: %DivAssignWith.type.309 = facet_value %Cpp.long_long, (%DivAssignWith.impl_witness.604) [concrete] -// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.9db: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long_long, %DivAssignWith.facet.0cb) [concrete] -// CHECK:STDOUT: %.f87: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.9db, %DivAssignWith.facet.0cb [concrete] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.c86a2f.1: = specific_function %Cpp.long_long.as.DivAssignWith.impl.Op.bfaef9.2, @Cpp.long_long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.c86a2f.2: = specific_function %Cpp.long_long.as.DivAssignWith.impl.Op.bfaef9.1, @Cpp.long_long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %ModAssignWith.type.a99: type = facet_type <@ModAssignWith, @ModAssignWith(%Cpp.long_long)> [concrete] @@ -2621,13 +2621,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.d22cf1.2: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.2, @Cpp.long_long.as.ModAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.3d1ba5.2: %Cpp.long_long.as.ModAssignWith.impl.Op.type.d22cf1.2 = struct_value () [symbolic] // CHECK:STDOUT: %ModAssignWith.impl_witness.0e8: = impl_witness imports.%ModAssignWith.impl_witness_table.23d, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.030) [concrete] +// CHECK:STDOUT: %ModAssignWith.facet.a35: %ModAssignWith.type.a99 = facet_value %Cpp.long_long, (%ModAssignWith.impl_witness.0e8) [concrete] +// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.712: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long_long, %ModAssignWith.facet.a35) [concrete] +// CHECK:STDOUT: %.da57: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.712, %ModAssignWith.facet.a35 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.50e75c.1: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.2, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.aabe3c.1: %Cpp.long_long.as.ModAssignWith.impl.Op.type.50e75c.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.50e75c.2: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.1, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.aabe3c.2: %Cpp.long_long.as.ModAssignWith.impl.Op.type.50e75c.2 = struct_value () [concrete] -// CHECK:STDOUT: %ModAssignWith.facet.a35: %ModAssignWith.type.a99 = facet_value %Cpp.long_long, (%ModAssignWith.impl_witness.0e8) [concrete] -// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.712: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long_long, %ModAssignWith.facet.a35) [concrete] -// CHECK:STDOUT: %.da57: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.712, %ModAssignWith.facet.a35 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.2a21fb.1: = specific_function %Cpp.long_long.as.ModAssignWith.impl.Op.aabe3c.2, @Cpp.long_long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.2a21fb.2: = specific_function %Cpp.long_long.as.ModAssignWith.impl.Op.aabe3c.1, @Cpp.long_long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %BitAndAssignWith.type.5fd: type = facet_type <@BitAndAssignWith, @BitAndAssignWith(%Cpp.long_long)> [concrete] @@ -2636,13 +2636,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.4ac1e9.2: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.2, @Cpp.long_long.as.BitAndAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.a31b6d.2: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.4ac1e9.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitAndAssignWith.impl_witness.49b: = impl_witness imports.%BitAndAssignWith.impl_witness_table.f6e, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.030) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.facet.2ed: %BitAndAssignWith.type.5fd = facet_value %Cpp.long_long, (%BitAndAssignWith.impl_witness.49b) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.3ce: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long_long, %BitAndAssignWith.facet.2ed) [concrete] +// CHECK:STDOUT: %.6ab: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.3ce, %BitAndAssignWith.facet.2ed [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.5b0e84.1: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.2, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.d3e329.1: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.5b0e84.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.5b0e84.2: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.1, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.d3e329.2: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.5b0e84.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndAssignWith.facet.2ed: %BitAndAssignWith.type.5fd = facet_value %Cpp.long_long, (%BitAndAssignWith.impl_witness.49b) [concrete] -// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.3ce: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long_long, %BitAndAssignWith.facet.2ed) [concrete] -// CHECK:STDOUT: %.6ab: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.3ce, %BitAndAssignWith.facet.2ed [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.7586ea.1: = specific_function %Cpp.long_long.as.BitAndAssignWith.impl.Op.d3e329.2, @Cpp.long_long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.7586ea.2: = specific_function %Cpp.long_long.as.BitAndAssignWith.impl.Op.d3e329.1, @Cpp.long_long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %BitOrAssignWith.type.f53: type = facet_type <@BitOrAssignWith, @BitOrAssignWith(%Cpp.long_long)> [concrete] @@ -2651,13 +2651,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.944d5b.2: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.2, @Cpp.long_long.as.BitOrAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.3b7278.2: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.944d5b.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitOrAssignWith.impl_witness.a74: = impl_witness imports.%BitOrAssignWith.impl_witness_table.c57, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.030) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.facet.dd9: %BitOrAssignWith.type.f53 = facet_value %Cpp.long_long, (%BitOrAssignWith.impl_witness.a74) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.b0b: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long_long, %BitOrAssignWith.facet.dd9) [concrete] +// CHECK:STDOUT: %.c35: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.b0b, %BitOrAssignWith.facet.dd9 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.f56bd9.1: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.2, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.4890e6.1: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.f56bd9.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.f56bd9.2: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.1, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.4890e6.2: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.f56bd9.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitOrAssignWith.facet.dd9: %BitOrAssignWith.type.f53 = facet_value %Cpp.long_long, (%BitOrAssignWith.impl_witness.a74) [concrete] -// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.b0b: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long_long, %BitOrAssignWith.facet.dd9) [concrete] -// CHECK:STDOUT: %.c35: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.b0b, %BitOrAssignWith.facet.dd9 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.2e4590.1: = specific_function %Cpp.long_long.as.BitOrAssignWith.impl.Op.4890e6.2, @Cpp.long_long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.2e4590.2: = specific_function %Cpp.long_long.as.BitOrAssignWith.impl.Op.4890e6.1, @Cpp.long_long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %BitXorAssignWith.type.1cb: type = facet_type <@BitXorAssignWith, @BitXorAssignWith(%Cpp.long_long)> [concrete] @@ -2666,13 +2666,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c2a862.2: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.2, @Cpp.long_long.as.BitXorAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.da17ff.2: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c2a862.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitXorAssignWith.impl_witness.e0e: = impl_witness imports.%BitXorAssignWith.impl_witness_table.94b, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.030) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.facet.acf: %BitXorAssignWith.type.1cb = facet_value %Cpp.long_long, (%BitXorAssignWith.impl_witness.e0e) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.3d4: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long_long, %BitXorAssignWith.facet.acf) [concrete] +// CHECK:STDOUT: %.06c: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.3d4, %BitXorAssignWith.facet.acf [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.ee589f.1: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.2, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.46b8cc.1: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.ee589f.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.ee589f.2: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.1, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.46b8cc.2: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.ee589f.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitXorAssignWith.facet.acf: %BitXorAssignWith.type.1cb = facet_value %Cpp.long_long, (%BitXorAssignWith.impl_witness.e0e) [concrete] -// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.3d4: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long_long, %BitXorAssignWith.facet.acf) [concrete] -// CHECK:STDOUT: %.06c: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.3d4, %BitXorAssignWith.facet.acf [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.03b326.1: = specific_function %Cpp.long_long.as.BitXorAssignWith.impl.Op.46b8cc.2, @Cpp.long_long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.03b326.2: = specific_function %Cpp.long_long.as.BitXorAssignWith.impl.Op.46b8cc.1, @Cpp.long_long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.type.8aa: type = facet_type <@LeftShiftAssignWith, @LeftShiftAssignWith(%Cpp.long_long)> [concrete] @@ -2681,13 +2681,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.674771.2: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long_long.as.LeftShiftAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.74aebe.2: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.674771.2 = struct_value () [symbolic] // CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.377: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.c11, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.030) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.facet.9ab: %LeftShiftAssignWith.type.8aa = facet_value %Cpp.long_long, (%LeftShiftAssignWith.impl_witness.377) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.ba7: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long_long, %LeftShiftAssignWith.facet.9ab) [concrete] +// CHECK:STDOUT: %.da55: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.ba7, %LeftShiftAssignWith.facet.9ab [concrete] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.e3eece.1: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.76b6bf.1: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.e3eece.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.e3eece.2: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.76b6bf.2: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.e3eece.2 = struct_value () [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.facet.9ab: %LeftShiftAssignWith.type.8aa = facet_value %Cpp.long_long, (%LeftShiftAssignWith.impl_witness.377) [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.ba7: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long_long, %LeftShiftAssignWith.facet.9ab) [concrete] -// CHECK:STDOUT: %.da55: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.ba7, %LeftShiftAssignWith.facet.9ab [concrete] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.28b62f.1: = specific_function %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.76b6bf.2, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.28b62f.2: = specific_function %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.76b6bf.1, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.type.c92: type = facet_type <@RightShiftAssignWith, @RightShiftAssignWith(%Cpp.long_long)> [concrete] @@ -2696,13 +2696,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.f5b3db.2: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long_long.as.RightShiftAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.0019d5.2: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.f5b3db.2 = struct_value () [symbolic] // CHECK:STDOUT: %RightShiftAssignWith.impl_witness.9bf: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.fdf, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.030) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.facet.112: %RightShiftAssignWith.type.c92 = facet_value %Cpp.long_long, (%RightShiftAssignWith.impl_witness.9bf) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.937: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long_long, %RightShiftAssignWith.facet.112) [concrete] +// CHECK:STDOUT: %.a5c: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.937, %RightShiftAssignWith.facet.112 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.cab567.1: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.c6ebc3.1: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.cab567.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.cab567.2: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.c6ebc3.2: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.cab567.2 = struct_value () [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.facet.112: %RightShiftAssignWith.type.c92 = facet_value %Cpp.long_long, (%RightShiftAssignWith.impl_witness.9bf) [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.937: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long_long, %RightShiftAssignWith.facet.112) [concrete] -// CHECK:STDOUT: %.a5c: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.937, %RightShiftAssignWith.facet.112 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.ab7395.1: = specific_function %Cpp.long_long.as.RightShiftAssignWith.impl.Op.c6ebc3.2, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.ab7395.2: = specific_function %Cpp.long_long.as.RightShiftAssignWith.impl.Op.c6ebc3.1, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.030) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -3018,13 +3018,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.244: = impl_witness imports.%ImplicitAs.impl_witness_table.591 [concrete] // CHECK:STDOUT: %ImplicitAs.facet.1e8: %ImplicitAs.type.a57 = facet_value %i64, (%ImplicitAs.impl_witness.244) [concrete] // CHECK:STDOUT: %AddAssignWith.impl_witness.27a: = impl_witness imports.%AddAssignWith.impl_witness_table.f2f, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.bef: %AddAssignWith.type.a58 = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.27a) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.493: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i64, %AddAssignWith.facet.bef) [concrete] +// CHECK:STDOUT: %.1c1: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.493, %AddAssignWith.facet.bef [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.0d09ab.1: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.d4738b.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.0d09ab.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.0d09ab.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.1, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.d4738b.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.0d09ab.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.bef: %AddAssignWith.type.a58 = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.27a) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.493: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i64, %AddAssignWith.facet.bef) [concrete] -// CHECK:STDOUT: %.1c1: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.493, %AddAssignWith.facet.bef [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.db00e4.1: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.d4738b.2, @Cpp.long_long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.db00e4.2: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.d4738b.1, @Cpp.long_long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.ef1: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.1e8) [concrete] @@ -3037,13 +3037,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.9980fa.2: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.2, @Cpp.long_long.as.SubAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.726c91.2: %Cpp.long_long.as.SubAssignWith.impl.Op.type.9980fa.2 = struct_value () [symbolic] // CHECK:STDOUT: %SubAssignWith.impl_witness.4eb: = impl_witness imports.%SubAssignWith.impl_witness_table.1c3, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %SubAssignWith.facet.0da: %SubAssignWith.type.18a = facet_value %Cpp.long_long, (%SubAssignWith.impl_witness.4eb) [concrete] +// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.d8b: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%i64, %SubAssignWith.facet.0da) [concrete] +// CHECK:STDOUT: %.e4b: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.d8b, %SubAssignWith.facet.0da [concrete] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.bc0570.1: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.2, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.70235f.1: %Cpp.long_long.as.SubAssignWith.impl.Op.type.bc0570.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.bc0570.2: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.1, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.70235f.2: %Cpp.long_long.as.SubAssignWith.impl.Op.type.bc0570.2 = struct_value () [concrete] -// CHECK:STDOUT: %SubAssignWith.facet.0da: %SubAssignWith.type.18a = facet_value %Cpp.long_long, (%SubAssignWith.impl_witness.4eb) [concrete] -// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.d8b: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%i64, %SubAssignWith.facet.0da) [concrete] -// CHECK:STDOUT: %.e4b: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.d8b, %SubAssignWith.facet.0da [concrete] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.9feeae.1: = specific_function %Cpp.long_long.as.SubAssignWith.impl.Op.70235f.2, @Cpp.long_long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.9feeae.2: = specific_function %Cpp.long_long.as.SubAssignWith.impl.Op.70235f.1, @Cpp.long_long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %MulAssignWith.type.30e: type = facet_type <@MulAssignWith, @MulAssignWith(%i64)> [concrete] @@ -3052,13 +3052,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.84ad55.2: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.2, @Cpp.long_long.as.MulAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.d6b6aa.2: %Cpp.long_long.as.MulAssignWith.impl.Op.type.84ad55.2 = struct_value () [symbolic] // CHECK:STDOUT: %MulAssignWith.impl_witness.ea9: = impl_witness imports.%MulAssignWith.impl_witness_table.fa8, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %MulAssignWith.facet.3f3: %MulAssignWith.type.30e = facet_value %Cpp.long_long, (%MulAssignWith.impl_witness.ea9) [concrete] +// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.1ca: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%i64, %MulAssignWith.facet.3f3) [concrete] +// CHECK:STDOUT: %.b7c: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.1ca, %MulAssignWith.facet.3f3 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.6ad7bf.1: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.2, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.33dc7c.1: %Cpp.long_long.as.MulAssignWith.impl.Op.type.6ad7bf.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.6ad7bf.2: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.1, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.33dc7c.2: %Cpp.long_long.as.MulAssignWith.impl.Op.type.6ad7bf.2 = struct_value () [concrete] -// CHECK:STDOUT: %MulAssignWith.facet.3f3: %MulAssignWith.type.30e = facet_value %Cpp.long_long, (%MulAssignWith.impl_witness.ea9) [concrete] -// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.1ca: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%i64, %MulAssignWith.facet.3f3) [concrete] -// CHECK:STDOUT: %.b7c: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.1ca, %MulAssignWith.facet.3f3 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.74eb4e.1: = specific_function %Cpp.long_long.as.MulAssignWith.impl.Op.33dc7c.2, @Cpp.long_long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.74eb4e.2: = specific_function %Cpp.long_long.as.MulAssignWith.impl.Op.33dc7c.1, @Cpp.long_long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %DivAssignWith.type.2a2: type = facet_type <@DivAssignWith, @DivAssignWith(%i64)> [concrete] @@ -3067,13 +3067,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.d93afb.2: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.2, @Cpp.long_long.as.DivAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.c0ddb1.2: %Cpp.long_long.as.DivAssignWith.impl.Op.type.d93afb.2 = struct_value () [symbolic] // CHECK:STDOUT: %DivAssignWith.impl_witness.647: = impl_witness imports.%DivAssignWith.impl_witness_table.5fc, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %DivAssignWith.facet.450: %DivAssignWith.type.2a2 = facet_value %Cpp.long_long, (%DivAssignWith.impl_witness.647) [concrete] +// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.c74: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%i64, %DivAssignWith.facet.450) [concrete] +// CHECK:STDOUT: %.12d: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.c74, %DivAssignWith.facet.450 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.24ea2f.1: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.2, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.82ea83.1: %Cpp.long_long.as.DivAssignWith.impl.Op.type.24ea2f.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.24ea2f.2: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.1, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.82ea83.2: %Cpp.long_long.as.DivAssignWith.impl.Op.type.24ea2f.2 = struct_value () [concrete] -// CHECK:STDOUT: %DivAssignWith.facet.450: %DivAssignWith.type.2a2 = facet_value %Cpp.long_long, (%DivAssignWith.impl_witness.647) [concrete] -// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.c74: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%i64, %DivAssignWith.facet.450) [concrete] -// CHECK:STDOUT: %.12d: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.c74, %DivAssignWith.facet.450 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.eaf8c5.1: = specific_function %Cpp.long_long.as.DivAssignWith.impl.Op.82ea83.2, @Cpp.long_long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.eaf8c5.2: = specific_function %Cpp.long_long.as.DivAssignWith.impl.Op.82ea83.1, @Cpp.long_long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %ModAssignWith.type.581: type = facet_type <@ModAssignWith, @ModAssignWith(%i64)> [concrete] @@ -3082,13 +3082,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.d22cf1.2: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.2, @Cpp.long_long.as.ModAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.3d1ba5.2: %Cpp.long_long.as.ModAssignWith.impl.Op.type.d22cf1.2 = struct_value () [symbolic] // CHECK:STDOUT: %ModAssignWith.impl_witness.f54: = impl_witness imports.%ModAssignWith.impl_witness_table.23d, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %ModAssignWith.facet.761: %ModAssignWith.type.581 = facet_value %Cpp.long_long, (%ModAssignWith.impl_witness.f54) [concrete] +// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.cbe: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%i64, %ModAssignWith.facet.761) [concrete] +// CHECK:STDOUT: %.97e: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.cbe, %ModAssignWith.facet.761 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.08630b.1: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.2, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.49d589.1: %Cpp.long_long.as.ModAssignWith.impl.Op.type.08630b.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.08630b.2: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.1, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.49d589.2: %Cpp.long_long.as.ModAssignWith.impl.Op.type.08630b.2 = struct_value () [concrete] -// CHECK:STDOUT: %ModAssignWith.facet.761: %ModAssignWith.type.581 = facet_value %Cpp.long_long, (%ModAssignWith.impl_witness.f54) [concrete] -// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.cbe: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%i64, %ModAssignWith.facet.761) [concrete] -// CHECK:STDOUT: %.97e: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.cbe, %ModAssignWith.facet.761 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.9570cc.1: = specific_function %Cpp.long_long.as.ModAssignWith.impl.Op.49d589.2, @Cpp.long_long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.9570cc.2: = specific_function %Cpp.long_long.as.ModAssignWith.impl.Op.49d589.1, @Cpp.long_long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %BitAndAssignWith.type.698: type = facet_type <@BitAndAssignWith, @BitAndAssignWith(%i64)> [concrete] @@ -3097,13 +3097,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.4ac1e9.2: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.2, @Cpp.long_long.as.BitAndAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.a31b6d.2: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.4ac1e9.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitAndAssignWith.impl_witness.fdf: = impl_witness imports.%BitAndAssignWith.impl_witness_table.f6e, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.facet.bb3: %BitAndAssignWith.type.698 = facet_value %Cpp.long_long, (%BitAndAssignWith.impl_witness.fdf) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.cae: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%i64, %BitAndAssignWith.facet.bb3) [concrete] +// CHECK:STDOUT: %.0a8: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.cae, %BitAndAssignWith.facet.bb3 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.74b95f.1: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.2, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.297dda.1: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.74b95f.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.74b95f.2: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.1, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.297dda.2: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.74b95f.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndAssignWith.facet.bb3: %BitAndAssignWith.type.698 = facet_value %Cpp.long_long, (%BitAndAssignWith.impl_witness.fdf) [concrete] -// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.cae: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%i64, %BitAndAssignWith.facet.bb3) [concrete] -// CHECK:STDOUT: %.0a8: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.cae, %BitAndAssignWith.facet.bb3 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.602eba.1: = specific_function %Cpp.long_long.as.BitAndAssignWith.impl.Op.297dda.2, @Cpp.long_long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.602eba.2: = specific_function %Cpp.long_long.as.BitAndAssignWith.impl.Op.297dda.1, @Cpp.long_long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %BitOrAssignWith.type.61b: type = facet_type <@BitOrAssignWith, @BitOrAssignWith(%i64)> [concrete] @@ -3112,13 +3112,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.944d5b.2: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.2, @Cpp.long_long.as.BitOrAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.3b7278.2: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.944d5b.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitOrAssignWith.impl_witness.f78: = impl_witness imports.%BitOrAssignWith.impl_witness_table.c57, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.facet.7fd: %BitOrAssignWith.type.61b = facet_value %Cpp.long_long, (%BitOrAssignWith.impl_witness.f78) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.317: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%i64, %BitOrAssignWith.facet.7fd) [concrete] +// CHECK:STDOUT: %.dcb: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.317, %BitOrAssignWith.facet.7fd [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.4c785d.1: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.2, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.74b5f2.1: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.4c785d.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.4c785d.2: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.1, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.74b5f2.2: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.4c785d.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitOrAssignWith.facet.7fd: %BitOrAssignWith.type.61b = facet_value %Cpp.long_long, (%BitOrAssignWith.impl_witness.f78) [concrete] -// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.317: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%i64, %BitOrAssignWith.facet.7fd) [concrete] -// CHECK:STDOUT: %.dcb: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.317, %BitOrAssignWith.facet.7fd [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.f8c51b.1: = specific_function %Cpp.long_long.as.BitOrAssignWith.impl.Op.74b5f2.2, @Cpp.long_long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.f8c51b.2: = specific_function %Cpp.long_long.as.BitOrAssignWith.impl.Op.74b5f2.1, @Cpp.long_long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %BitXorAssignWith.type.4be: type = facet_type <@BitXorAssignWith, @BitXorAssignWith(%i64)> [concrete] @@ -3127,13 +3127,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c2a862.2: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.2, @Cpp.long_long.as.BitXorAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.da17ff.2: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c2a862.2 = struct_value () [symbolic] // CHECK:STDOUT: %BitXorAssignWith.impl_witness.0b6: = impl_witness imports.%BitXorAssignWith.impl_witness_table.94b, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.facet.c20: %BitXorAssignWith.type.4be = facet_value %Cpp.long_long, (%BitXorAssignWith.impl_witness.0b6) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.767: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%i64, %BitXorAssignWith.facet.c20) [concrete] +// CHECK:STDOUT: %.5f0: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.767, %BitXorAssignWith.facet.c20 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.68e6c9.1: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.2, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.2cde21.1: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.68e6c9.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.68e6c9.2: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.1, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.2cde21.2: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.68e6c9.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitXorAssignWith.facet.c20: %BitXorAssignWith.type.4be = facet_value %Cpp.long_long, (%BitXorAssignWith.impl_witness.0b6) [concrete] -// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.767: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%i64, %BitXorAssignWith.facet.c20) [concrete] -// CHECK:STDOUT: %.5f0: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.767, %BitXorAssignWith.facet.c20 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.ecf68a.1: = specific_function %Cpp.long_long.as.BitXorAssignWith.impl.Op.2cde21.2, @Cpp.long_long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.ecf68a.2: = specific_function %Cpp.long_long.as.BitXorAssignWith.impl.Op.2cde21.1, @Cpp.long_long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.type.8bb: type = facet_type <@LeftShiftAssignWith, @LeftShiftAssignWith(%i64)> [concrete] @@ -3142,13 +3142,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.674771.2: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long_long.as.LeftShiftAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.74aebe.2: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.674771.2 = struct_value () [symbolic] // CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.f41: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.c11, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.facet.b4c: %LeftShiftAssignWith.type.8bb = facet_value %Cpp.long_long, (%LeftShiftAssignWith.impl_witness.f41) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.f36: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%i64, %LeftShiftAssignWith.facet.b4c) [concrete] +// CHECK:STDOUT: %.17c: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.f36, %LeftShiftAssignWith.facet.b4c [concrete] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.78f5a1.1: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.48d98a.1: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.78f5a1.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.78f5a1.2: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.48d98a.2: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.78f5a1.2 = struct_value () [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.facet.b4c: %LeftShiftAssignWith.type.8bb = facet_value %Cpp.long_long, (%LeftShiftAssignWith.impl_witness.f41) [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.f36: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%i64, %LeftShiftAssignWith.facet.b4c) [concrete] -// CHECK:STDOUT: %.17c: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.f36, %LeftShiftAssignWith.facet.b4c [concrete] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.9f9c70.1: = specific_function %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.48d98a.2, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.9f9c70.2: = specific_function %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.48d98a.1, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.type.9ad: type = facet_type <@RightShiftAssignWith, @RightShiftAssignWith(%i64)> [concrete] @@ -3157,13 +3157,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.f5b3db.2: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long_long.as.RightShiftAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.0019d5.2: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.f5b3db.2 = struct_value () [symbolic] // CHECK:STDOUT: %RightShiftAssignWith.impl_witness.6e1: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.fdf, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.facet.2de: %RightShiftAssignWith.type.9ad = facet_value %Cpp.long_long, (%RightShiftAssignWith.impl_witness.6e1) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.e6e: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%i64, %RightShiftAssignWith.facet.2de) [concrete] +// CHECK:STDOUT: %.4eef: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.e6e, %RightShiftAssignWith.facet.2de [concrete] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.5e086a.1: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.95dd29.1: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.5e086a.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.5e086a.2: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.95dd29.2: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.5e086a.2 = struct_value () [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.facet.2de: %RightShiftAssignWith.type.9ad = facet_value %Cpp.long_long, (%RightShiftAssignWith.impl_witness.6e1) [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.e6e: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%i64, %RightShiftAssignWith.facet.2de) [concrete] -// CHECK:STDOUT: %.4eef: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.e6e, %RightShiftAssignWith.facet.2de [concrete] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.9e346f.1: = specific_function %Cpp.long_long.as.RightShiftAssignWith.impl.Op.95dd29.2, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.9e346f.2: = specific_function %Cpp.long_long.as.RightShiftAssignWith.impl.Op.95dd29.1, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -3492,13 +3492,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.51e002.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%U.d70) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.6dc61b.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.51e002.2 = struct_value () [symbolic] // CHECK:STDOUT: %AddAssignWith.impl_witness.ddb: = impl_witness imports.%AddAssignWith.impl_witness_table.f2f, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.c4c: %AddAssignWith.type.144 = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.ddb) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.ca9: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(Core.IntLiteral, %AddAssignWith.facet.c4c) [concrete] +// CHECK:STDOUT: %.d0b: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.ca9, %AddAssignWith.facet.c4c [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.bbde48.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.cf7a8d.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.bbde48.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.bbde48.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.cf7a8d.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.bbde48.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.c4c: %AddAssignWith.type.144 = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.ddb) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.ca9: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(Core.IntLiteral, %AddAssignWith.facet.c4c) [concrete] -// CHECK:STDOUT: %.d0b: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.ca9, %AddAssignWith.facet.c4c [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.fd006b.1: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.cf7a8d.2, @Cpp.long_long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.fd006b.2: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.cf7a8d.1, @Cpp.long_long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -3608,11 +3608,11 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.b1b: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.246: %ImplicitAs.type.e56 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.b1b) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4cd: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.246) [concrete] // CHECK:STDOUT: %.7ee: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4cd, %ImplicitAs.facet.246 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.8f5 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.8b9: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.dcd, @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] @@ -3626,13 +3626,13 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %ImplicitAs.impl_witness.244: = impl_witness imports.%ImplicitAs.impl_witness_table.591 [concrete] // CHECK:STDOUT: %ImplicitAs.facet.1e8: %ImplicitAs.type.a57 = facet_value %i64, (%ImplicitAs.impl_witness.244) [concrete] // CHECK:STDOUT: %AddAssignWith.impl_witness.27a: = impl_witness imports.%AddAssignWith.impl_witness_table.f2f, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.bef: %AddAssignWith.type.a58 = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.27a) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.493: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i64, %AddAssignWith.facet.bef) [concrete] +// CHECK:STDOUT: %.1c1: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.493, %AddAssignWith.facet.bef [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.0d09ab.1: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.d4738b.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.0d09ab.1 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.0d09ab.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.1, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.d4738b.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.0d09ab.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.bef: %AddAssignWith.type.a58 = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.27a) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.493: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i64, %AddAssignWith.facet.bef) [concrete] -// CHECK:STDOUT: %.1c1: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.493, %AddAssignWith.facet.bef [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.db00e4.1: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.d4738b.2, @Cpp.long_long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.db00e4.2: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.d4738b.1, @Cpp.long_long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.1e8) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.ef1: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.1e8) [concrete] @@ -3881,11 +3881,11 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.be5: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.60e: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.be5 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.b83: = impl_witness imports.%ImplicitAs.impl_witness_table.79a, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_64) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.858: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.e4f: %ImplicitAs.type.1b9 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.b83) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.338: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u64, %ImplicitAs.facet.e4f) [concrete] // CHECK:STDOUT: %.8b3: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.338, %ImplicitAs.facet.e4f [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.bd8(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.858: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.aa6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.b4d: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.858 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.858, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(%int_64) [concrete] // CHECK:STDOUT: %bound_method.ed4: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -3930,11 +3930,11 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.253: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet.253) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet.253 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f84: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] 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 09b1282fffab..fba69818c580 100644 --- a/toolchain/check/testdata/interop/cpp/primitive_types/void_pointer.carbon +++ b/toolchain/check/testdata/interop/cpp/primitive_types/void_pointer.carbon @@ -143,11 +143,11 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.type.5c3: type = fn_type @ptr.as.ImplicitAs.impl.Convert.1, @ptr.as.ImplicitAs.impl.009(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.569: %ptr.as.ImplicitAs.impl.Convert.type.5c3 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.3e9: = impl_witness imports.%ImplicitAs.impl_witness_table.2b3, @ptr.as.ImplicitAs.impl.009(%S) [concrete] -// CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.type.eca: type = fn_type @ptr.as.ImplicitAs.impl.Convert.1, @ptr.as.ImplicitAs.impl.009(%S) [concrete] -// CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.602: %ptr.as.ImplicitAs.impl.Convert.type.eca = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.88f: %ImplicitAs.type.bcf = facet_value %ptr.037, (%ImplicitAs.impl_witness.3e9) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.125: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%ptr.00a, %ImplicitAs.facet.88f) [concrete] // CHECK:STDOUT: %.dd3: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.125, %ImplicitAs.facet.88f [concrete] +// CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.type.eca: type = fn_type @ptr.as.ImplicitAs.impl.Convert.1, @ptr.as.ImplicitAs.impl.009(%S) [concrete] +// CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.602: %ptr.as.ImplicitAs.impl.Convert.type.eca = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.specific_fn.9f5: = specific_function %ptr.as.ImplicitAs.impl.Convert.602, @ptr.as.ImplicitAs.impl.Convert.1(%S) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -199,11 +199,11 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.type.5c3: type = fn_type @ptr.as.ImplicitAs.impl.Convert.1, @ptr.as.ImplicitAs.impl.009(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.569: %ptr.as.ImplicitAs.impl.Convert.type.5c3 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.260: = impl_witness imports.%ImplicitAs.impl_witness_table.2b3, @ptr.as.ImplicitAs.impl.009(%C) [concrete] -// CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.type.f6d: type = fn_type @ptr.as.ImplicitAs.impl.Convert.1, @ptr.as.ImplicitAs.impl.009(%C) [concrete] -// CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.0d4: %ptr.as.ImplicitAs.impl.Convert.type.f6d = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.b7d: %ImplicitAs.type.bcf = facet_value %ptr.6b6, (%ImplicitAs.impl_witness.260) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.5a0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%ptr.00a, %ImplicitAs.facet.b7d) [concrete] // CHECK:STDOUT: %.ab9: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.5a0, %ImplicitAs.facet.b7d [concrete] +// CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.type.f6d: type = fn_type @ptr.as.ImplicitAs.impl.Convert.1, @ptr.as.ImplicitAs.impl.009(%C) [concrete] +// CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.0d4: %ptr.as.ImplicitAs.impl.Convert.type.f6d = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.specific_fn.0ac: = specific_function %ptr.as.ImplicitAs.impl.Convert.0d4, @ptr.as.ImplicitAs.impl.Convert.1(%C) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -261,11 +261,11 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %ImplicitAs.impl_witness.3e9: = impl_witness imports.%ImplicitAs.impl_witness_table.2b3, @ptr.as.ImplicitAs.impl.009(%S) [concrete] // CHECK:STDOUT: %ImplicitAs.facet.88f: %ImplicitAs.type.bcf = facet_value %ptr.037, (%ImplicitAs.impl_witness.3e9) [concrete] // CHECK:STDOUT: %As.impl_witness.30c: = impl_witness imports.%As.impl_witness_table.a8c, @T.as_type.as.As.impl(%ptr.00a, %ImplicitAs.facet.88f) [concrete] -// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.type.7f5: type = fn_type @T.as_type.as.As.impl.Convert, @T.as_type.as.As.impl(%ptr.00a, %ImplicitAs.facet.88f) [concrete] -// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.da2: %T.as_type.as.As.impl.Convert.type.7f5 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.d55 = facet_value %ptr.037, (%As.impl_witness.30c) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.13e: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%ptr.00a, %As.facet) [concrete] // CHECK:STDOUT: %.78f: type = fn_type_with_self_type %As.WithSelf.Convert.type.13e, %As.facet [concrete] +// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.type.7f5: type = fn_type @T.as_type.as.As.impl.Convert, @T.as_type.as.As.impl(%ptr.00a, %ImplicitAs.facet.88f) [concrete] +// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.da2: %T.as_type.as.As.impl.Convert.type.7f5 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.As.impl.Convert.specific_fn: = specific_function %T.as_type.as.As.impl.Convert.da2, @T.as_type.as.As.impl.Convert(%ptr.00a, %ImplicitAs.facet.88f) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -330,11 +330,11 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %ImplicitAs.impl_witness.260: = impl_witness imports.%ImplicitAs.impl_witness_table.2b3, @ptr.as.ImplicitAs.impl.009(%C) [concrete] // CHECK:STDOUT: %ImplicitAs.facet.b7d: %ImplicitAs.type.bcf = facet_value %ptr.6b6, (%ImplicitAs.impl_witness.260) [concrete] // CHECK:STDOUT: %As.impl_witness.1b4: = impl_witness imports.%As.impl_witness_table.a8c, @T.as_type.as.As.impl(%ptr.00a, %ImplicitAs.facet.b7d) [concrete] -// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.type.83b: type = fn_type @T.as_type.as.As.impl.Convert, @T.as_type.as.As.impl(%ptr.00a, %ImplicitAs.facet.b7d) [concrete] -// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.130: %T.as_type.as.As.impl.Convert.type.83b = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.d55 = facet_value %ptr.6b6, (%As.impl_witness.1b4) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.e14: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%ptr.00a, %As.facet) [concrete] // CHECK:STDOUT: %.3de: type = fn_type_with_self_type %As.WithSelf.Convert.type.e14, %As.facet [concrete] +// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.type.83b: type = fn_type @T.as_type.as.As.impl.Convert, @T.as_type.as.As.impl(%ptr.00a, %ImplicitAs.facet.b7d) [concrete] +// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.130: %T.as_type.as.As.impl.Convert.type.83b = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.As.impl.Convert.specific_fn: = specific_function %T.as_type.as.As.impl.Convert.130, @T.as_type.as.As.impl.Convert(%ptr.00a, %ImplicitAs.facet.b7d) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -459,11 +459,11 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.type.701: type = fn_type @ptr.as.UnsafeAs.impl.Convert, @ptr.as.UnsafeAs.impl(%T.67d, %U.091) [symbolic] // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.5ad: %ptr.as.UnsafeAs.impl.Convert.type.701 = struct_value () [symbolic] // CHECK:STDOUT: %UnsafeAs.impl_witness.f3c: = impl_witness imports.%UnsafeAs.impl_witness_table.abf, @ptr.as.UnsafeAs.impl(%Cpp.void, %S) [concrete] -// CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.type.4c7: type = fn_type @ptr.as.UnsafeAs.impl.Convert, @ptr.as.UnsafeAs.impl(%Cpp.void, %S) [concrete] -// CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.622: %ptr.as.UnsafeAs.impl.Convert.type.4c7 = struct_value () [concrete] // CHECK:STDOUT: %UnsafeAs.facet: %UnsafeAs.type.342 = facet_value %ptr.00a, (%UnsafeAs.impl_witness.f3c) [concrete] // CHECK:STDOUT: %UnsafeAs.WithSelf.Convert.type.d01: type = fn_type @UnsafeAs.WithSelf.Convert, @UnsafeAs.WithSelf(%ptr.037, %UnsafeAs.facet) [concrete] // CHECK:STDOUT: %.18a: type = fn_type_with_self_type %UnsafeAs.WithSelf.Convert.type.d01, %UnsafeAs.facet [concrete] +// CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.type.4c7: type = fn_type @ptr.as.UnsafeAs.impl.Convert, @ptr.as.UnsafeAs.impl(%Cpp.void, %S) [concrete] +// CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.622: %ptr.as.UnsafeAs.impl.Convert.type.4c7 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.specific_fn: = specific_function %ptr.as.UnsafeAs.impl.Convert.622, @ptr.as.UnsafeAs.impl.Convert(%Cpp.void, %S) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -519,11 +519,11 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.type.701: type = fn_type @ptr.as.UnsafeAs.impl.Convert, @ptr.as.UnsafeAs.impl(%T.67d, %U.091) [symbolic] // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.5ad: %ptr.as.UnsafeAs.impl.Convert.type.701 = struct_value () [symbolic] // CHECK:STDOUT: %UnsafeAs.impl_witness.e54: = impl_witness imports.%UnsafeAs.impl_witness_table.abf, @ptr.as.UnsafeAs.impl(%Cpp.void, %C) [concrete] -// CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.type.59d: type = fn_type @ptr.as.UnsafeAs.impl.Convert, @ptr.as.UnsafeAs.impl(%Cpp.void, %C) [concrete] -// CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.ed5: %ptr.as.UnsafeAs.impl.Convert.type.59d = struct_value () [concrete] // CHECK:STDOUT: %UnsafeAs.facet: %UnsafeAs.type.93f = facet_value %ptr.00a, (%UnsafeAs.impl_witness.e54) [concrete] // CHECK:STDOUT: %UnsafeAs.WithSelf.Convert.type.2b6: type = fn_type @UnsafeAs.WithSelf.Convert, @UnsafeAs.WithSelf(%ptr.6b6, %UnsafeAs.facet) [concrete] // CHECK:STDOUT: %.210: type = fn_type_with_self_type %UnsafeAs.WithSelf.Convert.type.2b6, %UnsafeAs.facet [concrete] +// CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.type.59d: type = fn_type @ptr.as.UnsafeAs.impl.Convert, @ptr.as.UnsafeAs.impl(%Cpp.void, %C) [concrete] +// CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.ed5: %ptr.as.UnsafeAs.impl.Convert.type.59d = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.specific_fn: = specific_function %ptr.as.UnsafeAs.impl.Convert.ed5, @ptr.as.UnsafeAs.impl.Convert(%Cpp.void, %C) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interop/cpp/range_for.carbon b/toolchain/check/testdata/interop/cpp/range_for.carbon index 407108ac483b..59cfd669ad25 100644 --- a/toolchain/check/testdata/interop/cpp/range_for.carbon +++ b/toolchain/check/testdata/interop/cpp/range_for.carbon @@ -665,9 +665,6 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.Some.ae9: %T.as_type.as.OptionalStorage.impl.Some.type.292 = struct_value () [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.None.type.b57: type = fn_type @T.as_type.as.OptionalStorage.impl.None, @T.as_type.as.OptionalStorage.impl(%T.f84392.1) [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.None.791: %T.as_type.as.OptionalStorage.impl.None.type.b57 = struct_value () [symbolic] -// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -678,6 +675,9 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.1: type = fn_type @SubobjectDestroy.WithSelf.Op.2 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.1: %SubobjectDestroy.WithSelf.Op.type.6870fd.1 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.b80ef6.1: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.1), @SubobjectDestroy [concrete] +// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %SubobjectDestroy.facet.49a: %SubobjectDestroy.type = facet_value %i32, (%custom_witness.b80ef6.1) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.077: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.49a) [concrete] // CHECK:STDOUT: %Destroy.facet.046: %Destroy.type = facet_value %i32, (%custom_witness.b80ef6.1, %DestroyImpl.impl_witness.077) [concrete] @@ -772,13 +772,13 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %ImplicitAs.impl_witness.943: = impl_witness imports.%ImplicitAs.impl_witness_table.8f1, @From.as_type.as.ImplicitAs.impl(%int_32, %facet_value.709) [concrete] // CHECK:STDOUT: %ImplicitAs.facet.c18: %ImplicitAs.type.6b0 = facet_value %i32, (%ImplicitAs.impl_witness.943) [concrete] // CHECK:STDOUT: %AddAssignWith.impl_witness.95a: = impl_witness imports.%AddAssignWith.impl_witness_table, @Int.as.AddAssignWith.impl(%int_32, %ImplicitAs.facet.c18) [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.d53: %AddAssignWith.type.1ad = facet_value %i32, (%AddAssignWith.impl_witness.95a) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.313: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i32, %AddAssignWith.facet.d53) [concrete] +// CHECK:STDOUT: %.316: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.313, %AddAssignWith.facet.d53 [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.47f4e6.1: type = fn_type @Int.as.AddAssignWith.impl.Op.2, @Int.as.AddAssignWith.impl(%int_32, %ImplicitAs.facet.c18) [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.bff4f9.1: %Int.as.AddAssignWith.impl.Op.type.47f4e6.1 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.47f4e6.2: type = fn_type @Int.as.AddAssignWith.impl.Op.1, @Int.as.AddAssignWith.impl(%int_32, %ImplicitAs.facet.c18) [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.bff4f9.2: %Int.as.AddAssignWith.impl.Op.type.47f4e6.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.d53: %AddAssignWith.type.1ad = facet_value %i32, (%AddAssignWith.impl_witness.95a) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.313: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i32, %AddAssignWith.facet.d53) [concrete] -// CHECK:STDOUT: %.316: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.313, %AddAssignWith.facet.d53 [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.ec28e6.1: = specific_function %Int.as.AddAssignWith.impl.Op.bff4f9.2, @Int.as.AddAssignWith.impl.Op.1(%int_32, %ImplicitAs.facet.c18) [concrete] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.ec28e6.2: = specific_function %Int.as.AddAssignWith.impl.Op.bff4f9.1, @Int.as.AddAssignWith.impl.Op.2(%int_32, %ImplicitAs.facet.c18) [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.3: type = fn_type @SubobjectDestroy.WithSelf.Op.loc34_19.2 [concrete] @@ -834,7 +834,6 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %custom_witness.b80ef6.8: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.8), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.669: %SubobjectDestroy.type = facet_value %tuple.type.508, (%custom_witness.b80ef6.8) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.91e: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.669) [concrete] -// CHECK:STDOUT: %complete_type.c28: = complete_type_witness %tuple.type.508 [concrete] // CHECK:STDOUT: %Destroy.facet.70f: %Destroy.type = facet_value %tuple.type.508, (%custom_witness.b80ef6.8, %DestroyImpl.impl_witness.91e) [concrete] // CHECK:STDOUT: %Iterate.impl_witness.d35: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.941) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.902: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.941) [concrete] @@ -873,7 +872,6 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %custom_witness.b80ef6.9: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.9), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.100: %SubobjectDestroy.type = facet_value %tuple.type.69f, (%custom_witness.b80ef6.9) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.4ff: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.100) [concrete] -// CHECK:STDOUT: %complete_type.8d5: = complete_type_witness %tuple.type.69f [concrete] // CHECK:STDOUT: %Destroy.facet.141: %Destroy.type = facet_value %tuple.type.69f, (%custom_witness.b80ef6.9, %DestroyImpl.impl_witness.4ff) [concrete] // CHECK:STDOUT: %Iterate.impl_witness.c9d: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.43d) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.14e: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.43d) [concrete] @@ -899,6 +897,8 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.c69: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.4a4, %Iterate.facet.80e [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn.d88: = specific_function %T.as_type.as.Iterate.impl.Next.320, @T.as_type.as.Iterate.impl.Next(%facet_value.43d) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.a15: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.141) [concrete] +// CHECK:STDOUT: %complete_type.c28: = complete_type_witness %tuple.type.508 [concrete] +// CHECK:STDOUT: %complete_type.8d5: = complete_type_witness %tuple.type.69f [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -911,10 +911,10 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %OptionalStorage.impl_witness_table.1c4 = impl_witness_table (%Core.import_ref.481, %Core.import_ref.66d, %Core.import_ref.32c, %Core.import_ref.801, %Core.import_ref.eec, %Core.import_ref.a6a), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e86: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.1 (%DefaultOptionalStorage.elem.ff3) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.bce] // CHECK:STDOUT: %Core.import_ref.9ce: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.2 (%DefaultOptionalStorage.elem.4a2) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.dbe] -// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.c82: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.3ea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.f2f)] // CHECK:STDOUT: %Core.import_ref.29e: @Optional.%Optional.Get.type (%Optional.Get.type.786) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.2d0)] +// CHECK:STDOUT: %Core.import_ref.7b53: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b53), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.724: %facet_type.bd0 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%facet_value (constants.%facet_value.189)] // CHECK:STDOUT: %Core.import_ref.dd9: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%Destroy.facet (constants.%Destroy.facet.9b6)] // CHECK:STDOUT: %Core.import_ref.946: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor.type (%T.as_type.as.Iterate.impl.NewCursor.type.8fb) = 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.8a1)] @@ -1368,11 +1368,11 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.Some.ae9: %T.as_type.as.OptionalStorage.impl.Some.type.292 = struct_value () [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.None.type.b57: type = fn_type @T.as_type.as.OptionalStorage.impl.None, @T.as_type.as.OptionalStorage.impl(%T.f84392.1) [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.None.791: %T.as_type.as.OptionalStorage.impl.None.type.b57 = struct_value () [symbolic] +// CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] +// CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] // CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] -// CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] -// CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %.Self.500: %Iterate.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %CppRange.type: type = facet_type <@CppRange> [concrete] // CHECK:STDOUT: %.Self.e0b: %CppRange.type = symbolic_binding .Self [symbolic_self] @@ -1513,7 +1513,6 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %custom_witness.b80ef6.8: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.8), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.d2e: %SubobjectDestroy.type = facet_value %tuple.type.b18, (%custom_witness.b80ef6.8) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.c40: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.d2e) [concrete] -// CHECK:STDOUT: %complete_type.bfe: = complete_type_witness %tuple.type.b18 [concrete] // CHECK:STDOUT: %Destroy.facet.4da: %Destroy.type = facet_value %tuple.type.b18, (%custom_witness.b80ef6.8, %DestroyImpl.impl_witness.c40) [concrete] // CHECK:STDOUT: %Iterate.impl_witness.0fb: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.6c7) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.8f4: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.6c7) [concrete] @@ -1558,7 +1557,6 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %custom_witness.b80ef6.9: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.9), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.79d: %SubobjectDestroy.type = facet_value %tuple.type.df5, (%custom_witness.b80ef6.9) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.8c3: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.79d) [concrete] -// CHECK:STDOUT: %complete_type.ad6: = complete_type_witness %tuple.type.df5 [concrete] // CHECK:STDOUT: %Destroy.facet.017: %Destroy.type = facet_value %tuple.type.df5, (%custom_witness.b80ef6.9, %DestroyImpl.impl_witness.8c3) [concrete] // CHECK:STDOUT: %Iterate.impl_witness.0fc: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.047) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.284: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.047) [concrete] @@ -1584,6 +1582,8 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.ee1: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.e49, %Iterate.facet.151 [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn.3dc: = specific_function %T.as_type.as.Iterate.impl.Next.264, @T.as_type.as.Iterate.impl.Next(%facet_value.047) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.825: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.017) [concrete] +// CHECK:STDOUT: %complete_type.bfe: = complete_type_witness %tuple.type.b18 [concrete] +// CHECK:STDOUT: %complete_type.ad6: = complete_type_witness %tuple.type.df5 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1602,10 +1602,10 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %OptionalStorage.impl_witness_table.1c4 = impl_witness_table (%Core.import_ref.481, %Core.import_ref.66d, %Core.import_ref.32c, %Core.import_ref.801, %Core.import_ref.eec, %Core.import_ref.a6a), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e86: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.1 (%DefaultOptionalStorage.elem.ff3) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.bce] // CHECK:STDOUT: %Core.import_ref.9ce: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.2 (%DefaultOptionalStorage.elem.4a2) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.dbe] -// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.c82: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.3ea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.f2f)] // CHECK:STDOUT: %Core.import_ref.29e: @Optional.%Optional.Get.type (%Optional.Get.type.786) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.2d0)] +// CHECK:STDOUT: %Core.import_ref.7b53: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b53), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.724: %facet_type.bd0 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%facet_value (constants.%facet_value.189)] // CHECK:STDOUT: %Core.import_ref.dd9: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%Destroy.facet (constants.%Destroy.facet.9b6)] // CHECK:STDOUT: %Core.import_ref.946: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor.type (%T.as_type.as.Iterate.impl.NewCursor.type.8fb) = 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.8a1)] @@ -2074,11 +2074,11 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.Some.ae9: %T.as_type.as.OptionalStorage.impl.Some.type.292 = struct_value () [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.None.type.b57: type = fn_type @T.as_type.as.OptionalStorage.impl.None, @T.as_type.as.OptionalStorage.impl(%T.f84392.1) [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.None.791: %T.as_type.as.OptionalStorage.impl.None.type.b57 = struct_value () [symbolic] +// CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] +// CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] // CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] -// CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] -// CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %.Self.500: %Iterate.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %CppRange.type: type = facet_type <@CppRange> [concrete] // CHECK:STDOUT: %.Self.e0b: %CppRange.type = symbolic_binding .Self [symbolic_self] @@ -2206,7 +2206,6 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %custom_witness.b80ef6.8: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.8), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.43f: %SubobjectDestroy.type = facet_value %tuple.type.9ef, (%custom_witness.b80ef6.8) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.c0f: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.43f) [concrete] -// CHECK:STDOUT: %complete_type.e35: = complete_type_witness %tuple.type.9ef [concrete] // CHECK:STDOUT: %Destroy.facet.76b: %Destroy.type = facet_value %tuple.type.9ef, (%custom_witness.b80ef6.8, %DestroyImpl.impl_witness.c0f) [concrete] // CHECK:STDOUT: %Iterate.impl_witness.ac1: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.732) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.bae: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.732) [concrete] @@ -2224,6 +2223,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.604: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.ce4, %Iterate.facet.5bf [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn: = specific_function %T.as_type.as.Iterate.impl.Next.842, @T.as_type.as.Iterate.impl.Next(%facet_value.732) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.ddf: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.76b) [concrete] +// CHECK:STDOUT: %complete_type.e35: = complete_type_witness %tuple.type.9ef [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -2241,10 +2241,10 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %OptionalStorage.impl_witness_table.1c4 = impl_witness_table (%Core.import_ref.481, %Core.import_ref.66d, %Core.import_ref.32c, %Core.import_ref.801, %Core.import_ref.eec, %Core.import_ref.a6a), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e86: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.1 (%DefaultOptionalStorage.elem.ff3) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.bce] // CHECK:STDOUT: %Core.import_ref.9ce: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.2 (%DefaultOptionalStorage.elem.4a2) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.dbe] -// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.c82: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.3ea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.f2f)] // CHECK:STDOUT: %Core.import_ref.29e: @Optional.%Optional.Get.type (%Optional.Get.type.786) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.2d0)] +// CHECK:STDOUT: %Core.import_ref.7b53: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b53), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.724: %facet_type.bd0 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%facet_value (constants.%facet_value.189)] // CHECK:STDOUT: %Core.import_ref.dd9: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%Destroy.facet (constants.%Destroy.facet.9b6)] // CHECK:STDOUT: %Core.import_ref.946: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor.type (%T.as_type.as.Iterate.impl.NewCursor.type.8fb) = 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.8a1)] @@ -2575,12 +2575,12 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.Some.ae9: %T.as_type.as.OptionalStorage.impl.Some.type.292 = struct_value () [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.None.type.b57: type = fn_type @T.as_type.as.OptionalStorage.impl.None, @T.as_type.as.OptionalStorage.impl(%T.f84392.1) [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.None.791: %T.as_type.as.OptionalStorage.impl.None.type.b57 = struct_value () [symbolic] -// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %N.fe9: Core.IntLiteral = symbolic_binding N, 0 [symbolic] +// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %.Self.500: %Iterate.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %CppRange.type: type = facet_type <@CppRange> [concrete] // CHECK:STDOUT: %.Self.e0b: %CppRange.type = symbolic_binding .Self [symbolic_self] @@ -2662,11 +2662,11 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.type.763: type = fn_type @Float.as.AddAssignWith.impl.Op, @Float.as.AddAssignWith.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.8aa: %Float.as.AddAssignWith.impl.Op.type.763 = struct_value () [symbolic] // CHECK:STDOUT: %AddAssignWith.impl_witness.5c7: = impl_witness imports.%AddAssignWith.impl_witness_table, @Float.as.AddAssignWith.impl(%int_64) [concrete] -// CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.type.f20: type = fn_type @Float.as.AddAssignWith.impl.Op, @Float.as.AddAssignWith.impl(%int_64) [concrete] -// CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.e04: %Float.as.AddAssignWith.impl.Op.type.f20 = struct_value () [concrete] // CHECK:STDOUT: %AddAssignWith.facet: %AddAssignWith.type.0c5 = facet_value %f64.761, (%AddAssignWith.impl_witness.5c7) [concrete] // CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.bb6: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%f64.761, %AddAssignWith.facet) [concrete] // CHECK:STDOUT: %.48b: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.bb6, %AddAssignWith.facet [concrete] +// CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.type.f20: type = fn_type @Float.as.AddAssignWith.impl.Op, @Float.as.AddAssignWith.impl(%int_64) [concrete] +// CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.e04: %Float.as.AddAssignWith.impl.Op.type.f20 = struct_value () [concrete] // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Float.as.AddAssignWith.impl.Op.e04, @Float.as.AddAssignWith.impl.Op(%int_64) [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.4: type = fn_type @SubobjectDestroy.WithSelf.Op.loc24_19.2 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.4: %SubobjectDestroy.WithSelf.Op.type.6870fd.4 = struct_value () [concrete] @@ -2719,7 +2719,6 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %custom_witness.b80ef6.9: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.9), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.7c6: %SubobjectDestroy.type = facet_value %tuple.type.005, (%custom_witness.b80ef6.9) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.729: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.7c6) [concrete] -// CHECK:STDOUT: %complete_type.320: = complete_type_witness %tuple.type.005 [concrete] // CHECK:STDOUT: %Destroy.facet.0b5: %Destroy.type = facet_value %tuple.type.005, (%custom_witness.b80ef6.9, %DestroyImpl.impl_witness.729) [concrete] // CHECK:STDOUT: %Iterate.impl_witness.d5a: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.310) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.41f: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.310) [concrete] @@ -2737,6 +2736,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.68c: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.540, %Iterate.facet.a66 [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn: = specific_function %T.as_type.as.Iterate.impl.Next.1e7, @T.as_type.as.Iterate.impl.Next(%facet_value.310) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.c59: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.0b5) [concrete] +// CHECK:STDOUT: %complete_type.320: = complete_type_witness %tuple.type.005 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -2749,17 +2749,17 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %OptionalStorage.impl_witness_table.1c4 = impl_witness_table (%Core.import_ref.481, %Core.import_ref.66d, %Core.import_ref.32c, %Core.import_ref.801, %Core.import_ref.eec, %Core.import_ref.a6a), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e86: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.1 (%DefaultOptionalStorage.elem.ff3) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.bce] // CHECK:STDOUT: %Core.import_ref.9ce: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.2 (%DefaultOptionalStorage.elem.4a2) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.dbe] -// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.c82: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.3ea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.f2f)] // CHECK:STDOUT: %Core.import_ref.29e: @Optional.%Optional.Get.type (%Optional.Get.type.786) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.2d0)] +// CHECK:STDOUT: %Core.import_ref.7b53: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b53), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.724: %facet_type.bd0 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%facet_value (constants.%facet_value.189)] // CHECK:STDOUT: %Core.import_ref.dd9: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%Destroy.facet (constants.%Destroy.facet.9b6)] // CHECK:STDOUT: %Core.import_ref.946: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor.type (%T.as_type.as.Iterate.impl.NewCursor.type.8fb) = 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.8a1)] // CHECK:STDOUT: %Core.import_ref.cfb: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next.type (%T.as_type.as.Iterate.impl.Next.type.d4a) = 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.5a8)] // CHECK:STDOUT: %Iterate.impl_witness_table.121 = impl_witness_table (%Core.import_ref.724, %Core.import_ref.dd9, %Core.import_ref.946, %Core.import_ref.cfb), @T.as_type.as.Iterate.impl [concrete] -// CHECK:STDOUT: %Core.import_ref.19b: @Float.as.Copy.impl.%Float.as.Copy.impl.Op.type (%Float.as.Copy.impl.Op.type.e8d) = 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.fe9)] -// CHECK:STDOUT: %Copy.impl_witness_table.14d = impl_witness_table (%Core.import_ref.19b), @Float.as.Copy.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.19b6: @Float.as.Copy.impl.%Float.as.Copy.impl.Op.type (%Float.as.Copy.impl.Op.type.e8d) = 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.fe9)] +// CHECK:STDOUT: %Copy.impl_witness_table.14d = impl_witness_table (%Core.import_ref.19b6), @Float.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e0d0: @Float.as.AddAssignWith.impl.%Float.as.AddAssignWith.impl.Op.type (%Float.as.AddAssignWith.impl.Op.type.763) = 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.8aa)] // CHECK:STDOUT: %AddAssignWith.impl_witness_table = impl_witness_table (%Core.import_ref.e0d0), @Float.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.import_ref.b0d = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded @@ -3077,12 +3077,12 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.Some.ae9: %T.as_type.as.OptionalStorage.impl.Some.type.292 = struct_value () [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.None.type.b57: type = fn_type @T.as_type.as.OptionalStorage.impl.None, @T.as_type.as.OptionalStorage.impl(%T.f84392.1) [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.None.791: %T.as_type.as.OptionalStorage.impl.None.type.b57 = struct_value () [symbolic] -// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] -// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %N.fe9: Core.IntLiteral = symbolic_binding N, 0 [symbolic] +// CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] +// CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] // CHECK:STDOUT: %.Self.500: %Iterate.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %CppRange.type: type = facet_type <@CppRange> [concrete] // CHECK:STDOUT: %.Self.e0b: %CppRange.type = symbolic_binding .Self [symbolic_self] @@ -3164,11 +3164,11 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.type.763: type = fn_type @Float.as.AddAssignWith.impl.Op, @Float.as.AddAssignWith.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.8aa: %Float.as.AddAssignWith.impl.Op.type.763 = struct_value () [symbolic] // CHECK:STDOUT: %AddAssignWith.impl_witness.5c7: = impl_witness imports.%AddAssignWith.impl_witness_table, @Float.as.AddAssignWith.impl(%int_64) [concrete] -// CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.type.f20: type = fn_type @Float.as.AddAssignWith.impl.Op, @Float.as.AddAssignWith.impl(%int_64) [concrete] -// CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.e04: %Float.as.AddAssignWith.impl.Op.type.f20 = struct_value () [concrete] // CHECK:STDOUT: %AddAssignWith.facet: %AddAssignWith.type.0c5 = facet_value %f64.761, (%AddAssignWith.impl_witness.5c7) [concrete] // CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.bb6: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%f64.761, %AddAssignWith.facet) [concrete] // CHECK:STDOUT: %.48b: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.bb6, %AddAssignWith.facet [concrete] +// CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.type.f20: type = fn_type @Float.as.AddAssignWith.impl.Op, @Float.as.AddAssignWith.impl(%int_64) [concrete] +// CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.e04: %Float.as.AddAssignWith.impl.Op.type.f20 = struct_value () [concrete] // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Float.as.AddAssignWith.impl.Op.e04, @Float.as.AddAssignWith.impl.Op(%int_64) [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.type.6870fd.4: type = fn_type @SubobjectDestroy.WithSelf.Op.loc36_19.2 [concrete] // CHECK:STDOUT: %SubobjectDestroy.WithSelf.Op.30f1ee.4: %SubobjectDestroy.WithSelf.Op.type.6870fd.4 = struct_value () [concrete] @@ -3221,7 +3221,6 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %custom_witness.b80ef6.9: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.9), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.0de: %SubobjectDestroy.type = facet_value %tuple.type.dd0, (%custom_witness.b80ef6.9) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.1fa: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.0de) [concrete] -// CHECK:STDOUT: %complete_type.843: = complete_type_witness %tuple.type.dd0 [concrete] // CHECK:STDOUT: %Destroy.facet.5f38: %Destroy.type = facet_value %tuple.type.dd0, (%custom_witness.b80ef6.9, %DestroyImpl.impl_witness.1fa) [concrete] // CHECK:STDOUT: %Iterate.impl_witness.8a2: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.13f) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.82c: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.13f) [concrete] @@ -3239,6 +3238,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.ab45: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.b58, %Iterate.facet.602 [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn: = specific_function %T.as_type.as.Iterate.impl.Next.bc3, @T.as_type.as.Iterate.impl.Next(%facet_value.13f) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.e1d: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.5f38) [concrete] +// CHECK:STDOUT: %complete_type.843: = complete_type_witness %tuple.type.dd0 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -3251,17 +3251,17 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %OptionalStorage.impl_witness_table.1c4 = impl_witness_table (%Core.import_ref.481, %Core.import_ref.66d, %Core.import_ref.32c, %Core.import_ref.801, %Core.import_ref.eec, %Core.import_ref.a6a), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e86: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.1 (%DefaultOptionalStorage.elem.ff3) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.bce] // CHECK:STDOUT: %Core.import_ref.9ce: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.2 (%DefaultOptionalStorage.elem.4a2) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.dbe] -// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.c82: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.3ea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.f2f)] // CHECK:STDOUT: %Core.import_ref.29e: @Optional.%Optional.Get.type (%Optional.Get.type.786) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.2d0)] +// CHECK:STDOUT: %Core.import_ref.7b53: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b53), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.724: %facet_type.bd0 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%facet_value (constants.%facet_value.189)] // CHECK:STDOUT: %Core.import_ref.dd9: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%Destroy.facet (constants.%Destroy.facet.9b6)] // CHECK:STDOUT: %Core.import_ref.946: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor.type (%T.as_type.as.Iterate.impl.NewCursor.type.8fb) = 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.8a1)] // CHECK:STDOUT: %Core.import_ref.cfb: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next.type (%T.as_type.as.Iterate.impl.Next.type.d4a) = 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.5a8)] // CHECK:STDOUT: %Iterate.impl_witness_table.121 = impl_witness_table (%Core.import_ref.724, %Core.import_ref.dd9, %Core.import_ref.946, %Core.import_ref.cfb), @T.as_type.as.Iterate.impl [concrete] -// CHECK:STDOUT: %Core.import_ref.19b: @Float.as.Copy.impl.%Float.as.Copy.impl.Op.type (%Float.as.Copy.impl.Op.type.e8d) = 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.fe9)] -// CHECK:STDOUT: %Copy.impl_witness_table.14d = impl_witness_table (%Core.import_ref.19b), @Float.as.Copy.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.19b6: @Float.as.Copy.impl.%Float.as.Copy.impl.Op.type (%Float.as.Copy.impl.Op.type.e8d) = 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.fe9)] +// CHECK:STDOUT: %Copy.impl_witness_table.14d = impl_witness_table (%Core.import_ref.19b6), @Float.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e0d0: @Float.as.AddAssignWith.impl.%Float.as.AddAssignWith.impl.Op.type (%Float.as.AddAssignWith.impl.Op.type.763) = 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.8aa)] // CHECK:STDOUT: %AddAssignWith.impl_witness_table = impl_witness_table (%Core.import_ref.e0d0), @Float.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.import_ref.b0d = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded @@ -3581,11 +3581,11 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.Some.ae9: %T.as_type.as.OptionalStorage.impl.Some.type.292 = struct_value () [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.None.type.b57: type = fn_type @T.as_type.as.OptionalStorage.impl.None, @T.as_type.as.OptionalStorage.impl(%T.f84392.1) [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.None.791: %T.as_type.as.OptionalStorage.impl.None.type.b57 = struct_value () [symbolic] +// CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] +// CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] // CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] -// CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] -// CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %.Self.500: %Iterate.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %CppRange.type: type = facet_type <@CppRange> [concrete] // CHECK:STDOUT: %.Self.e0b: %CppRange.type = symbolic_binding .Self [symbolic_self] @@ -3724,7 +3724,6 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %custom_witness.b80ef6.8: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.8), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.b14: %SubobjectDestroy.type = facet_value %tuple.type.7a6, (%custom_witness.b80ef6.8) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.b22: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.b14) [concrete] -// CHECK:STDOUT: %complete_type.cf0: = complete_type_witness %tuple.type.7a6 [concrete] // CHECK:STDOUT: %Destroy.facet.959: %Destroy.type = facet_value %tuple.type.7a6, (%custom_witness.b80ef6.8, %DestroyImpl.impl_witness.b22) [concrete] // CHECK:STDOUT: %Iterate.impl_witness.939: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.d86) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.8ad: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.d86) [concrete] @@ -3742,6 +3741,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.135: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.869, %Iterate.facet.ce6 [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn: = specific_function %T.as_type.as.Iterate.impl.Next.2f5, @T.as_type.as.Iterate.impl.Next(%facet_value.d86) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.6b7: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.959) [concrete] +// CHECK:STDOUT: %complete_type.cf0: = complete_type_witness %tuple.type.7a6 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -3758,10 +3758,10 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %OptionalStorage.impl_witness_table.1c4 = impl_witness_table (%Core.import_ref.481, %Core.import_ref.66d, %Core.import_ref.32c, %Core.import_ref.801, %Core.import_ref.eec, %Core.import_ref.a6a), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e86: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.1 (%DefaultOptionalStorage.elem.ff3) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.bce] // CHECK:STDOUT: %Core.import_ref.9ce: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.2 (%DefaultOptionalStorage.elem.4a2) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.dbe] -// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.c82: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.3ea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.f2f)] // CHECK:STDOUT: %Core.import_ref.29e: @Optional.%Optional.Get.type (%Optional.Get.type.786) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.2d0)] +// CHECK:STDOUT: %Core.import_ref.7b53: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b53), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.724: %facet_type.bd0 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%facet_value (constants.%facet_value.189)] // CHECK:STDOUT: %Core.import_ref.dd9: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%Destroy.facet (constants.%Destroy.facet.9b6)] // CHECK:STDOUT: %Core.import_ref.946: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor.type (%T.as_type.as.Iterate.impl.NewCursor.type.8fb) = 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.8a1)] @@ -4206,10 +4206,10 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %OptionalStorage.impl_witness_table.1c4 = impl_witness_table (%Core.import_ref.481, %Core.import_ref.138, %Core.import_ref.e46, %Core.import_ref.801, %Core.import_ref.eec, %Core.import_ref.a6a), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e86: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.1 (%DefaultOptionalStorage.elem.ff3) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.bce] // CHECK:STDOUT: %Core.import_ref.9ce: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.2 (%DefaultOptionalStorage.elem.4a2) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.dbe] -// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.c82: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.3ea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.f2f)] // CHECK:STDOUT: %Core.import_ref.29e: @Optional.%Optional.Get.type (%Optional.Get.type.786) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.2d0)] +// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %DiffMutableADL: = namespace [concrete] { // CHECK:STDOUT: .ValueType = %ValueType.decl // CHECK:STDOUT: .MutableRange = %MutableRange.decl @@ -4467,11 +4467,11 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.Some.ae9: %T.as_type.as.OptionalStorage.impl.Some.type.292 = struct_value () [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.None.type.b57: type = fn_type @T.as_type.as.OptionalStorage.impl.None, @T.as_type.as.OptionalStorage.impl(%T.f84392.1) [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalStorage.impl.None.791: %T.as_type.as.OptionalStorage.impl.None.type.b57 = struct_value () [symbolic] +// CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] +// CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %T.09f: %SubobjectDestroy.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.type.dea: type = fn_type @T.as_type.as.DestroyImpl.impl.Op, @T.as_type.as.DestroyImpl.impl(%T.09f) [symbolic] // CHECK:STDOUT: %T.as_type.as.DestroyImpl.impl.Op.6e5: %T.as_type.as.DestroyImpl.impl.Op.type.dea = struct_value () [symbolic] -// CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] -// CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] // CHECK:STDOUT: %.Self.500: %Iterate.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %CppRange.type: type = facet_type <@CppRange> [concrete] // CHECK:STDOUT: %.Self.e0b: %CppRange.type = symbolic_binding .Self [symbolic_self] @@ -4604,7 +4604,6 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %custom_witness.b80ef6.8: = custom_witness (%SubobjectDestroy.WithSelf.Op.30f1ee.8), @SubobjectDestroy [concrete] // CHECK:STDOUT: %SubobjectDestroy.facet.3e6: %SubobjectDestroy.type = facet_value %tuple.type.de6, (%custom_witness.b80ef6.8) [concrete] // CHECK:STDOUT: %DestroyImpl.impl_witness.2c4: = impl_witness imports.%DestroyImpl.impl_witness_table, @T.as_type.as.DestroyImpl.impl(%SubobjectDestroy.facet.3e6) [concrete] -// CHECK:STDOUT: %complete_type.95d: = complete_type_witness %tuple.type.de6 [concrete] // CHECK:STDOUT: %Destroy.facet.a88: %Destroy.type = facet_value %tuple.type.de6, (%custom_witness.b80ef6.8, %DestroyImpl.impl_witness.2c4) [concrete] // CHECK:STDOUT: %Iterate.impl_witness.3b4: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.b85) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.316: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.b85) [concrete] @@ -4622,6 +4621,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.343: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.f69, %Iterate.facet.748 [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn: = specific_function %T.as_type.as.Iterate.impl.Next.353, @T.as_type.as.Iterate.impl.Next(%facet_value.b85) [concrete] // CHECK:STDOUT: %SelfDestruct.specific_fn.28f: = specific_function %SelfDestruct, @SelfDestruct(%Destroy.facet.a88) [concrete] +// CHECK:STDOUT: %complete_type.95d: = complete_type_witness %tuple.type.de6 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -4638,10 +4638,10 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %OptionalStorage.impl_witness_table.1c4 = impl_witness_table (%Core.import_ref.481, %Core.import_ref.66d, %Core.import_ref.32c, %Core.import_ref.801, %Core.import_ref.eec, %Core.import_ref.a6a), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e86: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.1 (%DefaultOptionalStorage.elem.ff3) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.bce] // CHECK:STDOUT: %Core.import_ref.9ce: @DefaultOptionalStorage.%DefaultOptionalStorage.elem.2 (%DefaultOptionalStorage.elem.4a2) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [concrete = %field_decl.dbe] -// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.c82: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.3ea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.f2f)] // CHECK:STDOUT: %Core.import_ref.29e: @Optional.%Optional.Get.type (%Optional.Get.type.786) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.2d0)] +// CHECK:STDOUT: %Core.import_ref.7b53: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b53), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.724: %facet_type.bd0 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%facet_value (constants.%facet_value.189)] // CHECK:STDOUT: %Core.import_ref.dd9: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%Destroy.facet (constants.%Destroy.facet.9b6)] // CHECK:STDOUT: %Core.import_ref.946: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor.type (%T.as_type.as.Iterate.impl.NewCursor.type.8fb) = 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.8a1)] diff --git a/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon b/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon index f8f02c536b7d..da21ec2f4496 100644 --- a/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon +++ b/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon @@ -89,11 +89,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_32) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -160,8 +160,8 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %initializer_list.template: %initializer_list.type = struct_value () [concrete = constants.%initializer_list.template] // CHECK:STDOUT: %initializer_list.decl: type = class_decl @initializer_list [concrete = constants.%initializer_list] {} {} -// CHECK:STDOUT: %Core.import_ref.7b5: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] -// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.7b5), @T.as_type.as.DestroyImpl.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.74d0: @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op.type (%T.as_type.as.DestroyImpl.impl.Op.type.dea) = import_ref Core//prelude/destroy, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DestroyImpl.impl.%T.as_type.as.DestroyImpl.impl.Op (constants.%T.as_type.as.DestroyImpl.impl.Op.6e5)] +// CHECK:STDOUT: %DestroyImpl.impl_witness_table = impl_witness_table (%Core.import_ref.74d0), @T.as_type.as.DestroyImpl.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e47: @Core.IntLiteral.as.ImplicitAs.impl.6b6.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.6b6.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2)] // CHECK:STDOUT: %ImplicitAs.impl_witness_table.f53 = impl_witness_table (%Core.import_ref.e47), @Core.IntLiteral.as.ImplicitAs.impl.6b6 [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] diff --git a/toolchain/check/testdata/interop/cpp/template/generic_call.carbon b/toolchain/check/testdata/interop/cpp/template/generic_call.carbon index 900fd7ddcbd3..45a564fc2786 100644 --- a/toolchain/check/testdata/interop/cpp/template/generic_call.carbon +++ b/toolchain/check/testdata/interop/cpp/template/generic_call.carbon @@ -67,12 +67,11 @@ fn G() { // CHECK:STDOUT: %T.as_type.as.DefaultOrUnformed.impl.Op.type.4da: type = fn_type @T.as_type.as.DefaultOrUnformed.impl.Op, @T.as_type.as.DefaultOrUnformed.impl(%T.b09) [symbolic] // CHECK:STDOUT: %T.as_type.as.DefaultOrUnformed.impl.Op.79f: %T.as_type.as.DefaultOrUnformed.impl.Op.type.4da = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness: = lookup_impl_witness %.537, @DefaultOrUnformed [template] -// CHECK:STDOUT: %.847: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%.537) [template] // CHECK:STDOUT: %DefaultOrUnformed.facet.67e: %DefaultOrUnformed.type = facet_value %.537, (%DefaultOrUnformed.lookup_impl_witness) [template] -// CHECK:STDOUT: %.77d: type = type_of_inst @F.%.loc8_25.7 [template] -// CHECK:STDOUT: %.984: %.77d = splice_inst @F.%.loc8_25.7 [template] -// CHECK:STDOUT: %.b48: type = type_of_inst @F.%.loc8_25.10 [template] -// CHECK:STDOUT: %.e18: %.b48 = splice_inst @F.%.loc8_25.10 [template] +// CHECK:STDOUT: %.77d: type = type_of_inst @F.%.loc8_25.6 [template] +// CHECK:STDOUT: %.984: %.77d = splice_inst @F.%.loc8_25.6 [template] +// CHECK:STDOUT: %.b48: type = type_of_inst @F.%.loc8_25.9 [template] +// CHECK:STDOUT: %.e18: %.b48 = splice_inst @F.%.loc8_25.9 [template] // CHECK:STDOUT: %tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %.5d6: %.537 = splice_inst @F.%tuple.elem0 [template] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] @@ -100,19 +99,18 @@ fn G() { // CHECK:STDOUT: %pattern_type.981: type = pattern_type %S [concrete] // CHECK:STDOUT: %v.patt.5fa: %pattern_type.981 = ref_binding_pattern v [concrete] // CHECK:STDOUT: %v.var_patt.e69: %pattern_type.981 = var_pattern %v.patt.5fa [concrete] -// CHECK:STDOUT: %.de3: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%S) [concrete] // CHECK:STDOUT: %S.Op.type.83af6e.1: type = fn_type @S.Op.1 [concrete] // CHECK:STDOUT: %S.Op.4dca31.1: %S.Op.type.83af6e.1 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b4: = custom_witness (%S.Op.4dca31.1), @Default [concrete] // CHECK:STDOUT: %Default.facet.602: %Default.type = facet_value %S, (%custom_witness.9b4) [concrete] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.4c0: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.602) [concrete] -// CHECK:STDOUT: %T.as_type.as.DefaultOrUnformed.impl.Op.type.46a: type = fn_type @T.as_type.as.DefaultOrUnformed.impl.Op, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.602) [concrete] -// CHECK:STDOUT: %T.as_type.as.DefaultOrUnformed.impl.Op.89b: %T.as_type.as.DefaultOrUnformed.impl.Op.type.46a = struct_value () [concrete] // CHECK:STDOUT: %DefaultOrUnformed.facet.dd9: %DefaultOrUnformed.type = facet_value %S, (%DefaultOrUnformed.impl_witness.4c0) [concrete] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.2e6: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.dd9) [concrete] // CHECK:STDOUT: %DefaultOrUnformed.assoc_type: type = assoc_entity_type @DefaultOrUnformed [concrete] // CHECK:STDOUT: %assoc0: %DefaultOrUnformed.assoc_type = assoc_entity element0, imports.%Core.import_ref.c82 [concrete] // CHECK:STDOUT: %.e57: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.2e6, %DefaultOrUnformed.facet.dd9 [concrete] +// CHECK:STDOUT: %T.as_type.as.DefaultOrUnformed.impl.Op.type.46a: type = fn_type @T.as_type.as.DefaultOrUnformed.impl.Op, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.602) [concrete] +// CHECK:STDOUT: %T.as_type.as.DefaultOrUnformed.impl.Op.89b: %T.as_type.as.DefaultOrUnformed.impl.Op.type.46a = struct_value () [concrete] // CHECK:STDOUT: %inst.splice_block.426619.3: = inst_value [concrete] { // CHECK:STDOUT: %.9dd: %.e57 = splice_block %impl.elem0.ef9 [concrete = %T.as_type.as.DefaultOrUnformed.impl.Op.89b] { // CHECK:STDOUT: %as_type: type = facet_access_type %DefaultOrUnformed.facet.dd9 [concrete = %S] @@ -204,15 +202,14 @@ fn G() { // CHECK:STDOUT: %pattern_type.loc8: type = pattern_type %.loc8_24.9 [template = %pattern_type.loc8 (constants.%pattern_type.fcb)] // CHECK:STDOUT: %v.patt.loc8_15.2: @F.%pattern_type.loc8 (%pattern_type.fcb) = ref_binding_pattern v [template = %v.patt.loc8_15.2 (constants.%v.patt.126)] // CHECK:STDOUT: %v.var_patt.loc8_3.2: @F.%pattern_type.loc8 (%pattern_type.fcb) = var_pattern %v.patt.loc8_15.2 [template = %v.var_patt.loc8_3.2 (constants.%v.var_patt.768)] -// CHECK:STDOUT: %.loc8_25.6: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%.loc8_24.9) [template = %.loc8_25.6 (constants.%.847)] // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness: = lookup_impl_witness %.loc8_24.9, @DefaultOrUnformed [template = %DefaultOrUnformed.lookup_impl_witness (constants.%DefaultOrUnformed.lookup_impl_witness)] // CHECK:STDOUT: %DefaultOrUnformed.facet.loc8_25.2: %DefaultOrUnformed.type = facet_value %.loc8_24.9, (%DefaultOrUnformed.lookup_impl_witness) [template = %DefaultOrUnformed.facet.loc8_25.2 (constants.%DefaultOrUnformed.facet.67e)] -// CHECK:STDOUT: %.loc8_25.7: = access_member_action %.loc8_25.1, Op [template] -// CHECK:STDOUT: %.loc8_25.8: type = type_of_inst %.loc8_25.7 [template = %.loc8_25.8 (constants.%.77d)] -// CHECK:STDOUT: %.loc8_25.9: @F.%.loc8_25.8 (%.77d) = splice_inst %.loc8_25.7 [template = %.loc8_25.9 (constants.%.984)] -// CHECK:STDOUT: %.loc8_25.10: = call_action (%.loc8_25.3), false [template] -// CHECK:STDOUT: %.loc8_25.11: type = type_of_inst %.loc8_25.10 [template = %.loc8_25.11 (constants.%.b48)] -// CHECK:STDOUT: %.loc8_25.12: @F.%.loc8_25.11 (%.b48) = splice_inst %.loc8_25.10 [template = %.loc8_25.12 (constants.%.e18)] +// CHECK:STDOUT: %.loc8_25.6: = access_member_action %.loc8_25.1, Op [template] +// CHECK:STDOUT: %.loc8_25.7: type = type_of_inst %.loc8_25.6 [template = %.loc8_25.7 (constants.%.77d)] +// CHECK:STDOUT: %.loc8_25.8: @F.%.loc8_25.7 (%.77d) = splice_inst %.loc8_25.6 [template = %.loc8_25.8 (constants.%.984)] +// CHECK:STDOUT: %.loc8_25.9: = call_action (%.loc8_25.3), false [template] +// CHECK:STDOUT: %.loc8_25.10: type = type_of_inst %.loc8_25.9 [template = %.loc8_25.10 (constants.%.b48)] +// CHECK:STDOUT: %.loc8_25.11: @F.%.loc8_25.10 (%.b48) = splice_inst %.loc8_25.9 [template = %.loc8_25.11 (constants.%.e18)] // CHECK:STDOUT: %.loc8_3.4: %tuple.type = initialize_action %.loc8_25.5, %.loc8_24.9, %v.var, none, false [template] // CHECK:STDOUT: %tuple.elem0: = tuple_access %.loc8_3.4, element0 [template] // CHECK:STDOUT: %.loc8_3.5: @F.%.loc8_24.9 (%.537) = splice_inst %tuple.elem0 [template = %.loc8_3.5 (constants.%.5d6)] @@ -225,10 +222,10 @@ fn G() { // CHECK:STDOUT: %v.var: ref @F.%.loc8_24.9 (%.537) = var_storage %v.var_patt.loc8_3.1 // CHECK:STDOUT: %DefaultOrUnformed.facet.loc8_25.1: %DefaultOrUnformed.type = facet_value constants.%.537, (constants.%DefaultOrUnformed.lookup_impl_witness) [template = %DefaultOrUnformed.facet.loc8_25.2 (constants.%DefaultOrUnformed.facet.67e)] // CHECK:STDOUT: %.loc8_25.1: %DefaultOrUnformed.type = converted constants.%.537, %DefaultOrUnformed.facet.loc8_25.1 [template = %DefaultOrUnformed.facet.loc8_25.2 (constants.%DefaultOrUnformed.facet.67e)] -// CHECK:STDOUT: %.loc8_25.2: type = type_of_inst %.loc8_25.7 [template = %.loc8_25.8 (constants.%.77d)] -// CHECK:STDOUT: %.loc8_25.3: @F.%.loc8_25.8 (%.77d) = splice_inst %.loc8_25.7 [template = %.loc8_25.9 (constants.%.984)] -// CHECK:STDOUT: %.loc8_25.4: type = type_of_inst %.loc8_25.10 [template = %.loc8_25.11 (constants.%.b48)] -// CHECK:STDOUT: %.loc8_25.5: @F.%.loc8_25.11 (%.b48) = splice_inst %.loc8_25.10 [template = %.loc8_25.12 (constants.%.e18)] +// CHECK:STDOUT: %.loc8_25.2: type = type_of_inst %.loc8_25.6 [template = %.loc8_25.7 (constants.%.77d)] +// CHECK:STDOUT: %.loc8_25.3: @F.%.loc8_25.7 (%.77d) = splice_inst %.loc8_25.6 [template = %.loc8_25.8 (constants.%.984)] +// CHECK:STDOUT: %.loc8_25.4: type = type_of_inst %.loc8_25.9 [template = %.loc8_25.10 (constants.%.b48)] +// CHECK:STDOUT: %.loc8_25.5: @F.%.loc8_25.10 (%.b48) = splice_inst %.loc8_25.9 [template = %.loc8_25.11 (constants.%.e18)] // CHECK:STDOUT: %.loc8_3.1: @F.%.loc8_24.9 (%.537) = splice_inst %tuple.elem0 [template = %.loc8_3.5 (constants.%.5d6)] // CHECK:STDOUT: assign %v.var, %.loc8_3.1 // CHECK:STDOUT: %.loc8_24.1: type = splice_block %.loc8_24.4 [template = %.loc8_24.9 (constants.%.537)] { @@ -278,15 +275,14 @@ fn G() { // CHECK:STDOUT: %pattern_type.loc8 => constants.%pattern_type.981 // CHECK:STDOUT: %v.patt.loc8_15.2 => constants.%v.patt.5fa // CHECK:STDOUT: %v.var_patt.loc8_3.2 => constants.%v.var_patt.e69 -// CHECK:STDOUT: %.loc8_25.6 => constants.%.de3 // CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness => constants.%DefaultOrUnformed.impl_witness.4c0 // CHECK:STDOUT: %DefaultOrUnformed.facet.loc8_25.2 => constants.%DefaultOrUnformed.facet.dd9 -// CHECK:STDOUT: %.loc8_25.7 => constants.%inst.splice_block.426619.3 -// CHECK:STDOUT: %.loc8_25.8 => constants.%.e57 -// CHECK:STDOUT: %.loc8_25.9 => constants.%T.as_type.as.DefaultOrUnformed.impl.Op.89b -// CHECK:STDOUT: %.loc8_25.10 => constants.%inst.splice_block.426619.4 -// CHECK:STDOUT: %.loc8_25.11 => constants.%S -// CHECK:STDOUT: %.loc8_25.12 => +// CHECK:STDOUT: %.loc8_25.6 => constants.%inst.splice_block.426619.3 +// CHECK:STDOUT: %.loc8_25.7 => constants.%.e57 +// CHECK:STDOUT: %.loc8_25.8 => constants.%T.as_type.as.DefaultOrUnformed.impl.Op.89b +// CHECK:STDOUT: %.loc8_25.9 => constants.%inst.splice_block.426619.4 +// CHECK:STDOUT: %.loc8_25.10 => constants.%S +// CHECK:STDOUT: %.loc8_25.11 => // CHECK:STDOUT: %.loc8_3.4 => constants.%tuple // CHECK:STDOUT: %tuple.elem0 => constants.%inst.splice_block.426619.5 // CHECK:STDOUT: %.loc8_3.5 => diff --git a/toolchain/check/testdata/interop/cpp/type_alias/import.carbon b/toolchain/check/testdata/interop/cpp/type_alias/import.carbon index 747e6497a2b3..a03fbfd5da56 100644 --- a/toolchain/check/testdata/interop/cpp/type_alias/import.carbon +++ b/toolchain/check/testdata/interop/cpp/type_alias/import.carbon @@ -65,11 +65,11 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -83,11 +83,11 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.83a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.a17, (%Copy.impl_witness.83a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9a2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.309: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9a2, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.81f, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %SubobjectDestroy.type: type = facet_type <@SubobjectDestroy> [concrete] @@ -197,11 +197,11 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.ec7: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.957: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.be3: %ptr.as.Copy.impl.Op.type.957 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.0a2, (%Copy.impl_witness.ec7) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.2ff: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.a70: type = fn_type_with_self_type %Copy.WithSelf.Op.type.2ff, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.957: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.be3: %ptr.as.Copy.impl.Op.type.957 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.be3, @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] diff --git a/toolchain/check/testdata/lambda/lambda.carbon b/toolchain/check/testdata/lambda/lambda.carbon index e7321447976a..ca9e183879c4 100644 --- a/toolchain/check/testdata/lambda/lambda.carbon +++ b/toolchain/check/testdata/lambda/lambda.carbon @@ -381,17 +381,17 @@ fn F() { // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] // CHECK:STDOUT: %return.patt.6fa: %pattern_type.d94 = return_slot_pattern %return.param_patt.299, %i32 [concrete] -// CHECK:STDOUT: %fn.type.4ee: type = fn_type @fn.loc5 [concrete] -// CHECK:STDOUT: %fn.eaf: %fn.type.4ee = struct_value () [concrete] +// CHECK:STDOUT: %fn.type.628: type = fn_type @fn.loc5 [concrete] +// CHECK:STDOUT: %fn.bf3: %fn.type.628 = struct_value () [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.d94 = value_binding_pattern a [concrete] // CHECK:STDOUT: %int_42.20e: Core.IntLiteral = int_value 42 [concrete] @@ -400,18 +400,18 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.81c: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.98e: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_42.db5: %i32 = int_value 42 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.d94 = value_binding_pattern b [concrete] -// CHECK:STDOUT: %fn.type.499: type = fn_type @fn.loc7 [concrete] -// CHECK:STDOUT: %fn.5f1: %fn.type.499 = struct_value () [concrete] +// CHECK:STDOUT: %fn.type.c14: type = fn_type @fn.loc7 [concrete] +// CHECK:STDOUT: %fn.7c9: %fn.type.c14 = struct_value () [concrete] // CHECK:STDOUT: %int_10.64f: Core.IntLiteral = int_value 10 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.02d: = bound_method %int_10.64f, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %bound_method.002: = bound_method %int_10.64f, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -427,7 +427,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: fn @TestIdentity() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %fn.decl.loc5: %fn.type.4ee = fn_decl @fn.loc5 [concrete = constants.%fn.eaf] { +// CHECK:STDOUT: %fn.decl.loc5: %fn.type.628 = fn_decl @fn.loc5 [concrete = constants.%fn.bf3] { // CHECK:STDOUT: %x.param_patt: %pattern_type.d94 = value_param_pattern [concrete = constants.%x.param_patt] // CHECK:STDOUT: %x.patt: %pattern_type.d94 = wrapper_binding_pattern x, %x.param_patt [concrete = constants.%x.patt] // CHECK:STDOUT: %return.param_patt: %pattern_type.d94 = out_param_pattern [concrete = constants.%return.param_patt.299] @@ -441,8 +441,8 @@ fn F() { // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %id_i32: %fn.type.4ee = alias_binding id_i32, %fn.decl.loc5 [concrete = constants.%fn.eaf] -// CHECK:STDOUT: %id_i32.ref: %fn.type.4ee = name_ref id_i32, %id_i32 [concrete = constants.%fn.eaf] +// CHECK:STDOUT: %id_i32: %fn.type.628 = alias_binding id_i32, %fn.decl.loc5 [concrete = constants.%fn.bf3] +// CHECK:STDOUT: %id_i32.ref: %fn.type.628 = name_ref id_i32, %id_i32 [concrete = constants.%fn.bf3] // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete = constants.%int_42.20e] // CHECK:STDOUT: %impl.elem0.loc6: %.33a = impl_witness_access constants.%ImplicitAs.impl_witness.d73, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f60] // CHECK:STDOUT: %bound_method.loc6_30.1: = bound_method %int_42, %impl.elem0.loc6 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.81c] @@ -459,7 +459,7 @@ fn F() { // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.d94 = value_binding_pattern a [concrete = constants.%a.patt] // CHECK:STDOUT: } -// CHECK:STDOUT: %fn.decl.loc7: %fn.type.499 = fn_decl @fn.loc7 [concrete = constants.%fn.5f1] { +// CHECK:STDOUT: %fn.decl.loc7: %fn.type.c14 = fn_decl @fn.loc7 [concrete = constants.%fn.7c9] { // CHECK:STDOUT: %x.param_patt: %pattern_type.d94 = value_param_pattern [concrete = constants.%x.param_patt] // CHECK:STDOUT: %x.patt: %pattern_type.d94 = wrapper_binding_pattern x, %x.param_patt [concrete = constants.%x.patt] // CHECK:STDOUT: %return.param_patt: %pattern_type.d94 = out_param_pattern [concrete = constants.%return.param_patt.299] @@ -524,8 +524,8 @@ fn F() { // CHECK:STDOUT: %pattern_type.d94: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.d94 = value_param_pattern [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.d94 = wrapper_binding_pattern x, %x.param_patt [concrete] -// CHECK:STDOUT: %fn.type.975: type = fn_type @fn.loc5 [concrete] -// CHECK:STDOUT: %fn.460: %fn.type.975 = struct_value () [concrete] +// CHECK:STDOUT: %fn.type.a3c: type = fn_type @fn.loc5 [concrete] +// CHECK:STDOUT: %fn.360: %fn.type.a3c = struct_value () [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] // CHECK:STDOUT: %return.patt.6fa: %pattern_type.d94 = return_slot_pattern %return.param_patt.299, %i32 [concrete] @@ -533,11 +533,11 @@ fn F() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %e.patt: %pattern_type.d94 = value_binding_pattern e [concrete] // CHECK:STDOUT: %int_42.20e: Core.IntLiteral = int_value 42 [concrete] @@ -546,24 +546,24 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.81c: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.98e: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_42.db5: %i32 = int_value 42 [concrete] // CHECK:STDOUT: %f.patt: %pattern_type.d94 = value_binding_pattern f [concrete] -// CHECK:STDOUT: %fn.type.66a: type = fn_type @fn.loc7 [concrete] -// CHECK:STDOUT: %fn.4ec: %fn.type.66a = struct_value () [concrete] +// CHECK:STDOUT: %fn.type.ea8: type = fn_type @fn.loc7 [concrete] +// CHECK:STDOUT: %fn.8b4: %fn.type.ea8 = struct_value () [concrete] // CHECK:STDOUT: %int_10.64f: Core.IntLiteral = int_value 10 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.02d: = bound_method %int_10.64f, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %bound_method.002: = bound_method %int_10.64f, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_10.6a3: %i32 = int_value 10 [concrete] -// CHECK:STDOUT: %fn.type.8cf: type = fn_type @fn.loc12 [concrete] -// CHECK:STDOUT: %fn.bae: %fn.type.8cf = struct_value () [concrete] +// CHECK:STDOUT: %fn.type.f8a: type = fn_type @fn.loc12 [concrete] +// CHECK:STDOUT: %fn.e17: %fn.type.f8a = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -574,7 +574,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { -// CHECK:STDOUT: %fn.decl: %fn.type.8cf = fn_decl @fn.loc12 [concrete = constants.%fn.bae] { +// CHECK:STDOUT: %fn.decl: %fn.type.f8a = fn_decl @fn.loc12 [concrete = constants.%fn.e17] { // CHECK:STDOUT: %x.param_patt: %pattern_type.d94 = value_param_pattern [concrete = constants.%x.param_patt] // CHECK:STDOUT: %x.patt: %pattern_type.d94 = wrapper_binding_pattern x, %x.param_patt [concrete = constants.%x.patt] // CHECK:STDOUT: %return.param_patt: %pattern_type.d94 = out_param_pattern [concrete = constants.%return.param_patt.299] @@ -588,12 +588,12 @@ fn F() { // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %terse_id_fn: %fn.type.8cf = alias_binding terse_id_fn, %fn.decl [concrete = constants.%fn.bae] +// CHECK:STDOUT: %terse_id_fn: %fn.type.f8a = alias_binding terse_id_fn, %fn.decl [concrete = constants.%fn.e17] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestTerse() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %fn.decl.loc5: %fn.type.975 = fn_decl @fn.loc5 [concrete = constants.%fn.460] { +// CHECK:STDOUT: %fn.decl.loc5: %fn.type.a3c = fn_decl @fn.loc5 [concrete = constants.%fn.360] { // CHECK:STDOUT: %x.param_patt: %pattern_type.d94 = value_param_pattern [concrete = constants.%x.param_patt] // CHECK:STDOUT: %x.patt: %pattern_type.d94 = wrapper_binding_pattern x, %x.param_patt [concrete = constants.%x.patt] // CHECK:STDOUT: %return.param_patt: %pattern_type.d94 = out_param_pattern [concrete = constants.%return.param_patt.299] @@ -607,8 +607,8 @@ fn F() { // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %terse_id_i32: %fn.type.975 = alias_binding terse_id_i32, %fn.decl.loc5 [concrete = constants.%fn.460] -// CHECK:STDOUT: %terse_id_i32.ref: %fn.type.975 = name_ref terse_id_i32, %terse_id_i32 [concrete = constants.%fn.460] +// CHECK:STDOUT: %terse_id_i32: %fn.type.a3c = alias_binding terse_id_i32, %fn.decl.loc5 [concrete = constants.%fn.360] +// CHECK:STDOUT: %terse_id_i32.ref: %fn.type.a3c = name_ref terse_id_i32, %terse_id_i32 [concrete = constants.%fn.360] // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete = constants.%int_42.20e] // CHECK:STDOUT: %impl.elem0.loc6: %.33a = impl_witness_access constants.%ImplicitAs.impl_witness.d73, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f60] // CHECK:STDOUT: %bound_method.loc6_36.1: = bound_method %int_42, %impl.elem0.loc6 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.81c] @@ -625,7 +625,7 @@ fn F() { // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.d94 = value_binding_pattern e [concrete = constants.%e.patt] // CHECK:STDOUT: } -// CHECK:STDOUT: %fn.decl.loc7: %fn.type.66a = fn_decl @fn.loc7 [concrete = constants.%fn.4ec] { +// CHECK:STDOUT: %fn.decl.loc7: %fn.type.ea8 = fn_decl @fn.loc7 [concrete = constants.%fn.8b4] { // CHECK:STDOUT: %x.param_patt: %pattern_type.d94 = value_param_pattern [concrete = constants.%x.param_patt] // CHECK:STDOUT: %x.patt: %pattern_type.d94 = wrapper_binding_pattern x, %x.param_patt [concrete = constants.%x.patt] // CHECK:STDOUT: %return.param_patt: %pattern_type.d94 = out_param_pattern [concrete = constants.%return.param_patt.299] @@ -738,11 +738,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] @@ -752,13 +752,11 @@ fn F() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %x.param_patt.051: %pattern_type.d94 = value_param_pattern [concrete] // CHECK:STDOUT: %x.patt.0f7: %pattern_type.d94 = wrapper_binding_pattern x, %x.param_patt.051 [concrete] // CHECK:STDOUT: %return.patt.6fa: %pattern_type.d94 = return_slot_pattern %return.param_patt.299, %i32 [concrete] -// CHECK:STDOUT: %fn.specific_fn.656: = specific_function %fn, @fn(%Copy.facet.95d) [concrete] +// CHECK:STDOUT: %fn.specific_fn.7ce: = specific_function %fn, @fn(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %d.patt: %pattern_type.831 = value_binding_pattern d [concrete] // CHECK:STDOUT: %true: bool = bool_literal true [concrete] @@ -769,9 +767,11 @@ fn F() { // 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: %fn.specific_fn.10a: = specific_function %fn, @fn(%Copy.facet.7af) [concrete] +// CHECK:STDOUT: %fn.specific_fn.7dd: = specific_function %fn, @fn(%Copy.facet.7af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %complete_type.127: = complete_type_witness bool [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.c98: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.7af) [concrete] @@ -845,7 +845,7 @@ fn F() { // CHECK:STDOUT: %.loc6_43.1: %Copy.type = converted constants.%i32, %Copy.facet.loc6_43.1 [concrete = constants.%Copy.facet.95d] // CHECK:STDOUT: %Copy.facet.loc6_43.2: %Copy.type = facet_value constants.%i32, (constants.%Copy.impl_witness.8af) [concrete = constants.%Copy.facet.95d] // CHECK:STDOUT: %.loc6_43.2: %Copy.type = converted constants.%i32, %Copy.facet.loc6_43.2 [concrete = constants.%Copy.facet.95d] -// CHECK:STDOUT: %fn.specific_fn.loc6: = specific_function %generic_id.ref.loc6, @fn(constants.%Copy.facet.95d) [concrete = constants.%fn.specific_fn.656] +// CHECK:STDOUT: %fn.specific_fn.loc6: = specific_function %generic_id.ref.loc6, @fn(constants.%Copy.facet.95d) [concrete = constants.%fn.specific_fn.7ce] // CHECK:STDOUT: %fn.call.loc6: init %i32 = call %fn.specific_fn.loc6(%.loc6_37.2) // CHECK:STDOUT: %.loc6_43.3: %i32 = value_of_initializer %fn.call.loc6 // CHECK:STDOUT: %.loc6_43.4: %i32 = converted %fn.call.loc6, %.loc6_43.3 @@ -860,7 +860,7 @@ fn F() { // CHECK:STDOUT: %.loc7_39.1: %Copy.type = converted bool, %Copy.facet.loc7_39.1 [concrete = constants.%Copy.facet.7af] // CHECK:STDOUT: %Copy.facet.loc7_39.2: %Copy.type = facet_value bool, (constants.%Copy.impl_witness.5e1) [concrete = constants.%Copy.facet.7af] // CHECK:STDOUT: %.loc7_39.2: %Copy.type = converted bool, %Copy.facet.loc7_39.2 [concrete = constants.%Copy.facet.7af] -// CHECK:STDOUT: %fn.specific_fn.loc7: = specific_function %generic_id.ref.loc7, @fn(constants.%Copy.facet.7af) [concrete = constants.%fn.specific_fn.10a] +// CHECK:STDOUT: %fn.specific_fn.loc7: = specific_function %generic_id.ref.loc7, @fn(constants.%Copy.facet.7af) [concrete = constants.%fn.specific_fn.7dd] // CHECK:STDOUT: %fn.call.loc7: init bool = call %fn.specific_fn.loc7(%true) // CHECK:STDOUT: %.loc7_39.3: bool = value_of_initializer %fn.call.loc7 // CHECK:STDOUT: %.loc7_39.4: bool = converted %fn.call.loc7, %.loc7_39.3 @@ -974,24 +974,24 @@ fn F() { // CHECK:STDOUT: %.1ce700.2: Core.Form = init_form %T.as_type [symbolic] // CHECK:STDOUT: %return.param_patt.bf4475.2: %pattern_type.2c66b4.2 = out_param_pattern [symbolic] // CHECK:STDOUT: %return.patt.f44: %pattern_type.2c66b4.2 = return_slot_pattern %return.param_patt.bf4475.2, %T.as_type [symbolic] -// CHECK:STDOUT: %fn.type.d4a: type = fn_type @fn.loc5 [concrete] -// CHECK:STDOUT: %fn.9dd: %fn.type.d4a = struct_value () [concrete] +// CHECK:STDOUT: %fn.type.f41: type = fn_type @fn.loc5 [concrete] +// CHECK:STDOUT: %fn.893: %fn.type.f41 = struct_value () [concrete] // CHECK:STDOUT: %require_complete.d83: = require_complete_type %T.as_type [symbolic] // CHECK:STDOUT: %y.param_patt.ec0: %pattern_type.2c66b4.2 = value_param_pattern [symbolic] // CHECK:STDOUT: %y.patt.d6d: %pattern_type.2c66b4.2 = wrapper_binding_pattern y, %y.param_patt.ec0 [symbolic] -// CHECK:STDOUT: %fn.type.7d1: type = fn_type @fn.loc6, @fn.loc5(%T.f84) [symbolic] -// CHECK:STDOUT: %fn.dd0: %fn.type.7d1 = struct_value () [symbolic] +// CHECK:STDOUT: %fn.type.d33: type = fn_type @fn.loc6, @fn.loc5(%T.f84) [symbolic] +// CHECK:STDOUT: %fn.13b: %fn.type.d33 = struct_value () [symbolic] // CHECK:STDOUT: %z.param_patt.b42: %pattern_type.2c66b4.2 = value_param_pattern [symbolic] // CHECK:STDOUT: %z.patt.513: %pattern_type.2c66b4.2 = wrapper_binding_pattern z, %z.param_patt.b42 [symbolic] -// CHECK:STDOUT: %fn.type.531: type = fn_type @fn.loc7, @fn.loc6(%T.f84) [symbolic] -// CHECK:STDOUT: %fn.dc1: %fn.type.531 = struct_value () [symbolic] +// CHECK:STDOUT: %fn.type.f25: type = fn_type @fn.loc7, @fn.loc6(%T.f84) [symbolic] +// CHECK:STDOUT: %fn.93d: %fn.type.f25 = struct_value () [symbolic] // CHECK:STDOUT: %Copy.lookup_impl_witness.d9c: = lookup_impl_witness %T.f84, @Copy [symbolic] // CHECK:STDOUT: %Copy.WithSelf.Op.type.d2f9c3.2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%T.f84) [symbolic] // CHECK:STDOUT: %.8bf: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d2f9c3.2, %T.f84 [symbolic] // CHECK:STDOUT: %impl.elem0.bb5: %.8bf = impl_witness_access %Copy.lookup_impl_witness.d9c, element0 [symbolic] // CHECK:STDOUT: %specific_impl_fn.2ac: = specific_impl_function %impl.elem0.bb5, @Copy.WithSelf.Op(%T.f84) [symbolic] -// CHECK:STDOUT: %fn.specific_fn.6d4: = specific_function %fn.dc1, @fn.loc7(%T.f84) [symbolic] -// CHECK:STDOUT: %fn.specific_fn.eed: = specific_function %fn.dd0, @fn.loc6(%T.f84) [symbolic] +// CHECK:STDOUT: %fn.specific_fn.bef: = specific_function %fn.93d, @fn.loc7(%T.f84) [symbolic] +// CHECK:STDOUT: %fn.specific_fn.ed0: = specific_function %fn.13b, @fn.loc6(%T.f84) [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = parameterized_class_name_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -1009,11 +1009,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] @@ -1023,13 +1023,11 @@ fn F() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %x.param_patt.051: %pattern_type.d94 = value_param_pattern [concrete] // CHECK:STDOUT: %x.patt.0f7: %pattern_type.d94 = wrapper_binding_pattern x, %x.param_patt.051 [concrete] // CHECK:STDOUT: %return.patt.6fa: %pattern_type.d94 = return_slot_pattern %return.param_patt.299, %i32 [concrete] -// CHECK:STDOUT: %fn.specific_fn.d27: = specific_function %fn.9dd, @fn.loc5(%Copy.facet.95d) [concrete] +// CHECK:STDOUT: %fn.specific_fn.e22: = specific_function %fn.893, @fn.loc5(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %d.patt: %pattern_type.831 = value_binding_pattern d [concrete] // CHECK:STDOUT: %true: bool = bool_literal true [concrete] @@ -1040,30 +1038,32 @@ fn F() { // 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: %fn.specific_fn.8de: = specific_function %fn.9dd, @fn.loc5(%Copy.facet.7af) [concrete] -// CHECK:STDOUT: %fn.type.949: type = fn_type @fn.loc6, @fn.loc5(%Copy.facet.95d) [concrete] -// CHECK:STDOUT: %fn.62e: %fn.type.949 = struct_value () [concrete] +// CHECK:STDOUT: %fn.specific_fn.33b: = specific_function %fn.893, @fn.loc5(%Copy.facet.7af) [concrete] +// CHECK:STDOUT: %fn.type.14a: type = fn_type @fn.loc6, @fn.loc5(%Copy.facet.95d) [concrete] +// CHECK:STDOUT: %fn.106: %fn.type.14a = struct_value () [concrete] // CHECK:STDOUT: %y.param_patt.665: %pattern_type.d94 = value_param_pattern [concrete] // CHECK:STDOUT: %y.patt.e18: %pattern_type.d94 = wrapper_binding_pattern y, %y.param_patt.665 [concrete] -// CHECK:STDOUT: %fn.specific_fn.458: = specific_function %fn.62e, @fn.loc6(%Copy.facet.95d) [concrete] +// CHECK:STDOUT: %fn.specific_fn.3b2: = specific_function %fn.106, @fn.loc6(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %complete_type.127: = complete_type_witness bool [concrete] -// CHECK:STDOUT: %fn.type.319: type = fn_type @fn.loc6, @fn.loc5(%Copy.facet.7af) [concrete] -// CHECK:STDOUT: %fn.1af: %fn.type.319 = struct_value () [concrete] +// CHECK:STDOUT: %fn.type.0e2: type = fn_type @fn.loc6, @fn.loc5(%Copy.facet.7af) [concrete] +// CHECK:STDOUT: %fn.e42: %fn.type.0e2 = struct_value () [concrete] // CHECK:STDOUT: %y.param_patt.077: %pattern_type.831 = value_param_pattern [concrete] // CHECK:STDOUT: %y.patt.252: %pattern_type.831 = wrapper_binding_pattern y, %y.param_patt.077 [concrete] -// CHECK:STDOUT: %fn.specific_fn.c2d: = specific_function %fn.1af, @fn.loc6(%Copy.facet.7af) [concrete] -// CHECK:STDOUT: %fn.type.70b: type = fn_type @fn.loc7, @fn.loc6(%Copy.facet.95d) [concrete] -// CHECK:STDOUT: %fn.37d: %fn.type.70b = struct_value () [concrete] +// CHECK:STDOUT: %fn.specific_fn.738: = specific_function %fn.e42, @fn.loc6(%Copy.facet.7af) [concrete] +// CHECK:STDOUT: %fn.type.aca: type = fn_type @fn.loc7, @fn.loc6(%Copy.facet.95d) [concrete] +// CHECK:STDOUT: %fn.6d4: %fn.type.aca = struct_value () [concrete] // CHECK:STDOUT: %z.param_patt.896: %pattern_type.d94 = value_param_pattern [concrete] // CHECK:STDOUT: %z.patt.660: %pattern_type.d94 = wrapper_binding_pattern z, %z.param_patt.896 [concrete] -// CHECK:STDOUT: %fn.specific_fn.6d6: = specific_function %fn.37d, @fn.loc7(%Copy.facet.95d) [concrete] -// CHECK:STDOUT: %fn.type.c1a: type = fn_type @fn.loc7, @fn.loc6(%Copy.facet.7af) [concrete] -// CHECK:STDOUT: %fn.d5a: %fn.type.c1a = struct_value () [concrete] +// CHECK:STDOUT: %fn.specific_fn.dc3: = specific_function %fn.6d4, @fn.loc7(%Copy.facet.95d) [concrete] +// CHECK:STDOUT: %fn.type.13a: type = fn_type @fn.loc7, @fn.loc6(%Copy.facet.7af) [concrete] +// CHECK:STDOUT: %fn.4e2: %fn.type.13a = struct_value () [concrete] // CHECK:STDOUT: %z.param_patt.a49: %pattern_type.831 = value_param_pattern [concrete] // CHECK:STDOUT: %z.patt.246: %pattern_type.831 = wrapper_binding_pattern z, %z.param_patt.a49 [concrete] -// CHECK:STDOUT: %fn.specific_fn.8ab: = specific_function %fn.d5a, @fn.loc7(%Copy.facet.7af) [concrete] +// CHECK:STDOUT: %fn.specific_fn.0d4: = specific_function %fn.4e2, @fn.loc7(%Copy.facet.7af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.c98: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.7af) [concrete] // CHECK:STDOUT: %.68a: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c98, %Copy.facet.7af [concrete] @@ -1094,7 +1094,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: fn @TestGenericNested() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %fn.decl: %fn.type.d4a = fn_decl @fn.loc5 [concrete = constants.%fn.9dd] { +// CHECK:STDOUT: %fn.decl: %fn.type.f41 = fn_decl @fn.loc5 [concrete = constants.%fn.893] { // CHECK:STDOUT: %T.patt.loc5_27.1: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_27.2 (constants.%T.patt.fe6)] // CHECK:STDOUT: %x.param_patt.loc5_41.1: @fn.loc5.%pattern_type (%pattern_type.2c66b4.2) = value_param_pattern [symbolic = %x.param_patt.loc5_41.2 (constants.%x.param_patt.1f4)] // CHECK:STDOUT: %x.patt.loc5_41.1: @fn.loc5.%pattern_type (%pattern_type.2c66b4.2) = wrapper_binding_pattern x, %x.param_patt.loc5_41.1 [symbolic = %x.patt.loc5_41.2 (constants.%x.patt.cec)] @@ -1121,8 +1121,8 @@ fn F() { // CHECK:STDOUT: %return.param: ref @fn.loc5.%T.as_type.loc5_43.1 (%T.as_type) = out_param call_param1 // CHECK:STDOUT: %return: ref @fn.loc5.%T.as_type.loc5_43.1 (%T.as_type) = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %generic_id: %fn.type.d4a = alias_binding generic_id, %fn.decl [concrete = constants.%fn.9dd] -// CHECK:STDOUT: %generic_id.ref.loc12: %fn.type.d4a = name_ref generic_id, %generic_id [concrete = constants.%fn.9dd] +// CHECK:STDOUT: %generic_id: %fn.type.f41 = alias_binding generic_id, %fn.decl [concrete = constants.%fn.893] +// CHECK:STDOUT: %generic_id.ref.loc12: %fn.type.f41 = name_ref generic_id, %generic_id [concrete = constants.%fn.893] // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete = constants.%int_42.20e] // CHECK:STDOUT: %i32.loc12_40: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.979 = impl_witness_access constants.%As.impl_witness.e09, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.94f] @@ -1136,7 +1136,7 @@ fn F() { // CHECK:STDOUT: %.loc12_43.1: %Copy.type = converted constants.%i32, %Copy.facet.loc12_43.1 [concrete = constants.%Copy.facet.95d] // CHECK:STDOUT: %Copy.facet.loc12_43.2: %Copy.type = facet_value constants.%i32, (constants.%Copy.impl_witness.8af) [concrete = constants.%Copy.facet.95d] // CHECK:STDOUT: %.loc12_43.2: %Copy.type = converted constants.%i32, %Copy.facet.loc12_43.2 [concrete = constants.%Copy.facet.95d] -// CHECK:STDOUT: %fn.specific_fn.loc12: = specific_function %generic_id.ref.loc12, @fn.loc5(constants.%Copy.facet.95d) [concrete = constants.%fn.specific_fn.d27] +// CHECK:STDOUT: %fn.specific_fn.loc12: = specific_function %generic_id.ref.loc12, @fn.loc5(constants.%Copy.facet.95d) [concrete = constants.%fn.specific_fn.e22] // CHECK:STDOUT: %fn.call.loc12: init %i32 = call %fn.specific_fn.loc12(%.loc12_37.2) // CHECK:STDOUT: %.loc12_43.3: %i32 = value_of_initializer %fn.call.loc12 // CHECK:STDOUT: %.loc12_43.4: %i32 = converted %fn.call.loc12, %.loc12_43.3 @@ -1145,13 +1145,13 @@ fn F() { // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.d94 = value_binding_pattern c [concrete = constants.%c.patt] // CHECK:STDOUT: } -// CHECK:STDOUT: %generic_id.ref.loc13: %fn.type.d4a = name_ref generic_id, %generic_id [concrete = constants.%fn.9dd] +// CHECK:STDOUT: %generic_id.ref.loc13: %fn.type.f41 = name_ref generic_id, %generic_id [concrete = constants.%fn.893] // CHECK:STDOUT: %true: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: %Copy.facet.loc13_39.1: %Copy.type = facet_value bool, (constants.%Copy.impl_witness.5e1) [concrete = constants.%Copy.facet.7af] // CHECK:STDOUT: %.loc13_39.1: %Copy.type = converted bool, %Copy.facet.loc13_39.1 [concrete = constants.%Copy.facet.7af] // CHECK:STDOUT: %Copy.facet.loc13_39.2: %Copy.type = facet_value bool, (constants.%Copy.impl_witness.5e1) [concrete = constants.%Copy.facet.7af] // CHECK:STDOUT: %.loc13_39.2: %Copy.type = converted bool, %Copy.facet.loc13_39.2 [concrete = constants.%Copy.facet.7af] -// CHECK:STDOUT: %fn.specific_fn.loc13: = specific_function %generic_id.ref.loc13, @fn.loc5(constants.%Copy.facet.7af) [concrete = constants.%fn.specific_fn.8de] +// CHECK:STDOUT: %fn.specific_fn.loc13: = specific_function %generic_id.ref.loc13, @fn.loc5(constants.%Copy.facet.7af) [concrete = constants.%fn.specific_fn.33b] // CHECK:STDOUT: %fn.call.loc13: init bool = call %fn.specific_fn.loc13(%true) // CHECK:STDOUT: %.loc13_39.3: bool = value_of_initializer %fn.call.loc13 // CHECK:STDOUT: %.loc13_39.4: bool = converted %fn.call.loc13, %.loc13_39.3 @@ -1176,13 +1176,13 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %T.as_type.loc5_43.1 [symbolic = %require_complete (constants.%require_complete.d83)] -// CHECK:STDOUT: %fn.type: type = fn_type @fn.loc6, @fn.loc5(%T.loc5_27.1) [symbolic = %fn.type (constants.%fn.type.7d1)] -// CHECK:STDOUT: %fn: @fn.loc5.%fn.type (%fn.type.7d1) = struct_value () [symbolic = %fn (constants.%fn.dd0)] -// CHECK:STDOUT: %fn.specific_fn.loc6_26.2: = specific_function %fn, @fn.loc6(%T.loc5_27.1) [symbolic = %fn.specific_fn.loc6_26.2 (constants.%fn.specific_fn.eed)] +// CHECK:STDOUT: %fn.type: type = fn_type @fn.loc6, @fn.loc5(%T.loc5_27.1) [symbolic = %fn.type (constants.%fn.type.d33)] +// CHECK:STDOUT: %fn: @fn.loc5.%fn.type (%fn.type.d33) = struct_value () [symbolic = %fn (constants.%fn.13b)] +// CHECK:STDOUT: %fn.specific_fn.loc6_26.2: = specific_function %fn, @fn.loc6(%T.loc5_27.1) [symbolic = %fn.specific_fn.loc6_26.2 (constants.%fn.specific_fn.ed0)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%x.param: @fn.loc5.%T.as_type.loc5_43.1 (%T.as_type)) -> out %return.param: @fn.loc5.%T.as_type.loc5_43.1 (%T.as_type) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %fn.decl: @fn.loc5.%fn.type (%fn.type.7d1) = fn_decl @fn.loc6 [symbolic = @fn.loc5.%fn (constants.%fn.dd0)] { +// CHECK:STDOUT: %fn.decl: @fn.loc5.%fn.type (%fn.type.d33) = fn_decl @fn.loc6 [symbolic = @fn.loc5.%fn (constants.%fn.13b)] { // CHECK:STDOUT: %y.param_patt.loc6_16.1: @fn.loc6.%pattern_type (%pattern_type.2c66b4.2) = value_param_pattern [symbolic = %y.param_patt.loc6_16.2 (constants.%y.param_patt.ec0)] // CHECK:STDOUT: %y.patt.loc6_16.1: @fn.loc6.%pattern_type (%pattern_type.2c66b4.2) = wrapper_binding_pattern y, %y.param_patt.loc6_16.1 [symbolic = %y.patt.loc6_16.2 (constants.%y.patt.d6d)] // CHECK:STDOUT: %return.param_patt.loc6_24.1: @fn.loc6.%pattern_type (%pattern_type.2c66b4.2) = out_param_pattern [symbolic = %return.param_patt.loc6_24.2 (constants.%return.param_patt.bf4475.2)] @@ -1207,7 +1207,7 @@ fn F() { // CHECK:STDOUT: %x.ref: @fn.loc5.%T.as_type.loc5_43.1 (%T.as_type) = name_ref x, %x // CHECK:STDOUT: %.loc10_8.1: %Copy.type = converted constants.%T.as_type, constants.%T.f84 [symbolic = %T.loc5_27.1 (constants.%T.f84)] // CHECK:STDOUT: %.loc10_8.2: %Copy.type = converted constants.%T.as_type, constants.%T.f84 [symbolic = %T.loc5_27.1 (constants.%T.f84)] -// CHECK:STDOUT: %fn.specific_fn.loc6_26.1: = specific_function %fn.decl, @fn.loc6(constants.%T.f84) [symbolic = %fn.specific_fn.loc6_26.2 (constants.%fn.specific_fn.eed)] +// CHECK:STDOUT: %fn.specific_fn.loc6_26.1: = specific_function %fn.decl, @fn.loc6(constants.%T.f84) [symbolic = %fn.specific_fn.loc6_26.2 (constants.%fn.specific_fn.ed0)] // CHECK:STDOUT: %.loc5_49.1: ref @fn.loc5.%T.as_type.loc5_43.1 (%T.as_type) = splice_block %return.param {} // CHECK:STDOUT: %fn.call: init @fn.loc5.%T.as_type.loc5_43.1 (%T.as_type) to %.loc5_49.1 = call %fn.specific_fn.loc6_26.1(%x.ref) // CHECK:STDOUT: return %fn.call to %return.param @@ -1226,13 +1226,13 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %T.as_type.loc6_18.1 [symbolic = %require_complete (constants.%require_complete.d83)] -// CHECK:STDOUT: %fn.type: type = fn_type @fn.loc7, @fn.loc6(%T) [symbolic = %fn.type (constants.%fn.type.531)] -// CHECK:STDOUT: %fn: @fn.loc6.%fn.type (%fn.type.531) = struct_value () [symbolic = %fn (constants.%fn.dc1)] -// CHECK:STDOUT: %fn.specific_fn.loc7_28.2: = specific_function %fn, @fn.loc7(%T) [symbolic = %fn.specific_fn.loc7_28.2 (constants.%fn.specific_fn.6d4)] +// CHECK:STDOUT: %fn.type: type = fn_type @fn.loc7, @fn.loc6(%T) [symbolic = %fn.type (constants.%fn.type.f25)] +// CHECK:STDOUT: %fn: @fn.loc6.%fn.type (%fn.type.f25) = struct_value () [symbolic = %fn (constants.%fn.93d)] +// CHECK:STDOUT: %fn.specific_fn.loc7_28.2: = specific_function %fn, @fn.loc7(%T) [symbolic = %fn.specific_fn.loc7_28.2 (constants.%fn.specific_fn.bef)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%y.param: @fn.loc6.%T.as_type.loc6_18.1 (%T.as_type)) -> out %return.param: @fn.loc6.%T.as_type.loc6_18.1 (%T.as_type) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %fn.decl: @fn.loc6.%fn.type (%fn.type.531) = fn_decl @fn.loc7 [symbolic = @fn.loc6.%fn (constants.%fn.dc1)] { +// CHECK:STDOUT: %fn.decl: @fn.loc6.%fn.type (%fn.type.f25) = fn_decl @fn.loc7 [symbolic = @fn.loc6.%fn (constants.%fn.93d)] { // CHECK:STDOUT: %z.param_patt.loc7_18.1: @fn.loc7.%pattern_type (%pattern_type.2c66b4.2) = value_param_pattern [symbolic = %z.param_patt.loc7_18.2 (constants.%z.param_patt.b42)] // CHECK:STDOUT: %z.patt.loc7_18.1: @fn.loc7.%pattern_type (%pattern_type.2c66b4.2) = wrapper_binding_pattern z, %z.param_patt.loc7_18.1 [symbolic = %z.patt.loc7_18.2 (constants.%z.patt.513)] // CHECK:STDOUT: %return.param_patt.loc7_26.1: @fn.loc7.%pattern_type (%pattern_type.2c66b4.2) = out_param_pattern [symbolic = %return.param_patt.loc7_26.2 (constants.%return.param_patt.bf4475.2)] @@ -1257,7 +1257,7 @@ fn F() { // CHECK:STDOUT: %y.ref: @fn.loc6.%T.as_type.loc6_18.1 (%T.as_type) = name_ref y, %y // CHECK:STDOUT: %.loc9_10.1: %Copy.type = converted constants.%T.as_type, constants.%T.f84 [symbolic = %T (constants.%T.f84)] // CHECK:STDOUT: %.loc9_10.2: %Copy.type = converted constants.%T.as_type, constants.%T.f84 [symbolic = %T (constants.%T.f84)] -// CHECK:STDOUT: %fn.specific_fn.loc7_28.1: = specific_function %fn.decl, @fn.loc7(constants.%T.f84) [symbolic = %fn.specific_fn.loc7_28.2 (constants.%fn.specific_fn.6d4)] +// CHECK:STDOUT: %fn.specific_fn.loc7_28.1: = specific_function %fn.decl, @fn.loc7(constants.%T.f84) [symbolic = %fn.specific_fn.loc7_28.2 (constants.%fn.specific_fn.bef)] // CHECK:STDOUT: %.loc6_24.1: ref @fn.loc6.%T.as_type.loc6_18.1 (%T.as_type) = splice_block %return.param {} // CHECK:STDOUT: %fn.call: init @fn.loc6.%T.as_type.loc6_18.1 (%T.as_type) to %.loc6_24.1 = call %fn.specific_fn.loc7_28.1(%y.ref) // CHECK:STDOUT: return %fn.call to %return.param @@ -1321,9 +1321,9 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%require_complete.d83 -// CHECK:STDOUT: %fn.type => constants.%fn.type.531 -// CHECK:STDOUT: %fn => constants.%fn.dc1 -// CHECK:STDOUT: %fn.specific_fn.loc7_28.2 => constants.%fn.specific_fn.6d4 +// CHECK:STDOUT: %fn.type => constants.%fn.type.f25 +// CHECK:STDOUT: %fn => constants.%fn.93d +// CHECK:STDOUT: %fn.specific_fn.loc7_28.2 => constants.%fn.specific_fn.bef // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @fn.loc7(constants.%T.f84) { @@ -1358,9 +1358,9 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type.f8a -// CHECK:STDOUT: %fn.type => constants.%fn.type.949 -// CHECK:STDOUT: %fn => constants.%fn.62e -// CHECK:STDOUT: %fn.specific_fn.loc6_26.2 => constants.%fn.specific_fn.458 +// CHECK:STDOUT: %fn.type => constants.%fn.type.14a +// CHECK:STDOUT: %fn => constants.%fn.106 +// CHECK:STDOUT: %fn.specific_fn.loc6_26.2 => constants.%fn.specific_fn.3b2 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @fn.loc5(constants.%Copy.facet.7af) { @@ -1376,9 +1376,9 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type.127 -// CHECK:STDOUT: %fn.type => constants.%fn.type.319 -// CHECK:STDOUT: %fn => constants.%fn.1af -// CHECK:STDOUT: %fn.specific_fn.loc6_26.2 => constants.%fn.specific_fn.c2d +// CHECK:STDOUT: %fn.type => constants.%fn.type.0e2 +// CHECK:STDOUT: %fn => constants.%fn.e42 +// CHECK:STDOUT: %fn.specific_fn.loc6_26.2 => constants.%fn.specific_fn.738 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @fn.loc6(constants.%Copy.facet.95d) { @@ -1393,9 +1393,9 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type.f8a -// CHECK:STDOUT: %fn.type => constants.%fn.type.70b -// CHECK:STDOUT: %fn => constants.%fn.37d -// CHECK:STDOUT: %fn.specific_fn.loc7_28.2 => constants.%fn.specific_fn.6d6 +// CHECK:STDOUT: %fn.type => constants.%fn.type.aca +// CHECK:STDOUT: %fn => constants.%fn.6d4 +// CHECK:STDOUT: %fn.specific_fn.loc7_28.2 => constants.%fn.specific_fn.dc3 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @fn.loc6(constants.%Copy.facet.7af) { @@ -1410,9 +1410,9 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type.127 -// CHECK:STDOUT: %fn.type => constants.%fn.type.c1a -// CHECK:STDOUT: %fn => constants.%fn.d5a -// CHECK:STDOUT: %fn.specific_fn.loc7_28.2 => constants.%fn.specific_fn.8ab +// CHECK:STDOUT: %fn.type => constants.%fn.type.13a +// CHECK:STDOUT: %fn => constants.%fn.4e2 +// CHECK:STDOUT: %fn.specific_fn.loc7_28.2 => constants.%fn.specific_fn.0d4 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @fn.loc7(constants.%Copy.facet.95d) { diff --git a/toolchain/check/testdata/let/compile_time_bindings.carbon b/toolchain/check/testdata/let/compile_time_bindings.carbon index fa56e839688d..ebcfe7ccf235 100644 --- a/toolchain/check/testdata/let/compile_time_bindings.carbon +++ b/toolchain/check/testdata/let/compile_time_bindings.carbon @@ -714,11 +714,11 @@ impl i32 as Empty { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/let/fail_duplicate_decl.carbon b/toolchain/check/testdata/let/fail_duplicate_decl.carbon index 8906ce46077d..50fe3d377a47 100644 --- a/toolchain/check/testdata/let/fail_duplicate_decl.carbon +++ b/toolchain/check/testdata/let/fail_duplicate_decl.carbon @@ -40,11 +40,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/let/fail_modifiers.carbon b/toolchain/check/testdata/let/fail_modifiers.carbon index cb4826e114d2..8915b715061a 100644 --- a/toolchain/check/testdata/let/fail_modifiers.carbon +++ b/toolchain/check/testdata/let/fail_modifiers.carbon @@ -74,11 +74,11 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/let/global.carbon b/toolchain/check/testdata/let/global.carbon index 8dcb8f93504d..04d3dd163c0b 100644 --- a/toolchain/check/testdata/let/global.carbon +++ b/toolchain/check/testdata/let/global.carbon @@ -35,11 +35,11 @@ fn F() -> i32 { return n; } // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] @@ -53,11 +53,11 @@ fn F() -> i32 { return n; } // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/let/local.carbon b/toolchain/check/testdata/let/local.carbon index f15d26c94144..17666bbf368c 100644 --- a/toolchain/check/testdata/let/local.carbon +++ b/toolchain/check/testdata/let/local.carbon @@ -49,11 +49,11 @@ fn CallF() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/let/shadowed_decl.carbon b/toolchain/check/testdata/let/shadowed_decl.carbon index deee57dac5f0..a04f485c2fd1 100644 --- a/toolchain/check/testdata/let/shadowed_decl.carbon +++ b/toolchain/check/testdata/let/shadowed_decl.carbon @@ -44,11 +44,11 @@ fn F(unused a: i32) -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -57,11 +57,11 @@ fn F(unused a: i32) -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/main_run/return_i32.carbon b/toolchain/check/testdata/main_run/return_i32.carbon index cef2650bbe17..f673f4f0779c 100644 --- a/toolchain/check/testdata/main_run/return_i32.carbon +++ b/toolchain/check/testdata/main_run/return_i32.carbon @@ -46,11 +46,11 @@ fn Run(unused argc: i32, unused argv: i32*) -> i32 { return 0; } // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -127,11 +127,11 @@ fn Run(unused argc: i32, unused argv: i32*) -> i32 { return 0; } // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/namespace/add_to_import.carbon b/toolchain/check/testdata/namespace/add_to_import.carbon index 7616f71344e5..668a31dc4892 100644 --- a/toolchain/check/testdata/namespace/add_to_import.carbon +++ b/toolchain/check/testdata/namespace/add_to_import.carbon @@ -66,11 +66,11 @@ var a: i32 = NS.A(); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/namespace/alias.carbon b/toolchain/check/testdata/namespace/alias.carbon index 2a736f2575db..da9c8887ec15 100644 --- a/toolchain/check/testdata/namespace/alias.carbon +++ b/toolchain/check/testdata/namespace/alias.carbon @@ -46,11 +46,11 @@ fn D() -> i32 { return C(); } // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon b/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon index 1ad90bb16dac..8bbc01289e0d 100644 --- a/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon +++ b/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon @@ -44,11 +44,11 @@ fn ns.A() -> i32 { return 0; } // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/namespace/merging_with_indirections.carbon b/toolchain/check/testdata/namespace/merging_with_indirections.carbon index f8c1811da805..7de0a7f3be27 100644 --- a/toolchain/check/testdata/namespace/merging_with_indirections.carbon +++ b/toolchain/check/testdata/namespace/merging_with_indirections.carbon @@ -196,9 +196,9 @@ fn Run() { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.3dd: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%A) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %A, (%DefaultOrUnformed.impl_witness.3dd) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.7f4: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%A) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.e3d: %T.as.DefaultOrUnformed.impl.Op.type.7f4 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %A, (%DefaultOrUnformed.impl_witness.3dd) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.e3d, @T.as.DefaultOrUnformed.impl.Op(%A) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/namespace/shadow.carbon b/toolchain/check/testdata/namespace/shadow.carbon index b97f77904cba..21c37929f002 100644 --- a/toolchain/check/testdata/namespace/shadow.carbon +++ b/toolchain/check/testdata/namespace/shadow.carbon @@ -62,11 +62,11 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -75,11 +75,11 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/operators/builtin/assignment.carbon b/toolchain/check/testdata/operators/builtin/assignment.carbon index 7bb8a6ecd03a..695110d81a59 100644 --- a/toolchain/check/testdata/operators/builtin/assignment.carbon +++ b/toolchain/check/testdata/operators/builtin/assignment.carbon @@ -52,11 +52,11 @@ fn Main() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.71d: = bound_method %int_12.6a3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.832: = bound_method %int_12.6a3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -107,11 +107,11 @@ fn Main() { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.83a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.a17, (%Copy.impl_witness.83a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9a2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.309: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9a2, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.81f, @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.f65: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] 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 43b449f7607b..816a3043b61d 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 @@ -80,11 +80,11 @@ fn Main() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -128,9 +128,9 @@ fn Main() { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.29f: = 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.29f) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.334: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%i32) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.720: %T.as.DefaultOrUnformed.impl.Op.type.334 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %i32, (%DefaultOrUnformed.impl_witness.29f) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.720, @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.02d: = bound_method %int_10.64f, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] 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 d4eeea687db6..f7cb33d35c1f 100644 --- a/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon @@ -48,11 +48,11 @@ fn Main() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.762: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -69,11 +69,11 @@ fn Main() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon index 9dc3fc350ccd..0bb40fe78449 100644 --- a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon @@ -42,11 +42,11 @@ fn Main() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon index 20c8040389d3..848de02152ba 100644 --- a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon +++ b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon @@ -75,11 +75,11 @@ fn Test() { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.patt.3a0592.1: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/indirect_index_with.carbon b/toolchain/check/testdata/operators/overloaded/indirect_index_with.carbon index d57b625a1474..0e1987a76601 100644 --- a/toolchain/check/testdata/operators/overloaded/indirect_index_with.carbon +++ b/toolchain/check/testdata/operators/overloaded/indirect_index_with.carbon @@ -439,11 +439,11 @@ fn F(c: C, s: SubscriptType, v: Copyable) { // CHECK:STDOUT: %Copy.impl_witness.c00: = impl_witness imports.%Copy.impl_witness_table.a69 [concrete] // CHECK:STDOUT: %facet_value: %IndirectIndexWith_where.type.c10528.1 = facet_value %C, (%IndirectIndexWith.impl_witness, %Copy.impl_witness.c00) [concrete] // CHECK:STDOUT: %IndexWith.impl_witness.8ae: = impl_witness imports.%IndexWith.impl_witness_table, @T.as_type.as.IndexWith.impl(%SubscriptType.f8f, %facet_value) [concrete] -// CHECK:STDOUT: %T.as_type.as.IndexWith.impl.At.type.a8d: type = fn_type @T.as_type.as.IndexWith.impl.At, @T.as_type.as.IndexWith.impl(%SubscriptType.f8f, %facet_value) [concrete] -// CHECK:STDOUT: %T.as_type.as.IndexWith.impl.At.a13: %T.as_type.as.IndexWith.impl.At.type.a8d = struct_value () [concrete] // CHECK:STDOUT: %IndexWith.facet.fe4: %IndexWith.type.a14 = facet_value %C, (%IndexWith.impl_witness.8ae) [concrete] // CHECK:STDOUT: %IndexWith.WithSelf.At.type.54e: type = fn_type @IndexWith.WithSelf.At, @IndexWith.WithSelf(%SubscriptType.f8f, %IndexWith.facet.fe4) [concrete] // CHECK:STDOUT: %.646: type = fn_type_with_self_type %IndexWith.WithSelf.At.type.54e, %IndexWith.facet.fe4 [concrete] +// CHECK:STDOUT: %T.as_type.as.IndexWith.impl.At.type.a8d: type = fn_type @T.as_type.as.IndexWith.impl.At, @T.as_type.as.IndexWith.impl(%SubscriptType.f8f, %facet_value) [concrete] +// CHECK:STDOUT: %T.as_type.as.IndexWith.impl.At.a13: %T.as_type.as.IndexWith.impl.At.type.a8d = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.IndexWith.impl.At.specific_fn: = specific_function %T.as_type.as.IndexWith.impl.At.a13, @T.as_type.as.IndexWith.impl.At(%SubscriptType.f8f, %facet_value) [concrete] // CHECK:STDOUT: %C.as.IndirectIndexWith.impl.Ref.type: type = fn_type @C.as.IndirectIndexWith.impl.Ref [concrete] // CHECK:STDOUT: %C.as.IndirectIndexWith.impl.Ref: %C.as.IndirectIndexWith.impl.Ref.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/string_indexing.carbon b/toolchain/check/testdata/operators/overloaded/string_indexing.carbon index d4ccca17753d..f166889682b1 100644 --- a/toolchain/check/testdata/operators/overloaded/string_indexing.carbon +++ b/toolchain/check/testdata/operators/overloaded/string_indexing.carbon @@ -113,11 +113,11 @@ fn TestStringIndexing() { // CHECK:STDOUT: %ImplicitAs.impl_witness.b1b: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl.6b6(%int_64) [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.e56 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.b1b) [concrete] // CHECK:STDOUT: %IndexWith.impl_witness.e0f: = impl_witness imports.%IndexWith.impl_witness_table.002, @str.as.IndexWith.impl(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %str.as.IndexWith.impl.At.type.9e0: type = fn_type @str.as.IndexWith.impl.At, @str.as.IndexWith.impl(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %str.as.IndexWith.impl.At.484: %str.as.IndexWith.impl.At.type.9e0 = struct_value () [concrete] // CHECK:STDOUT: %IndexWith.facet.bbf: %IndexWith.type.06b = facet_value %str.3d4, (%IndexWith.impl_witness.e0f) [concrete] // CHECK:STDOUT: %IndexWith.WithSelf.At.type.938: type = fn_type @IndexWith.WithSelf.At, @IndexWith.WithSelf(Core.IntLiteral, %IndexWith.facet.bbf) [concrete] // CHECK:STDOUT: %.55c: type = fn_type_with_self_type %IndexWith.WithSelf.At.type.938, %IndexWith.facet.bbf [concrete] +// CHECK:STDOUT: %str.as.IndexWith.impl.At.type.9e0: type = fn_type @str.as.IndexWith.impl.At, @str.as.IndexWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %str.as.IndexWith.impl.At.484: %str.as.IndexWith.impl.At.type.9e0 = struct_value () [concrete] // CHECK:STDOUT: %str.as.IndexWith.impl.At.bound: = bound_method %String.val, %str.as.IndexWith.impl.At.484 [concrete] // CHECK:STDOUT: %str.as.IndexWith.impl.At.specific_fn: = specific_function %str.as.IndexWith.impl.At.484, @str.as.IndexWith.impl.At(%ImplicitAs.facet) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %String.val, %str.as.IndexWith.impl.At.specific_fn [concrete] diff --git a/toolchain/check/testdata/package_expr/syntax.carbon b/toolchain/check/testdata/package_expr/syntax.carbon index 509188663629..058645dc79c0 100644 --- a/toolchain/check/testdata/package_expr/syntax.carbon +++ b/toolchain/check/testdata/package_expr/syntax.carbon @@ -65,11 +65,11 @@ fn Main() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -80,11 +80,11 @@ fn Main() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -171,11 +171,11 @@ fn Main() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.762: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -194,11 +194,11 @@ fn Main() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon b/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon index b962eebb5988..7f2b7eceada3 100644 --- a/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon +++ b/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon @@ -77,9 +77,9 @@ import library "var"; // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.29f: = 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.29f) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.334: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%i32) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.720: %T.as.DefaultOrUnformed.impl.Op.type.334 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %i32, (%DefaultOrUnformed.impl_witness.29f) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.720, @T.as.DefaultOrUnformed.impl.Op(%i32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon index 38879ce0f909..eed6fb5187bf 100644 --- a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon +++ b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon @@ -45,11 +45,11 @@ var b: i32 = a; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -115,11 +115,11 @@ var b: i32 = a; // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/packages/raw_core.carbon b/toolchain/check/testdata/packages/raw_core.carbon index 433f2df33abf..890a6e97b8e2 100644 --- a/toolchain/check/testdata/packages/raw_core.carbon +++ b/toolchain/check/testdata/packages/raw_core.carbon @@ -214,11 +214,11 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.94f, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.e88: = bound_method %int_0.5c6, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -229,11 +229,11 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_0.753, %Int.as.Copy.impl.Op.cae [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.149: = bound_method %int_0.753, %Int.as.Copy.impl.Op.specific_fn [concrete] diff --git a/toolchain/check/testdata/patterns/struct.carbon b/toolchain/check/testdata/patterns/struct.carbon index 20e57a8fbf44..7615dc93f1fd 100644 --- a/toolchain/check/testdata/patterns/struct.carbon +++ b/toolchain/check/testdata/patterns/struct.carbon @@ -334,11 +334,11 @@ let {.a = x: ()} = ((), ()); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -442,11 +442,11 @@ let {.a = x: ()} = ((), ()); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -570,11 +570,11 @@ let {.a = x: ()} = ((), ()); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -583,11 +583,11 @@ let {.a = x: ()} = ((), ()); // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.253: %ImplicitAs.type.6bb = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.409) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.049: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.3bc, %ImplicitAs.facet.253) [concrete] // CHECK:STDOUT: %.f72: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.049, %ImplicitAs.facet.253 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587: 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.d9b: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.587 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.cce, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d9b, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6df: = bound_method %float.cce, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -837,11 +837,11 @@ let {.a = x: ()} = ((), ()); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -907,11 +907,11 @@ let {.a = x: ()} = ((), ()); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -977,11 +977,11 @@ let {.a = x: ()} = ((), ()); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/pointer/address_of_deref.carbon b/toolchain/check/testdata/pointer/address_of_deref.carbon index b15fb5ab6ce7..ee59c94abf2f 100644 --- a/toolchain/check/testdata/pointer/address_of_deref.carbon +++ b/toolchain/check/testdata/pointer/address_of_deref.carbon @@ -43,11 +43,11 @@ fn F() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -57,11 +57,11 @@ fn F() -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/pointer/address_of_lvalue.carbon b/toolchain/check/testdata/pointer/address_of_lvalue.carbon index fc8b530f160c..e5780d7f9e92 100644 --- a/toolchain/check/testdata/pointer/address_of_lvalue.carbon +++ b/toolchain/check/testdata/pointer/address_of_lvalue.carbon @@ -51,11 +51,11 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -72,22 +72,22 @@ fn F() { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.ad7: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%struct_type.a.b.250) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%struct_type.a.b.250) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.09c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.6ac: %Copy.type = facet_value %ptr.aa2, (%Copy.impl_witness.ad7) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.627: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.6ac) [concrete] // CHECK:STDOUT: %.dab30: type = fn_type_with_self_type %Copy.WithSelf.Op.type.627, %Copy.facet.6ac [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%struct_type.a.b.250) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.09c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.ddf: = specific_function %ptr.as.Copy.impl.Op.09c, @ptr.as.Copy.impl.Op(%struct_type.a.b.250) [concrete] // CHECK:STDOUT: %ptr.a17: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %ptr.a17 [concrete] // CHECK:STDOUT: %q.patt: %pattern_type.7dc = ref_binding_pattern q [concrete] // CHECK:STDOUT: %q.var_patt: %pattern_type.7dc = var_pattern %q.patt [concrete] // CHECK:STDOUT: %Copy.impl_witness.83a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.652: %Copy.type = facet_value %ptr.a17, (%Copy.impl_witness.83a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9a2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.652) [concrete] // CHECK:STDOUT: %.309: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9a2, %Copy.facet.652 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.9a6: = specific_function %ptr.as.Copy.impl.Op.81f, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %r.patt: %pattern_type.7dc = ref_binding_pattern r [concrete] // CHECK:STDOUT: %r.var_patt: %pattern_type.7dc = var_pattern %r.patt [concrete] diff --git a/toolchain/check/testdata/pointer/basic.carbon b/toolchain/check/testdata/pointer/basic.carbon index b55283dd9d87..503e7638b67d 100644 --- a/toolchain/check/testdata/pointer/basic.carbon +++ b/toolchain/check/testdata/pointer/basic.carbon @@ -45,11 +45,11 @@ fn F() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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,18 +65,18 @@ fn F() -> i32 { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.83a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.652: %Copy.type = facet_value %ptr.a17, (%Copy.impl_witness.83a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9a2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.652) [concrete] // CHECK:STDOUT: %.309: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9a2, %Copy.facet.652 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.81f, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/pointer/import.carbon b/toolchain/check/testdata/pointer/import.carbon index deea03d46818..e27307ff26e4 100644 --- a/toolchain/check/testdata/pointer/import.carbon +++ b/toolchain/check/testdata/pointer/import.carbon @@ -44,11 +44,11 @@ var a: i32* = a_ref; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -63,11 +63,11 @@ var a: i32* = a_ref; // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.83a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.a17, (%Copy.impl_witness.83a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9a2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.309: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9a2, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.81f [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.81f, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %bound_method.58c: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -156,11 +156,11 @@ var a: i32* = a_ref; // CHECK:STDOUT: %a_ref.patt: %pattern_type.7dc = ref_binding_pattern a_ref [concrete] // CHECK:STDOUT: %a_ref.var_patt: %pattern_type.7dc = var_pattern %a_ref.patt [concrete] // CHECK:STDOUT: %Copy.impl_witness.83a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.a17, (%Copy.impl_witness.83a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9a2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.309: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9a2, %Copy.facet [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.81f, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/pointer/nested_const.carbon b/toolchain/check/testdata/pointer/nested_const.carbon index 515c0da20fc2..a8f9c6502835 100644 --- a/toolchain/check/testdata/pointer/nested_const.carbon +++ b/toolchain/check/testdata/pointer/nested_const.carbon @@ -50,11 +50,11 @@ fn F(p: const (const (const i32*)*)) -> const i32 { // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.impl_witness.526: = impl_witness imports.%Copy.impl_witness_table.aca, @const.as.Copy.impl(%Copy.facet.95d) [concrete] -// CHECK:STDOUT: %const.as.Copy.impl.Op.type.0da: type = fn_type @const.as.Copy.impl.Op, @const.as.Copy.impl(%Copy.facet.95d) [concrete] -// CHECK:STDOUT: %const.as.Copy.impl.Op.594: %const.as.Copy.impl.Op.type.0da = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.f50: %Copy.type = facet_value %const.003, (%Copy.impl_witness.526) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.e9c: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.f50) [concrete] // CHECK:STDOUT: %.7ba: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e9c, %Copy.facet.f50 [concrete] +// CHECK:STDOUT: %const.as.Copy.impl.Op.type.0da: type = fn_type @const.as.Copy.impl.Op, @const.as.Copy.impl(%Copy.facet.95d) [concrete] +// CHECK:STDOUT: %const.as.Copy.impl.Op.594: %const.as.Copy.impl.Op.type.0da = struct_value () [concrete] // CHECK:STDOUT: %const.as.Copy.impl.Op.specific_fn: = specific_function %const.as.Copy.impl.Op.594, @const.as.Copy.impl.Op(%Copy.facet.95d) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/pointer/types.carbon b/toolchain/check/testdata/pointer/types.carbon index 0a9691084318..069e1734ed9c 100644 --- a/toolchain/check/testdata/pointer/types.carbon +++ b/toolchain/check/testdata/pointer/types.carbon @@ -42,11 +42,11 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.20f: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.f12: %ptr.as.Copy.impl.Op.type.20f = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.83a: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.652: %Copy.type = facet_value %ptr.a17, (%Copy.impl_witness.83a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.9a2: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.652) [concrete] // CHECK:STDOUT: %.309: type = fn_type_with_self_type %Copy.WithSelf.Op.type.9a2, %Copy.facet.652 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dfc: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.81f: %ptr.as.Copy.impl.Op.type.dfc = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.9a6: = specific_function %ptr.as.Copy.impl.Op.81f, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %const.003: type = const_type %i32 [concrete] // CHECK:STDOUT: %ptr.75b: type = ptr_type %const.003 [concrete] @@ -59,11 +59,11 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: %ConstPtr.type: type = fn_type @ConstPtr [concrete] // CHECK:STDOUT: %ConstPtr: %ConstPtr.type = struct_value () [concrete] // CHECK:STDOUT: %Copy.impl_witness.00f: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%const.003) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.f56: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%const.003) [concrete] -// CHECK:STDOUT: %ptr.as.Copy.impl.Op.a57: %ptr.as.Copy.impl.Op.type.f56 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.c90: %Copy.type = facet_value %ptr.75b, (%Copy.impl_witness.00f) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.1e3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.c90) [concrete] // CHECK:STDOUT: %.fb7: type = fn_type_with_self_type %Copy.WithSelf.Op.type.1e3, %Copy.facet.c90 [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.f56: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%const.003) [concrete] +// CHECK:STDOUT: %ptr.as.Copy.impl.Op.a57: %ptr.as.Copy.impl.Op.type.f56 = struct_value () [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.1ee: = specific_function %ptr.as.Copy.impl.Op.a57, @ptr.as.Copy.impl.Op(%const.003) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/primitives/import_symbolic.carbon b/toolchain/check/testdata/primitives/import_symbolic.carbon index 0054b286f2db..754f87852546 100644 --- a/toolchain/check/testdata/primitives/import_symbolic.carbon +++ b/toolchain/check/testdata/primitives/import_symbolic.carbon @@ -360,11 +360,11 @@ fn F() -> u32 { // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.e8d: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Float.as.Copy.impl.Op.fe9: %Float.as.Copy.impl.Op.type.e8d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.eac: = impl_witness imports.%Copy.impl_witness_table.14d, @Float.as.Copy.impl(%int_64) [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.33e: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_64) [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.f20: %Float.as.Copy.impl.Op.type.33e = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f64.761, (%Copy.impl_witness.eac) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.276: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.b25: type = fn_type_with_self_type %Copy.WithSelf.Op.type.276, %Copy.facet [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.33e: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_64) [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.f20: %Float.as.Copy.impl.Op.type.33e = struct_value () [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.bound: = bound_method %float, %Float.as.Copy.impl.Op.f20 [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.specific_fn: = specific_function %Float.as.Copy.impl.Op.f20, @Float.as.Copy.impl.Op(%int_64) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %float, %Float.as.Copy.impl.Op.specific_fn [concrete] @@ -467,11 +467,11 @@ fn F() -> u32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_8, %Int.as.Copy.impl.Op.cae [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_8, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -574,11 +574,11 @@ fn F() -> u32 { // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.97a: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.2a0: %UInt.as.Copy.impl.Op.type.97a = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.13a: = impl_witness imports.%Copy.impl_witness_table.238, @UInt.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.dd3: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %UInt.as.Copy.impl.Op.852: %UInt.as.Copy.impl.Op.type.dd3 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %u32, (%Copy.impl_witness.13a) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.7e5: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.222: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7e5, %Copy.facet [concrete] +// CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.dd3: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %UInt.as.Copy.impl.Op.852: %UInt.as.Copy.impl.Op.type.dd3 = struct_value () [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.bound: = bound_method %int_8, %UInt.as.Copy.impl.Op.852 [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.specific_fn: = specific_function %UInt.as.Copy.impl.Op.852, @UInt.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_8, %UInt.as.Copy.impl.Op.specific_fn [concrete] diff --git a/toolchain/check/testdata/return/code_after_return_value.carbon b/toolchain/check/testdata/return/code_after_return_value.carbon index 87c551d7fba3..2be38e6dcfdf 100644 --- a/toolchain/check/testdata/return/code_after_return_value.carbon +++ b/toolchain/check/testdata/return/code_after_return_value.carbon @@ -49,11 +49,11 @@ fn F(unused b: bool) -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.762: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] 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 2244a7f91a23..ba6977ba1569 100644 --- a/toolchain/check/testdata/return/fail_return_with_returned_var.carbon +++ b/toolchain/check/testdata/return/fail_return_with_returned_var.carbon @@ -54,11 +54,11 @@ fn G() -> C { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.762: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/return/fail_returned_var_shadow.carbon b/toolchain/check/testdata/return/fail_returned_var_shadow.carbon index d5571451eda5..872d11d322b0 100644 --- a/toolchain/check/testdata/return/fail_returned_var_shadow.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_shadow.carbon @@ -62,11 +62,11 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.762: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/return/fail_returned_var_type.carbon b/toolchain/check/testdata/return/fail_returned_var_type.carbon index 43962fe51c23..ba79dbf98861 100644 --- a/toolchain/check/testdata/return/fail_returned_var_type.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_type.carbon @@ -50,11 +50,11 @@ fn Mismatch() -> i32 { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.1d6: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.068 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.1d6) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.62d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.761, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.b5b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.62d, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0, @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] diff --git a/toolchain/check/testdata/return/import_convert_function.carbon b/toolchain/check/testdata/return/import_convert_function.carbon index 56b27dd7cb4d..76733b3313c1 100644 --- a/toolchain/check/testdata/return/import_convert_function.carbon +++ b/toolchain/check/testdata/return/import_convert_function.carbon @@ -85,11 +85,11 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.762: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -795,11 +795,11 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f0, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.762: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/return/returned_var.carbon b/toolchain/check/testdata/return/returned_var.carbon index a4c83c9a8002..b4994a361b22 100644 --- a/toolchain/check/testdata/return/returned_var.carbon +++ b/toolchain/check/testdata/return/returned_var.carbon @@ -60,11 +60,11 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %.0b3: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.299: %pattern_type.d94 = out_param_pattern [concrete] diff --git a/toolchain/check/testdata/return/returned_var_scope.carbon b/toolchain/check/testdata/return/returned_var_scope.carbon index 708acbf93245..85d5232354e9 100644 --- a/toolchain/check/testdata/return/returned_var_scope.carbon +++ b/toolchain/check/testdata/return/returned_var_scope.carbon @@ -57,11 +57,11 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.762: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.036: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/return/struct.carbon b/toolchain/check/testdata/return/struct.carbon index 70c1a594e499..a6b4e1ba3c28 100644 --- a/toolchain/check/testdata/return/struct.carbon +++ b/toolchain/check/testdata/return/struct.carbon @@ -41,11 +41,11 @@ fn Main() -> {.a: i32} { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/return/tuple.carbon b/toolchain/check/testdata/return/tuple.carbon index d9582eddcd95..6bd166970f2c 100644 --- a/toolchain/check/testdata/return/tuple.carbon +++ b/toolchain/check/testdata/return/tuple.carbon @@ -45,11 +45,11 @@ fn Main() -> (i32, i32) { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.af2: = bound_method %int_15.447, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.e89: = bound_method %int_15.447, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/return/value.carbon b/toolchain/check/testdata/return/value.carbon index a3e16402777c..58588baea031 100644 --- a/toolchain/check/testdata/return/value.carbon +++ b/toolchain/check/testdata/return/value.carbon @@ -38,11 +38,11 @@ fn Main() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon b/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon index a3f4b9b22a1b..745c5e600218 100644 --- a/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon +++ b/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon @@ -49,11 +49,11 @@ var y: {.b: i32} = x; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -68,11 +68,11 @@ var y: {.b: i32} = x; // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.243 = ref_binding_pattern x [concrete] // CHECK:STDOUT: %x.var_patt: %pattern_type.243 = var_pattern %x.patt [concrete] diff --git a/toolchain/check/testdata/struct/fail_member_access_type.carbon b/toolchain/check/testdata/struct/fail_member_access_type.carbon index 820566610a21..300c66d05c4c 100644 --- a/toolchain/check/testdata/struct/fail_member_access_type.carbon +++ b/toolchain/check/testdata/struct/fail_member_access_type.carbon @@ -39,11 +39,11 @@ var y: i32 = x.b; // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.1d6: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.068 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.1d6) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.62d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.761, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.b5b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.62d, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.a4e, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0, @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] diff --git a/toolchain/check/testdata/struct/fail_non_member_access.carbon b/toolchain/check/testdata/struct/fail_non_member_access.carbon index be219bf7df51..38814e3b2db5 100644 --- a/toolchain/check/testdata/struct/fail_non_member_access.carbon +++ b/toolchain/check/testdata/struct/fail_non_member_access.carbon @@ -39,11 +39,11 @@ var y: i32 = x.b; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %pattern_type.d94: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] diff --git a/toolchain/check/testdata/struct/fail_too_few_values.carbon b/toolchain/check/testdata/struct/fail_too_few_values.carbon index 62f811df7677..e30d85b3e617 100644 --- a/toolchain/check/testdata/struct/fail_too_few_values.carbon +++ b/toolchain/check/testdata/struct/fail_too_few_values.carbon @@ -39,11 +39,11 @@ var x: {.a: i32, .b: i32} = {.a = 1}; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/testdata/struct/import.carbon b/toolchain/check/testdata/struct/import.carbon index 635dec98503f..c15864d6fcb6 100644 --- a/toolchain/check/testdata/struct/import.carbon +++ b/toolchain/check/testdata/struct/import.carbon @@ -91,11 +91,11 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] // CHECK:STDOUT: %tuple.f7a: %tuple.type.135 = tuple_value (%i32) [concrete] @@ -125,11 +125,11 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %struct.4aa: %struct_type.a.b.cfd = struct_value (%int_1.5b8, %int_2.ecc) [concrete] // CHECK:STDOUT: %ImplicitAs.type.6b0: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -294,11 +294,11 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1, %Int.as.Copy.impl.Op.cae [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1, %Int.as.Copy.impl.Op.specific_fn [concrete] diff --git a/toolchain/check/testdata/struct/literal_member_access.carbon b/toolchain/check/testdata/struct/literal_member_access.carbon index e53b37dc5ae2..7a61ae6a5b11 100644 --- a/toolchain/check/testdata/struct/literal_member_access.carbon +++ b/toolchain/check/testdata/struct/literal_member_access.carbon @@ -48,11 +48,11 @@ fn F() -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %SelfDestruct.type: type = fn_type @SelfDestruct [concrete] // CHECK:STDOUT: %SelfDestruct: %SelfDestruct.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/struct/member_access.carbon b/toolchain/check/testdata/struct/member_access.carbon index 3ccb5c86f9e0..0d9c177d9ab9 100644 --- a/toolchain/check/testdata/struct/member_access.carbon +++ b/toolchain/check/testdata/struct/member_access.carbon @@ -45,11 +45,11 @@ var z: i32 = y; // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.48f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.c1a = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.1d6: = impl_witness imports.%ImplicitAs.impl_witness_table.f2e, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] -// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.529: %ImplicitAs.type.068 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.1d6) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.62d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.761, %ImplicitAs.facet.529) [concrete] // CHECK:STDOUT: %.b5b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.62d, %ImplicitAs.facet.529 [concrete] +// CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39: 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.9d0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.b39 = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.9d0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.493: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -59,11 +59,11 @@ var z: i32 = y; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.fc6: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.fc6) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet.fc6 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %pattern_type.d94: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -76,11 +76,11 @@ var z: i32 = y; // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %z.patt: %pattern_type.d94 = ref_binding_pattern z [concrete] // CHECK:STDOUT: %z.var_patt: %pattern_type.d94 = var_pattern %z.patt [concrete] diff --git a/toolchain/check/testdata/struct/one_entry.carbon b/toolchain/check/testdata/struct/one_entry.carbon index b76df6237b29..2e4a3d2b44c4 100644 --- a/toolchain/check/testdata/struct/one_entry.carbon +++ b/toolchain/check/testdata/struct/one_entry.carbon @@ -39,11 +39,11 @@ var y: {.a: i32} = x; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -55,11 +55,11 @@ var y: {.a: i32} = x; // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/struct/partially_const.carbon b/toolchain/check/testdata/struct/partially_const.carbon index 87fe0b5c8f4a..d9b8935e1cda 100644 --- a/toolchain/check/testdata/struct/partially_const.carbon +++ b/toolchain/check/testdata/struct/partially_const.carbon @@ -44,11 +44,11 @@ fn Make(n: i32) -> {.a: i32, .b: i32, .c: i32} { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] @@ -57,11 +57,11 @@ fn Make(n: i32) -> {.a: i32, .b: i32, .c: i32} { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/struct/reorder_fields.carbon b/toolchain/check/testdata/struct/reorder_fields.carbon index 61f62da211fe..104368e6ff90 100644 --- a/toolchain/check/testdata/struct/reorder_fields.carbon +++ b/toolchain/check/testdata/struct/reorder_fields.carbon @@ -61,20 +61,20 @@ fn F() -> {.a: i32, .b: f64} { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.95d: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95d) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet.95d [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.e8d: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Float.as.Copy.impl.Op.fe9: %Float.as.Copy.impl.Op.type.e8d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.eac: = impl_witness imports.%Copy.impl_witness_table.14d, @Float.as.Copy.impl(%int_64) [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.33e: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_64) [concrete] -// CHECK:STDOUT: %Float.as.Copy.impl.Op.f20: %Float.as.Copy.impl.Op.type.33e = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet.d10: %Copy.type = facet_value %f64.761, (%Copy.impl_witness.eac) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.276: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.d10) [concrete] // CHECK:STDOUT: %.b25: type = fn_type_with_self_type %Copy.WithSelf.Op.type.276, %Copy.facet.d10 [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.type.33e: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_64) [concrete] +// CHECK:STDOUT: %Float.as.Copy.impl.Op.f20: %Float.as.Copy.impl.Op.type.33e = struct_value () [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.specific_fn: = specific_function %Float.as.Copy.impl.Op.f20, @Float.as.Copy.impl.Op(%int_64) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/struct/tuple_as_element.carbon b/toolchain/check/testdata/struct/tuple_as_element.carbon index cd284dd6e6ef..ddbf8261eb1e 100644 --- a/toolchain/check/testdata/struct/tuple_as_element.carbon +++ b/toolchain/check/testdata/struct/tuple_as_element.carbon @@ -45,11 +45,11 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -68,11 +68,11 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %.885: ref %tuple.type.294 = struct_access file.%y.var, element1 [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/struct/two_entries.carbon b/toolchain/check/testdata/struct/two_entries.carbon index bee4e3897eb8..02351d9ec434 100644 --- a/toolchain/check/testdata/struct/two_entries.carbon +++ b/toolchain/check/testdata/struct/two_entries.carbon @@ -41,11 +41,11 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -66,11 +66,11 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %.7e3: ref %i32 = struct_access file.%y.var, element1 [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/tuple/element_access.carbon b/toolchain/check/testdata/tuple/element_access.carbon index 61b0c8975f17..ba80e4e1d191 100644 --- a/toolchain/check/testdata/tuple/element_access.carbon +++ b/toolchain/check/testdata/tuple/element_access.carbon @@ -189,11 +189,11 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %c.patt: %pattern_type.d94 = ref_binding_pattern c [concrete] // CHECK:STDOUT: %c.var_patt: %pattern_type.d94 = var_pattern %c.patt [concrete] @@ -258,11 +258,11 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @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] @@ -272,21 +272,21 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.396: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.84a: %Core.IntLiteral.as.As.impl.Convert.type.396 = struct_value () [symbolic] // CHECK:STDOUT: %As.impl_witness.e09: = impl_witness imports.%As.impl_witness_table.1c2, @Core.IntLiteral.as.As.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.b93 = facet_value Core.IntLiteral, (%As.impl_witness.e09) [concrete] // CHECK:STDOUT: %As.WithSelf.Convert.type.2be: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] // CHECK:STDOUT: %.979: type = fn_type_with_self_type %As.WithSelf.Convert.type.2be, %As.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.2b0: 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.94f: %Core.IntLiteral.as.As.impl.Convert.type.2b0 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.326: = bound_method %int_0.5c6, %Core.IntLiteral.as.As.impl.Convert.94f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.94f, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.e88: = bound_method %int_0.5c6, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_0.753: %i32 = int_value 0 [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.323: = impl_witness imports.%ImplicitAs.impl_witness_table.b7c, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet.0aa: %ImplicitAs.type.5be = facet_value %i32, (%ImplicitAs.impl_witness.323) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4c7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.0aa) [concrete] // CHECK:STDOUT: %.ce7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4c7, %ImplicitAs.facet.0aa [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.f39: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.779: %Int.as.ImplicitAs.impl.Convert.type.f39 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound.741: = bound_method %int_0.753, %Int.as.ImplicitAs.impl.Convert.779 [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.779, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.ae8: = bound_method %int_0.753, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -422,11 +422,11 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/tuple/import.carbon b/toolchain/check/testdata/tuple/import.carbon index d34b91479285..deb1cf65b81a 100644 --- a/toolchain/check/testdata/tuple/import.carbon +++ b/toolchain/check/testdata/tuple/import.carbon @@ -95,11 +95,11 @@ fn F() -> (i32,) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %tuple.type.bbc: type = tuple_type (%tuple.type.135, type) [concrete] // CHECK:STDOUT: %tuple.01a: %tuple.type.bbc = tuple_value (%tuple.f7a, %i32) [concrete] @@ -136,11 +136,11 @@ fn F() -> (i32,) { // CHECK:STDOUT: %tuple.ad8: %tuple.type.f94 = tuple_value (%int_1.5b8, %int_2.ecc) [concrete] // CHECK:STDOUT: %ImplicitAs.type.6b0: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -324,11 +324,11 @@ fn F() -> (i32,) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1, %Int.as.Copy.impl.Op.cae [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1, %Int.as.Copy.impl.Op.specific_fn [concrete] diff --git a/toolchain/check/testdata/tuple/in_place_tuple_init.carbon b/toolchain/check/testdata/tuple/in_place_tuple_init.carbon index 1edd11ba6126..d6e01fb67626 100644 --- a/toolchain/check/testdata/tuple/in_place_tuple_init.carbon +++ b/toolchain/check/testdata/tuple/in_place_tuple_init.carbon @@ -87,11 +87,11 @@ fn H() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.a1d: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.3c1: %Int.as.Copy.impl.Op.type.a1d = struct_value () [symbolic] // CHECK:STDOUT: %Copy.impl_witness.8af: = impl_witness imports.%Copy.impl_witness_table.f44, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.8af) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.f76: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.2b9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f76, %Copy.facet [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.type.648: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Int.as.Copy.impl.Op.cae: %Int.as.Copy.impl.Op.type.648 = struct_value () [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.cae, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -239,11 +239,11 @@ fn H() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.282: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3bd: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] diff --git a/toolchain/check/testdata/var/export_name.carbon b/toolchain/check/testdata/var/export_name.carbon index 469131453204..7a95b219f75b 100644 --- a/toolchain/check/testdata/var/export_name.carbon +++ b/toolchain/check/testdata/var/export_name.carbon @@ -56,9 +56,9 @@ var w: () = v; // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.5f6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.5c0: %T.as.DefaultOrUnformed.impl.Op.type.5f6 = struct_value () [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness.533: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %empty_tuple.type, (%DefaultOrUnformed.impl_witness.533) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.be6: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%empty_tuple.type) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.bed: %T.as.DefaultOrUnformed.impl.Op.type.be6 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %empty_tuple.type, (%DefaultOrUnformed.impl_witness.533) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.bed, @T.as.DefaultOrUnformed.impl.Op(%empty_tuple.type) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/var/var_pattern.carbon b/toolchain/check/testdata/var/var_pattern.carbon index e006057dc63a..3340d7cfe32f 100644 --- a/toolchain/check/testdata/var/var_pattern.carbon +++ b/toolchain/check/testdata/var/var_pattern.carbon @@ -1202,11 +1202,11 @@ fn Call() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.6f2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.3c6 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.impl_witness.d73: = impl_witness imports.%ImplicitAs.impl_witness_table.f53, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.6b0 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d73) [concrete] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.58f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %.33a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.58f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766: 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.f60: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.766 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.f60, @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] diff --git a/toolchain/check/type_completion.cpp b/toolchain/check/type_completion.cpp index 24e934bc1bcb..15535ab04757 100644 --- a/toolchain/check/type_completion.cpp +++ b/toolchain/check/type_completion.cpp @@ -251,8 +251,7 @@ class TypeCompleter { SemIR::AutoType, SemIR::BoundMethodType, SemIR::CharLiteralType, SemIR::ErrorInst, SemIR::FacetType, SemIR::FloatLiteralType, SemIR::FormType, SemIR::IntLiteralType, SemIR::NamespaceType, - SemIR::PatternType, SemIR::RequireSpecificDefinitionType, - SemIR::SpecificFunctionType, SemIR::VtableType, + SemIR::PatternType, SemIR::SpecificFunctionType, SemIR::VtableType, SemIR::WitnessType>()) auto BuildInfoForInst(SemIR::TypeId type_id, InstT /*inst*/) const -> SemIR::CompleteTypeInfo { diff --git a/toolchain/lower/testdata/lambda/lambda.carbon b/toolchain/lower/testdata/lambda/lambda.carbon index aea568a996be..8f91e2e917da 100644 --- a/toolchain/lower/testdata/lambda/lambda.carbon +++ b/toolchain/lower/testdata/lambda/lambda.carbon @@ -36,13 +36,13 @@ fn Test() -> i32 { // CHECK:STDOUT: source_filename = "lib.carbon" // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define i32 @"_Cfn:enclosed.3c14c8ca6559e7d0"(i32 %x) #0 !dbg !23 { +// CHECK:STDOUT: define i32 @"_Cfn:enclosed.ceee9ea6d55401eb"(i32 %x) #0 !dbg !23 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret i32 %x, !dbg !29 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define i32 @"_Cfn:enclosed.c7952b8f54fe2475"(i32 %x) #0 !dbg !31 { +// CHECK:STDOUT: define i32 @"_Cfn:enclosed.869d128921d398dd"(i32 %x) #0 !dbg !31 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret i32 %x, !dbg !34 // CHECK:STDOUT: } @@ -59,11 +59,11 @@ fn Test() -> i32 { // CHECK:STDOUT: !20 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed) // CHECK:STDOUT: !21 = !{!20, !20} // CHECK:STDOUT: !22 = !DISubroutineType(types: !21) -// CHECK:STDOUT: !23 = distinct !DISubprogram(linkageName: "_Cfn:enclosed.3c14c8ca6559e7d0", scope: null, file: !18, line: 3, type: !22, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !30) +// CHECK:STDOUT: !23 = distinct !DISubprogram(linkageName: "_Cfn:enclosed.ceee9ea6d55401eb", scope: null, file: !18, line: 3, type: !22, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !30) // CHECK:STDOUT: !24 = !DILocalVariable(arg: 1, scope: !23, type: !20) // CHECK:STDOUT: !29 = !DILocation(line: 3, column: 39, scope: !23) // CHECK:STDOUT: !30 = !{!24} -// CHECK:STDOUT: !31 = distinct !DISubprogram(linkageName: "_Cfn:enclosed.c7952b8f54fe2475", scope: null, file: !18, line: 4, type: !22, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !35) +// CHECK:STDOUT: !31 = distinct !DISubprogram(linkageName: "_Cfn:enclosed.869d128921d398dd", scope: null, file: !18, line: 4, type: !22, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !35) // CHECK:STDOUT: !32 = !DILocalVariable(arg: 1, scope: !31, type: !20) // CHECK:STDOUT: !34 = !DILocation(line: 4, column: 38, scope: !31) // CHECK:STDOUT: !35 = !{!32} @@ -75,38 +75,38 @@ fn Test() -> i32 { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define i32 @_CTest.Main() #0 !dbg !40 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %fn.call.loc11_56 = call i32 @"_Cfn:enclosed.3c14c8ca6559e7d0"(i32 1), !dbg !43 -// CHECK:STDOUT: %fn.call.loc11_57 = call i32 @"_Cfn:enclosed.c7952b8f54fe2475"(i32 %fn.call.loc11_56), !dbg !44 -// CHECK:STDOUT: %fn.call.loc11_58 = call i32 @"_Cfn:enclosed.8a40e95b23d3f272.2fad9574e050607e"(i32 %fn.call.loc11_57), !dbg !45 -// CHECK:STDOUT: %fn.call.loc11_59 = call i32 @"_Cfn:enclosed.1a725d33c50a7457"(i32 %fn.call.loc11_58), !dbg !46 -// CHECK:STDOUT: %fn.call.loc11_60 = call i32 @"_Cfn:enclosed.e581b0d03d82ce06.2fad9574e050607e"(i32 %fn.call.loc11_59), !dbg !47 -// CHECK:STDOUT: %fn.call.loc11_61 = call i32 @"_Cfn:enclosed.c27343342d9f58cb.2fad9574e050607e"(i32 %fn.call.loc11_60), !dbg !48 +// CHECK:STDOUT: %fn.call.loc11_56 = call i32 @"_Cfn:enclosed.ceee9ea6d55401eb"(i32 1), !dbg !43 +// CHECK:STDOUT: %fn.call.loc11_57 = call i32 @"_Cfn:enclosed.869d128921d398dd"(i32 %fn.call.loc11_56), !dbg !44 +// CHECK:STDOUT: %fn.call.loc11_58 = call i32 @"_Cfn:enclosed.24b0b9b2e7014b8d.2fad9574e050607e"(i32 %fn.call.loc11_57), !dbg !45 +// CHECK:STDOUT: %fn.call.loc11_59 = call i32 @"_Cfn:enclosed.78e97d08196088b9"(i32 %fn.call.loc11_58), !dbg !46 +// CHECK:STDOUT: %fn.call.loc11_60 = call i32 @"_Cfn:enclosed.2cf98fd9c300909e.2fad9574e050607e"(i32 %fn.call.loc11_59), !dbg !47 +// CHECK:STDOUT: %fn.call.loc11_61 = call i32 @"_Cfn:enclosed.5a8ed418d63f8fd2.2fad9574e050607e"(i32 %fn.call.loc11_60), !dbg !48 // CHECK:STDOUT: ret i32 %fn.call.loc11_61, !dbg !49 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define i32 @"_Cfn:enclosed.1a725d33c50a7457"(i32 %x) #0 !dbg !50 { +// CHECK:STDOUT: define i32 @"_Cfn:enclosed.78e97d08196088b9"(i32 %x) #0 !dbg !50 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret i32 %x, !dbg !56 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: declare i32 @"_Cfn:enclosed.c7952b8f54fe2475"(i32) +// CHECK:STDOUT: declare i32 @"_Cfn:enclosed.869d128921d398dd"(i32) // CHECK:STDOUT: -// CHECK:STDOUT: declare i32 @"_Cfn:enclosed.3c14c8ca6559e7d0"(i32) +// CHECK:STDOUT: declare i32 @"_Cfn:enclosed.ceee9ea6d55401eb"(i32) // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_Cfn:enclosed.8a40e95b23d3f272.2fad9574e050607e"(i32 %x) #0 !dbg !58 { +// CHECK:STDOUT: define linkonce_odr i32 @"_Cfn:enclosed.24b0b9b2e7014b8d.2fad9574e050607e"(i32 %x) #0 !dbg !58 { // CHECK:STDOUT: ret i32 %x, !dbg !61 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_Cfn:enclosed.e581b0d03d82ce06.2fad9574e050607e"(i32 %x) #0 !dbg !63 { +// CHECK:STDOUT: define linkonce_odr i32 @"_Cfn:enclosed.2cf98fd9c300909e.2fad9574e050607e"(i32 %x) #0 !dbg !63 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret i32 %x, !dbg !66 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_Cfn:enclosed.c27343342d9f58cb.2fad9574e050607e"(i32 %y) #0 !dbg !68 { +// CHECK:STDOUT: define linkonce_odr i32 @"_Cfn:enclosed.5a8ed418d63f8fd2.2fad9574e050607e"(i32 %y) #0 !dbg !68 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret i32 %y, !dbg !71 // CHECK:STDOUT: } @@ -134,19 +134,19 @@ fn Test() -> i32 { // CHECK:STDOUT: !47 = !DILocation(line: 11, column: 7, scope: !40) // CHECK:STDOUT: !48 = !DILocation(line: 10, column: 10, scope: !40) // CHECK:STDOUT: !49 = !DILocation(line: 10, column: 3, scope: !40) -// CHECK:STDOUT: !50 = distinct !DISubprogram(linkageName: "_Cfn:enclosed.1a725d33c50a7457", scope: null, file: !36, line: 6, type: !22, spFlags: DISPFlagDefinition, unit: !37, retainedNodes: !57) +// CHECK:STDOUT: !50 = distinct !DISubprogram(linkageName: "_Cfn:enclosed.78e97d08196088b9", scope: null, file: !36, line: 6, type: !22, spFlags: DISPFlagDefinition, unit: !37, retainedNodes: !57) // CHECK:STDOUT: !51 = !DILocalVariable(arg: 1, scope: !50, type: !20) // CHECK:STDOUT: !56 = !DILocation(line: 7, column: 5, scope: !50) // CHECK:STDOUT: !57 = !{!51} -// CHECK:STDOUT: !58 = distinct !DISubprogram(linkageName: "_Cfn:enclosed.8a40e95b23d3f272.2fad9574e050607e", scope: null, file: !18, line: 5, type: !22, spFlags: DISPFlagDefinition, unit: !37, retainedNodes: !62) +// CHECK:STDOUT: !58 = distinct !DISubprogram(linkageName: "_Cfn:enclosed.24b0b9b2e7014b8d.2fad9574e050607e", scope: null, file: !18, line: 5, type: !22, spFlags: DISPFlagDefinition, unit: !37, retainedNodes: !62) // CHECK:STDOUT: !59 = !DILocalVariable(arg: 1, scope: !58, type: !20) // CHECK:STDOUT: !61 = !DILocation(line: 5, column: 57, scope: !58) // CHECK:STDOUT: !62 = !{!59} -// CHECK:STDOUT: !63 = distinct !DISubprogram(linkageName: "_Cfn:enclosed.e581b0d03d82ce06.2fad9574e050607e", scope: null, file: !36, line: 9, type: !22, spFlags: DISPFlagDefinition, unit: !37, retainedNodes: !67) +// CHECK:STDOUT: !63 = distinct !DISubprogram(linkageName: "_Cfn:enclosed.2cf98fd9c300909e.2fad9574e050607e", scope: null, file: !36, line: 9, type: !22, spFlags: DISPFlagDefinition, unit: !37, retainedNodes: !67) // CHECK:STDOUT: !64 = !DILocalVariable(arg: 1, scope: !63, type: !20) // CHECK:STDOUT: !66 = !DILocation(line: 9, column: 40, scope: !63) // CHECK:STDOUT: !67 = !{!64} -// CHECK:STDOUT: !68 = distinct !DISubprogram(linkageName: "_Cfn:enclosed.c27343342d9f58cb.2fad9574e050607e", scope: null, file: !36, line: 10, type: !22, spFlags: DISPFlagDefinition, unit: !37, retainedNodes: !72) +// CHECK:STDOUT: !68 = distinct !DISubprogram(linkageName: "_Cfn:enclosed.5a8ed418d63f8fd2.2fad9574e050607e", scope: null, file: !36, line: 10, type: !22, spFlags: DISPFlagDefinition, unit: !37, retainedNodes: !72) // CHECK:STDOUT: !69 = !DILocalVariable(arg: 1, scope: !68, type: !20) // CHECK:STDOUT: !71 = !DILocation(line: 10, column: 38, scope: !68) // CHECK:STDOUT: !72 = !{!69} diff --git a/toolchain/lower/type.cpp b/toolchain/lower/type.cpp index e16cbbe56c8c..3c81cceccf01 100644 --- a/toolchain/lower/type.cpp +++ b/toolchain/lower/type.cpp @@ -842,9 +842,8 @@ template SemIR::FunctionType, SemIR::FunctionTypeWithSelfType, SemIR::GenericInterfaceType, SemIR::GenericNamedConstraintType, SemIR::InstType, SemIR::IntLiteralType, SemIR::NamespaceType, - SemIR::ParameterizedClassType, SemIR::RequireSpecificDefinitionType, - SemIR::SpecificFunctionType, SemIR::UnboundElementType, - SemIR::WhereExpr, SemIR::WitnessType>()) + SemIR::ParameterizedClassType, SemIR::SpecificFunctionType, + SemIR::UnboundElementType, SemIR::WhereExpr, SemIR::WitnessType>()) static auto BuildTypeForInst(FileContext& context, InstT /*inst*/) -> LoweredTypes { // Return an empty struct as a placeholder. diff --git a/toolchain/sem_ir/inst_kind.def b/toolchain/sem_ir/inst_kind.def index 18742cbc57e2..1a17a3dd3ac1 100644 --- a/toolchain/sem_ir/inst_kind.def +++ b/toolchain/sem_ir/inst_kind.def @@ -139,8 +139,6 @@ CARBON_SEM_IR_INST_KIND(RefReturnPattern) CARBON_SEM_IR_INST_KIND(RefTagExpr) CARBON_SEM_IR_INST_KIND(RequireCompleteType) CARBON_SEM_IR_INST_KIND(RequireImplsDecl) -CARBON_SEM_IR_INST_KIND(RequireSpecificDefinition) -CARBON_SEM_IR_INST_KIND(RequireSpecificDefinitionType) CARBON_SEM_IR_INST_KIND(RequirementBaseFacetType) CARBON_SEM_IR_INST_KIND(RequirementEquivalent) CARBON_SEM_IR_INST_KIND(RequirementImpls) diff --git a/toolchain/sem_ir/mangler.cpp b/toolchain/sem_ir/mangler.cpp index cbdb77b7d750..5052a93088bd 100644 --- a/toolchain/sem_ir/mangler.cpp +++ b/toolchain/sem_ir/mangler.cpp @@ -121,7 +121,6 @@ auto Mangler::MangleInverseQualifiedNameScope(llvm::raw_ostream& os, case SemIR::FloatLiteralType::Kind: case SemIR::IntLiteralType::Kind: case SemIR::NamespaceType::Kind: - case SemIR::RequireSpecificDefinitionType::Kind: case SemIR::SpecificFunctionType::Kind: case SemIR::VtableType::Kind: case SemIR::WitnessType::Kind: { diff --git a/toolchain/sem_ir/singleton_insts.h b/toolchain/sem_ir/singleton_insts.h index a81a72572c6a..913d7451feef 100644 --- a/toolchain/sem_ir/singleton_insts.h +++ b/toolchain/sem_ir/singleton_insts.h @@ -23,7 +23,6 @@ static constexpr std::array SingletonInstKinds = { InstKind::InstType, InstKind::IntLiteralType, InstKind::NamespaceType, - InstKind::RequireSpecificDefinitionType, InstKind::SpecificFunctionType, InstKind::VtableType, InstKind::WitnessType, diff --git a/toolchain/sem_ir/type_iterator.cpp b/toolchain/sem_ir/type_iterator.cpp index b2aad83ebeba..05e15b79bebe 100644 --- a/toolchain/sem_ir/type_iterator.cpp +++ b/toolchain/sem_ir/type_iterator.cpp @@ -147,7 +147,6 @@ auto TypeIterator::ProcessType(InstId inst_id) -> std::optional { case IntLiteralType::Kind: case NamespaceType::Kind: case ParameterizedClassType::Kind: - case RequireSpecificDefinitionType::Kind: case UnboundElementType::Kind: case VtableType::Kind: case WitnessType::Kind: { diff --git a/toolchain/sem_ir/typed_insts.h b/toolchain/sem_ir/typed_insts.h index 6d2169f1b494..2f799711f004 100644 --- a/toolchain/sem_ir/typed_insts.h +++ b/toolchain/sem_ir/typed_insts.h @@ -1800,24 +1800,6 @@ struct RequireImplsDecl { DeclInstBlockId decl_block_id; }; -// As part of a generic region, requires that an `impl` which is initially part -// of a symbolic specific be defined once a concrete specific is formed. -struct RequireSpecificDefinition { - static constexpr auto Kind = - InstKind::RequireSpecificDefinition.Define( - {.ir_name = "require_specific_def", - .constant_kind = InstConstantKind::Conditional, - .is_lowered = false}); - // Always the builtin `RequireSpecificDefinitionType` type. - TypeId type_id; - SemIR::SpecificId specific_id; -}; - -// A dedicated type for `RequireSpecificDefinition`. -using RequireSpecificDefinitionType = - SingletonTypeInst; - // A requirement that `.Self` implements a facet type, specified as the first // operand of a `where` expression. This is always the first requirement in a // requirement block for a `where` expression.