diff --git a/toolchain/check/convert.cpp b/toolchain/check/convert.cpp index e2535eb23a70..7e1f39df9598 100644 --- a/toolchain/check/convert.cpp +++ b/toolchain/check/convert.cpp @@ -1195,15 +1195,14 @@ static auto CanRemoveQualifiers(SemIR::TypeQualifiers quals, static auto DiagnoseConversionFailureToConstraintValue( Context& context, SemIR::LocId loc_id, SemIR::InstId expr_id, SemIR::TypeId target_type_id) -> void { - CARBON_CHECK(context.types().IsFacetType(target_type_id)); + CARBON_CHECK(context.types().Is(target_type_id)); - // If the source type is/has a facet value (converted with `as type` or - // otherwise), then we can include its `FacetType` in the diagnostic to help - // explain what interfaces the source type implements. - auto const_expr_id = GetCanonicalFacetOrTypeValue(context, expr_id); + // If the source is a facet with constraints (possibly converted to `type`), + // then we can include those constraints in the diagnostic. + auto const_expr_id = GetCanonicalFacet(context, expr_id); auto const_expr_type_id = context.insts().Get(const_expr_id).type_id(); - if (context.types().Is(const_expr_type_id)) { + if (context.types().IsConstrainedFacetType(const_expr_type_id)) { CARBON_DIAGNOSTIC(ConversionFailureFacetToFacet, Error, "cannot convert type {0} that implements {1} into type " "implementing {2}", @@ -1556,7 +1555,7 @@ static auto PerformBuiltinConversion(Context& context, SemIR::LocId loc_id, } } - if (sem_ir.types().IsFacetType(target.type_id)) { + if (sem_ir.types().Is(target.type_id)) { auto type_value_id = SemIR::TypeInstId::None; // A tuple of types converts to type `type`. @@ -1574,7 +1573,7 @@ static auto PerformBuiltinConversion(Context& context, SemIR::LocId loc_id, } if (type_value_id != SemIR::InstId::None) { - if (sem_ir.types().Is(target.type_id)) { + if (target.type_id != SemIR::TypeType::TypeId) { // Use the converted `TypeType` value for converting to a facet. value_id = type_value_id; value_type_id = SemIR::TypeType::TypeId; @@ -1585,21 +1584,18 @@ static auto PerformBuiltinConversion(Context& context, SemIR::LocId loc_id, } } - // FacetType converts to Type by wrapping the facet value in - // FacetAccessType. + // All facets convert to `type` by wrapping the facet in FacetAccessType. if (target.type_id == SemIR::TypeType::TypeId && - sem_ir.types().Is(value_type_id)) { + sem_ir.types().IsConstrainedFacetType(value_type_id)) { return AddInst( context, loc_id, {.type_id = target.type_id, .facet_value_inst_id = value_id}); } - // Type values can convert to facet values, and facet values can convert to - // other facet values, as long as they satisfy the required interfaces of the - // target `FacetType`. - if (sem_ir.types().Is(target.type_id) && - sem_ir.types().IsOneOf( - value_type_id)) { + // All facets (including types) can convert into other facets, as long as they + // satisfy the constraints of the target `FacetType`. + if (sem_ir.types().IsConstrainedFacetType(target.type_id) && + sem_ir.types().Is(value_type_id)) { // TODO: Runtime facet values should be allowed to convert based on their // FacetTypes, but we assume constant values for impl lookup at the moment. if (!context.constant_values().Get(value_id).is_constant()) { @@ -1608,9 +1604,9 @@ static auto PerformBuiltinConversion(Context& context, SemIR::LocId loc_id, } // Get the canonical type for which we want to attach a new set of witnesses - // to match the requirements of the target FacetType. + // to match the requirements of the target `FacetType`. auto type_inst_id = SemIR::TypeInstId::None; - if (sem_ir.types().Is(value_type_id)) { + if (value_type_id != SemIR::TypeType::TypeId) { type_inst_id = AddTypeInst( context, loc_id, {.type_id = SemIR::TypeType::TypeId, @@ -1627,8 +1623,7 @@ static auto PerformBuiltinConversion(Context& context, SemIR::LocId loc_id, // would evaluate back to the original SymbolicBinding as its canonical // form. We can skip past the whole impl lookup step then and do that // here. - auto facet_value_inst_id = - GetCanonicalFacetOrTypeValue(context, type_inst_id); + auto facet_value_inst_id = GetCanonicalFacet(context, type_inst_id); if (sem_ir.insts().Get(facet_value_inst_id).type_id() == target.type_id) { return facet_value_inst_id; } @@ -1742,8 +1737,7 @@ static auto PerformUserDefinedConversion(Context& context, SemIR::LocId loc_id, target.kind == ConversionTarget::ExplicitAs ? 1 : target.kind == ConversionTarget::ExplicitUnsafeAs ? 2 : 0; - if (target.type_id == SemIR::TypeType::TypeId || - context.types().Is(target.type_id)) { + if (context.types().Is(target.type_id)) { CARBON_DIAGNOSTIC( ConversionFailureNonTypeToFacet, Context, "cannot{0:=0: implicitly|:} convert non-type value of type {1} " @@ -2113,7 +2107,7 @@ static auto ConversionNeedsCompleteTarget(Context& context, // We allow conversion to incomplete facet types, since their representation // is fixed. This allows us to support using the `Self` of an interface inside // its definition. - if (context.types().IsFacetType(target.type_id)) { + if (context.types().Is(target.type_id)) { return false; } diff --git a/toolchain/check/cpp/call.cpp b/toolchain/check/cpp/call.cpp index ae1c89d9ec20..50f7313b1240 100644 --- a/toolchain/check/cpp/call.cpp +++ b/toolchain/check/cpp/call.cpp @@ -30,10 +30,9 @@ namespace Carbon::Check { static auto IsTemplateArg(Context& context, SemIR::InstId arg_id) -> bool { auto arg_type_id = context.insts().Get(arg_id).type_id(); auto arg_type = context.types().GetAsInst(arg_type_id); - return arg_type - .IsOneOf(); + return arg_type.IsOneOf(); } // Splits a call argument list into a list of template arguments followed by a diff --git a/toolchain/check/cpp/export.cpp b/toolchain/check/cpp/export.cpp index ba1aa691ed9b..a5e2bea73213 100644 --- a/toolchain/check/cpp/export.cpp +++ b/toolchain/check/cpp/export.cpp @@ -332,8 +332,7 @@ static auto ExportGenericBindings(Context& context, SemIR::LocId loc_id, CARBON_CHECK(param_ident, "non-identifier param name {0}", entity_name.name_id); - if (symbolic_binding.type_id != SemIR::TypeType::TypeId && - !context.types().Is(symbolic_binding.type_id)) { + if (!context.types().Is(symbolic_binding.type_id)) { context.TODO(loc_id, "binding maps to a non-type template parameter"); return nullptr; } diff --git a/toolchain/check/custom_witness.cpp b/toolchain/check/custom_witness.cpp index 9893e7455d0d..4090e0e3f0ee 100644 --- a/toolchain/check/custom_witness.cpp +++ b/toolchain/check/custom_witness.cpp @@ -28,24 +28,6 @@ namespace Carbon::Check { -// Given a value whose type `IsFacetTypeOrError`, returns the corresponding -// type. -static auto GetFacetAsType(Context& context, - SemIR::ConstantId facet_or_type_const_id) - -> SemIR::TypeId { - auto facet_or_type_id = - context.constant_values().GetInstId(facet_or_type_const_id); - auto type_type_id = context.insts().Get(facet_or_type_id).type_id(); - CARBON_CHECK(context.types().IsFacetTypeOrError(type_type_id)); - - if (context.types().Is(type_type_id)) { - // It's a facet; access its type. - facet_or_type_id = context.types().GetTypeInstId( - GetFacetAccessType(context, facet_or_type_id)); - } - return context.types().GetTypeIdForTypeInstId(facet_or_type_id); -} - // Make the CanonicalKey for a generated function `op_name_id` in the interface // `core_specific_interface`. static auto MakeGeneratedFunctionKey( @@ -242,13 +224,13 @@ static auto CanDestroyType(Context& context, SemIR::LocId loc_id, SemIR::SpecificInterface query_specific_interface) -> DestroyFormat { auto inst_id = context.constant_values().GetInstId( - GetCanonicalFacetOrTypeValue(context, query_self_const_id)); + GetCanonicalFacet(context, query_self_const_id)); auto inst = context.insts().Get(inst_id); - if (context.types().Is(inst.type_id())) { - // The value's type is a facet (whose type is a facet type). We don't - // provide a custom witness for symbolic values of type facet. The witness - // will be found from impl lookup. + if (context.types().IsConstrainedFacetType(inst.type_id())) { + // The value's type is a symbolic constrained facet. We don't provide a + // custom witness for constrained facets. The witness must be found in the + // constraints by impl lookup. CARBON_CHECK(query_self_const_id.is_symbolic()); return DestroyFormat::NoDestroy; } @@ -360,7 +342,6 @@ static auto CanDestroyType(Context& context, SemIR::LocId loc_id, case SemIR::IntLiteralType::Kind: case SemIR::IntType::Kind: case SemIR::PointerType::Kind: - case SemIR::TypeType::Kind: // Trivially destructible. return DestroyFormat::Trivial; @@ -481,7 +462,8 @@ static auto GetTypesForSelfFacet( query_specific_interface)); // The Self facet needs to point to a type value. If it's not one already, // convert to type. - auto query_self_as_type_id = GetFacetAsType(context, query_self_const_id); + auto query_self_as_type_id = GetFacetAccessType( + context, context.constant_values().GetInstId(query_self_const_id)); return {facet_type_for_query_specific_interface, query_self_as_type_id}; } @@ -663,7 +645,8 @@ auto BuildPrimitiveCopyWitness( Context& context, SemIR::LocId loc_id, SemIR::ConstantId query_self_const_id, SemIR::SpecificInterface query_specific_interface) -> SemIR::InstId { - auto self_type_id = GetFacetAsType(context, query_self_const_id); + auto self_type_id = GetFacetAccessType( + context, context.constant_values().GetInstId(query_self_const_id)); auto op_id = MakeBuiltinOperatorFunction( context, loc_id, {self_type_id}, self_type_id, CoreIdentifier::Op, @@ -682,7 +665,8 @@ static auto BuildDestroyWitness( -> SemIR::InstId { CARBON_CHECK(format != DestroyFormat::NoDestroy); - auto self_type_id = GetFacetAsType(context, query_self_const_id); + auto self_type_id = GetFacetAccessType( + context, context.constant_values().GetInstId(query_self_const_id)); auto op_id = MakeDestroyOpFunction(context, loc_id, self_type_id, query_specific_interface.interface_id, format); @@ -740,8 +724,10 @@ static auto MakeIntFitsInWitness( return std::nullopt; } - auto src_type_id = GetFacetAsType(context, query_self_const_id); - auto dest_type_id = GetFacetAsType(context, dest_const_id); + auto src_type_id = GetFacetAccessType( + context, context.constant_values().GetInstId(query_self_const_id)); + auto dest_type_id = GetFacetAccessType( + context, context.constant_values().GetInstId(dest_const_id)); auto context_fn = [](DiagnosticContextBuilder& /*builder*/) -> void {}; if (!RequireCompleteType(context, src_type_id, loc_id, context_fn) || @@ -836,8 +822,10 @@ static auto MakeFloatFitsInWitness( return std::nullopt; } - auto src_type_id = GetFacetAsType(context, query_self_const_id); - auto dest_type_id = GetFacetAsType(context, dest_const_id); + auto src_type_id = GetFacetAccessType( + context, context.constant_values().GetInstId(query_self_const_id)); + auto dest_type_id = GetFacetAccessType( + context, context.constant_values().GetInstId(dest_const_id)); auto context_fn = [](DiagnosticContextBuilder& /*builder*/) -> void {}; if (!RequireCompleteType(context, src_type_id, loc_id, context_fn) || diff --git a/toolchain/check/deduce.cpp b/toolchain/check/deduce.cpp index 67913084a0de..ad7d017498a1 100644 --- a/toolchain/check/deduce.cpp +++ b/toolchain/check/deduce.cpp @@ -306,11 +306,11 @@ auto DeductionContext::Deduce() -> bool { if (context().types().Is(param_type_id)) { param_type_id = SemIR::ExtractScrutineeType(context().sem_ir(), param_type_id); - } else if (context().types().IsFacetType(param_type_id)) { + } else if (context().types().Is(param_type_id)) { // Given `fn F[G: Interface](g: G)`, the type of `g` is `G as type`. For // deduction, we want to ignore the `as type`, and check that the argument - // can convert to the FacetType of the canonical facet value. - param_id = GetCanonicalFacetOrTypeValue(context(), param_id); + // can convert to the FacetType of the canonical facet. + param_id = GetCanonicalFacet(context(), param_id); param = context().insts().Get(param_id); param_type_id = param.type_id(); } diff --git a/toolchain/check/eval.cpp b/toolchain/check/eval.cpp index f5efcc4caecb..e67c3c0207f8 100644 --- a/toolchain/check/eval.cpp +++ b/toolchain/check/eval.cpp @@ -3340,15 +3340,15 @@ static auto AddRequirementImpls(Context& context, SemIR::RequirementImpls impls, llvm::append_range(declared_facet_type->self_impls_named_constraints, rhs.extend_named_constraints); } else { - auto lhs_facet_or_type = GetCanonicalFacetOrTypeValue(context, lhs_id); + auto lhs_facet = GetCanonicalFacet(context, lhs_id); auto extends_interface = [=](SemIR::SpecificInterface si) -> SemIR::DeclaredFacetType::TypeImplsInterface { - return {lhs_facet_or_type, si}; + return {lhs_facet, si}; }; auto extends_constraint = [=](SemIR::SpecificNamedConstraint sc) -> SemIR::DeclaredFacetType::TypeImplsNamedConstraint { - return {lhs_facet_or_type, sc}; + return {lhs_facet, sc}; }; // Extend constraints are copied over without replacing anything, but are diff --git a/toolchain/check/eval_inst.cpp b/toolchain/check/eval_inst.cpp index 1012e76eedb0..a9d42d426afc 100644 --- a/toolchain/check/eval_inst.cpp +++ b/toolchain/check/eval_inst.cpp @@ -214,24 +214,37 @@ auto EvalConstantInst(Context& context, SemIR::ExportDecl inst) auto EvalConstantInst(Context& context, SemIR::FacetAccessType inst) -> ConstantEvalResult { - if (auto facet_value = context.insts().TryGetAs( - inst.facet_value_inst_id)) { + auto facet = context.insts().Get(inst.facet_value_inst_id); + CARBON_CHECK(context.types().Is(facet.type_id())); + + // If the facet is a `type`, we can evaluate to the facet. + if (facet.type_id() == SemIR::TypeType::TypeId) { + return ConstantEvalResult::Existing( + context.constant_values().Get(inst.facet_value_inst_id)); + } + + // If the facet is a FacetValue, it wraps a `type`, and we can evaluate to + // that `type`. + if (auto facet_value = facet.TryAs()) { return ConstantEvalResult::Existing( context.constant_values().Get(facet_value->type_inst_id)); } - // The `facet_value_inst_id` is always a facet value (has type facet type). - CARBON_CHECK(context.types().Is( - context.insts().Get(inst.facet_value_inst_id).type_id())); - - // Other instructions (e.g. ImplWitnessAccess) of type FacetType can appear - // here, in which case the constant inst is a FacetAccessType until those + // Other instructions (e.g. ImplWitnessAccess) of type `FacetType` can appear + // here, in which case the constant inst is a `FacetAccessType` until those // instructions resolve to one of the above. return ConstantEvalResult::NewSamePhase(inst); } auto EvalConstantInst(Context& context, SemIR::FacetValue inst) -> ConstantEvalResult { + // If the FacetValue is of type `type`, then it evaluates to the type inside + // it. + if (inst.type_id == SemIR::TypeType::TypeId) { + return ConstantEvalResult::Existing( + context.constant_values().Get(inst.type_inst_id)); + } + // A FacetValue that just wraps a facet without adding/removing any witnesses // (which means they have the same type) is evaluated to the facet itself. if (auto access = @@ -296,7 +309,7 @@ static auto TryFindValueInRewriteConstraints( SemIR::ElementIndex interface_index, SemIR::InstId search_facet) -> SemIR::ConstantId { auto access_self_type_id = context.insts().Get(search_facet).type_id(); - if (context.types().Is(access_self_type_id)) { + if (access_self_type_id == SemIR::TypeType::TypeId) { // A self facet of type `type` has no rewrite constraints to look in. return SemIR::ConstantId::None; } diff --git a/toolchain/check/facet_type.cpp b/toolchain/check/facet_type.cpp index 2e14d63ddc5a..934d67112c5b 100644 --- a/toolchain/check/facet_type.cpp +++ b/toolchain/check/facet_type.cpp @@ -467,29 +467,6 @@ auto ResolveFacetTypeRewriteConstraints( return true; } -auto GetEmptyFacetType(Context& context) -> SemIR::TypeId { - SemIR::DeclaredFacetTypeId declared_facet_type_id = - context.declared_facet_types().Add(SemIR::DeclaredFacetType{}); - auto const_id = EvalOrAddInst( - context, SemIR::LocId::None, - {.type_id = SemIR::TypeType::TypeId, - .declared_facet_type_id = declared_facet_type_id}); - return context.types().GetTypeIdForTypeConstantId(const_id); -} - -auto GetConstantFacetValueForType(Context& context, - SemIR::TypeInstId type_inst_id) - -> SemIR::ConstantId { - // We use an empty facet type because values of type `type` do not provide any - // witnesses of their own. - auto type_facet_type = GetEmptyFacetType(context); - return EvalOrAddInst( - context, SemIR::LocId::None, - {.type_id = type_facet_type, - .type_inst_id = type_inst_id, - .witnesses_block_id = SemIR::InstBlockId::Empty}); -} - auto GetConstantFacetValueForTypeAndInterface( Context& context, SemIR::TypeInstId type_inst_id, SemIR::SpecificInterface specific_interface, SemIR::InstId witness_id) diff --git a/toolchain/check/facet_type.h b/toolchain/check/facet_type.h index 52b2ccdec037..65037e3cc542 100644 --- a/toolchain/check/facet_type.h +++ b/toolchain/check/facet_type.h @@ -58,19 +58,6 @@ auto ResolveFacetTypeRewriteConstraints( llvm::SmallVector& rewrites) -> bool; -// Get a FacetType instruction for an empty FacetType. This is the facet -// equivalent to TypeType. -// -// TODO: We vaguely plan to replace TypeType with this FacetType in the future, -// though that's a big change. -auto GetEmptyFacetType(Context& context) -> SemIR::TypeId; - -// Make a facet value for a type value, which has an empty FacetType as its -// type. Returns a constant value, whose instruction payload is a FacetValue. -auto GetConstantFacetValueForType(Context& context, - SemIR::TypeInstId type_inst_id) - -> SemIR::ConstantId; - // Make a facet value for a type value, which has a FacetType containing the // `specific_interface` as its type. Returns a constant value, whose instruction // payload is a FacetValue. diff --git a/toolchain/check/generic.cpp b/toolchain/check/generic.cpp index 96e62b8bf24f..3ca8e481af43 100644 --- a/toolchain/check/generic.cpp +++ b/toolchain/check/generic.cpp @@ -858,7 +858,9 @@ auto MakeSpecificWithInnerSelf(Context& context, SemIR::LocId loc_id, if (self_facet == SemIR::ErrorInst::ConstantId) { args.push_back(SemIR::ErrorInst::InstId); } else { - auto self_facet_inst_id = context.constant_values().GetInstId(self_facet); + // Use the canonical facet for self in order to produce fewer specifics. + auto self_facet_inst_id = context.constant_values().GetInstId( + GetCanonicalFacet(context, self_facet)); CARBON_CHECK(context.types().Is( context.insts().Get(self_facet_inst_id).type_id())); args.push_back(self_facet_inst_id); diff --git a/toolchain/check/handle_binding_pattern.cpp b/toolchain/check/handle_binding_pattern.cpp index 21456eb77af6..801f3ce6945f 100644 --- a/toolchain/check/handle_binding_pattern.cpp +++ b/toolchain/check/handle_binding_pattern.cpp @@ -613,7 +613,7 @@ auto HandleParseNode(Context& context, // compile time binding. This is popped when handling the // CompileTimeBindingPatternId. context.scope_stack().PushForSameRegion(); - MakePeriodSelfFacetValue(context, node_id, GetEmptyFacetType(context)); + MakePeriodSelfFacetValue(context, node_id, SemIR::TypeType::TypeId); context.node_stack().Push( node_id, SemIR::ElementIndex(context.binding_type_where_count())); return true; diff --git a/toolchain/check/handle_observe.cpp b/toolchain/check/handle_observe.cpp index bc701c7ebaf4..5e6bea0b7b1c 100644 --- a/toolchain/check/handle_observe.cpp +++ b/toolchain/check/handle_observe.cpp @@ -58,9 +58,8 @@ auto HandleParseNode(Context& context, Parse::ObserveEqualEqualId node_id) context.args_type_info_stack().AddInstId( AddInstInNoBlock( context, node_id, - {.lhs_id = GetCanonicalFacetOrTypeValue(context, lhs_as_type.inst_id), - .rhs_id = - GetCanonicalFacetOrTypeValue(context, rhs_as_type.inst_id)})); + {.lhs_id = GetCanonicalFacet(context, lhs_as_type.inst_id), + .rhs_id = GetCanonicalFacet(context, rhs_as_type.inst_id)})); return true; } @@ -90,9 +89,8 @@ auto HandleParseNode(Context& context, Parse::ObserveImplsId node_id) -> bool { context.args_type_info_stack().AddInstId( AddInstInNoBlock( context, node_id, - {.lhs_id = GetCanonicalFacetOrTypeValue(context, lhs_as_type.inst_id), - .rhs_id = - GetCanonicalFacetOrTypeValue(context, rhs_as_type.inst_id)})); + {.lhs_id = GetCanonicalFacet(context, lhs_as_type.inst_id), + .rhs_id = GetCanonicalFacet(context, rhs_as_type.inst_id)})); return true; } diff --git a/toolchain/check/handle_where.cpp b/toolchain/check/handle_where.cpp index 3f87fecf0810..85f4b29d602c 100644 --- a/toolchain/check/handle_where.cpp +++ b/toolchain/check/handle_where.cpp @@ -42,10 +42,6 @@ static auto GetPeriodSelfType(Context& context, auto frozen_const_id = FreezePeriodSelf(context, extended_id.AsConstantId()); return context.types().GetTypeIdForTypeConstantId(frozen_const_id); - } else if (facet_type_type_id == SemIR::TypeType::TypeId) { - // The self may be `TypeType` in `type where X impls Y`, so we use an empty - // facet type. - return GetEmptyFacetType(context); } else { CARBON_CHECK(facet_type_type_id == SemIR::ErrorInst::TypeId, "unexpected .Self type {0}", facet_type_type_id); @@ -435,8 +431,7 @@ auto HandleParseNode(Context& context, Parse::RequirementImplsId node_id) // Check lhs is a facet and rhs is a facet type. auto lhs_as_type = ExprAsType(context, lhs_node, lhs_id); auto rhs_as_type = ExprAsType(context, rhs_node, rhs_id); - if (rhs_as_type.type_id != SemIR::ErrorInst::TypeId && - !context.types().IsFacetType(rhs_as_type.type_id)) { + if (!context.types().IsFacetTypeOrError(rhs_as_type.type_id)) { DiagnoseImplsOnNonFacetType(context, rhs_node); rhs_as_type.type_id = SemIR::ErrorInst::TypeId; rhs_as_type.inst_id = SemIR::ErrorInst::TypeInstId; diff --git a/toolchain/check/impl.cpp b/toolchain/check/impl.cpp index d2642f05b237..aceff1a2f20e 100644 --- a/toolchain/check/impl.cpp +++ b/toolchain/check/impl.cpp @@ -528,10 +528,10 @@ auto AddImplWitnessForDeclaration(Context& context, SemIR::LocId loc_id, // value to that type now we know the value of `Self`. SemIR::TypeId assoc_const_type_id = assoc_constant_decl->type_id; if (assoc_const_type_id.is_symbolic()) { - auto self_facet = GetConstantFacetValueForType(context, impl.self_id); auto interface_with_self_specific_id = MakeSpecificWithInnerSelf( context, loc_id, interface.generic_id, interface.generic_with_self_id, - impl.interface.specific_id, self_facet); + impl.interface.specific_id, + context.constant_values().Get(impl.self_id)); // Get the type of the associated constant in this interface with this // value for `Self`. @@ -861,8 +861,8 @@ auto CheckRequireDeclsSatisfied(Context& context, SemIR::LocId loc_id, // The IdentifiedFacetType canonicalizes the self facets, so we do the same // for comparing with it. - auto self_const_id = GetCanonicalFacetOrTypeValue( - context, context.constant_values().Get(impl.self_id)); + auto self_const_id = + GetCanonicalFacet(context, context.constant_values().Get(impl.self_id)); // We already identified the `impl.self_id` as the canonical // `full_constraint_id`, so this should just be a cache lookup and can't fail. @@ -932,11 +932,9 @@ auto CheckRequireDeclsSatisfied(Context& context, SemIR::LocId loc_id, return; } - // Make a facet value for the self type. - auto self_facet = GetConstantFacetValueForType(context, impl.self_id); auto interface_with_self_specific_id = MakeSpecificWithInnerSelf( context, loc_id, interface.generic_id, interface.generic_with_self_id, - impl.interface.specific_id, self_facet); + impl.interface.specific_id, context.constant_values().Get(impl.self_id)); for (auto require_id : require_ids) { const auto& require = context.require_impls().Get(require_id); diff --git a/toolchain/check/impl_lookup.cpp b/toolchain/check/impl_lookup.cpp index 4cf856d43117..46dafed3c1a2 100644 --- a/toolchain/check/impl_lookup.cpp +++ b/toolchain/check/impl_lookup.cpp @@ -270,7 +270,7 @@ static auto TryGetSpecificWitnessIdForImpl( // to the facet value here, and if the query was a FacetAccessType we did the // same there so they still match. auto deduced_self_const_id = - GetCanonicalFacetOrTypeValue(context, noncanonical_deduced_self_const_id); + GetCanonicalFacet(context, noncanonical_deduced_self_const_id); if (query_self_const_id != deduced_self_const_id) { return SemIR::ConstantId::None; } @@ -431,8 +431,7 @@ static auto CollectFacetWitnessSources( // constraints. const auto& impls = context.where_stack().back().impls; for (auto [self_const_id, facet_type_const_id] : impls) { - auto canon_self_const_id = - GetCanonicalFacetOrTypeValue(context, self_const_id); + auto canon_self_const_id = GetCanonicalFacet(context, self_const_id); // TypeType (and ErrorInst) is never stored in the impls stack, so we // always have a FacetType in `facet_type_const_id`. auto identified_id = TryToIdentifyFacetType( @@ -983,8 +982,7 @@ auto LookupImplWitness(Context& context, SemIR::LocId loc_id, context.insts() .Get(context.constant_values().GetInstId(query_self_const_id)) .type_id(); - CARBON_CHECK((context.types().IsOneOf( - query_self_type_id))); + CARBON_CHECK(context.types().Is(query_self_type_id)); // The query facet type value is indeed a facet type. CARBON_CHECK(context.constant_values().InstIs( query_facet_type_const_id)); @@ -1122,8 +1120,8 @@ auto GetCanonicalQuerySelfForLookupImplWitness(Context& context, // LookupImplWitness instruction, avoiding multiple constant values for // `` and ` as type`, which always have the same // lookup result. - return GetCanonicalFacetOrTypeValue( - context, context.constant_values().Get(self_inst_id)); + return GetCanonicalFacet(context, + context.constant_values().Get(self_inst_id)); } // Record the query which found a final impl witness. It's illegal to @@ -1171,7 +1169,7 @@ auto EvalLookupSingleFinalWitness(Context& context, SemIR::LocId loc_id, context.specific_interfaces().Get(eval_query.query_specific_interface_id); // Ensure specifics don't substitute in weird things for the query self. - CARBON_CHECK(context.types().IsFacetType( + CARBON_CHECK(context.types().Is( context.insts().Get(eval_query.query_self_inst_id).type_id())); SemIR::ConstantId query_self_const_id = context.constant_values().Get(eval_query.query_self_inst_id); diff --git a/toolchain/check/import_ref.cpp b/toolchain/check/import_ref.cpp index 47e6b7398ad0..d47a3b9890e6 100644 --- a/toolchain/check/import_ref.cpp +++ b/toolchain/check/import_ref.cpp @@ -38,6 +38,7 @@ #include "toolchain/sem_ir/inst_kind.h" #include "toolchain/sem_ir/name_scope.h" #include "toolchain/sem_ir/observe.h" +#include "toolchain/sem_ir/singleton_insts.h" #include "toolchain/sem_ir/specific_interface.h" #include "toolchain/sem_ir/specific_named_constraint.h" #include "toolchain/sem_ir/type_info.h" @@ -4578,8 +4579,9 @@ static auto TryResolveInstCanonical(ImportRefResolver& resolver, "Constant value of constant instruction should refer to " "the same instruction"); - if (SemIR::IsSingletonInstId(constant_inst_id)) { - // Constants for builtins can be directly copied. + if (SemIR::IsSingletonInstId(constant_inst_id) || + constant_inst_id == SemIR::TypeType::TypeInstId) { + // Constants for singletons and TypeType can be directly copied. return ResolveResult::Done( resolver.local_constant_values().Get(constant_inst_id)); } @@ -4985,15 +4987,21 @@ auto ImportRefResolver::ResolveType(SemIR::TypeId import_type_id) auto import_type_const_id = import_ir().types().GetConstantId(import_type_id); CARBON_CHECK(import_type_const_id.has_value()); - if (auto import_type_inst_id = import_ir().types().GetAsTypeInstId( - import_ir().constant_values().GetInstId(import_type_const_id)); - SemIR::IsSingletonInstId(import_type_inst_id)) { - // Builtins don't require constant resolution; we can use them directly. + auto import_type_inst_id = import_ir().types().GetAsTypeInstId( + import_ir().constant_values().GetInstId(import_type_const_id)); + + // Builtin types don't require constant resolution; we can use them directly. + if (SemIR::IsSingletonInstId(import_type_inst_id)) { + // Singletons are all types, and need to go through GetSingletonType to + // complete them. return GetSingletonType(local_context(), import_type_inst_id); - } else { - return local_types().GetTypeIdForTypeConstantId( - ResolveConstant(import_type_id.AsConstantId())); + } else if (import_type_inst_id == SemIR::TypeType::TypeInstId) { + // TypeType is the other builtin type, and is already complete. + return SemIR::TypeType::TypeId; } + + return local_types().GetTypeIdForTypeConstantId( + ResolveConstant(import_type_id.AsConstantId())); } auto ImportRefResolver::HasNewWork() -> bool { diff --git a/toolchain/check/member_access.cpp b/toolchain/check/member_access.cpp index 1dbc1bca25e6..c656b930914f 100644 --- a/toolchain/check/member_access.cpp +++ b/toolchain/check/member_access.cpp @@ -148,22 +148,21 @@ static auto ScopeNeedsImplLookup(Context& context, SemIR::InstId inst_id = context.constant_values().GetInstId(name_scope_const_id); CARBON_CHECK(inst_id.has_value()); - SemIR::Inst inst = context.insts().Get(inst_id); - if (inst.Is()) { - // Don't perform impl lookup if an associated entity is named as a member of - // a facet type. - return false; - } - if (inst.Is()) { + if (context.insts().Is(inst_id)) { // Don't perform impl lookup if an associated entity is named as a namespace // member. // TODO: This case is not yet listed in the design. return false; } + + auto type_id = context.types().GetTypeIdForTypeInstId(inst_id); + // Don't perform impl lookup if an associated entity is named as a member of + // a constrained facet type. + // // Any other kind of scope is assumed to be a type that implements the // interface containing the associated entity, and impl lookup is performed. - return true; + return !context.types().IsConstrainedFacetType(type_id); } static auto PerformImplWitnessAccessAndSubstitute( @@ -490,9 +489,8 @@ static auto PerformActionHelper(Context& context, SemIR::LocId loc_id, SemIR::InstId base_id, SemIR::NameId name_id, bool required) -> SemIR::InstId { // Unwrap the facet value in `base_id` if possible. - if (auto facet_value = TryGetCanonicalFacetValue(context, base_id); - facet_value.has_value()) { - base_id = facet_value; + if (auto facet = TryGetCanonicalFacet(context, base_id); facet.has_value()) { + base_id = facet; } // If the base is a name scope, such as a class or namespace, perform lookup @@ -515,7 +513,7 @@ static auto PerformActionHelper(Context& context, SemIR::LocId loc_id, // `base_id` (as part the class case above), as the `base_id` facet should // have member names that directly name members of the `impl`. auto base_type_id = context.insts().Get(base_id).type_id(); - if (context.types().Is(base_type_id)) { + if (context.types().IsConstrainedFacetType(base_type_id)) { // Name lookup into a facet requires the facet type to be complete, so // that any names available through the facet type are known for the // facet. @@ -589,15 +587,15 @@ static auto PerformActionHelper(Context& context, SemIR::LocId loc_id, auto lookup_const_id = context.types().GetConstantId(unqualified_base_type_id); - // TODO: If the type is a facet, we look through it into the facet's type (a - // FacetType) for names. According to the design, we shouldn't need to do - // this, as the facet should have member names that directly name members of - // the `impl`. - auto base_type_as_facet = GetCanonicalFacetOrTypeValue( - context, context.types().GetTypeInstId(base_type_id)); + // TODO: If the type is a constrained facet, we look through it into the + // facet's type (a FacetType) for names. According to the design, we shouldn't + // need to do this, as the facet should have member names that directly name + // members of the `impl`. + auto base_type_as_facet = + GetCanonicalFacet(context, context.types().GetTypeInstId(base_type_id)); auto base_type_facet_type_id = context.insts().Get(base_type_as_facet).type_id(); - if (context.types().Is(base_type_facet_type_id)) { + if (context.types().IsConstrainedFacetType(base_type_facet_type_id)) { lookup_const_id = context.types().GetConstantId(base_type_facet_type_id); } @@ -606,11 +604,12 @@ static auto PerformActionHelper(Context& context, SemIR::LocId loc_id, if (AppendLookupScopesForConstant( context, loc_id, lookup_const_id, // The `self_type_const_id` should be the type of `base_id` even if - // it's a facet. + // it's a constrained facet. // // TODO: This can be replaced with `lookup_const_id` once we stop - // having to look through the facet at its type for the scope. - context.types().GetConstantId(base_type_id), /*extended_scope=*/false, + // having to look through the constrained facet at its type for the + // scope. + base_type_id.AsConstantId(), /*extended_scope=*/false, &lookup_scopes)) { auto member_id = LookupMemberNameInScope( context, loc_id, base_id, name_id, lookup_const_id, lookup_scopes, diff --git a/toolchain/check/name_lookup.cpp b/toolchain/check/name_lookup.cpp index 852f4716abad..571a2c174568 100644 --- a/toolchain/check/name_lookup.cpp +++ b/toolchain/check/name_lookup.cpp @@ -9,7 +9,6 @@ #include "common/raw_string_ostream.h" #include "toolchain/check/control_flow.h" #include "toolchain/check/cpp/import.h" -#include "toolchain/check/facet_type.h" #include "toolchain/check/generic.h" #include "toolchain/check/import.h" #include "toolchain/check/import_ref.h" @@ -297,50 +296,24 @@ struct ProhibitedAccessInfo { static auto GetSelfFacetForInterfaceFromLookupSelfType( Context& context, const SemIR::GenericId generic_with_self_id, SemIR::ConstantId self_type_const_id) -> SemIR::ConstantId { - if (!self_type_const_id.has_value()) { - // In a lookup into a non-lexical scope, there is no self-type from the - // lookup for the interface-with-self specific. So the self-type we use is - // the abstract symbolic Self from the self specific of the - // interface-with-self. - auto self_specific_args_id = context.specifics().GetArgsOrEmpty( - context.generics().GetSelfSpecific(generic_with_self_id)); - auto self_specific_args = context.inst_blocks().Get(self_specific_args_id); - return context.constant_values().Get(self_specific_args.back()); + if (self_type_const_id.has_value() && + !context.constant_values().InstIs(self_type_const_id)) { + // Extended name lookup into the type of `x`, such as in a member access + // `x.F`. We can find a facet type extended scope from the type of `x`. + return self_type_const_id; } - if (context.constant_values().InstIs(self_type_const_id)) { - // We are looking directly in a facet type, like `I.F` for an interface `I`, - // which means there is no self-type from the lookup for the - // interface-with-self specific. So the self-type we use is the abstract - // symbolic Self from the self specific of the interface-with-self. - auto self_specific_args_id = context.specifics().GetArgsOrEmpty( - context.generics().GetSelfSpecific(generic_with_self_id)); - auto self_specific_args = context.inst_blocks().Get(self_specific_args_id); - return context.constant_values().Get(self_specific_args.back()); - } - - // Extended name lookup into a type, like `x.F`, can find a facet - // type extended scope from the type of `x`. The type of `x` maybe a - // facet converted to a type, so drop the `as type` conversion if - // so. - auto canonical_facet_or_type = - GetCanonicalFacetOrTypeValue(context, self_type_const_id); - - auto type_of_canonical_facet_or_type = - context.insts() - .Get(context.constant_values().GetInstId(canonical_facet_or_type)) - .type_id(); - if (type_of_canonical_facet_or_type == SemIR::TypeType::TypeId) { - // If we still have a type, turn it into a facet for use in the - // interface-with-self specific. - return GetConstantFacetValueForType( - context, context.types().GetAsTypeInstId( - context.constant_values().GetInstId(self_type_const_id))); - } - - // We have a facet for the self-type (or perhaps an ErrorInst), which we can - // use directly in the interface-with-self specific. - return canonical_facet_or_type; + // If `self_type_const_id` is None, we are doing lookup into a non-lexical + // scope. If it is a `FacetType`, then we are doing lookup directly on a facet + // type, such as `I.F` on an interface `I`. + // + // In these cases, there is no self-type from the lookup for the + // interface-with-self specific. So the self-type we use is the abstract + // symbolic Self from the self specific of the interface-with-self. + auto self_specific_args_id = context.specifics().GetArgsOrEmpty( + context.generics().GetSelfSpecific(generic_with_self_id)); + auto self_specific_args = context.inst_blocks().Get(self_specific_args_id); + return context.constant_values().Get(self_specific_args.back()); } auto AppendLookupScopesForConstant(Context& context, SemIR::LocId loc_id, diff --git a/toolchain/check/period_self.cpp b/toolchain/check/period_self.cpp index 701a167a55a3..a4438a53b295 100644 --- a/toolchain/check/period_self.cpp +++ b/toolchain/check/period_self.cpp @@ -22,8 +22,7 @@ namespace Carbon::Check { auto MakePeriodSelfFacetValue(Context& context, SemIR::LocId loc_id, SemIR::TypeId self_type_id) -> SemIR::InstId { - CARBON_CHECK(self_type_id == SemIR::ErrorInst::TypeId || - context.types().Is(self_type_id)); + CARBON_CHECK(context.types().IsFacetTypeOrError(self_type_id)); auto entity_name_id = context.entity_names().AddCanonical( {.name_id = SemIR::NameId::PeriodSelf, .parent_scope_id = context.scope_stack().PeekNameScopeId(), @@ -57,8 +56,7 @@ static auto TryGetAsPeriodSelf(Context& context, SemIR::InstId inst_id, return std::nullopt; } auto query_inst_id = - canonicalize ? GetCanonicalFacetOrTypeValue(context, const_inst_id) - : inst_id; + canonicalize ? GetCanonicalFacet(context, const_inst_id) : inst_id; if (auto bind = context.insts().TryGetAs(query_inst_id)) { const auto& entity_name = context.entity_names().Get(bind->entity_name_id); @@ -122,7 +120,7 @@ class SubstPeriodSelfCallbacks : public SubstInstCallbacks { context().constant_values().GetInstId(period_self_replacement_id_); auto replacement_type_id = context().insts().Get(replacement_self_inst_id).type_id(); - CARBON_CHECK(context().types().IsFacetType(replacement_type_id)); + CARBON_CHECK(context().types().Is(replacement_type_id)); // If the replacement has the same type as `.Self`, use it directly. if (replacement_type_id == period_self_type_id) { @@ -136,42 +134,32 @@ class SubstPeriodSelfCallbacks : public SubstInstCallbacks { } // Convert the replacement facet to the type of `.Self`. - cached_replacement_id_ = - ConvertReplacement(replacement_self_inst_id, replacement_type_id, - period_self, period_self_type_id); + cached_replacement_id_ = ConvertReplacement( + replacement_self_inst_id, period_self, period_self_type_id); cached_replacement_type_id_ = period_self_type_id; return cached_replacement_id_; } auto ConvertReplacement(SemIR::InstId replacement_self_inst_id, - SemIR::TypeId replacement_type_id, SemIR::InstId period_self_inst_id, SemIR::TypeId period_self_type_id) -> SemIR::InstId { - // TODO: Replace all empty facet types with TypeType. - if (period_self_type_id == GetEmptyFacetType(context())) { - // Convert to an empty facet type (representing TypeType); we don't need - // any witnesses. - return ConvertToValueOfType(context(), loc_id_, replacement_self_inst_id, - period_self_type_id); + // Ensure the replacement is a type, which we will need for the return or to + // construct FacetValue. + auto replacement_self_type_inst_id = context().types().GetTypeInstId( + GetFacetAccessType(context(), replacement_self_inst_id)); + if (period_self_type_id == SemIR::TypeType::TypeId) { + return replacement_self_type_inst_id; } - // We have a facet or a type, but we need more interfaces in the facet type. - // We will have to synthesize a symbolic witness for each interface. + // We have a replacement facet (converted to `type`), but we need different + // interfaces than we had in the facet's type. We will have to synthesize a + // symbolic witness for each interface. // // Why is this okay? The type of `.Self` comes from interfaces that are // before it (to the left of it) in the facet type. The replacement for // `.Self` will have to impl those interfaces in order to match the facet // type, so we know that it is valid to construct these witnesses. - // Make the replacement into a type, which we will need for the FacetValue. - if (context().types().Is(replacement_type_id)) { - replacement_self_inst_id = context().constant_values().GetInstId( - EvalOrAddInst( - context(), loc_id_, - {.type_id = SemIR::TypeType::TypeId, - .facet_value_inst_id = replacement_self_inst_id})); - } - auto witnesses = MakeWitnessesForPeriodSelfTypeWithoutLookup( context(), loc_id_, context().constant_values().Get(replacement_self_inst_id), @@ -184,8 +172,7 @@ class SubstPeriodSelfCallbacks : public SubstInstCallbacks { context(), loc_id_, { .type_id = period_self_type_id, - .type_inst_id = - context().types().GetAsTypeInstId(replacement_self_inst_id), + .type_inst_id = replacement_self_type_inst_id, .witnesses_block_id = witnesses.inst_block_id(), })); } diff --git a/toolchain/check/period_self.h b/toolchain/check/period_self.h index 94aa87664191..327d83bf20ca 100644 --- a/toolchain/check/period_self.h +++ b/toolchain/check/period_self.h @@ -72,7 +72,7 @@ auto SubstPeriodSelfInFacetType(Context& context, SemIR::LocId loc_id, // Returns whether the constant value of `inst_id` is a reference to `.Self`. // // If `canonicalize` is true, look at the constant value of `inst_id` and get -// the canonicalized facet or type to look through FacetAccessType. +// the canonicalized facet to look through FacetAccessType. auto IsPeriodSelf(Context& context, SemIR::InstId inst_id, bool canonicalize = true) -> bool; diff --git a/toolchain/check/testdata/alias/basics.carbon b/toolchain/check/testdata/alias/basics.carbon index b677cbaed0e8..515cff96b9ed 100644 --- a/toolchain/check/testdata/alias/basics.carbon +++ b/toolchain/check/testdata/alias/basics.carbon @@ -158,6 +158,7 @@ extern alias C = Class; // CHECK:STDOUT: --- alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -174,6 +175,7 @@ extern alias C = Class; // CHECK:STDOUT: --- alias_of_alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] @@ -211,6 +213,7 @@ extern alias C = Class; // CHECK:STDOUT: --- alias_to_generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = generic_class_type @A [concrete] // CHECK:STDOUT: %A.generic: %A.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] diff --git a/toolchain/check/testdata/alias/builtins.carbon b/toolchain/check/testdata/alias/builtins.carbon index f54631ea01d8..2f99069480cf 100644 --- a/toolchain/check/testdata/alias/builtins.carbon +++ b/toolchain/check/testdata/alias/builtins.carbon @@ -39,6 +39,7 @@ let a_test: bool = a; // CHECK:STDOUT: --- i32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: } @@ -50,6 +51,10 @@ let a_test: bool = a; // CHECK:STDOUT: // CHECK:STDOUT: --- bool.carbon // CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %.loc5: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: type = alias_binding b, %.loc5 [concrete = bool] @@ -58,6 +63,7 @@ let a_test: bool = a; // CHECK:STDOUT: --- bool_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %false: bool = bool_literal false [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type bool [concrete] // CHECK:STDOUT: %a_test.patt: %pattern_type = value_binding_pattern a_test [concrete] diff --git a/toolchain/check/testdata/alias/export_name.carbon b/toolchain/check/testdata/alias/export_name.carbon index 005ace4560ea..d4dbcfaeb643 100644 --- a/toolchain/check/testdata/alias/export_name.carbon +++ b/toolchain/check/testdata/alias/export_name.carbon @@ -75,6 +75,7 @@ var d: D* = &c; // CHECK:STDOUT: --- base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -110,6 +111,7 @@ var d: D* = &c; // CHECK:STDOUT: --- export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -147,6 +149,7 @@ var d: D* = &c; // CHECK:STDOUT: --- export_orig.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -184,6 +187,7 @@ var d: D* = &c; // CHECK:STDOUT: --- use_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -240,6 +244,7 @@ var d: D* = &c; // CHECK:STDOUT: --- fail_orig_name_not_in_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: } @@ -280,6 +285,7 @@ var d: D* = &c; // CHECK:STDOUT: --- indirect_compat.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] diff --git a/toolchain/check/testdata/alias/import.carbon b/toolchain/check/testdata/alias/import.carbon index 4055e8b34eb0..1c6606eecc4c 100644 --- a/toolchain/check/testdata/alias/import.carbon +++ b/toolchain/check/testdata/alias/import.carbon @@ -68,6 +68,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: --- class1.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -143,6 +144,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: --- class2.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -224,6 +226,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: --- class3.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -300,6 +303,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: --- var1.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -347,6 +351,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: --- var2.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = ref_binding_pattern a [concrete] @@ -402,6 +407,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: --- var3.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/alias/import_access.carbon b/toolchain/check/testdata/alias/import_access.carbon index 29cb192b6018..d0e6ef6da56b 100644 --- a/toolchain/check/testdata/alias/import_access.carbon +++ b/toolchain/check/testdata/alias/import_access.carbon @@ -59,6 +59,7 @@ var inst: Test.A = {}; // CHECK:STDOUT: --- def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -85,6 +86,7 @@ var inst: Test.A = {}; // CHECK:STDOUT: --- def.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -138,6 +140,7 @@ var inst: Test.A = {}; // CHECK:STDOUT: --- fail_local_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: } @@ -172,6 +175,7 @@ var inst: Test.A = {}; // CHECK:STDOUT: --- fail_other_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/alias/import_order.carbon b/toolchain/check/testdata/alias/import_order.carbon index f25605ea2c9b..465b91d35beb 100644 --- a/toolchain/check/testdata/alias/import_order.carbon +++ b/toolchain/check/testdata/alias/import_order.carbon @@ -36,6 +36,7 @@ var a_val: a = {.v = b_val.v}; // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -79,6 +80,7 @@ var a_val: a = {.v = b_val.v}; // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.v: type = struct_type {.v: %empty_tuple.type} [concrete] diff --git a/toolchain/check/testdata/alias/in_namespace.carbon b/toolchain/check/testdata/alias/in_namespace.carbon index c9c3b84b9976..c3ac47f870ce 100644 --- a/toolchain/check/testdata/alias/in_namespace.carbon +++ b/toolchain/check/testdata/alias/in_namespace.carbon @@ -49,6 +49,7 @@ fn F() -> {} { // CHECK:STDOUT: --- in_namespace.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/alias/var.carbon b/toolchain/check/testdata/alias/var.carbon index 57c02add37eb..da03dd268ca3 100644 --- a/toolchain/check/testdata/alias/var.carbon +++ b/toolchain/check/testdata/alias/var.carbon @@ -46,6 +46,7 @@ fn F() -> () { // CHECK:STDOUT: --- global.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -64,6 +65,7 @@ fn F() -> () { // CHECK:STDOUT: --- fail_local.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/array/basics.carbon b/toolchain/check/testdata/array/basics.carbon index a9a290a6e5d8..584cf26bed7d 100644 --- a/toolchain/check/testdata/array/basics.carbon +++ b/toolchain/check/testdata/array/basics.carbon @@ -108,6 +108,7 @@ var a: array(1, 1); // CHECK:STDOUT: --- assign_var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %tuple.type: type = tuple_type (%empty_tuple.type, %empty_tuple.type, %empty_tuple.type) [concrete] @@ -171,10 +172,11 @@ var a: array(1, 1); // CHECK:STDOUT: --- array_in_place.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] -// CHECK:STDOUT: %tuple.type.ff9: type = tuple_type (type, type, type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.ff9 = tuple_value (%C, %C, %C) [concrete] +// CHECK:STDOUT: %tuple.type.531: type = tuple_type (type, type, type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.531 = tuple_value (%C, %C, %C) [concrete] // CHECK:STDOUT: %tuple.type.a8c: type = tuple_type (%C, %C, %C) [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -214,7 +216,7 @@ var a: array(1, 1); // CHECK:STDOUT: %C.ref.loc10_24: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %C.ref.loc10_27: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %C.ref.loc10_30: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %.loc10_31.1: %tuple.type.ff9 = tuple_literal (%C.ref.loc10_24, %C.ref.loc10_27, %C.ref.loc10_30) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc10_31.1: %tuple.type.531 = tuple_literal (%C.ref.loc10_24, %C.ref.loc10_27, %C.ref.loc10_30) [concrete = constants.%tuple] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2] // CHECK:STDOUT: %.loc10_31.2: type = converted %.loc10_31.1, constants.%tuple.type.a8c [concrete = constants.%tuple.type.a8c] // CHECK:STDOUT: %array_type: type = array_type %int_2, %.loc10_31.2 [concrete = constants.%array_type] @@ -249,6 +251,7 @@ var a: array(1, 1); // CHECK:STDOUT: --- array_vs_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete] @@ -348,6 +351,7 @@ var a: array(1, 1); // CHECK:STDOUT: --- assign_return_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %tuple.type: type = tuple_type (%empty_tuple.type) [concrete] @@ -415,6 +419,7 @@ var a: array(1, 1); // CHECK:STDOUT: --- nine_elements.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %tuple.type: type = tuple_type (%empty_tuple.type, %empty_tuple.type, %empty_tuple.type, %empty_tuple.type, %empty_tuple.type, %empty_tuple.type, %empty_tuple.type, %empty_tuple.type, %empty_tuple.type) [concrete] diff --git a/toolchain/check/testdata/array/bound_values.carbon b/toolchain/check/testdata/array/bound_values.carbon index 5e72461df1f4..e8cb993da31c 100644 --- a/toolchain/check/testdata/array/bound_values.carbon +++ b/toolchain/check/testdata/array/bound_values.carbon @@ -68,6 +68,7 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: --- addition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] @@ -112,6 +113,7 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: --- unsigned.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %int_3.1ba: Core.IntLiteral = int_value 3 [concrete] diff --git a/toolchain/check/testdata/array/import.carbon b/toolchain/check/testdata/array/import.carbon index e0d686272a5b..9ec877d5d752 100644 --- a/toolchain/check/testdata/array/import.carbon +++ b/toolchain/check/testdata/array/import.carbon @@ -53,6 +53,7 @@ fn F() -> i32 { // CHECK:STDOUT: --- user.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -116,6 +117,7 @@ fn F() -> i32 { // CHECK:STDOUT: --- import_symbolic_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] diff --git a/toolchain/check/testdata/array/index_not_literal.carbon b/toolchain/check/testdata/array/index_not_literal.carbon index f39a0651d5b8..390330b00784 100644 --- a/toolchain/check/testdata/array/index_not_literal.carbon +++ b/toolchain/check/testdata/array/index_not_literal.carbon @@ -49,6 +49,7 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: --- function_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -189,6 +190,7 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: --- index_non_literal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete] diff --git a/toolchain/check/testdata/array/init_dependent_bound.carbon b/toolchain/check/testdata/array/init_dependent_bound.carbon index 1a2c2e0ad1b1..6e0cfaf233e7 100644 --- a/toolchain/check/testdata/array/init_dependent_bound.carbon +++ b/toolchain/check/testdata/array/init_dependent_bound.carbon @@ -59,8 +59,9 @@ fn H() { G(3); } // CHECK:STDOUT: --- generic_empty.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] @@ -169,6 +170,7 @@ fn H() { G(3); } // CHECK:STDOUT: --- fail_todo_init_template_dependent_bound.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/as/adapter_conversion.carbon b/toolchain/check/testdata/as/adapter_conversion.carbon index 6f130c6c6c81..f7fb5f1acca7 100644 --- a/toolchain/check/testdata/as/adapter_conversion.carbon +++ b/toolchain/check/testdata/as/adapter_conversion.carbon @@ -173,6 +173,7 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: --- adapt_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %A.Make.type: type = fn_type @A.Make [concrete] // CHECK:STDOUT: %A.Make: %A.Make.type = struct_value () [concrete] @@ -237,6 +238,7 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: --- adapt_i32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -304,6 +306,7 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: --- multi_level_adapt.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] @@ -333,6 +336,7 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: --- init_class_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -414,12 +418,13 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: --- init_tuple_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Noncopyable: type = class_type @Noncopyable [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.c8c: type = tuple_type (%empty_struct_type, type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.c8c = tuple_value (%empty_struct, %Noncopyable) [concrete] +// CHECK:STDOUT: %tuple.type.12a: type = tuple_type (%empty_struct_type, type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.12a = tuple_value (%empty_struct, %Noncopyable) [concrete] // CHECK:STDOUT: %tuple.type.c68: type = tuple_type (%empty_struct_type, %Noncopyable) [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %A [concrete] // CHECK:STDOUT: %a_value.patt: %pattern_type = value_binding_pattern a_value [concrete] @@ -430,7 +435,7 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: %a.ref: %A = name_ref a, %a // CHECK:STDOUT: %.loc14_35: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %Noncopyable.ref: type = name_ref Noncopyable, file.%Noncopyable.decl [concrete = constants.%Noncopyable] -// CHECK:STDOUT: %.loc14_49.1: %tuple.type.c8c = tuple_literal (%.loc14_35, %Noncopyable.ref) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc14_49.1: %tuple.type.12a = tuple_literal (%.loc14_35, %Noncopyable.ref) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc14_49.2: type = converted constants.%empty_struct, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %.loc14_49.3: type = converted %.loc14_49.1, constants.%tuple.type.c68 [concrete = constants.%tuple.type.c68] // CHECK:STDOUT: %.loc14_30.1: %tuple.type.c68 = as_compatible %a.ref diff --git a/toolchain/check/testdata/as/basics.carbon b/toolchain/check/testdata/as/basics.carbon index 7220095b569e..1f5c8c1e5334 100644 --- a/toolchain/check/testdata/as/basics.carbon +++ b/toolchain/check/testdata/as/basics.carbon @@ -131,6 +131,7 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: --- simple_as.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %struct_type.x.y: type = struct_type {.x: %empty_tuple.type, .y: %empty_tuple.type} [concrete] @@ -173,6 +174,7 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: --- as_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %t.patt: %pattern_type = value_binding_pattern t [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -204,13 +206,14 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: --- as_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %Make.type: type = fn_type @Make [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Make: %Make.type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%X, %X) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%X, %X) [concrete] // CHECK:STDOUT: %tuple.type.359: type = tuple_type (%X, %X) [concrete] // CHECK:STDOUT: %pattern_type.3ee: type = pattern_type %tuple.type.359 [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.3ee = value_binding_pattern a [concrete] @@ -233,7 +236,7 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: %.loc13_41.1: %tuple.type.359 = tuple_literal (%Make.call.loc13_32, %Make.call.loc13_40) // CHECK:STDOUT: %X.ref.loc13_47: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %X.ref.loc13_50: type = name_ref X, file.%X.decl [concrete = constants.%X] -// CHECK:STDOUT: %.loc13_51.1: %tuple.type.24b = tuple_literal (%X.ref.loc13_47, %X.ref.loc13_50) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc13_51.1: %tuple.type.693 = tuple_literal (%X.ref.loc13_47, %X.ref.loc13_50) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc13_51.2: type = converted %.loc13_51.1, constants.%tuple.type.359 [concrete = constants.%tuple.type.359] // CHECK:STDOUT: %.loc13_32.2: ref %X = temporary %.loc13_32.1, %Make.call.loc13_32 // CHECK:STDOUT: %.loc13_32.3: %X = acquire_value %.loc13_32.2 @@ -244,7 +247,7 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: %.loc13_22.1: type = splice_block %.loc13_22.3 [concrete = constants.%tuple.type.359] { // CHECK:STDOUT: %X.ref.loc13_18: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %X.ref.loc13_21: type = name_ref X, file.%X.decl [concrete = constants.%X] -// CHECK:STDOUT: %.loc13_22.2: %tuple.type.24b = tuple_literal (%X.ref.loc13_18, %X.ref.loc13_21) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc13_22.2: %tuple.type.693 = tuple_literal (%X.ref.loc13_18, %X.ref.loc13_21) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc13_22.3: type = converted %.loc13_22.2, constants.%tuple.type.359 [concrete = constants.%tuple.type.359] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %tuple.type.359 = wrapper_binding a, %.loc13_41.2 @@ -277,7 +280,7 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: %.loc20_41.1: %tuple.type.359 = tuple_literal (%Make.call.loc20_32, %Make.call.loc20_40) // CHECK:STDOUT: %X.ref.loc20_47: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %X.ref.loc20_50: type = name_ref X, file.%X.decl [concrete = constants.%X] -// CHECK:STDOUT: %.loc20_51.1: %tuple.type.24b = tuple_literal (%X.ref.loc20_47, %X.ref.loc20_50) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc20_51.1: %tuple.type.693 = tuple_literal (%X.ref.loc20_47, %X.ref.loc20_50) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc20_51.2: type = converted %.loc20_51.1, constants.%tuple.type.359 [concrete = constants.%tuple.type.359] // CHECK:STDOUT: %.loc20_41.2: init %tuple.type.359 to %b.var = tuple_init (%Make.call.loc20_32, %Make.call.loc20_40) // CHECK:STDOUT: %.loc20_3: init %tuple.type.359 = converted %.loc20_41.1, %.loc20_41.2 @@ -285,7 +288,7 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: %.loc20_22.1: type = splice_block %.loc20_22.3 [concrete = constants.%tuple.type.359] { // CHECK:STDOUT: %X.ref.loc20_18: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %X.ref.loc20_21: type = name_ref X, file.%X.decl [concrete = constants.%X] -// CHECK:STDOUT: %.loc20_22.2: %tuple.type.24b = tuple_literal (%X.ref.loc20_18, %X.ref.loc20_21) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc20_22.2: %tuple.type.693 = tuple_literal (%X.ref.loc20_18, %X.ref.loc20_21) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc20_22.3: type = converted %.loc20_22.2, constants.%tuple.type.359 [concrete = constants.%tuple.type.359] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %tuple.type.359 = wrapper_binding b, %b.var @@ -306,6 +309,7 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: --- identity.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %pattern_type.6cb: type = pattern_type %X [concrete] @@ -380,6 +384,7 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: --- overloaded.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] diff --git a/toolchain/check/testdata/as/const.carbon b/toolchain/check/testdata/as/const.carbon index f07e62b21193..8111772287ae 100644 --- a/toolchain/check/testdata/as/const.carbon +++ b/toolchain/check/testdata/as/const.carbon @@ -95,6 +95,7 @@ fn Use() { // CHECK:STDOUT: --- add_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %Init.type: type = fn_type @Init [concrete] @@ -204,6 +205,7 @@ fn Use() { // CHECK:STDOUT: --- remove_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %const: type = const_type %X [concrete] @@ -263,6 +265,7 @@ fn Use() { // CHECK:STDOUT: --- unsafe_remove_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %const: type = const_type %X [concrete] // CHECK:STDOUT: %ptr.faf: type = ptr_type %const [concrete] diff --git a/toolchain/check/testdata/as/maybe_unformed.carbon b/toolchain/check/testdata/as/maybe_unformed.carbon index b224d42477ff..7a6e42c5ea7f 100644 --- a/toolchain/check/testdata/as/maybe_unformed.carbon +++ b/toolchain/check/testdata/as/maybe_unformed.carbon @@ -136,6 +136,7 @@ fn Use() { // CHECK:STDOUT: --- add_unformed.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %DefaultOrUnformed.type: type = facet_type <@DefaultOrUnformed> [concrete] // CHECK:STDOUT: %ptr.db8: type = ptr_type %X [concrete] @@ -212,6 +213,7 @@ fn Use() { // CHECK:STDOUT: --- fail_todo_add_unformed_nonref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %Init.type: type = fn_type @Init [concrete] @@ -314,6 +316,7 @@ fn Use() { // CHECK:STDOUT: --- unsafe_remove_unformed.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %MaybeUnformed.198: type = class_type @MaybeUnformed, @MaybeUnformed(%X) [concrete] // CHECK:STDOUT: %ptr.b8c: type = ptr_type %MaybeUnformed.198 [concrete] diff --git a/toolchain/check/testdata/as/partial.carbon b/toolchain/check/testdata/as/partial.carbon index 2dd2928a7033..41a23a2381cc 100644 --- a/toolchain/check/testdata/as/partial.carbon +++ b/toolchain/check/testdata/as/partial.carbon @@ -109,6 +109,7 @@ fn Use() { // CHECK:STDOUT: --- add_partial.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %Init.type: type = fn_type @Init [concrete] @@ -213,6 +214,7 @@ fn Use() { // CHECK:STDOUT: --- remove_partial_in_init.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %.d74: type = partial_type %X [concrete] @@ -292,6 +294,7 @@ fn Use() { // CHECK:STDOUT: --- unsafe_remove_partial.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %.d74: type = partial_type %X [concrete] // CHECK:STDOUT: %ptr.44a: type = ptr_type %.d74 [concrete] diff --git a/toolchain/check/testdata/as/var_init.carbon b/toolchain/check/testdata/as/var_init.carbon index 5a226b8ba663..83482d52986d 100644 --- a/toolchain/check/testdata/as/var_init.carbon +++ b/toolchain/check/testdata/as/var_init.carbon @@ -30,6 +30,7 @@ fn Convert(unused t: ()) { // CHECK:STDOUT: --- var_init.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] diff --git a/toolchain/check/testdata/basics/dump_sem_ir_ranges.carbon b/toolchain/check/testdata/basics/dump_sem_ir_ranges.carbon index 12ce1f55fdc3..50d653da189d 100644 --- a/toolchain/check/testdata/basics/dump_sem_ir_ranges.carbon +++ b/toolchain/check/testdata/basics/dump_sem_ir_ranges.carbon @@ -100,6 +100,7 @@ library "[[@TEST_NAME]]"; // CHECK:STDOUT: --- function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] @@ -172,6 +173,7 @@ library "[[@TEST_NAME]]"; // CHECK:STDOUT: --- class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %A.G.type: type = fn_type @A.G [concrete] // CHECK:STDOUT: %A.G: %A.G.type = struct_value () [concrete] @@ -214,6 +216,7 @@ library "[[@TEST_NAME]]"; // CHECK:STDOUT: --- call_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] @@ -255,6 +258,7 @@ library "[[@TEST_NAME]]"; // CHECK:STDOUT: --- file_without_ranges.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/basics/dump_sem_ir_ranges_ignore.carbon b/toolchain/check/testdata/basics/dump_sem_ir_ranges_ignore.carbon index fab0ddd49aec..80aa0822e4a5 100644 --- a/toolchain/check/testdata/basics/dump_sem_ir_ranges_ignore.carbon +++ b/toolchain/check/testdata/basics/dump_sem_ir_ranges_ignore.carbon @@ -34,6 +34,7 @@ library "[[@TEST_NAME]]"; // CHECK:STDOUT: --- with-range.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -50,6 +51,7 @@ library "[[@TEST_NAME]]"; // CHECK:STDOUT: --- without-range.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/basics/dump_sem_ir_ranges_only.carbon b/toolchain/check/testdata/basics/dump_sem_ir_ranges_only.carbon index 1637bae5a0c6..c92609776d00 100644 --- a/toolchain/check/testdata/basics/dump_sem_ir_ranges_only.carbon +++ b/toolchain/check/testdata/basics/dump_sem_ir_ranges_only.carbon @@ -36,6 +36,7 @@ library "[[@TEST_NAME]]"; // CHECK:STDOUT: --- with-range.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/basics/duplicate_name_same_line.carbon b/toolchain/check/testdata/basics/duplicate_name_same_line.carbon index 27c899168d5a..51bbe465a55c 100644 --- a/toolchain/check/testdata/basics/duplicate_name_same_line.carbon +++ b/toolchain/check/testdata/basics/duplicate_name_same_line.carbon @@ -23,6 +23,7 @@ fn A() { // CHECK:STDOUT: --- duplicate_name_same_line.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/basics/include_in_dumps.carbon b/toolchain/check/testdata/basics/include_in_dumps.carbon index 0203fe718137..b97947df065a 100644 --- a/toolchain/check/testdata/basics/include_in_dumps.carbon +++ b/toolchain/check/testdata/basics/include_in_dumps.carbon @@ -83,6 +83,7 @@ fn F(c: C) { c.(I.Op)(); } // CHECK:STDOUT: --- exclude/included.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: } @@ -119,6 +120,7 @@ fn F(c: C) { c.(I.Op)(); } // CHECK:STDOUT: --- exclude/included_with_range.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] @@ -213,6 +215,7 @@ fn F(c: C) { c.(I.Op)(); } // CHECK:STDOUT: --- import_included.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -350,6 +353,7 @@ fn F(c: C) { c.(I.Op)(); } // CHECK:STDOUT: --- import_excluded.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.98b = value_param_pattern [concrete] diff --git a/toolchain/check/testdata/basics/multi_error.carbon b/toolchain/check/testdata/basics/multi_error.carbon index 2653300c7765..582d4e116e92 100644 --- a/toolchain/check/testdata/basics/multi_error.carbon +++ b/toolchain/check/testdata/basics/multi_error.carbon @@ -31,6 +31,7 @@ fn Boo[runtime a: ()]() {} // CHECK:STDOUT: --- fail_multi_error.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Foo.type: type = fn_type @Foo [concrete] // CHECK:STDOUT: %Foo: %Foo.type = struct_value () [concrete] // CHECK:STDOUT: %Boo.type: type = fn_type @Boo [concrete] diff --git a/toolchain/check/testdata/basics/parens.carbon b/toolchain/check/testdata/basics/parens.carbon index e7b13e23f1fd..30057fdd6004 100644 --- a/toolchain/check/testdata/basics/parens.carbon +++ b/toolchain/check/testdata/basics/parens.carbon @@ -17,6 +17,7 @@ var b: i32 = ((2)); // CHECK:STDOUT: --- parens.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/basics/raw_identifier.carbon b/toolchain/check/testdata/basics/raw_identifier.carbon index 03a0eab727b2..d34789342623 100644 --- a/toolchain/check/testdata/basics/raw_identifier.carbon +++ b/toolchain/check/testdata/basics/raw_identifier.carbon @@ -26,6 +26,7 @@ fn C(r#if: ()) -> () { // CHECK:STDOUT: --- raw_identifier.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon b/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon index beb1b5cd1c23..20ada285f4b0 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon @@ -23,7 +23,7 @@ // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: default_values: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst10, 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: {}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: functions: {} // CHECK:STDOUT: classes: {} @@ -61,9 +61,10 @@ // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: declared_facet_types: {} +// CHECK:STDOUT: declared_facet_types: +// CHECK:STDOUT: 'declared_facet_type(Empty)': {} // CHECK:STDOUT: insts: -// CHECK:STDOUT: 'inst(TypeType)': {kind: TypeType, type: type(TypeType)} +// CHECK:STDOUT: 'inst(TypeType)': {kind: FacetType, arg0: declared_facet_type(Empty), type: type(TypeType)} // CHECK:STDOUT: 'inst(AutoType)': {kind: AutoType, type: type(TypeType)} // CHECK:STDOUT: 'inst(BoolType)': {kind: BoolType, type: type(TypeType)} // CHECK:STDOUT: 'inst(BoundMethodType)': {kind: BoundMethodType, type: type(TypeType)} @@ -79,7 +80,7 @@ // CHECK:STDOUT: 'inst(UnspecifiedValueType)': {kind: UnspecifiedValueType, type: type(TypeType)} // CHECK:STDOUT: 'inst(VtableType)': {kind: VtableType, type: type(TypeType)} // CHECK:STDOUT: 'inst(WitnessType)': {kind: WitnessType, type: type(TypeType)} -// CHECK:STDOUT: inst10: {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} +// CHECK:STDOUT: 'inst(Package)': {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: @@ -99,7 +100,7 @@ // CHECK:STDOUT: 'inst(UnspecifiedValueType)': concrete_constant(inst(UnspecifiedValueType)) // CHECK:STDOUT: 'inst(VtableType)': concrete_constant(inst(VtableType)) // CHECK:STDOUT: 'inst(WitnessType)': concrete_constant(inst(WitnessType)) -// CHECK:STDOUT: inst10: concrete_constant(inst10) +// CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} @@ -108,7 +109,7 @@ // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block50000005: -// CHECK:STDOUT: 0: inst10 +// CHECK:STDOUT: 0: inst(Package) // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: // CHECK:STDOUT: ints: {} diff --git a/toolchain/check/testdata/basics/raw_sem_ir/bundle.carbon b/toolchain/check/testdata/basics/raw_sem_ir/bundle.carbon index 3bd252849dd1..b40b15e3712a 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/bundle.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/bundle.carbon @@ -32,20 +32,20 @@ fn F(generic Form: Core.Form) ->? Form; // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: default_values: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst10, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Core): inst70000012, name0: inst70000033}} -// CHECK:STDOUT: name_scope70000001: {inst: inst70000012, 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: {name(Core): inst70000012, name0: inst70000032}} +// CHECK:STDOUT: name_scope70000001: {inst: inst70000012, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name1: inst70000016}} // 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: inst70000018} +// CHECK:STDOUT: entity_name70000002: {name: name1, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst70000017} // CHECK:STDOUT: functions: -// CHECK:STDOUT: function70000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block70000007, call_params_id: inst_block70000008, return_type_inst_id: inst70000021, return_form_inst_id: inst70000020, return_pattern_id: inst7000002A} +// CHECK:STDOUT: function70000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block70000007, call_params_id: inst_block70000008, return_type_inst_id: inst70000020, return_form_inst_id: inst7000001F, return_pattern_id: inst70000029} // CHECK:STDOUT: classes: {} // CHECK:STDOUT: interfaces: {} // CHECK:STDOUT: associated_constants: {} // CHECK:STDOUT: impls: {} // CHECK:STDOUT: generics: -// CHECK:STDOUT: generic70000000: {decl: inst70000033, bindings: inst_block7000000B, self_specific_id: specific70000000, decl_block_id: inst_block7000000D, definition_block_id: inst_block} +// CHECK:STDOUT: generic70000000: {decl: inst70000032, bindings: inst_block7000000B, self_specific_id: specific70000000, decl_block_id: inst_block7000000D, definition_block_id: inst_block} // CHECK:STDOUT: specifics: // CHECK:STDOUT: specific70000000: {generic: generic70000000, args: inst_block7000000C, decl_block_id: inst_block7000000E, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} // CHECK:STDOUT: specific_interfaces: {} @@ -77,190 +77,190 @@ fn F(generic Form: Core.Form) ->? Form; // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst70000039)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7000003A)} +// CHECK:STDOUT: 'type(inst70000038)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst70000039)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst7000003A)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7000003A)} +// CHECK:STDOUT: 'type(inst70000039)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst70000039)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 // CHECK:STDOUT: declared_facet_types: -// CHECK:STDOUT: declared_facet_type70000000: {} +// CHECK:STDOUT: 'declared_facet_type(Empty)': {} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst10: {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} +// 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: inst70000011: {kind: ImportDecl, arg0: name(Core)} // CHECK:STDOUT: inst70000012: {kind: Namespace, arg0: name_scope70000001, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst70000013: {kind: FacetType, arg0: declared_facet_type70000000, type: type(TypeType)} -// CHECK:STDOUT: inst70000014: {kind: SymbolicBinding, arg0: entity_name70000000, arg1: inst, type: type(inst70000013)} -// CHECK:STDOUT: inst70000015: {kind: SymbolicBinding, arg0: entity_name70000000, arg1: inst, type: type(inst70000013)} -// CHECK:STDOUT: inst70000016: {kind: NameRef, arg0: name(Core), arg1: inst70000012, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst70000017: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name70000001, type: type(TypeType)} -// CHECK:STDOUT: inst70000018: {kind: NameRef, arg0: name1, arg1: inst70000017, type: type(TypeType)} -// CHECK:STDOUT: inst70000019: {kind: PatternType, arg0: inst(FormType), type: type(TypeType)} -// CHECK:STDOUT: inst7000001A: {kind: SymbolicBindingPattern, arg0: entity_name70000002, type: type(inst70000019)} -// CHECK:STDOUT: inst7000001B: {kind: SymbolicBindingPattern, arg0: entity_name70000002, type: type(inst70000019)} -// CHECK:STDOUT: inst7000001C: {kind: SymbolicBindingPattern, arg0: entity_name70000002, type: type(inst70000019)} +// CHECK:STDOUT: inst70000013: {kind: SymbolicBinding, arg0: entity_name70000000, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst70000014: {kind: SymbolicBinding, arg0: entity_name70000000, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst70000015: {kind: NameRef, arg0: name(Core), arg1: inst70000012, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst70000016: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name70000001, type: type(TypeType)} +// CHECK:STDOUT: inst70000017: {kind: NameRef, arg0: name1, arg1: inst70000016, type: type(TypeType)} +// CHECK:STDOUT: inst70000018: {kind: PatternType, arg0: inst(FormType), type: type(TypeType)} +// CHECK:STDOUT: inst70000019: {kind: SymbolicBindingPattern, arg0: entity_name70000002, type: type(inst70000018)} +// CHECK:STDOUT: inst7000001A: {kind: SymbolicBindingPattern, arg0: entity_name70000002, type: type(inst70000018)} +// CHECK:STDOUT: inst7000001B: {kind: SymbolicBindingPattern, arg0: entity_name70000002, type: type(inst70000018)} +// 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: SymbolicBinding, arg0: entity_name70000002, arg1: inst, type: type(inst(FormType))} -// CHECK:STDOUT: inst7000001F: {kind: SymbolicBinding, arg0: entity_name70000002, arg1: inst, type: type(inst(FormType))} -// CHECK:STDOUT: inst70000020: {kind: NameRef, arg0: name1, arg1: inst7000001D, type: type(inst(FormType))} -// CHECK:STDOUT: inst70000021: {kind: TypeComponentOf, arg0: inst70000020, type: type(TypeType)} +// CHECK:STDOUT: inst7000001F: {kind: NameRef, arg0: name1, arg1: inst7000001C, type: type(inst(FormType))} +// CHECK:STDOUT: inst70000020: {kind: TypeComponentOf, arg0: inst7000001F, type: type(TypeType)} +// CHECK:STDOUT: inst70000021: {kind: TypeComponentOf, arg0: inst7000001D, type: type(TypeType)} // CHECK:STDOUT: inst70000022: {kind: TypeComponentOf, arg0: inst7000001E, type: type(TypeType)} -// CHECK:STDOUT: inst70000023: {kind: TypeComponentOf, arg0: inst7000001F, type: type(TypeType)} -// CHECK:STDOUT: inst70000024: {kind: PatternType, arg0: inst70000022, type: type(TypeType)} -// CHECK:STDOUT: inst70000025: {kind: OutFormParamPatternAction, arg0: inst70000020, type: type(inst(InstType))} -// CHECK:STDOUT: inst70000026: {kind: SpliceInst, arg0: inst70000025, type: type(symbolic_constant7000000A)} -// CHECK:STDOUT: inst70000027: {kind: SpliceInst, arg0: inst70000025, type: type(symbolic_constant70000007)} -// CHECK:STDOUT: inst70000028: {kind: PatternType, arg0: inst70000023, type: type(TypeType)} -// CHECK:STDOUT: inst70000029: {kind: SpliceInst, arg0: inst70000025, type: type(symbolic_constant7000000A)} -// CHECK:STDOUT: inst7000002A: {kind: ReturnSlotPattern, arg0: inst70000026, arg1: inst70000021, type: type(symbolic_constant7000000A)} -// CHECK:STDOUT: inst7000002B: {kind: ReturnSlotPattern, arg0: inst70000027, arg1: inst70000022, type: type(symbolic_constant70000007)} -// CHECK:STDOUT: inst7000002C: {kind: ReturnSlotPattern, arg0: inst70000029, arg1: inst70000023, type: type(symbolic_constant7000000A)} -// CHECK:STDOUT: inst7000002D: {kind: SpliceBlock, arg0: inst_block70000005, arg1: inst70000018, type: type(TypeType)} -// CHECK:STDOUT: inst7000002E: {kind: CalleePatternMatchAction, arg0: bundle70000000, type: type(inst(InstType))} -// CHECK:STDOUT: inst7000002F: {kind: SpliceInst, arg0: inst7000002E, type: type(symbolic_constant70000006)} -// CHECK:STDOUT: inst70000030: {kind: SpliceInst, arg0: inst7000002E, type: type(symbolic_constant70000005)} -// CHECK:STDOUT: inst70000031: {kind: SpliceInst, arg0: inst7000002E, type: type(symbolic_constant70000006)} -// CHECK:STDOUT: inst70000032: {kind: ReturnSlot, arg0: inst70000022, arg1: inst7000002F, type: type(symbolic_constant70000006)} -// CHECK:STDOUT: inst70000033: {kind: FunctionDecl, arg0: function70000000, arg1: inst_block7000000A, type: type(inst70000039)} -// CHECK:STDOUT: inst70000034: {kind: OutFormParamPatternAction, arg0: inst7000001E, type: type(inst(InstType))} -// CHECK:STDOUT: inst70000035: {kind: SpliceInst, arg0: inst70000034, type: type(symbolic_constant70000007)} -// CHECK:STDOUT: inst70000036: {kind: ReturnSlotPattern, arg0: inst70000035, arg1: inst70000022, type: type(symbolic_constant70000007)} -// CHECK:STDOUT: inst70000037: {kind: CalleePatternMatchAction, arg0: bundle70000000, type: type(inst(InstType))} -// CHECK:STDOUT: inst70000038: {kind: SpliceInst, arg0: inst70000037, type: type(symbolic_constant70000005)} -// CHECK:STDOUT: inst70000039: {kind: FunctionType, arg0: function70000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst7000003A: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst7000003B: {kind: StructValue, arg0: inst_block_empty, type: type(inst70000039)} +// CHECK:STDOUT: inst70000023: {kind: PatternType, arg0: inst70000021, type: type(TypeType)} +// CHECK:STDOUT: inst70000024: {kind: OutFormParamPatternAction, arg0: inst7000001F, type: type(inst(InstType))} +// CHECK:STDOUT: inst70000025: {kind: SpliceInst, arg0: inst70000024, type: type(symbolic_constant7000000A)} +// CHECK:STDOUT: inst70000026: {kind: SpliceInst, arg0: inst70000024, type: type(symbolic_constant70000007)} +// CHECK:STDOUT: inst70000027: {kind: PatternType, arg0: inst70000022, type: type(TypeType)} +// CHECK:STDOUT: inst70000028: {kind: SpliceInst, arg0: inst70000024, type: type(symbolic_constant7000000A)} +// CHECK:STDOUT: inst70000029: {kind: ReturnSlotPattern, arg0: inst70000025, arg1: inst70000020, type: type(symbolic_constant7000000A)} +// CHECK:STDOUT: inst7000002A: {kind: ReturnSlotPattern, arg0: inst70000026, arg1: inst70000021, type: type(symbolic_constant70000007)} +// CHECK:STDOUT: inst7000002B: {kind: ReturnSlotPattern, arg0: inst70000028, arg1: inst70000022, type: type(symbolic_constant7000000A)} +// CHECK:STDOUT: inst7000002C: {kind: SpliceBlock, arg0: inst_block70000005, arg1: inst70000017, type: type(TypeType)} +// CHECK:STDOUT: inst7000002D: {kind: CalleePatternMatchAction, arg0: bundle70000000, type: type(inst(InstType))} +// CHECK:STDOUT: inst7000002E: {kind: SpliceInst, arg0: inst7000002D, type: type(symbolic_constant70000006)} +// CHECK:STDOUT: inst7000002F: {kind: SpliceInst, arg0: inst7000002D, type: type(symbolic_constant70000005)} +// CHECK:STDOUT: inst70000030: {kind: SpliceInst, arg0: inst7000002D, type: type(symbolic_constant70000006)} +// CHECK:STDOUT: inst70000031: {kind: ReturnSlot, arg0: inst70000021, arg1: inst7000002E, type: type(symbolic_constant70000006)} +// CHECK:STDOUT: inst70000032: {kind: FunctionDecl, arg0: function70000000, arg1: inst_block7000000A, type: type(inst70000038)} +// CHECK:STDOUT: inst70000033: {kind: OutFormParamPatternAction, arg0: inst7000001D, type: type(inst(InstType))} +// CHECK:STDOUT: inst70000034: {kind: SpliceInst, arg0: inst70000033, type: type(symbolic_constant70000007)} +// CHECK:STDOUT: inst70000035: {kind: ReturnSlotPattern, arg0: inst70000034, arg1: inst70000021, type: type(symbolic_constant70000007)} +// CHECK:STDOUT: inst70000036: {kind: CalleePatternMatchAction, arg0: bundle70000000, type: type(inst(InstType))} +// CHECK:STDOUT: inst70000037: {kind: SpliceInst, arg0: inst70000036, type: type(symbolic_constant70000005)} +// CHECK:STDOUT: inst70000038: {kind: FunctionType, arg0: function70000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst70000039: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst7000003A: {kind: StructValue, arg0: inst_block_empty, type: type(inst70000038)} // CHECK:STDOUT: bundles: -// CHECK:STDOUT: bundle70000000: {arg0: inst70000027, arg1: call_param0} +// CHECK:STDOUT: bundle70000000: {arg0: inst70000026, arg1: call_param0} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst10: concrete_constant(inst10) +// CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) +// CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) // CHECK:STDOUT: inst70000012: concrete_constant(inst70000012) -// CHECK:STDOUT: inst70000013: concrete_constant(inst70000013) +// CHECK:STDOUT: inst70000013: symbolic_constant70000000 // CHECK:STDOUT: inst70000014: symbolic_constant70000000 -// CHECK:STDOUT: inst70000015: symbolic_constant70000000 -// CHECK:STDOUT: inst70000016: concrete_constant(inst70000012) +// CHECK:STDOUT: inst70000015: concrete_constant(inst70000012) +// CHECK:STDOUT: inst70000016: concrete_constant(inst(FormType)) // CHECK:STDOUT: inst70000017: concrete_constant(inst(FormType)) -// CHECK:STDOUT: inst70000018: concrete_constant(inst(FormType)) -// CHECK:STDOUT: inst70000019: concrete_constant(inst70000019) -// CHECK:STDOUT: inst7000001A: symbolic_constant70000002 -// CHECK:STDOUT: inst7000001B: symbolic_constant70000001 -// CHECK:STDOUT: inst7000001C: symbolic_constant70000002 -// CHECK:STDOUT: inst7000001D: symbolic_constant70000004 -// CHECK:STDOUT: inst7000001E: symbolic_constant70000003 +// CHECK:STDOUT: inst70000018: concrete_constant(inst70000018) +// CHECK:STDOUT: inst70000019: symbolic_constant70000002 +// CHECK:STDOUT: inst7000001A: symbolic_constant70000001 +// CHECK:STDOUT: inst7000001B: symbolic_constant70000002 +// CHECK:STDOUT: inst7000001C: symbolic_constant70000004 +// CHECK:STDOUT: inst7000001D: symbolic_constant70000003 +// CHECK:STDOUT: inst7000001E: symbolic_constant70000004 // CHECK:STDOUT: inst7000001F: symbolic_constant70000004 -// CHECK:STDOUT: inst70000020: symbolic_constant70000004 -// CHECK:STDOUT: inst70000021: symbolic_constant70000006 -// CHECK:STDOUT: inst70000022: symbolic_constant70000005 -// CHECK:STDOUT: inst70000023: symbolic_constant70000006 -// CHECK:STDOUT: inst70000024: symbolic_constant70000007 -// CHECK:STDOUT: inst70000025: symbolic_constant70000008 -// CHECK:STDOUT: inst70000026: symbolic_constant7000000B -// CHECK:STDOUT: inst70000027: symbolic_constant70000009 -// CHECK:STDOUT: inst70000028: symbolic_constant7000000A -// CHECK:STDOUT: inst70000029: symbolic_constant7000000B -// CHECK:STDOUT: inst7000002A: symbolic_constant7000000D -// CHECK:STDOUT: inst7000002B: symbolic_constant7000000C -// CHECK:STDOUT: inst7000002C: symbolic_constant7000000D -// CHECK:STDOUT: inst7000002D: concrete_constant(inst(FormType)) -// CHECK:STDOUT: inst7000002E: symbolic_constant7000000E -// CHECK:STDOUT: inst7000002F: symbolic_constant70000010 -// CHECK:STDOUT: inst70000030: symbolic_constant7000000F -// CHECK:STDOUT: inst70000031: symbolic_constant70000010 -// CHECK:STDOUT: inst70000033: concrete_constant(inst7000003B) -// CHECK:STDOUT: inst70000034: symbolic_constant70000011 -// CHECK:STDOUT: inst70000035: symbolic_constant70000012 -// CHECK:STDOUT: inst70000036: symbolic_constant70000013 -// CHECK:STDOUT: inst70000037: symbolic_constant70000014 -// CHECK:STDOUT: inst70000038: symbolic_constant70000015 +// CHECK:STDOUT: inst70000020: symbolic_constant70000006 +// CHECK:STDOUT: inst70000021: symbolic_constant70000005 +// CHECK:STDOUT: inst70000022: symbolic_constant70000006 +// CHECK:STDOUT: inst70000023: symbolic_constant70000007 +// CHECK:STDOUT: inst70000024: symbolic_constant70000008 +// CHECK:STDOUT: inst70000025: symbolic_constant7000000B +// CHECK:STDOUT: inst70000026: symbolic_constant70000009 +// CHECK:STDOUT: inst70000027: symbolic_constant7000000A +// CHECK:STDOUT: inst70000028: symbolic_constant7000000B +// CHECK:STDOUT: inst70000029: symbolic_constant7000000D +// CHECK:STDOUT: inst7000002A: symbolic_constant7000000C +// CHECK:STDOUT: inst7000002B: symbolic_constant7000000D +// CHECK:STDOUT: inst7000002C: concrete_constant(inst(FormType)) +// CHECK:STDOUT: inst7000002D: symbolic_constant7000000E +// CHECK:STDOUT: inst7000002E: symbolic_constant70000010 +// CHECK:STDOUT: inst7000002F: symbolic_constant7000000F +// CHECK:STDOUT: inst70000030: symbolic_constant70000010 +// CHECK:STDOUT: inst70000032: concrete_constant(inst7000003A) +// CHECK:STDOUT: inst70000033: symbolic_constant70000011 +// CHECK:STDOUT: inst70000034: symbolic_constant70000012 +// CHECK:STDOUT: inst70000035: symbolic_constant70000013 +// CHECK:STDOUT: inst70000036: symbolic_constant70000014 +// CHECK:STDOUT: inst70000037: symbolic_constant70000015 +// CHECK:STDOUT: inst70000038: concrete_constant(inst70000038) // CHECK:STDOUT: inst70000039: concrete_constant(inst70000039) // CHECK:STDOUT: inst7000003A: concrete_constant(inst7000003A) -// CHECK:STDOUT: inst7000003B: concrete_constant(inst7000003B) // CHECK:STDOUT: symbolic_constants: -// CHECK:STDOUT: symbolic_constant70000000: {inst: inst70000015, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant70000001: {inst: inst7000001B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant70000002: {inst: inst7000001B, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant70000003: {inst: inst7000001E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant70000004: {inst: inst7000001E, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant70000005: {inst: inst70000022, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant70000006: {inst: inst70000022, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant70000007: {inst: inst70000024, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant70000008: {inst: inst70000025, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant70000009: {inst: inst70000027, kind: template, attached: null} -// CHECK:STDOUT: symbolic_constant7000000A: {inst: inst70000024, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7000000B: {inst: inst70000027, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7000000C: {inst: inst7000002B, kind: template, attached: null} -// CHECK:STDOUT: symbolic_constant7000000D: {inst: inst7000002B, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7000000E: {inst: inst7000002E, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant7000000F: {inst: inst70000030, kind: template, attached: null} -// CHECK:STDOUT: symbolic_constant70000010: {inst: inst70000030, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant70000011: {inst: inst70000034, kind: template, attached: null} -// CHECK:STDOUT: symbolic_constant70000012: {inst: inst70000035, kind: template, attached: null} -// CHECK:STDOUT: symbolic_constant70000013: {inst: inst70000036, kind: template, attached: null} -// CHECK:STDOUT: symbolic_constant70000014: {inst: inst70000037, kind: template, attached: null} -// CHECK:STDOUT: symbolic_constant70000015: {inst: inst70000038, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant70000000: {inst: inst70000014, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant70000001: {inst: inst7000001A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant70000002: {inst: inst7000001A, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant70000003: {inst: inst7000001D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant70000004: {inst: inst7000001D, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant70000005: {inst: inst70000021, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant70000006: {inst: inst70000021, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant70000007: {inst: inst70000023, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant70000008: {inst: inst70000024, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant70000009: {inst: inst70000026, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant7000000A: {inst: inst70000023, kind: checked, attached: {generic: generic70000000, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7000000B: {inst: inst70000026, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7000000C: {inst: inst7000002A, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant7000000D: {inst: inst7000002A, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7000000E: {inst: inst7000002D, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant7000000F: {inst: inst7000002F, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant70000010: {inst: inst7000002F, kind: template, attached: {generic: generic70000000, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant70000011: {inst: inst70000033, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant70000012: {inst: inst70000034, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant70000013: {inst: inst70000035, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant70000014: {inst: inst70000036, kind: template, attached: null} +// CHECK:STDOUT: symbolic_constant70000015: {inst: inst70000037, kind: template, attached: null} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst70000033 +// CHECK:STDOUT: 0: inst70000032 // CHECK:STDOUT: generated: {} // CHECK:STDOUT: imports: // CHECK:STDOUT: 0: inst70000012 -// CHECK:STDOUT: 1: inst70000017 +// CHECK:STDOUT: 1: inst70000016 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block70000005: -// CHECK:STDOUT: 0: inst70000014 -// CHECK:STDOUT: 1: inst70000016 -// CHECK:STDOUT: 2: inst70000018 +// CHECK:STDOUT: 0: inst70000013 +// CHECK:STDOUT: 1: inst70000015 +// CHECK:STDOUT: 2: inst70000017 // CHECK:STDOUT: inst_block70000006: -// CHECK:STDOUT: 0: inst7000001A +// CHECK:STDOUT: 0: inst70000019 // CHECK:STDOUT: inst_block70000007: -// CHECK:STDOUT: 0: inst70000026 +// CHECK:STDOUT: 0: inst70000025 // CHECK:STDOUT: inst_block70000008: -// CHECK:STDOUT: 0: inst7000002F +// CHECK:STDOUT: 0: inst7000002E // CHECK:STDOUT: inst_block70000009: -// CHECK:STDOUT: 0: inst7000001A -// CHECK:STDOUT: 1: inst70000026 -// CHECK:STDOUT: 2: inst7000002A +// CHECK:STDOUT: 0: inst70000019 +// CHECK:STDOUT: 1: inst70000025 +// CHECK:STDOUT: 2: inst70000029 // CHECK:STDOUT: inst_block7000000A: -// CHECK:STDOUT: 0: inst70000020 -// CHECK:STDOUT: 1: inst70000021 -// CHECK:STDOUT: 2: inst7000002D -// CHECK:STDOUT: 3: inst7000001D -// CHECK:STDOUT: 4: inst7000002F -// CHECK:STDOUT: 5: inst70000032 +// CHECK:STDOUT: 0: inst7000001F +// CHECK:STDOUT: 1: inst70000020 +// CHECK:STDOUT: 2: inst7000002C +// CHECK:STDOUT: 3: inst7000001C +// CHECK:STDOUT: 4: inst7000002E +// CHECK:STDOUT: 5: inst70000031 // CHECK:STDOUT: inst_block7000000B: -// CHECK:STDOUT: 0: inst7000001D -// CHECK:STDOUT: inst_block7000000C: -// CHECK:STDOUT: 0: inst7000001E -// CHECK:STDOUT: inst_block7000000D: // CHECK:STDOUT: 0: inst7000001C -// CHECK:STDOUT: 1: inst7000001F -// CHECK:STDOUT: 2: inst70000023 -// CHECK:STDOUT: 3: inst70000025 -// CHECK:STDOUT: 4: inst70000028 -// CHECK:STDOUT: 5: inst70000029 -// CHECK:STDOUT: 6: inst7000002C -// CHECK:STDOUT: 7: inst7000002E -// CHECK:STDOUT: 8: inst70000031 -// CHECK:STDOUT: inst_block7000000E: +// CHECK:STDOUT: inst_block7000000C: +// CHECK:STDOUT: 0: inst7000001D +// CHECK:STDOUT: inst_block7000000D: // CHECK:STDOUT: 0: inst7000001B // CHECK:STDOUT: 1: inst7000001E // CHECK:STDOUT: 2: inst70000022 -// CHECK:STDOUT: 3: inst70000034 -// CHECK:STDOUT: 4: inst70000024 -// CHECK:STDOUT: 5: inst70000035 -// CHECK:STDOUT: 6: inst70000036 -// CHECK:STDOUT: 7: inst70000037 -// CHECK:STDOUT: 8: inst70000038 +// CHECK:STDOUT: 3: inst70000024 +// CHECK:STDOUT: 4: inst70000027 +// CHECK:STDOUT: 5: inst70000028 +// CHECK:STDOUT: 6: inst7000002B +// CHECK:STDOUT: 7: inst7000002D +// CHECK:STDOUT: 8: inst70000030 +// CHECK:STDOUT: inst_block7000000E: +// CHECK:STDOUT: 0: inst7000001A +// CHECK:STDOUT: 1: inst7000001D +// CHECK:STDOUT: 2: inst70000021 +// CHECK:STDOUT: 3: inst70000033 +// CHECK:STDOUT: 4: inst70000023 +// CHECK:STDOUT: 5: inst70000034 +// CHECK:STDOUT: 6: inst70000035 +// CHECK:STDOUT: 7: inst70000036 +// CHECK:STDOUT: 8: inst70000037 // CHECK:STDOUT: inst_block7000000F: -// CHECK:STDOUT: 0: inst10 +// CHECK:STDOUT: 0: inst(Package) // CHECK:STDOUT: 1: inst70000011 -// CHECK:STDOUT: 2: inst70000033 +// CHECK:STDOUT: 2: inst70000032 // 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 560243e7b819..6e3918240189 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon @@ -53,7 +53,7 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: import_ir_inst3: {ir_id: import_ir(Cpp), clang_source_loc_id: clang_source_loc50000003} // CHECK:STDOUT: import_ir_inst4: {ir_id: import_ir(Cpp), clang_source_loc_id: clang_source_loc50000004} // CHECK:STDOUT: clang_decls: -// CHECK:STDOUT: clang_decl_id50000000: {key: {decl: "namespace Carbon {\n}"}, inst_id: inst10} +// CHECK:STDOUT: clang_decl_id50000000: {key: {decl: "namespace Carbon {\n}"}, inst_id: inst(Package)} // CHECK:STDOUT: clang_decl_id50000001: {key: {decl: ""}, inst_id: inst50000012} // CHECK:STDOUT: clang_decl_id50000002: {key: {decl: "struct X {}"}, inst_id: inst50000014} // CHECK:STDOUT: clang_decl_id50000003: {key: {decl: "X * _Nonnull p"}, inst_id: inst50000025} @@ -67,7 +67,7 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: clang_decl_signature_id50000001: {kind: normal, num_params: 1, modes: [value]} // CHECK:STDOUT: default_values: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst10, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Cpp): inst50000012, name0: inst5000001F}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Cpp): inst50000012, name0: inst5000001F}} // CHECK:STDOUT: name_scope50000001: {inst: inst50000012, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name2: inst50000014, name3: inst5000002D, name4: inst50000055}} // CHECK:STDOUT: name_scope50000002: {inst: inst50000014, parent_scope: name_scope50000001, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: @@ -181,9 +181,10 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: declared_facet_types: {} +// CHECK:STDOUT: declared_facet_types: +// CHECK:STDOUT: 'declared_facet_type(Empty)': {} // CHECK:STDOUT: insts: -// CHECK:STDOUT: 'inst(TypeType)': {kind: TypeType, type: type(TypeType)} +// CHECK:STDOUT: 'inst(TypeType)': {kind: FacetType, arg0: declared_facet_type(Empty), type: type(TypeType)} // CHECK:STDOUT: 'inst(AutoType)': {kind: AutoType, type: type(TypeType)} // CHECK:STDOUT: 'inst(BoolType)': {kind: BoolType, type: type(TypeType)} // CHECK:STDOUT: 'inst(BoundMethodType)': {kind: BoundMethodType, type: type(TypeType)} @@ -199,7 +200,7 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: 'inst(UnspecifiedValueType)': {kind: UnspecifiedValueType, type: type(TypeType)} // CHECK:STDOUT: 'inst(VtableType)': {kind: VtableType, type: type(TypeType)} // CHECK:STDOUT: 'inst(WitnessType)': {kind: WitnessType, type: type(TypeType)} -// CHECK:STDOUT: inst10: {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} +// CHECK:STDOUT: 'inst(Package)': {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} // CHECK:STDOUT: inst50000011: {kind: ImportCppDecl} // CHECK:STDOUT: inst50000012: {kind: Namespace, arg0: name_scope50000001, type: type(inst(NamespaceType))} // CHECK:STDOUT: inst50000013: {kind: NameRef, arg0: name(Cpp), arg1: inst50000012, type: type(inst(NamespaceType))} @@ -296,7 +297,7 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: 'inst(UnspecifiedValueType)': concrete_constant(inst(UnspecifiedValueType)) // CHECK:STDOUT: 'inst(VtableType)': concrete_constant(inst(VtableType)) // CHECK:STDOUT: 'inst(WitnessType)': concrete_constant(inst(WitnessType)) -// CHECK:STDOUT: inst10: concrete_constant(inst10) +// CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) // CHECK:STDOUT: inst50000012: concrete_constant(inst50000012) // CHECK:STDOUT: inst50000013: concrete_constant(inst50000012) // CHECK:STDOUT: inst50000014: concrete_constant(inst50000015) @@ -450,7 +451,7 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: inst_block5000001D: // CHECK:STDOUT: 0: inst5000005B // CHECK:STDOUT: inst_block5000001E: -// CHECK:STDOUT: 0: inst10 +// CHECK:STDOUT: 0: inst(Package) // CHECK:STDOUT: 1: inst50000011 // CHECK:STDOUT: 2: inst5000001F // CHECK:STDOUT: value_stores: diff --git a/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon b/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon index a2d6c3114018..bb9e6f62d143 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon @@ -40,7 +40,7 @@ fn B() { // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: default_values: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst10, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst50000011}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst50000011}} // 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_block50000006]} @@ -89,9 +89,11 @@ fn B() { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: declared_facet_types: {} +// CHECK:STDOUT: declared_facet_types: +// CHECK:STDOUT: 'declared_facet_type(Empty)': {} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst10: {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} +// 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: inst50000011: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block_empty, type: type(inst50000012)} // CHECK:STDOUT: inst50000012: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} // CHECK:STDOUT: inst50000013: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} @@ -100,7 +102,8 @@ fn B() { // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst10: concrete_constant(inst10) +// CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) +// CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) // CHECK:STDOUT: inst50000011: concrete_constant(inst50000014) // CHECK:STDOUT: inst50000012: concrete_constant(inst50000012) // CHECK:STDOUT: inst50000013: concrete_constant(inst50000013) @@ -117,7 +120,7 @@ fn B() { // CHECK:STDOUT: inst_block50000006: // CHECK:STDOUT: 0: inst50000015 // CHECK:STDOUT: inst_block50000007: -// CHECK:STDOUT: 0: inst10 +// CHECK:STDOUT: 0: inst(Package) // CHECK:STDOUT: 1: inst50000011 // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: @@ -145,7 +148,7 @@ fn B() { // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: default_values: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst10, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: inst70000012, name0: inst70000013}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: inst70000012, name0: inst70000013}} // CHECK:STDOUT: name_scope70000001: {inst: inst70000012, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name1: inst70000018}} // 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} @@ -197,9 +200,11 @@ fn B() { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: declared_facet_types: {} +// CHECK:STDOUT: declared_facet_types: +// CHECK:STDOUT: 'declared_facet_type(Empty)': {} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst10: {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} +// 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: inst70000011: {kind: ImportDecl, arg0: name1} // CHECK:STDOUT: inst70000012: {kind: Namespace, arg0: name_scope70000001, type: type(inst(NamespaceType))} // CHECK:STDOUT: inst70000013: {kind: FunctionDecl, arg0: function70000000, arg1: inst_block_empty, type: type(inst70000014)} @@ -217,7 +222,8 @@ fn B() { // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst10: concrete_constant(inst10) +// CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) +// CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) // CHECK:STDOUT: inst70000012: concrete_constant(inst70000012) // CHECK:STDOUT: inst70000013: concrete_constant(inst70000016) // CHECK:STDOUT: inst70000014: concrete_constant(inst70000014) @@ -247,7 +253,7 @@ fn B() { // CHECK:STDOUT: 2: inst7000001D // CHECK:STDOUT: 3: inst7000001E // CHECK:STDOUT: inst_block70000007: -// CHECK:STDOUT: 0: inst10 +// CHECK:STDOUT: 0: inst(Package) // CHECK:STDOUT: 1: inst70000011 // CHECK:STDOUT: 2: inst70000013 // CHECK:STDOUT: value_stores: 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 07f44b43f0c9..74778e766407 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 @@ -40,7 +40,7 @@ fn B() { // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: default_values: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst10, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst50000011}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst50000011}} // 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_block50000006]} @@ -89,9 +89,11 @@ fn B() { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: declared_facet_types: {} +// CHECK:STDOUT: declared_facet_types: +// CHECK:STDOUT: 'declared_facet_type(Empty)': {} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst10: {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} +// 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: inst50000011: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block_empty, type: type(inst50000012)} // CHECK:STDOUT: inst50000012: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} // CHECK:STDOUT: inst50000013: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} @@ -100,7 +102,8 @@ fn B() { // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst10: concrete_constant(inst10) +// CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) +// CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) // CHECK:STDOUT: inst50000011: concrete_constant(inst50000014) // CHECK:STDOUT: inst50000012: concrete_constant(inst50000012) // CHECK:STDOUT: inst50000013: concrete_constant(inst50000013) @@ -117,7 +120,7 @@ fn B() { // CHECK:STDOUT: inst_block50000006: // CHECK:STDOUT: 0: inst50000015 // CHECK:STDOUT: inst_block50000007: -// CHECK:STDOUT: 0: inst10 +// CHECK:STDOUT: 0: inst(Package) // CHECK:STDOUT: 1: inst50000011 // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: @@ -131,6 +134,7 @@ fn B() { // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -164,7 +168,7 @@ fn B() { // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: default_values: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst10, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: inst70000012, name0: inst70000013}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: inst70000012, name0: inst70000013}} // CHECK:STDOUT: name_scope70000001: {inst: inst70000012, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name1: inst70000018}} // 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} @@ -216,9 +220,11 @@ fn B() { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: declared_facet_types: {} +// CHECK:STDOUT: declared_facet_types: +// CHECK:STDOUT: 'declared_facet_type(Empty)': {} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst10: {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} +// 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: inst70000011: {kind: ImportDecl, arg0: name1} // CHECK:STDOUT: inst70000012: {kind: Namespace, arg0: name_scope70000001, type: type(inst(NamespaceType))} // CHECK:STDOUT: inst70000013: {kind: FunctionDecl, arg0: function70000000, arg1: inst_block_empty, type: type(inst70000014)} @@ -236,7 +242,8 @@ fn B() { // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst10: concrete_constant(inst10) +// CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) +// CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) // CHECK:STDOUT: inst70000012: concrete_constant(inst70000012) // CHECK:STDOUT: inst70000013: concrete_constant(inst70000016) // CHECK:STDOUT: inst70000014: concrete_constant(inst70000014) @@ -266,7 +273,7 @@ fn B() { // CHECK:STDOUT: 2: inst7000001D // CHECK:STDOUT: 3: inst7000001E // CHECK:STDOUT: inst_block70000007: -// CHECK:STDOUT: 0: inst10 +// CHECK:STDOUT: 0: inst(Package) // CHECK:STDOUT: 1: inst70000011 // CHECK:STDOUT: 2: inst70000013 // CHECK:STDOUT: value_stores: @@ -282,6 +289,7 @@ fn B() { // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B.type: type = fn_type @B [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %B: %B.type = struct_value () [concrete] 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 97d12f5359c3..a674686d7b76 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,7 +49,7 @@ fn UseLocalCopy[T: Copy](_: T.T1, _: T.T2) {} // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: default_values: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst10, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: inst60000011}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: inst60000011}} // CHECK:STDOUT: name_scope60000001: {inst: inst60000011, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name(SelfType): inst60000013}} // CHECK:STDOUT: name_scope60000002: {inst: inst60000016, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {name2: inst6000001A, name3: inst6000001E}} // CHECK:STDOUT: entity_names: @@ -97,11 +97,13 @@ fn UseLocalCopy[T: Copy](_: T.T1, _: T.T2) {} // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 // CHECK:STDOUT: declared_facet_types: -// CHECK:STDOUT: declared_facet_type60000000: {extends interface: interface60000000} +// CHECK:STDOUT: 'declared_facet_type(Empty)': {} +// CHECK:STDOUT: declared_facet_type60000001: {extends interface: interface60000000} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst10: {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} +// 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: inst60000011: {kind: InterfaceDecl, arg0: interface60000000, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst60000012: {kind: FacetType, arg0: declared_facet_type60000000, type: type(TypeType)} +// CHECK:STDOUT: inst60000012: {kind: FacetType, arg0: declared_facet_type60000001, type: type(TypeType)} // CHECK:STDOUT: inst60000013: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000012)} // CHECK:STDOUT: inst60000014: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000012)} // CHECK:STDOUT: inst60000015: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000012)} @@ -118,7 +120,8 @@ fn UseLocalCopy[T: Copy](_: T.T1, _: T.T2) {} // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst10: concrete_constant(inst10) +// CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) +// CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) // CHECK:STDOUT: inst60000011: concrete_constant(inst60000012) // CHECK:STDOUT: inst60000012: concrete_constant(inst60000012) // CHECK:STDOUT: inst60000013: symbolic_constant60000000 @@ -166,7 +169,7 @@ fn UseLocalCopy[T: Copy](_: T.T1, _: T.T2) {} // CHECK:STDOUT: 0: inst60000018 // CHECK:STDOUT: 1: inst6000001D // CHECK:STDOUT: inst_block6000000E: -// CHECK:STDOUT: 0: inst10 +// CHECK:STDOUT: 0: inst(Package) // CHECK:STDOUT: 1: inst60000011 // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: @@ -214,12 +217,12 @@ fn UseLocalCopy[T: Copy](_: T.T1, _: T.T2) {} // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: default_values: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst10, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst50000012, name1: inst50000013, name4: inst5000006B, name7: inst500000AA}} -// CHECK:STDOUT: name_scope50000001: {inst: inst50000012, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name6: inst50000026}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst50000012, name1: inst50000013, name4: inst5000006A, name7: inst500000A9}} +// CHECK:STDOUT: name_scope50000001: {inst: inst50000012, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name6: inst50000025}} // CHECK:STDOUT: name_scope50000002: {inst: inst50000013, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name(SelfType): inst50000015}} // CHECK:STDOUT: name_scope50000003: {inst: inst50000018, parent_scope: name_scope50000002, has_error: false, extended_scopes: [], names: {name2: inst5000001C, name3: inst50000020}} -// CHECK:STDOUT: name_scope50000004: {inst: inst50000027, parent_scope: name_scope50000001, has_error: false, extended_scopes: [], names: {name(SelfType): inst50000030}} -// CHECK:STDOUT: name_scope50000005: {inst: inst50000029, parent_scope: name_scope50000004, has_error: false, extended_scopes: [], names: {name2: inst5000002B, name3: inst5000002C}} +// CHECK:STDOUT: name_scope50000004: {inst: inst50000026, parent_scope: name_scope50000001, has_error: false, extended_scopes: [], names: {name(SelfType): inst5000002F}} +// CHECK:STDOUT: name_scope50000005: {inst: inst50000028, parent_scope: name_scope50000004, has_error: false, extended_scopes: [], names: {name2: inst5000002A, name3: inst5000002B}} // 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} @@ -228,12 +231,12 @@ fn UseLocalCopy[T: Copy](_: T.T1, _: T.T2) {} // 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: inst50000031} -// CHECK:STDOUT: entity_name50000008: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000045} -// CHECK:STDOUT: entity_name50000009: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst5000005A} -// CHECK:STDOUT: entity_name5000000A: {name: name5, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst50000077} -// CHECK:STDOUT: entity_name5000000B: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000087} -// CHECK:STDOUT: entity_name5000000C: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000099} +// CHECK:STDOUT: entity_name50000007: {name: name5, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst50000030} +// CHECK:STDOUT: entity_name50000008: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000044} +// CHECK:STDOUT: entity_name50000009: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000059} +// CHECK:STDOUT: entity_name5000000A: {name: name5, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst50000076} +// CHECK:STDOUT: entity_name5000000B: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000086} +// CHECK:STDOUT: entity_name5000000C: {name: name(Underscore), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 1, form: inst, type: inst50000098} // CHECK:STDOUT: functions: // CHECK:STDOUT: function50000000: {name: name4, parent_scope: name_scope0, call_param_patterns_id: inst_block50000018, call_params_id: inst_block50000019, body: [inst_block5000001F]} // CHECK:STDOUT: function50000001: {name: name7, parent_scope: name_scope0, call_param_patterns_id: inst_block50000028, call_params_id: inst_block50000029, body: [inst_block5000002F]} @@ -244,15 +247,15 @@ fn UseLocalCopy[T: Copy](_: T.T1, _: T.T2) {} // CHECK:STDOUT: associated_constants: // CHECK:STDOUT: assoc_const50000000: {name: name2, parent_scope: name_scope50000003, decl_id: inst5000001A, default_value_id: inst} // CHECK:STDOUT: assoc_const50000001: {name: name3, parent_scope: name_scope50000003, decl_id: inst5000001F, default_value_id: inst} -// CHECK:STDOUT: assoc_const50000002: {name: name2, parent_scope: name_scope50000005, decl_id: inst50000044, default_value_id: inst} -// CHECK:STDOUT: assoc_const50000003: {name: name3, parent_scope: name_scope50000005, decl_id: inst50000059, default_value_id: inst} +// CHECK:STDOUT: assoc_const50000002: {name: name2, parent_scope: name_scope50000005, decl_id: inst50000043, default_value_id: inst} +// CHECK:STDOUT: assoc_const50000003: {name: name3, parent_scope: name_scope50000005, decl_id: inst50000058, 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: inst50000018, bindings: inst_block50000005, self_specific_id: specific50000000, decl_block_id: inst_block_empty, definition_block_id: inst_block_empty} -// CHECK:STDOUT: generic50000002: {decl: inst50000029, bindings: inst_block50000010, self_specific_id: specific50000001, decl_block_id: inst_block_empty, definition_block_id: inst_block_empty} -// CHECK:STDOUT: generic50000003: {decl: inst5000006B, bindings: inst_block5000001C, self_specific_id: specific50000003, decl_block_id: inst_block5000001D, definition_block_id: inst_block50000020} -// CHECK:STDOUT: generic50000004: {decl: inst500000AA, bindings: inst_block5000002C, self_specific_id: specific50000005, decl_block_id: inst_block5000002D, definition_block_id: inst_block50000030} +// CHECK:STDOUT: generic50000002: {decl: inst50000028, bindings: inst_block50000010, self_specific_id: specific50000001, decl_block_id: inst_block_empty, definition_block_id: inst_block_empty} +// CHECK:STDOUT: generic50000003: {decl: inst5000006A, bindings: inst_block5000001C, self_specific_id: specific50000003, decl_block_id: inst_block5000001D, definition_block_id: inst_block50000020} +// CHECK:STDOUT: generic50000004: {decl: inst500000A9, bindings: inst_block5000002C, self_specific_id: specific50000005, decl_block_id: inst_block5000002D, definition_block_id: inst_block50000030} // CHECK:STDOUT: specifics: // CHECK:STDOUT: specific50000000: {generic: generic50000001, args: inst_block50000006, 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_block50000011, decl_block_id: inst_block_empty, decl_has_error: 0, definition_block_id: inst_block_empty, definition_has_error: 0} @@ -291,8 +294,8 @@ fn UseLocalCopy[T: Copy](_: T.T1, _: T.T2) {} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst50000028)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst50000028)} +// CHECK:STDOUT: 'type(inst50000027)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst50000027)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -301,13 +304,13 @@ fn UseLocalCopy[T: Copy](_: T.T1, _: T.T2) {} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst5000006C)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000006D)} +// CHECK:STDOUT: 'type(inst5000006B)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000006C)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst5000006D)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000006D)} +// CHECK:STDOUT: 'type(inst5000006C)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000006C)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -326,8 +329,8 @@ fn UseLocalCopy[T: Copy](_: T.T1, _: T.T2) {} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst500000AB)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000006D)} +// CHECK:STDOUT: 'type(inst500000AA)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst5000006C)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -342,15 +345,16 @@ fn UseLocalCopy[T: Copy](_: T.T1, _: T.T2) {} // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 0 // CHECK:STDOUT: declared_facet_types: -// CHECK:STDOUT: declared_facet_type50000000: {extends interface: interface50000000} -// CHECK:STDOUT: declared_facet_type50000001: {} +// CHECK:STDOUT: 'declared_facet_type(Empty)': {} +// CHECK:STDOUT: declared_facet_type50000001: {extends interface: interface50000000} // CHECK:STDOUT: declared_facet_type50000002: {extends interface: interface50000001} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst10: {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} +// 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: inst50000011: {kind: ImportDecl, arg0: name0} // CHECK:STDOUT: inst50000012: {kind: Namespace, arg0: name_scope50000001, type: type(inst(NamespaceType))} // CHECK:STDOUT: inst50000013: {kind: InterfaceDecl, arg0: interface50000000, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000014: {kind: FacetType, arg0: declared_facet_type50000000, type: type(TypeType)} +// CHECK:STDOUT: inst50000014: {kind: FacetType, arg0: declared_facet_type50000001, type: type(TypeType)} // CHECK:STDOUT: inst50000015: {kind: SymbolicBinding, arg0: entity_name50000000, arg1: inst, type: type(inst50000014)} // CHECK:STDOUT: inst50000016: {kind: SymbolicBinding, arg0: entity_name50000000, arg1: inst, type: type(inst50000014)} // CHECK:STDOUT: inst50000017: {kind: SymbolicBinding, arg0: entity_name50000000, arg1: inst, type: type(inst50000014)} @@ -364,156 +368,156 @@ fn UseLocalCopy[T: Copy](_: T.T1, _: T.T2) {} // CHECK:STDOUT: inst5000001F: {kind: AssociatedConstantDecl, arg0: assoc_const50000001, arg1: inst_block5000000C, type: type(TypeType)} // CHECK:STDOUT: inst50000020: {kind: AssociatedEntity, arg0: element1, arg1: inst5000001F, type: type(inst5000001B)} // CHECK:STDOUT: inst50000021: {kind: AssociatedEntity, arg0: element1, arg1: inst5000001F, type: type(inst5000001B)} -// CHECK:STDOUT: inst50000022: {kind: FacetType, arg0: declared_facet_type50000001, type: type(TypeType)} -// CHECK:STDOUT: inst50000023: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(inst50000022)} -// CHECK:STDOUT: inst50000024: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(inst50000022)} -// CHECK:STDOUT: inst50000025: {kind: NameRef, arg0: name0, arg1: inst50000012, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000026: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name50000002, type: type(TypeType)} -// CHECK:STDOUT: inst50000027: {kind: InterfaceDecl, arg0: interface50000001, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000028: {kind: FacetType, arg0: declared_facet_type50000002, type: type(TypeType)} -// CHECK:STDOUT: inst50000029: {kind: InterfaceWithSelfDecl, arg0: interface50000001} -// CHECK:STDOUT: inst5000002A: {kind: SymbolicBinding, arg0: entity_name50000003, arg1: inst, type: type(inst50000028)} -// CHECK:STDOUT: inst5000002B: {kind: ImportRefLoaded, arg0: import_ir_inst3, arg1: entity_name, type: type(inst5000003E)} -// CHECK:STDOUT: inst5000002C: {kind: ImportRefLoaded, arg0: import_ir_inst4, arg1: entity_name, type: type(inst5000003E)} -// CHECK:STDOUT: inst5000002D: {kind: ImportRefUnloaded, arg0: import_ir_inst5, arg1: entity_name50000004} -// CHECK:STDOUT: inst5000002E: {kind: ImportRefUnloaded, arg0: import_ir_inst6, arg1: entity_name50000005} -// CHECK:STDOUT: inst5000002F: {kind: ImportRefLoaded, arg0: import_ir_inst7, arg1: entity_name, type: type(inst50000028)} -// CHECK:STDOUT: inst50000030: {kind: ImportRefUnloaded, arg0: import_ir_inst8, arg1: entity_name} -// CHECK:STDOUT: inst50000031: {kind: NameRef, arg0: name6, arg1: inst50000026, type: type(TypeType)} -// CHECK:STDOUT: inst50000032: {kind: PatternType, arg0: inst50000028, type: type(TypeType)} -// CHECK:STDOUT: inst50000033: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000032)} -// CHECK:STDOUT: inst50000034: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000032)} -// CHECK:STDOUT: inst50000035: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000032)} -// CHECK:STDOUT: inst50000036: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000028)} -// CHECK:STDOUT: inst50000037: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000028)} -// CHECK:STDOUT: inst50000038: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000028)} -// CHECK:STDOUT: inst50000039: {kind: NameRef, arg0: name5, arg1: inst50000036, type: type(inst50000028)} -// CHECK:STDOUT: inst5000003A: {kind: FacetAccessType, arg0: inst50000039, type: type(TypeType)} +// CHECK:STDOUT: inst50000022: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst50000023: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst50000024: {kind: NameRef, arg0: name0, arg1: inst50000012, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000025: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name50000002, type: type(TypeType)} +// CHECK:STDOUT: inst50000026: {kind: InterfaceDecl, arg0: interface50000001, arg1: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000027: {kind: FacetType, arg0: declared_facet_type50000002, type: type(TypeType)} +// CHECK:STDOUT: inst50000028: {kind: InterfaceWithSelfDecl, arg0: interface50000001} +// CHECK:STDOUT: inst50000029: {kind: SymbolicBinding, arg0: entity_name50000003, arg1: inst, type: type(inst50000027)} +// CHECK:STDOUT: inst5000002A: {kind: ImportRefLoaded, arg0: import_ir_inst3, arg1: entity_name, type: type(inst5000003D)} +// CHECK:STDOUT: inst5000002B: {kind: ImportRefLoaded, arg0: import_ir_inst4, arg1: entity_name, type: type(inst5000003D)} +// CHECK:STDOUT: inst5000002C: {kind: ImportRefUnloaded, arg0: import_ir_inst5, arg1: entity_name50000004} +// CHECK:STDOUT: inst5000002D: {kind: ImportRefUnloaded, arg0: import_ir_inst6, arg1: entity_name50000005} +// CHECK:STDOUT: inst5000002E: {kind: ImportRefLoaded, arg0: import_ir_inst7, arg1: entity_name, type: type(inst50000027)} +// CHECK:STDOUT: inst5000002F: {kind: ImportRefUnloaded, arg0: import_ir_inst8, arg1: entity_name} +// CHECK:STDOUT: inst50000030: {kind: NameRef, arg0: name6, arg1: inst50000025, type: type(TypeType)} +// CHECK:STDOUT: inst50000031: {kind: PatternType, arg0: inst50000027, type: type(TypeType)} +// CHECK:STDOUT: inst50000032: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000031)} +// CHECK:STDOUT: inst50000033: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000031)} +// CHECK:STDOUT: inst50000034: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000031)} +// CHECK:STDOUT: inst50000035: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000027)} +// CHECK:STDOUT: inst50000036: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000027)} +// CHECK:STDOUT: inst50000037: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000027)} +// CHECK:STDOUT: inst50000038: {kind: NameRef, arg0: name5, arg1: inst50000035, type: type(inst50000027)} +// CHECK:STDOUT: inst50000039: {kind: FacetAccessType, arg0: inst50000038, type: type(TypeType)} +// CHECK:STDOUT: inst5000003A: {kind: FacetAccessType, arg0: inst50000036, type: type(TypeType)} // CHECK:STDOUT: inst5000003B: {kind: FacetAccessType, arg0: inst50000037, type: type(TypeType)} -// CHECK:STDOUT: inst5000003C: {kind: FacetAccessType, arg0: inst50000038, type: type(TypeType)} -// CHECK:STDOUT: inst5000003D: {kind: Converted, arg0: inst50000039, arg1: inst5000003A, type: type(TypeType)} -// CHECK:STDOUT: inst5000003E: {kind: AssociatedEntityType, arg0: interface50000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst5000003F: {kind: ImportRefLoaded, arg0: import_ir_inst9, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst50000040: {kind: AssociatedEntity, arg0: element0, arg1: inst5000003F, type: type(inst5000003E)} -// CHECK:STDOUT: inst50000041: {kind: NameRef, arg0: name2, arg1: inst5000002B, type: type(inst5000003E)} -// CHECK:STDOUT: inst50000042: {kind: LookupImplWitness, arg0: inst50000037, arg1: specific_interface50000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000043: {kind: LookupImplWitness, arg0: inst50000037, arg1: specific_interface50000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000044: {kind: AssociatedConstantDecl, arg0: assoc_const50000002, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000045: {kind: ImplWitnessAccess, arg0: inst50000043, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst50000046: {kind: ImplWitnessAccess, arg0: inst50000043, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst50000047: {kind: LookupImplWitness, arg0: inst50000038, arg1: specific_interface50000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000048: {kind: ImplWitnessAccess, arg0: inst50000047, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst50000049: {kind: PatternType, arg0: inst50000046, type: type(TypeType)} -// CHECK:STDOUT: inst5000004A: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000010)} -// CHECK:STDOUT: inst5000004B: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000000E)} -// CHECK:STDOUT: inst5000004C: {kind: PatternType, arg0: inst50000048, type: type(TypeType)} -// CHECK:STDOUT: inst5000004D: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000010)} -// CHECK:STDOUT: inst5000004E: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000004A, type: type(symbolic_constant50000010)} -// CHECK:STDOUT: inst5000004F: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000004B, type: type(symbolic_constant5000000E)} -// CHECK:STDOUT: inst50000050: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000004D, type: type(symbolic_constant50000010)} -// CHECK:STDOUT: inst50000051: {kind: WrapperBinding, arg0: entity_name50000008, arg1: inst50000067, type: type(symbolic_constant5000000D)} -// CHECK:STDOUT: inst50000052: {kind: NameRef, arg0: name5, arg1: inst50000036, type: type(inst50000028)} -// CHECK:STDOUT: inst50000053: {kind: FacetAccessType, arg0: inst50000052, type: type(TypeType)} -// CHECK:STDOUT: inst50000054: {kind: Converted, arg0: inst50000052, arg1: inst50000053, type: type(TypeType)} -// CHECK:STDOUT: inst50000055: {kind: ImportRefLoaded, arg0: import_ir_instB, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst50000056: {kind: AssociatedEntity, arg0: element1, arg1: inst50000055, type: type(inst5000003E)} -// CHECK:STDOUT: inst50000057: {kind: NameRef, arg0: name3, arg1: inst5000002C, type: type(inst5000003E)} -// CHECK:STDOUT: inst50000058: {kind: LookupImplWitness, arg0: inst50000037, arg1: specific_interface50000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000059: {kind: AssociatedConstantDecl, arg0: assoc_const50000003, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst5000005A: {kind: ImplWitnessAccess, arg0: inst50000043, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst5000005B: {kind: ImplWitnessAccess, arg0: inst50000043, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst5000005C: {kind: ImplWitnessAccess, arg0: inst50000047, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst5000005D: {kind: PatternType, arg0: inst5000005B, type: type(TypeType)} -// CHECK:STDOUT: inst5000005E: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000018)} -// CHECK:STDOUT: inst5000005F: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000016)} -// CHECK:STDOUT: inst50000060: {kind: PatternType, arg0: inst5000005C, type: type(TypeType)} -// CHECK:STDOUT: inst50000061: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000018)} -// CHECK:STDOUT: inst50000062: {kind: WrapperBindingPattern, arg0: entity_name50000009, arg1: inst5000005E, type: type(symbolic_constant50000018)} -// CHECK:STDOUT: inst50000063: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000005F, type: type(symbolic_constant50000016)} -// CHECK:STDOUT: inst50000064: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst50000061, type: type(symbolic_constant50000018)} -// CHECK:STDOUT: inst50000065: {kind: WrapperBinding, arg0: entity_name50000009, arg1: inst50000069, type: type(symbolic_constant50000015)} -// CHECK:STDOUT: inst50000066: {kind: SpliceBlock, arg0: inst_block5000000E, arg1: inst50000031, type: type(TypeType)} -// CHECK:STDOUT: inst50000067: {kind: ValueParam, arg0: call_param0, arg1: name(Underscore), type: type(symbolic_constant5000000D)} -// CHECK:STDOUT: inst50000068: {kind: SpliceBlock, arg0: inst_block50000013, arg1: inst50000045, type: type(TypeType)} -// CHECK:STDOUT: inst50000069: {kind: ValueParam, arg0: call_param1, arg1: name(Underscore), type: type(symbolic_constant50000015)} -// CHECK:STDOUT: inst5000006A: {kind: SpliceBlock, arg0: inst_block50000016, arg1: inst5000005A, type: type(TypeType)} -// CHECK:STDOUT: inst5000006B: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block5000001B, type: type(inst5000006C)} -// CHECK:STDOUT: inst5000006C: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst5000006D: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst5000006E: {kind: StructValue, arg0: inst_block_empty, type: type(inst5000006C)} -// CHECK:STDOUT: inst5000006F: {kind: RequireCompleteType, arg0: inst50000046, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000070: {kind: RequireCompleteType, arg0: inst50000046, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000071: {kind: RequireCompleteType, arg0: inst50000048, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000072: {kind: RequireCompleteType, arg0: inst5000005B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst5000003C: {kind: Converted, arg0: inst50000038, arg1: inst50000039, type: type(TypeType)} +// CHECK:STDOUT: inst5000003D: {kind: AssociatedEntityType, arg0: interface50000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst5000003E: {kind: ImportRefLoaded, arg0: import_ir_inst9, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst5000003F: {kind: AssociatedEntity, arg0: element0, arg1: inst5000003E, type: type(inst5000003D)} +// CHECK:STDOUT: inst50000040: {kind: NameRef, arg0: name2, arg1: inst5000002A, type: type(inst5000003D)} +// CHECK:STDOUT: inst50000041: {kind: LookupImplWitness, arg0: inst50000036, arg1: specific_interface50000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000042: {kind: LookupImplWitness, arg0: inst50000036, arg1: specific_interface50000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000043: {kind: AssociatedConstantDecl, arg0: assoc_const50000002, arg1: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000044: {kind: ImplWitnessAccess, arg0: inst50000042, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst50000045: {kind: ImplWitnessAccess, arg0: inst50000042, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst50000046: {kind: LookupImplWitness, arg0: inst50000037, arg1: specific_interface50000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000047: {kind: ImplWitnessAccess, arg0: inst50000046, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst50000048: {kind: PatternType, arg0: inst50000045, type: type(TypeType)} +// CHECK:STDOUT: inst50000049: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000010)} +// CHECK:STDOUT: inst5000004A: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000000E)} +// CHECK:STDOUT: inst5000004B: {kind: PatternType, arg0: inst50000047, type: type(TypeType)} +// CHECK:STDOUT: inst5000004C: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000010)} +// CHECK:STDOUT: inst5000004D: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst50000049, type: type(symbolic_constant50000010)} +// CHECK:STDOUT: inst5000004E: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000004A, type: type(symbolic_constant5000000E)} +// CHECK:STDOUT: inst5000004F: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000004C, type: type(symbolic_constant50000010)} +// CHECK:STDOUT: inst50000050: {kind: WrapperBinding, arg0: entity_name50000008, arg1: inst50000066, type: type(symbolic_constant5000000D)} +// CHECK:STDOUT: inst50000051: {kind: NameRef, arg0: name5, arg1: inst50000035, type: type(inst50000027)} +// CHECK:STDOUT: inst50000052: {kind: FacetAccessType, arg0: inst50000051, type: type(TypeType)} +// CHECK:STDOUT: inst50000053: {kind: Converted, arg0: inst50000051, arg1: inst50000052, type: type(TypeType)} +// CHECK:STDOUT: inst50000054: {kind: ImportRefLoaded, arg0: import_ir_instB, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst50000055: {kind: AssociatedEntity, arg0: element1, arg1: inst50000054, type: type(inst5000003D)} +// CHECK:STDOUT: inst50000056: {kind: NameRef, arg0: name3, arg1: inst5000002B, type: type(inst5000003D)} +// CHECK:STDOUT: inst50000057: {kind: LookupImplWitness, arg0: inst50000036, arg1: specific_interface50000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000058: {kind: AssociatedConstantDecl, arg0: assoc_const50000003, arg1: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000059: {kind: ImplWitnessAccess, arg0: inst50000042, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst5000005A: {kind: ImplWitnessAccess, arg0: inst50000042, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst5000005B: {kind: ImplWitnessAccess, arg0: inst50000046, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst5000005C: {kind: PatternType, arg0: inst5000005A, type: type(TypeType)} +// CHECK:STDOUT: inst5000005D: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000018)} +// CHECK:STDOUT: inst5000005E: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000016)} +// CHECK:STDOUT: inst5000005F: {kind: PatternType, arg0: inst5000005B, type: type(TypeType)} +// CHECK:STDOUT: inst50000060: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000018)} +// CHECK:STDOUT: inst50000061: {kind: WrapperBindingPattern, arg0: entity_name50000009, arg1: inst5000005D, type: type(symbolic_constant50000018)} +// CHECK:STDOUT: inst50000062: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000005E, type: type(symbolic_constant50000016)} +// CHECK:STDOUT: inst50000063: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst50000060, type: type(symbolic_constant50000018)} +// CHECK:STDOUT: inst50000064: {kind: WrapperBinding, arg0: entity_name50000009, arg1: inst50000068, type: type(symbolic_constant50000015)} +// CHECK:STDOUT: inst50000065: {kind: SpliceBlock, arg0: inst_block5000000E, arg1: inst50000030, type: type(TypeType)} +// CHECK:STDOUT: inst50000066: {kind: ValueParam, arg0: call_param0, arg1: name(Underscore), type: type(symbolic_constant5000000D)} +// CHECK:STDOUT: inst50000067: {kind: SpliceBlock, arg0: inst_block50000013, arg1: inst50000044, type: type(TypeType)} +// CHECK:STDOUT: inst50000068: {kind: ValueParam, arg0: call_param1, arg1: name(Underscore), type: type(symbolic_constant50000015)} +// CHECK:STDOUT: inst50000069: {kind: SpliceBlock, arg0: inst_block50000016, arg1: inst50000059, type: type(TypeType)} +// CHECK:STDOUT: inst5000006A: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block5000001B, type: type(inst5000006B)} +// CHECK:STDOUT: inst5000006B: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst5000006C: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst5000006D: {kind: StructValue, arg0: inst_block_empty, type: type(inst5000006B)} +// CHECK:STDOUT: inst5000006E: {kind: RequireCompleteType, arg0: inst50000045, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst5000006F: {kind: RequireCompleteType, arg0: inst50000045, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000070: {kind: RequireCompleteType, arg0: inst50000047, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000071: {kind: RequireCompleteType, arg0: inst5000005A, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000072: {kind: RequireCompleteType, arg0: inst5000005A, type: type(inst(WitnessType))} // CHECK:STDOUT: inst50000073: {kind: RequireCompleteType, arg0: inst5000005B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000074: {kind: RequireCompleteType, arg0: inst5000005C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000075: {kind: Return} -// CHECK:STDOUT: inst50000076: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(inst50000022)} -// CHECK:STDOUT: inst50000077: {kind: NameRef, arg0: name1, arg1: inst50000013, type: type(TypeType)} -// CHECK:STDOUT: inst50000078: {kind: PatternType, arg0: inst50000014, type: type(TypeType)} -// CHECK:STDOUT: inst50000079: {kind: SymbolicBindingPattern, arg0: entity_name5000000A, type: type(inst50000078)} -// CHECK:STDOUT: inst5000007A: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000078)} -// CHECK:STDOUT: inst5000007B: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000078)} -// CHECK:STDOUT: inst5000007C: {kind: SymbolicBinding, arg0: entity_name5000000A, arg1: inst, type: type(inst50000014)} +// CHECK:STDOUT: inst50000074: {kind: Return} +// CHECK:STDOUT: inst50000075: {kind: SymbolicBinding, arg0: entity_name50000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst50000076: {kind: NameRef, arg0: name1, arg1: inst50000013, type: type(TypeType)} +// CHECK:STDOUT: inst50000077: {kind: PatternType, arg0: inst50000014, type: type(TypeType)} +// CHECK:STDOUT: inst50000078: {kind: SymbolicBindingPattern, arg0: entity_name5000000A, type: type(inst50000077)} +// CHECK:STDOUT: inst50000079: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000077)} +// CHECK:STDOUT: inst5000007A: {kind: SymbolicBindingPattern, arg0: entity_name50000007, type: type(inst50000077)} +// CHECK:STDOUT: inst5000007B: {kind: SymbolicBinding, arg0: entity_name5000000A, arg1: inst, type: type(inst50000014)} +// CHECK:STDOUT: inst5000007C: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000014)} // CHECK:STDOUT: inst5000007D: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000014)} -// CHECK:STDOUT: inst5000007E: {kind: SymbolicBinding, arg0: entity_name50000007, arg1: inst, type: type(inst50000014)} -// CHECK:STDOUT: inst5000007F: {kind: NameRef, arg0: name5, arg1: inst5000007C, type: type(inst50000014)} -// CHECK:STDOUT: inst50000080: {kind: FacetAccessType, arg0: inst5000007F, type: type(TypeType)} +// CHECK:STDOUT: inst5000007E: {kind: NameRef, arg0: name5, arg1: inst5000007B, type: type(inst50000014)} +// CHECK:STDOUT: inst5000007F: {kind: FacetAccessType, arg0: inst5000007E, type: type(TypeType)} +// CHECK:STDOUT: inst50000080: {kind: FacetAccessType, arg0: inst5000007C, type: type(TypeType)} // CHECK:STDOUT: inst50000081: {kind: FacetAccessType, arg0: inst5000007D, type: type(TypeType)} -// CHECK:STDOUT: inst50000082: {kind: FacetAccessType, arg0: inst5000007E, type: type(TypeType)} -// CHECK:STDOUT: inst50000083: {kind: Converted, arg0: inst5000007F, arg1: inst50000080, type: type(TypeType)} -// CHECK:STDOUT: inst50000084: {kind: NameRef, arg0: name2, arg1: inst5000001C, type: type(inst5000001B)} -// CHECK:STDOUT: inst50000085: {kind: LookupImplWitness, arg0: inst5000007D, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000086: {kind: LookupImplWitness, arg0: inst5000007D, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000087: {kind: ImplWitnessAccess, arg0: inst50000086, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst50000088: {kind: ImplWitnessAccess, arg0: inst50000086, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst50000089: {kind: LookupImplWitness, arg0: inst5000007E, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst5000008A: {kind: ImplWitnessAccess, arg0: inst50000089, arg1: element0, type: type(TypeType)} -// CHECK:STDOUT: inst5000008B: {kind: PatternType, arg0: inst50000088, type: type(TypeType)} -// CHECK:STDOUT: inst5000008C: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000002C)} -// CHECK:STDOUT: inst5000008D: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000002A)} -// CHECK:STDOUT: inst5000008E: {kind: PatternType, arg0: inst5000008A, type: type(TypeType)} -// CHECK:STDOUT: inst5000008F: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000002C)} -// CHECK:STDOUT: inst50000090: {kind: WrapperBindingPattern, arg0: entity_name5000000B, arg1: inst5000008C, type: type(symbolic_constant5000002C)} -// CHECK:STDOUT: inst50000091: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000008D, type: type(symbolic_constant5000002A)} -// CHECK:STDOUT: inst50000092: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000008F, type: type(symbolic_constant5000002C)} -// CHECK:STDOUT: inst50000093: {kind: WrapperBinding, arg0: entity_name5000000B, arg1: inst500000A6, type: type(symbolic_constant50000029)} -// CHECK:STDOUT: inst50000094: {kind: NameRef, arg0: name5, arg1: inst5000007C, type: type(inst50000014)} -// CHECK:STDOUT: inst50000095: {kind: FacetAccessType, arg0: inst50000094, type: type(TypeType)} -// CHECK:STDOUT: inst50000096: {kind: Converted, arg0: inst50000094, arg1: inst50000095, type: type(TypeType)} -// CHECK:STDOUT: inst50000097: {kind: NameRef, arg0: name3, arg1: inst50000020, type: type(inst5000001B)} -// CHECK:STDOUT: inst50000098: {kind: LookupImplWitness, arg0: inst5000007D, arg1: specific_interface50000001, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst50000099: {kind: ImplWitnessAccess, arg0: inst50000086, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst5000009A: {kind: ImplWitnessAccess, arg0: inst50000086, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst5000009B: {kind: ImplWitnessAccess, arg0: inst50000089, arg1: element1, type: type(TypeType)} -// CHECK:STDOUT: inst5000009C: {kind: PatternType, arg0: inst5000009A, type: type(TypeType)} -// CHECK:STDOUT: inst5000009D: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000034)} -// CHECK:STDOUT: inst5000009E: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000032)} -// CHECK:STDOUT: inst5000009F: {kind: PatternType, arg0: inst5000009B, type: type(TypeType)} -// CHECK:STDOUT: inst500000A0: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000034)} -// CHECK:STDOUT: inst500000A1: {kind: WrapperBindingPattern, arg0: entity_name5000000C, arg1: inst5000009D, type: type(symbolic_constant50000034)} -// CHECK:STDOUT: inst500000A2: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000009E, type: type(symbolic_constant50000032)} -// CHECK:STDOUT: inst500000A3: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst500000A0, type: type(symbolic_constant50000034)} -// CHECK:STDOUT: inst500000A4: {kind: WrapperBinding, arg0: entity_name5000000C, arg1: inst500000A8, type: type(symbolic_constant50000031)} -// CHECK:STDOUT: inst500000A5: {kind: SpliceBlock, arg0: inst_block50000021, arg1: inst50000077, type: type(TypeType)} -// CHECK:STDOUT: inst500000A6: {kind: ValueParam, arg0: call_param0, arg1: name(Underscore), type: type(symbolic_constant50000029)} -// CHECK:STDOUT: inst500000A7: {kind: SpliceBlock, arg0: inst_block50000023, arg1: inst50000087, type: type(TypeType)} -// CHECK:STDOUT: inst500000A8: {kind: ValueParam, arg0: call_param1, arg1: name(Underscore), type: type(symbolic_constant50000031)} -// CHECK:STDOUT: inst500000A9: {kind: SpliceBlock, arg0: inst_block50000026, arg1: inst50000099, type: type(TypeType)} -// CHECK:STDOUT: inst500000AA: {kind: FunctionDecl, arg0: function50000001, arg1: inst_block5000002B, type: type(inst500000AB)} -// CHECK:STDOUT: inst500000AB: {kind: FunctionType, arg0: function50000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst500000AC: {kind: StructValue, arg0: inst_block_empty, type: type(inst500000AB)} -// CHECK:STDOUT: inst500000AD: {kind: RequireCompleteType, arg0: inst50000088, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000AE: {kind: RequireCompleteType, arg0: inst50000088, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000AF: {kind: RequireCompleteType, arg0: inst5000008A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000B0: {kind: RequireCompleteType, arg0: inst5000009A, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000082: {kind: Converted, arg0: inst5000007E, arg1: inst5000007F, type: type(TypeType)} +// CHECK:STDOUT: inst50000083: {kind: NameRef, arg0: name2, arg1: inst5000001C, type: type(inst5000001B)} +// CHECK:STDOUT: inst50000084: {kind: LookupImplWitness, arg0: inst5000007C, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000085: {kind: LookupImplWitness, arg0: inst5000007C, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000086: {kind: ImplWitnessAccess, arg0: inst50000085, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst50000087: {kind: ImplWitnessAccess, arg0: inst50000085, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst50000088: {kind: LookupImplWitness, arg0: inst5000007D, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000089: {kind: ImplWitnessAccess, arg0: inst50000088, arg1: element0, type: type(TypeType)} +// CHECK:STDOUT: inst5000008A: {kind: PatternType, arg0: inst50000087, type: type(TypeType)} +// CHECK:STDOUT: inst5000008B: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000002C)} +// CHECK:STDOUT: inst5000008C: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000002A)} +// CHECK:STDOUT: inst5000008D: {kind: PatternType, arg0: inst50000089, type: type(TypeType)} +// CHECK:STDOUT: inst5000008E: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant5000002C)} +// CHECK:STDOUT: inst5000008F: {kind: WrapperBindingPattern, arg0: entity_name5000000B, arg1: inst5000008B, type: type(symbolic_constant5000002C)} +// CHECK:STDOUT: inst50000090: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000008C, type: type(symbolic_constant5000002A)} +// CHECK:STDOUT: inst50000091: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000008E, type: type(symbolic_constant5000002C)} +// CHECK:STDOUT: inst50000092: {kind: WrapperBinding, arg0: entity_name5000000B, arg1: inst500000A5, type: type(symbolic_constant50000029)} +// CHECK:STDOUT: inst50000093: {kind: NameRef, arg0: name5, arg1: inst5000007B, type: type(inst50000014)} +// CHECK:STDOUT: inst50000094: {kind: FacetAccessType, arg0: inst50000093, type: type(TypeType)} +// CHECK:STDOUT: inst50000095: {kind: Converted, arg0: inst50000093, arg1: inst50000094, type: type(TypeType)} +// CHECK:STDOUT: inst50000096: {kind: NameRef, arg0: name3, arg1: inst50000020, type: type(inst5000001B)} +// CHECK:STDOUT: inst50000097: {kind: LookupImplWitness, arg0: inst5000007C, arg1: specific_interface50000001, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst50000098: {kind: ImplWitnessAccess, arg0: inst50000085, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst50000099: {kind: ImplWitnessAccess, arg0: inst50000085, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst5000009A: {kind: ImplWitnessAccess, arg0: inst50000088, arg1: element1, type: type(TypeType)} +// CHECK:STDOUT: inst5000009B: {kind: PatternType, arg0: inst50000099, type: type(TypeType)} +// CHECK:STDOUT: inst5000009C: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000034)} +// CHECK:STDOUT: inst5000009D: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000032)} +// CHECK:STDOUT: inst5000009E: {kind: PatternType, arg0: inst5000009A, type: type(TypeType)} +// CHECK:STDOUT: inst5000009F: {kind: ValueParamPattern, arg0: name(Underscore), type: type(symbolic_constant50000034)} +// CHECK:STDOUT: inst500000A0: {kind: WrapperBindingPattern, arg0: entity_name5000000C, arg1: inst5000009C, type: type(symbolic_constant50000034)} +// CHECK:STDOUT: inst500000A1: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000009D, type: type(symbolic_constant50000032)} +// CHECK:STDOUT: inst500000A2: {kind: WrapperBindingPattern, arg0: entity_name50000008, arg1: inst5000009F, type: type(symbolic_constant50000034)} +// CHECK:STDOUT: inst500000A3: {kind: WrapperBinding, arg0: entity_name5000000C, arg1: inst500000A7, type: type(symbolic_constant50000031)} +// CHECK:STDOUT: inst500000A4: {kind: SpliceBlock, arg0: inst_block50000021, arg1: inst50000076, type: type(TypeType)} +// CHECK:STDOUT: inst500000A5: {kind: ValueParam, arg0: call_param0, arg1: name(Underscore), type: type(symbolic_constant50000029)} +// CHECK:STDOUT: inst500000A6: {kind: SpliceBlock, arg0: inst_block50000023, arg1: inst50000086, type: type(TypeType)} +// CHECK:STDOUT: inst500000A7: {kind: ValueParam, arg0: call_param1, arg1: name(Underscore), type: type(symbolic_constant50000031)} +// CHECK:STDOUT: inst500000A8: {kind: SpliceBlock, arg0: inst_block50000026, arg1: inst50000098, type: type(TypeType)} +// CHECK:STDOUT: inst500000A9: {kind: FunctionDecl, arg0: function50000001, arg1: inst_block5000002B, type: type(inst500000AA)} +// CHECK:STDOUT: inst500000AA: {kind: FunctionType, arg0: function50000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst500000AB: {kind: StructValue, arg0: inst_block_empty, type: type(inst500000AA)} +// CHECK:STDOUT: inst500000AC: {kind: RequireCompleteType, arg0: inst50000087, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000AD: {kind: RequireCompleteType, arg0: inst50000087, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000AE: {kind: RequireCompleteType, arg0: inst50000089, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000AF: {kind: RequireCompleteType, arg0: inst50000099, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst500000B0: {kind: RequireCompleteType, arg0: inst50000099, type: type(inst(WitnessType))} // CHECK:STDOUT: inst500000B1: {kind: RequireCompleteType, arg0: inst5000009A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000B2: {kind: RequireCompleteType, arg0: inst5000009B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst500000B3: {kind: Return} +// CHECK:STDOUT: inst500000B2: {kind: Return} // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst10: concrete_constant(inst10) +// CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) +// CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) // CHECK:STDOUT: inst50000012: concrete_constant(inst50000012) // CHECK:STDOUT: inst50000013: concrete_constant(inst50000014) // CHECK:STDOUT: inst50000014: concrete_constant(inst50000014) @@ -530,221 +534,220 @@ fn UseLocalCopy[T: Copy](_: T.T1, _: T.T2) {} // CHECK:STDOUT: inst5000001F: concrete_constant(inst5000001F) // CHECK:STDOUT: inst50000020: concrete_constant(inst50000021) // CHECK:STDOUT: inst50000021: concrete_constant(inst50000021) -// CHECK:STDOUT: inst50000022: concrete_constant(inst50000022) +// CHECK:STDOUT: inst50000022: symbolic_constant50000002 // CHECK:STDOUT: inst50000023: symbolic_constant50000002 -// CHECK:STDOUT: inst50000024: symbolic_constant50000002 -// CHECK:STDOUT: inst50000025: concrete_constant(inst50000012) -// CHECK:STDOUT: inst50000026: concrete_constant(inst50000028) -// CHECK:STDOUT: inst50000027: concrete_constant(inst50000028) +// CHECK:STDOUT: inst50000024: concrete_constant(inst50000012) +// CHECK:STDOUT: inst50000025: concrete_constant(inst50000027) +// 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: symbolic_constant50000003 -// CHECK:STDOUT: inst5000002B: concrete_constant(inst50000040) -// CHECK:STDOUT: inst5000002C: concrete_constant(inst50000056) +// CHECK:STDOUT: inst50000029: symbolic_constant50000003 +// CHECK:STDOUT: inst5000002A: concrete_constant(inst5000003F) +// CHECK:STDOUT: inst5000002B: concrete_constant(inst50000055) +// CHECK:STDOUT: inst5000002C: constant // CHECK:STDOUT: inst5000002D: constant -// CHECK:STDOUT: inst5000002E: constant -// CHECK:STDOUT: inst5000002F: symbolic_constant50000003 -// CHECK:STDOUT: inst50000030: constant -// CHECK:STDOUT: inst50000031: concrete_constant(inst50000028) -// CHECK:STDOUT: inst50000032: concrete_constant(inst50000032) -// CHECK:STDOUT: inst50000033: symbolic_constant50000005 -// CHECK:STDOUT: inst50000034: symbolic_constant50000004 -// CHECK:STDOUT: inst50000035: symbolic_constant50000005 -// CHECK:STDOUT: inst50000036: symbolic_constant50000007 -// CHECK:STDOUT: inst50000037: symbolic_constant50000006 +// CHECK:STDOUT: inst5000002E: symbolic_constant50000003 +// CHECK:STDOUT: inst5000002F: constant +// CHECK:STDOUT: inst50000030: concrete_constant(inst50000027) +// CHECK:STDOUT: inst50000031: concrete_constant(inst50000031) +// CHECK:STDOUT: inst50000032: symbolic_constant50000005 +// CHECK:STDOUT: inst50000033: symbolic_constant50000004 +// CHECK:STDOUT: inst50000034: symbolic_constant50000005 +// CHECK:STDOUT: inst50000035: symbolic_constant50000007 +// CHECK:STDOUT: inst50000036: symbolic_constant50000006 +// CHECK:STDOUT: inst50000037: symbolic_constant50000007 // CHECK:STDOUT: inst50000038: symbolic_constant50000007 -// CHECK:STDOUT: inst50000039: symbolic_constant50000007 -// CHECK:STDOUT: inst5000003A: symbolic_constant50000009 -// CHECK:STDOUT: inst5000003B: symbolic_constant50000008 +// CHECK:STDOUT: inst50000039: symbolic_constant50000009 +// CHECK:STDOUT: inst5000003A: symbolic_constant50000008 +// CHECK:STDOUT: inst5000003B: symbolic_constant50000009 // CHECK:STDOUT: inst5000003C: symbolic_constant50000009 -// CHECK:STDOUT: inst5000003D: symbolic_constant50000009 -// CHECK:STDOUT: inst5000003E: concrete_constant(inst5000003E) -// CHECK:STDOUT: inst5000003F: concrete_constant(inst50000044) -// CHECK:STDOUT: inst50000040: concrete_constant(inst50000040) -// CHECK:STDOUT: inst50000041: concrete_constant(inst50000040) -// CHECK:STDOUT: inst50000043: symbolic_constant5000000A -// CHECK:STDOUT: inst50000044: concrete_constant(inst50000044) -// CHECK:STDOUT: inst50000045: symbolic_constant5000000D -// CHECK:STDOUT: inst50000046: symbolic_constant5000000B -// CHECK:STDOUT: inst50000047: symbolic_constant5000000C -// CHECK:STDOUT: inst50000048: symbolic_constant5000000D -// CHECK:STDOUT: inst50000049: symbolic_constant5000000E -// CHECK:STDOUT: inst5000004A: symbolic_constant50000011 -// CHECK:STDOUT: inst5000004B: symbolic_constant5000000F -// CHECK:STDOUT: inst5000004C: symbolic_constant50000010 -// CHECK:STDOUT: inst5000004D: symbolic_constant50000011 -// CHECK:STDOUT: inst5000004E: symbolic_constant50000013 -// CHECK:STDOUT: inst5000004F: symbolic_constant50000012 -// CHECK:STDOUT: inst50000050: symbolic_constant50000013 -// CHECK:STDOUT: inst50000052: symbolic_constant50000007 +// CHECK:STDOUT: inst5000003D: concrete_constant(inst5000003D) +// CHECK:STDOUT: inst5000003E: concrete_constant(inst50000043) +// CHECK:STDOUT: inst5000003F: concrete_constant(inst5000003F) +// CHECK:STDOUT: inst50000040: concrete_constant(inst5000003F) +// CHECK:STDOUT: inst50000042: symbolic_constant5000000A +// CHECK:STDOUT: inst50000043: concrete_constant(inst50000043) +// CHECK:STDOUT: inst50000044: symbolic_constant5000000D +// CHECK:STDOUT: inst50000045: symbolic_constant5000000B +// CHECK:STDOUT: inst50000046: symbolic_constant5000000C +// CHECK:STDOUT: inst50000047: symbolic_constant5000000D +// CHECK:STDOUT: inst50000048: symbolic_constant5000000E +// CHECK:STDOUT: inst50000049: symbolic_constant50000011 +// CHECK:STDOUT: inst5000004A: symbolic_constant5000000F +// CHECK:STDOUT: inst5000004B: symbolic_constant50000010 +// CHECK:STDOUT: inst5000004C: symbolic_constant50000011 +// CHECK:STDOUT: inst5000004D: symbolic_constant50000013 +// CHECK:STDOUT: inst5000004E: symbolic_constant50000012 +// CHECK:STDOUT: inst5000004F: symbolic_constant50000013 +// CHECK:STDOUT: inst50000051: symbolic_constant50000007 +// CHECK:STDOUT: inst50000052: symbolic_constant50000009 // CHECK:STDOUT: inst50000053: symbolic_constant50000009 -// CHECK:STDOUT: inst50000054: symbolic_constant50000009 -// CHECK:STDOUT: inst50000055: concrete_constant(inst50000059) -// CHECK:STDOUT: inst50000056: concrete_constant(inst50000056) -// CHECK:STDOUT: inst50000057: concrete_constant(inst50000056) -// CHECK:STDOUT: inst50000059: concrete_constant(inst50000059) -// CHECK:STDOUT: inst5000005A: symbolic_constant50000015 -// CHECK:STDOUT: inst5000005B: symbolic_constant50000014 -// CHECK:STDOUT: inst5000005C: symbolic_constant50000015 -// CHECK:STDOUT: inst5000005D: symbolic_constant50000016 -// CHECK:STDOUT: inst5000005E: symbolic_constant50000019 -// CHECK:STDOUT: inst5000005F: symbolic_constant50000017 -// CHECK:STDOUT: inst50000060: symbolic_constant50000018 -// CHECK:STDOUT: inst50000061: symbolic_constant50000019 -// CHECK:STDOUT: inst50000062: symbolic_constant5000001B -// CHECK:STDOUT: inst50000063: symbolic_constant5000001A -// CHECK:STDOUT: inst50000064: symbolic_constant5000001B -// CHECK:STDOUT: inst50000066: concrete_constant(inst50000028) -// CHECK:STDOUT: inst50000068: symbolic_constant5000000D -// CHECK:STDOUT: inst5000006A: symbolic_constant50000015 -// CHECK:STDOUT: inst5000006B: concrete_constant(inst5000006E) +// CHECK:STDOUT: inst50000054: concrete_constant(inst50000058) +// CHECK:STDOUT: inst50000055: concrete_constant(inst50000055) +// CHECK:STDOUT: inst50000056: concrete_constant(inst50000055) +// CHECK:STDOUT: inst50000058: concrete_constant(inst50000058) +// CHECK:STDOUT: inst50000059: symbolic_constant50000015 +// CHECK:STDOUT: inst5000005A: symbolic_constant50000014 +// CHECK:STDOUT: inst5000005B: symbolic_constant50000015 +// CHECK:STDOUT: inst5000005C: symbolic_constant50000016 +// CHECK:STDOUT: inst5000005D: symbolic_constant50000019 +// CHECK:STDOUT: inst5000005E: symbolic_constant50000017 +// CHECK:STDOUT: inst5000005F: symbolic_constant50000018 +// CHECK:STDOUT: inst50000060: symbolic_constant50000019 +// CHECK:STDOUT: inst50000061: symbolic_constant5000001B +// CHECK:STDOUT: inst50000062: symbolic_constant5000001A +// CHECK:STDOUT: inst50000063: symbolic_constant5000001B +// CHECK:STDOUT: inst50000065: concrete_constant(inst50000027) +// CHECK:STDOUT: inst50000067: symbolic_constant5000000D +// CHECK:STDOUT: inst50000069: symbolic_constant50000015 +// CHECK:STDOUT: inst5000006A: concrete_constant(inst5000006D) +// CHECK:STDOUT: inst5000006B: concrete_constant(inst5000006B) // CHECK:STDOUT: inst5000006C: concrete_constant(inst5000006C) // CHECK:STDOUT: inst5000006D: concrete_constant(inst5000006D) -// CHECK:STDOUT: inst5000006E: concrete_constant(inst5000006E) -// CHECK:STDOUT: inst5000006F: symbolic_constant5000001D -// CHECK:STDOUT: inst50000070: symbolic_constant5000001C -// CHECK:STDOUT: inst50000071: symbolic_constant5000001D -// CHECK:STDOUT: inst50000072: symbolic_constant5000001F -// CHECK:STDOUT: inst50000073: symbolic_constant5000001E -// CHECK:STDOUT: inst50000074: symbolic_constant5000001F -// CHECK:STDOUT: inst50000076: symbolic_constant50000002 -// CHECK:STDOUT: inst50000077: concrete_constant(inst50000014) -// CHECK:STDOUT: inst50000078: concrete_constant(inst50000078) -// CHECK:STDOUT: inst50000079: symbolic_constant50000021 -// CHECK:STDOUT: inst5000007A: symbolic_constant50000020 -// CHECK:STDOUT: inst5000007B: symbolic_constant50000021 -// CHECK:STDOUT: inst5000007C: symbolic_constant50000023 -// CHECK:STDOUT: inst5000007D: symbolic_constant50000022 +// CHECK:STDOUT: inst5000006E: symbolic_constant5000001D +// CHECK:STDOUT: inst5000006F: symbolic_constant5000001C +// CHECK:STDOUT: inst50000070: symbolic_constant5000001D +// CHECK:STDOUT: inst50000071: symbolic_constant5000001F +// CHECK:STDOUT: inst50000072: symbolic_constant5000001E +// CHECK:STDOUT: inst50000073: symbolic_constant5000001F +// CHECK:STDOUT: inst50000075: symbolic_constant50000002 +// CHECK:STDOUT: inst50000076: concrete_constant(inst50000014) +// CHECK:STDOUT: inst50000077: concrete_constant(inst50000077) +// CHECK:STDOUT: inst50000078: symbolic_constant50000021 +// CHECK:STDOUT: inst50000079: symbolic_constant50000020 +// CHECK:STDOUT: inst5000007A: symbolic_constant50000021 +// CHECK:STDOUT: inst5000007B: symbolic_constant50000023 +// CHECK:STDOUT: inst5000007C: symbolic_constant50000022 +// CHECK:STDOUT: inst5000007D: symbolic_constant50000023 // CHECK:STDOUT: inst5000007E: symbolic_constant50000023 -// CHECK:STDOUT: inst5000007F: symbolic_constant50000023 -// CHECK:STDOUT: inst50000080: symbolic_constant50000025 -// CHECK:STDOUT: inst50000081: symbolic_constant50000024 +// CHECK:STDOUT: inst5000007F: symbolic_constant50000025 +// CHECK:STDOUT: inst50000080: symbolic_constant50000024 +// CHECK:STDOUT: inst50000081: symbolic_constant50000025 // CHECK:STDOUT: inst50000082: symbolic_constant50000025 -// CHECK:STDOUT: inst50000083: symbolic_constant50000025 -// CHECK:STDOUT: inst50000084: concrete_constant(inst5000001D) -// CHECK:STDOUT: inst50000086: symbolic_constant50000026 -// CHECK:STDOUT: inst50000087: symbolic_constant50000029 -// CHECK:STDOUT: inst50000088: symbolic_constant50000027 -// CHECK:STDOUT: inst50000089: symbolic_constant50000028 -// CHECK:STDOUT: inst5000008A: symbolic_constant50000029 -// CHECK:STDOUT: inst5000008B: symbolic_constant5000002A -// CHECK:STDOUT: inst5000008C: symbolic_constant5000002D -// CHECK:STDOUT: inst5000008D: symbolic_constant5000002B -// CHECK:STDOUT: inst5000008E: symbolic_constant5000002C -// CHECK:STDOUT: inst5000008F: symbolic_constant5000002D -// CHECK:STDOUT: inst50000090: symbolic_constant5000002F -// CHECK:STDOUT: inst50000091: symbolic_constant5000002E -// CHECK:STDOUT: inst50000092: symbolic_constant5000002F -// CHECK:STDOUT: inst50000094: symbolic_constant50000023 +// CHECK:STDOUT: inst50000083: concrete_constant(inst5000001D) +// CHECK:STDOUT: inst50000085: symbolic_constant50000026 +// CHECK:STDOUT: inst50000086: symbolic_constant50000029 +// CHECK:STDOUT: inst50000087: symbolic_constant50000027 +// CHECK:STDOUT: inst50000088: symbolic_constant50000028 +// CHECK:STDOUT: inst50000089: symbolic_constant50000029 +// CHECK:STDOUT: inst5000008A: symbolic_constant5000002A +// CHECK:STDOUT: inst5000008B: symbolic_constant5000002D +// CHECK:STDOUT: inst5000008C: symbolic_constant5000002B +// CHECK:STDOUT: inst5000008D: symbolic_constant5000002C +// CHECK:STDOUT: inst5000008E: symbolic_constant5000002D +// CHECK:STDOUT: inst5000008F: symbolic_constant5000002F +// CHECK:STDOUT: inst50000090: symbolic_constant5000002E +// CHECK:STDOUT: inst50000091: symbolic_constant5000002F +// CHECK:STDOUT: inst50000093: symbolic_constant50000023 +// CHECK:STDOUT: inst50000094: symbolic_constant50000025 // CHECK:STDOUT: inst50000095: symbolic_constant50000025 -// CHECK:STDOUT: inst50000096: symbolic_constant50000025 -// CHECK:STDOUT: inst50000097: concrete_constant(inst50000021) -// CHECK:STDOUT: inst50000099: symbolic_constant50000031 -// CHECK:STDOUT: inst5000009A: symbolic_constant50000030 -// CHECK:STDOUT: inst5000009B: symbolic_constant50000031 -// CHECK:STDOUT: inst5000009C: symbolic_constant50000032 -// CHECK:STDOUT: inst5000009D: symbolic_constant50000035 -// CHECK:STDOUT: inst5000009E: symbolic_constant50000033 -// CHECK:STDOUT: inst5000009F: symbolic_constant50000034 -// CHECK:STDOUT: inst500000A0: symbolic_constant50000035 -// CHECK:STDOUT: inst500000A1: symbolic_constant50000037 -// CHECK:STDOUT: inst500000A2: symbolic_constant50000036 -// CHECK:STDOUT: inst500000A3: symbolic_constant50000037 -// CHECK:STDOUT: inst500000A5: concrete_constant(inst50000014) -// CHECK:STDOUT: inst500000A7: symbolic_constant50000029 -// CHECK:STDOUT: inst500000A9: symbolic_constant50000031 -// CHECK:STDOUT: inst500000AA: concrete_constant(inst500000AC) +// CHECK:STDOUT: inst50000096: concrete_constant(inst50000021) +// CHECK:STDOUT: inst50000098: symbolic_constant50000031 +// CHECK:STDOUT: inst50000099: symbolic_constant50000030 +// CHECK:STDOUT: inst5000009A: symbolic_constant50000031 +// CHECK:STDOUT: inst5000009B: symbolic_constant50000032 +// CHECK:STDOUT: inst5000009C: symbolic_constant50000035 +// CHECK:STDOUT: inst5000009D: symbolic_constant50000033 +// CHECK:STDOUT: inst5000009E: symbolic_constant50000034 +// CHECK:STDOUT: inst5000009F: symbolic_constant50000035 +// CHECK:STDOUT: inst500000A0: symbolic_constant50000037 +// CHECK:STDOUT: inst500000A1: symbolic_constant50000036 +// CHECK:STDOUT: inst500000A2: symbolic_constant50000037 +// CHECK:STDOUT: inst500000A4: concrete_constant(inst50000014) +// CHECK:STDOUT: inst500000A6: symbolic_constant50000029 +// CHECK:STDOUT: inst500000A8: symbolic_constant50000031 +// CHECK:STDOUT: inst500000A9: concrete_constant(inst500000AB) +// CHECK:STDOUT: inst500000AA: concrete_constant(inst500000AA) // CHECK:STDOUT: inst500000AB: concrete_constant(inst500000AB) -// CHECK:STDOUT: inst500000AC: concrete_constant(inst500000AC) -// CHECK:STDOUT: inst500000AD: symbolic_constant50000039 -// CHECK:STDOUT: inst500000AE: symbolic_constant50000038 -// CHECK:STDOUT: inst500000AF: symbolic_constant50000039 -// CHECK:STDOUT: inst500000B0: symbolic_constant5000003B -// CHECK:STDOUT: inst500000B1: symbolic_constant5000003A -// CHECK:STDOUT: inst500000B2: symbolic_constant5000003B +// CHECK:STDOUT: inst500000AC: symbolic_constant50000039 +// CHECK:STDOUT: inst500000AD: symbolic_constant50000038 +// CHECK:STDOUT: inst500000AE: symbolic_constant50000039 +// CHECK:STDOUT: inst500000AF: symbolic_constant5000003B +// CHECK:STDOUT: inst500000B0: symbolic_constant5000003A +// CHECK:STDOUT: inst500000B1: symbolic_constant5000003B // CHECK:STDOUT: symbolic_constants: // CHECK:STDOUT: symbolic_constant50000000: {inst: inst50000016, kind: checked, attached: null} // CHECK:STDOUT: symbolic_constant50000001: {inst: inst50000016, kind: checked, attached: {generic: generic50000000, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant50000002: {inst: inst50000024, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant50000003: {inst: inst5000002A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000004: {inst: inst50000034, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000005: {inst: inst50000034, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant50000006: {inst: inst50000037, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000007: {inst: inst50000037, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant50000008: {inst: inst5000003B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000009: {inst: inst5000003B, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant5000000A: {inst: inst50000043, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000000B: {inst: inst50000046, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000000C: {inst: inst50000043, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant5000000D: {inst: inst50000046, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant5000000E: {inst: inst50000049, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000000F: {inst: inst5000004B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000010: {inst: inst50000049, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant50000011: {inst: inst5000004B, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant50000012: {inst: inst5000004F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000013: {inst: inst5000004F, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant50000014: {inst: inst5000005B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000015: {inst: inst5000005B, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant50000016: {inst: inst5000005D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000017: {inst: inst5000005F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000018: {inst: inst5000005D, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant50000019: {inst: inst5000005F, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant5000001A: {inst: inst50000063, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000001B: {inst: inst50000063, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant5000001C: {inst: inst50000070, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000001D: {inst: inst50000070, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant5000001E: {inst: inst50000073, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000001F: {inst: inst50000073, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant50000020: {inst: inst5000007A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000021: {inst: inst5000007A, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant50000022: {inst: inst5000007D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000023: {inst: inst5000007D, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant50000024: {inst: inst50000081, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000025: {inst: inst50000081, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant50000026: {inst: inst50000086, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000027: {inst: inst50000088, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000028: {inst: inst50000086, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant50000029: {inst: inst50000088, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant5000002A: {inst: inst5000008B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000002B: {inst: inst5000008D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000002C: {inst: inst5000008B, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant5000002D: {inst: inst5000008D, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant5000002E: {inst: inst50000091, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000002F: {inst: inst50000091, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant50000030: {inst: inst5000009A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000031: {inst: inst5000009A, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant50000032: {inst: inst5000009C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000033: {inst: inst5000009E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000034: {inst: inst5000009C, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant50000035: {inst: inst5000009E, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant50000036: {inst: inst500000A2, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000037: {inst: inst500000A2, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant50000038: {inst: inst500000AE, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant50000039: {inst: inst500000AE, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant5000003A: {inst: inst500000B1, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant5000003B: {inst: inst500000B1, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant50000002: {inst: inst50000023, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant50000003: {inst: inst50000029, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000004: {inst: inst50000033, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000005: {inst: inst50000033, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant50000006: {inst: inst50000036, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000007: {inst: inst50000036, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant50000008: {inst: inst5000003A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000009: {inst: inst5000003A, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant5000000A: {inst: inst50000042, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000000B: {inst: inst50000045, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000000C: {inst: inst50000042, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant5000000D: {inst: inst50000045, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant5000000E: {inst: inst50000048, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000000F: {inst: inst5000004A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000010: {inst: inst50000048, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant50000011: {inst: inst5000004A, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant50000012: {inst: inst5000004E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000013: {inst: inst5000004E, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant50000014: {inst: inst5000005A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000015: {inst: inst5000005A, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant50000016: {inst: inst5000005C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000017: {inst: inst5000005E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000018: {inst: inst5000005C, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant50000019: {inst: inst5000005E, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant5000001A: {inst: inst50000062, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000001B: {inst: inst50000062, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant5000001C: {inst: inst5000006F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000001D: {inst: inst5000006F, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant5000001E: {inst: inst50000072, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000001F: {inst: inst50000072, kind: checked, attached: {generic: generic50000003, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant50000020: {inst: inst50000079, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000021: {inst: inst50000079, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant50000022: {inst: inst5000007C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000023: {inst: inst5000007C, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant50000024: {inst: inst50000080, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000025: {inst: inst50000080, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant50000026: {inst: inst50000085, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000027: {inst: inst50000087, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000028: {inst: inst50000085, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant50000029: {inst: inst50000087, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant5000002A: {inst: inst5000008A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000002B: {inst: inst5000008C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000002C: {inst: inst5000008A, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant5000002D: {inst: inst5000008C, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant5000002E: {inst: inst50000090, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000002F: {inst: inst50000090, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant50000030: {inst: inst50000099, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000031: {inst: inst50000099, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant50000032: {inst: inst5000009B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000033: {inst: inst5000009D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000034: {inst: inst5000009B, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant50000035: {inst: inst5000009D, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant50000036: {inst: inst500000A1, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000037: {inst: inst500000A1, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant50000038: {inst: inst500000AD, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant50000039: {inst: inst500000AD, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant5000003A: {inst: inst500000B0, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant5000003B: {inst: inst500000B0, kind: checked, attached: {generic: generic50000004, index: generic_inst_in_def1}} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: // CHECK:STDOUT: 0: inst50000013 -// CHECK:STDOUT: 1: inst5000006B -// CHECK:STDOUT: 2: inst500000AA +// CHECK:STDOUT: 1: inst5000006A +// CHECK:STDOUT: 2: inst500000A9 // CHECK:STDOUT: generated: {} // CHECK:STDOUT: imports: // CHECK:STDOUT: 0: inst50000012 -// CHECK:STDOUT: 1: inst50000026 -// CHECK:STDOUT: 2: inst50000027 -// CHECK:STDOUT: 3: inst50000029 -// CHECK:STDOUT: 4: inst5000002B -// CHECK:STDOUT: 5: inst5000002C -// CHECK:STDOUT: 6: inst5000002D -// CHECK:STDOUT: 7: inst5000002E -// CHECK:STDOUT: 8: inst5000002F -// CHECK:STDOUT: 9: inst50000030 -// CHECK:STDOUT: 10: inst5000003F -// CHECK:STDOUT: 11: inst50000044 -// CHECK:STDOUT: 12: inst50000055 -// CHECK:STDOUT: 13: inst50000059 +// CHECK:STDOUT: 1: inst50000025 +// CHECK:STDOUT: 2: inst50000026 +// CHECK:STDOUT: 3: inst50000028 +// CHECK:STDOUT: 4: inst5000002A +// CHECK:STDOUT: 5: inst5000002B +// CHECK:STDOUT: 6: inst5000002C +// CHECK:STDOUT: 7: inst5000002D +// CHECK:STDOUT: 8: inst5000002E +// CHECK:STDOUT: 9: inst5000002F +// CHECK:STDOUT: 10: inst5000003E +// CHECK:STDOUT: 11: inst50000043 +// CHECK:STDOUT: 12: inst50000054 +// CHECK:STDOUT: 13: inst50000058 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block50000005: // CHECK:STDOUT: 0: inst50000015 @@ -768,175 +771,175 @@ fn UseLocalCopy[T: Copy](_: T.T1, _: T.T2) {} // CHECK:STDOUT: 0: inst5000001A // CHECK:STDOUT: 1: inst5000001F // CHECK:STDOUT: inst_block5000000E: -// CHECK:STDOUT: 0: inst50000023 -// CHECK:STDOUT: 1: inst50000025 -// CHECK:STDOUT: 2: inst50000031 +// CHECK:STDOUT: 0: inst50000022 +// CHECK:STDOUT: 1: inst50000024 +// CHECK:STDOUT: 2: inst50000030 // CHECK:STDOUT: inst_block5000000F: -// CHECK:STDOUT: 0: inst5000002D -// CHECK:STDOUT: 1: inst5000002E +// CHECK:STDOUT: 0: inst5000002C +// CHECK:STDOUT: 1: inst5000002D // CHECK:STDOUT: inst_block50000010: -// CHECK:STDOUT: 0: inst5000002F +// CHECK:STDOUT: 0: inst5000002E // CHECK:STDOUT: inst_block50000011: -// CHECK:STDOUT: 0: inst5000002A +// CHECK:STDOUT: 0: inst50000029 // CHECK:STDOUT: inst_block50000012: -// CHECK:STDOUT: 0: inst50000033 +// CHECK:STDOUT: 0: inst50000032 // CHECK:STDOUT: inst_block50000013: -// CHECK:STDOUT: 0: inst50000039 -// CHECK:STDOUT: 1: inst5000003A -// CHECK:STDOUT: 2: inst5000003D -// CHECK:STDOUT: 3: inst50000041 -// CHECK:STDOUT: 4: inst50000045 -// CHECK:STDOUT: inst_block50000014: -// CHECK:STDOUT: 0: inst50000037 -// CHECK:STDOUT: inst_block50000015: -// CHECK:STDOUT: 0: inst50000043 -// CHECK:STDOUT: inst_block50000016: -// CHECK:STDOUT: 0: inst50000052 -// CHECK:STDOUT: 1: inst50000053 -// CHECK:STDOUT: 2: inst50000054 -// CHECK:STDOUT: 3: inst50000057 -// CHECK:STDOUT: 4: inst5000005A -// CHECK:STDOUT: inst_block50000017: -// CHECK:STDOUT: 0: inst5000004E -// CHECK:STDOUT: 1: inst50000062 -// CHECK:STDOUT: inst_block50000018: -// CHECK:STDOUT: 0: inst5000004A -// CHECK:STDOUT: 1: inst5000005E -// CHECK:STDOUT: inst_block50000019: -// CHECK:STDOUT: 0: inst50000067 -// CHECK:STDOUT: 1: inst50000069 -// CHECK:STDOUT: inst_block5000001A: -// CHECK:STDOUT: 0: inst50000033 -// CHECK:STDOUT: 1: inst5000004A -// CHECK:STDOUT: 2: inst5000004E -// CHECK:STDOUT: 3: inst5000005E -// CHECK:STDOUT: 4: inst50000062 -// CHECK:STDOUT: inst_block5000001B: -// CHECK:STDOUT: 0: inst50000066 -// CHECK:STDOUT: 1: inst50000036 -// CHECK:STDOUT: 2: inst50000067 -// CHECK:STDOUT: 3: inst50000068 -// CHECK:STDOUT: 4: inst50000051 -// CHECK:STDOUT: 5: inst50000069 -// CHECK:STDOUT: 6: inst5000006A -// CHECK:STDOUT: 7: inst50000065 -// CHECK:STDOUT: inst_block5000001C: -// CHECK:STDOUT: 0: inst50000036 -// CHECK:STDOUT: inst_block5000001D: -// CHECK:STDOUT: 0: inst50000035 -// CHECK:STDOUT: 1: inst50000038 +// CHECK:STDOUT: 0: inst50000038 +// CHECK:STDOUT: 1: inst50000039 // CHECK:STDOUT: 2: inst5000003C -// CHECK:STDOUT: 3: inst50000047 -// CHECK:STDOUT: 4: inst50000048 -// CHECK:STDOUT: 5: inst5000004C -// CHECK:STDOUT: 6: inst5000004D -// CHECK:STDOUT: 7: inst50000050 -// CHECK:STDOUT: 8: inst5000005C -// CHECK:STDOUT: 9: inst50000060 -// CHECK:STDOUT: 10: inst50000061 -// CHECK:STDOUT: 11: inst50000064 -// CHECK:STDOUT: inst_block5000001E: +// CHECK:STDOUT: 3: inst50000040 +// CHECK:STDOUT: 4: inst50000044 +// CHECK:STDOUT: inst_block50000014: +// CHECK:STDOUT: 0: inst50000036 +// CHECK:STDOUT: inst_block50000015: +// CHECK:STDOUT: 0: inst50000042 +// CHECK:STDOUT: inst_block50000016: +// CHECK:STDOUT: 0: inst50000051 +// CHECK:STDOUT: 1: inst50000052 +// CHECK:STDOUT: 2: inst50000053 +// CHECK:STDOUT: 3: inst50000056 +// CHECK:STDOUT: 4: inst50000059 +// CHECK:STDOUT: inst_block50000017: +// CHECK:STDOUT: 0: inst5000004D +// CHECK:STDOUT: 1: inst50000061 +// CHECK:STDOUT: inst_block50000018: +// CHECK:STDOUT: 0: inst50000049 +// CHECK:STDOUT: 1: inst5000005D +// CHECK:STDOUT: inst_block50000019: +// CHECK:STDOUT: 0: inst50000066 +// CHECK:STDOUT: 1: inst50000068 +// CHECK:STDOUT: inst_block5000001A: +// CHECK:STDOUT: 0: inst50000032 +// CHECK:STDOUT: 1: inst50000049 +// CHECK:STDOUT: 2: inst5000004D +// CHECK:STDOUT: 3: inst5000005D +// CHECK:STDOUT: 4: inst50000061 +// CHECK:STDOUT: inst_block5000001B: +// CHECK:STDOUT: 0: inst50000065 +// CHECK:STDOUT: 1: inst50000035 +// CHECK:STDOUT: 2: inst50000066 +// CHECK:STDOUT: 3: inst50000067 +// CHECK:STDOUT: 4: inst50000050 +// CHECK:STDOUT: 5: inst50000068 +// CHECK:STDOUT: 6: inst50000069 +// CHECK:STDOUT: 7: inst50000064 +// CHECK:STDOUT: inst_block5000001C: +// CHECK:STDOUT: 0: inst50000035 +// CHECK:STDOUT: inst_block5000001D: // CHECK:STDOUT: 0: inst50000034 // CHECK:STDOUT: 1: inst50000037 // CHECK:STDOUT: 2: inst5000003B -// CHECK:STDOUT: 3: inst50000043 -// CHECK:STDOUT: 4: inst50000046 -// CHECK:STDOUT: 5: inst50000049 -// CHECK:STDOUT: 6: inst5000004B +// CHECK:STDOUT: 3: inst50000046 +// CHECK:STDOUT: 4: inst50000047 +// CHECK:STDOUT: 5: inst5000004B +// CHECK:STDOUT: 6: inst5000004C // CHECK:STDOUT: 7: inst5000004F // CHECK:STDOUT: 8: inst5000005B -// CHECK:STDOUT: 9: inst5000005D -// CHECK:STDOUT: 10: inst5000005F +// CHECK:STDOUT: 9: inst5000005F +// CHECK:STDOUT: 10: inst50000060 // CHECK:STDOUT: 11: inst50000063 +// CHECK:STDOUT: inst_block5000001E: +// CHECK:STDOUT: 0: inst50000033 +// CHECK:STDOUT: 1: inst50000036 +// CHECK:STDOUT: 2: inst5000003A +// CHECK:STDOUT: 3: inst50000042 +// CHECK:STDOUT: 4: inst50000045 +// CHECK:STDOUT: 5: inst50000048 +// CHECK:STDOUT: 6: inst5000004A +// CHECK:STDOUT: 7: inst5000004E +// CHECK:STDOUT: 8: inst5000005A +// CHECK:STDOUT: 9: inst5000005C +// CHECK:STDOUT: 10: inst5000005E +// CHECK:STDOUT: 11: inst50000062 // CHECK:STDOUT: inst_block5000001F: -// CHECK:STDOUT: 0: inst50000075 +// CHECK:STDOUT: 0: inst50000074 // CHECK:STDOUT: inst_block50000020: -// CHECK:STDOUT: 0: inst50000071 -// CHECK:STDOUT: 1: inst50000074 +// CHECK:STDOUT: 0: inst50000070 +// CHECK:STDOUT: 1: inst50000073 // CHECK:STDOUT: inst_block50000021: -// CHECK:STDOUT: 0: inst50000076 -// CHECK:STDOUT: 1: inst50000077 +// CHECK:STDOUT: 0: inst50000075 +// CHECK:STDOUT: 1: inst50000076 // CHECK:STDOUT: inst_block50000022: -// CHECK:STDOUT: 0: inst50000079 +// CHECK:STDOUT: 0: inst50000078 // CHECK:STDOUT: inst_block50000023: -// CHECK:STDOUT: 0: inst5000007F -// CHECK:STDOUT: 1: inst50000080 -// CHECK:STDOUT: 2: inst50000083 -// CHECK:STDOUT: 3: inst50000084 -// CHECK:STDOUT: 4: inst50000087 -// CHECK:STDOUT: inst_block50000024: -// CHECK:STDOUT: 0: inst5000007D -// CHECK:STDOUT: inst_block50000025: -// CHECK:STDOUT: 0: inst50000086 -// CHECK:STDOUT: inst_block50000026: -// CHECK:STDOUT: 0: inst50000094 -// CHECK:STDOUT: 1: inst50000095 -// CHECK:STDOUT: 2: inst50000096 -// CHECK:STDOUT: 3: inst50000097 -// CHECK:STDOUT: 4: inst50000099 -// CHECK:STDOUT: inst_block50000027: -// CHECK:STDOUT: 0: inst50000090 -// CHECK:STDOUT: 1: inst500000A1 -// CHECK:STDOUT: inst_block50000028: -// CHECK:STDOUT: 0: inst5000008C -// CHECK:STDOUT: 1: inst5000009D -// CHECK:STDOUT: inst_block50000029: -// CHECK:STDOUT: 0: inst500000A6 -// CHECK:STDOUT: 1: inst500000A8 -// CHECK:STDOUT: inst_block5000002A: -// CHECK:STDOUT: 0: inst50000079 -// CHECK:STDOUT: 1: inst5000008C -// CHECK:STDOUT: 2: inst50000090 -// CHECK:STDOUT: 3: inst5000009D -// CHECK:STDOUT: 4: inst500000A1 -// CHECK:STDOUT: inst_block5000002B: -// CHECK:STDOUT: 0: inst500000A5 -// CHECK:STDOUT: 1: inst5000007C -// CHECK:STDOUT: 2: inst500000A6 -// CHECK:STDOUT: 3: inst500000A7 -// CHECK:STDOUT: 4: inst50000093 -// CHECK:STDOUT: 5: inst500000A8 -// CHECK:STDOUT: 6: inst500000A9 -// CHECK:STDOUT: 7: inst500000A4 -// CHECK:STDOUT: inst_block5000002C: -// CHECK:STDOUT: 0: inst5000007C -// CHECK:STDOUT: inst_block5000002D: -// CHECK:STDOUT: 0: inst5000007B -// CHECK:STDOUT: 1: inst5000007E +// CHECK:STDOUT: 0: inst5000007E +// CHECK:STDOUT: 1: inst5000007F // CHECK:STDOUT: 2: inst50000082 -// CHECK:STDOUT: 3: inst50000089 -// CHECK:STDOUT: 4: inst5000008A -// CHECK:STDOUT: 5: inst5000008E -// CHECK:STDOUT: 6: inst5000008F -// CHECK:STDOUT: 7: inst50000092 -// CHECK:STDOUT: 8: inst5000009B -// CHECK:STDOUT: 9: inst5000009F -// CHECK:STDOUT: 10: inst500000A0 -// CHECK:STDOUT: 11: inst500000A3 -// CHECK:STDOUT: inst_block5000002E: +// CHECK:STDOUT: 3: inst50000083 +// CHECK:STDOUT: 4: inst50000086 +// CHECK:STDOUT: inst_block50000024: +// CHECK:STDOUT: 0: inst5000007C +// CHECK:STDOUT: inst_block50000025: +// CHECK:STDOUT: 0: inst50000085 +// CHECK:STDOUT: inst_block50000026: +// CHECK:STDOUT: 0: inst50000093 +// CHECK:STDOUT: 1: inst50000094 +// CHECK:STDOUT: 2: inst50000095 +// CHECK:STDOUT: 3: inst50000096 +// CHECK:STDOUT: 4: inst50000098 +// CHECK:STDOUT: inst_block50000027: +// CHECK:STDOUT: 0: inst5000008F +// CHECK:STDOUT: 1: inst500000A0 +// CHECK:STDOUT: inst_block50000028: +// CHECK:STDOUT: 0: inst5000008B +// CHECK:STDOUT: 1: inst5000009C +// CHECK:STDOUT: inst_block50000029: +// CHECK:STDOUT: 0: inst500000A5 +// CHECK:STDOUT: 1: inst500000A7 +// CHECK:STDOUT: inst_block5000002A: +// CHECK:STDOUT: 0: inst50000078 +// CHECK:STDOUT: 1: inst5000008B +// CHECK:STDOUT: 2: inst5000008F +// CHECK:STDOUT: 3: inst5000009C +// CHECK:STDOUT: 4: inst500000A0 +// CHECK:STDOUT: inst_block5000002B: +// CHECK:STDOUT: 0: inst500000A4 +// CHECK:STDOUT: 1: inst5000007B +// CHECK:STDOUT: 2: inst500000A5 +// CHECK:STDOUT: 3: inst500000A6 +// CHECK:STDOUT: 4: inst50000092 +// CHECK:STDOUT: 5: inst500000A7 +// CHECK:STDOUT: 6: inst500000A8 +// CHECK:STDOUT: 7: inst500000A3 +// CHECK:STDOUT: inst_block5000002C: +// CHECK:STDOUT: 0: inst5000007B +// CHECK:STDOUT: inst_block5000002D: // CHECK:STDOUT: 0: inst5000007A // CHECK:STDOUT: 1: inst5000007D // CHECK:STDOUT: 2: inst50000081 -// CHECK:STDOUT: 3: inst50000086 -// CHECK:STDOUT: 4: inst50000088 -// CHECK:STDOUT: 5: inst5000008B -// CHECK:STDOUT: 6: inst5000008D +// CHECK:STDOUT: 3: inst50000088 +// CHECK:STDOUT: 4: inst50000089 +// CHECK:STDOUT: 5: inst5000008D +// CHECK:STDOUT: 6: inst5000008E // CHECK:STDOUT: 7: inst50000091 // CHECK:STDOUT: 8: inst5000009A -// CHECK:STDOUT: 9: inst5000009C -// CHECK:STDOUT: 10: inst5000009E +// CHECK:STDOUT: 9: inst5000009E +// CHECK:STDOUT: 10: inst5000009F // CHECK:STDOUT: 11: inst500000A2 +// CHECK:STDOUT: inst_block5000002E: +// CHECK:STDOUT: 0: inst50000079 +// CHECK:STDOUT: 1: inst5000007C +// CHECK:STDOUT: 2: inst50000080 +// CHECK:STDOUT: 3: inst50000085 +// CHECK:STDOUT: 4: inst50000087 +// CHECK:STDOUT: 5: inst5000008A +// CHECK:STDOUT: 6: inst5000008C +// CHECK:STDOUT: 7: inst50000090 +// CHECK:STDOUT: 8: inst50000099 +// CHECK:STDOUT: 9: inst5000009B +// CHECK:STDOUT: 10: inst5000009D +// CHECK:STDOUT: 11: inst500000A1 // CHECK:STDOUT: inst_block5000002F: -// CHECK:STDOUT: 0: inst500000B3 +// CHECK:STDOUT: 0: inst500000B2 // CHECK:STDOUT: inst_block50000030: -// CHECK:STDOUT: 0: inst500000AF -// CHECK:STDOUT: 1: inst500000B2 +// CHECK:STDOUT: 0: inst500000AE +// CHECK:STDOUT: 1: inst500000B1 // CHECK:STDOUT: inst_block50000031: -// CHECK:STDOUT: 0: inst10 +// CHECK:STDOUT: 0: inst(Package) // CHECK:STDOUT: 1: inst50000011 // CHECK:STDOUT: 2: inst50000013 -// CHECK:STDOUT: 3: inst5000006B -// CHECK:STDOUT: 4: inst500000AA +// CHECK:STDOUT: 3: inst5000006A +// CHECK:STDOUT: 4: inst500000A9 // 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 4678f3a10849..57bcffe9970d 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon @@ -73,292 +73,292 @@ fn Foo[T: type](p: T*) -> (T*, ()) { // CHECK:STDOUT: import_ir_inst1F: {ir_id: import_ir78000004, inst_id: inst7000003C} // CHECK:STDOUT: import_ir_inst20: {ir_id: import_ir78000004, inst_id: inst70000013} // CHECK:STDOUT: import_ir_inst21: {ir_id: import_ir78000004, inst_id: inst70000036} -// CHECK:STDOUT: import_ir_inst22: {ir_id: import_ir78000004, inst_id: inst70000096} -// CHECK:STDOUT: import_ir_inst23: {ir_id: import_ir78000004, inst_id: inst70000091} -// CHECK:STDOUT: import_ir_inst24: {ir_id: import_ir78000004, inst_id: inst700000B5} -// CHECK:STDOUT: import_ir_inst25: {ir_id: import_ir78000004, inst_id: inst70000095} -// CHECK:STDOUT: import_ir_inst26: {ir_id: import_ir78000004, inst_id: inst700000B5} -// CHECK:STDOUT: import_ir_inst27: {ir_id: import_ir78000004, inst_id: inst700000AD} -// CHECK:STDOUT: import_ir_inst28: {ir_id: import_ir78000004, inst_id: inst700000A1} -// CHECK:STDOUT: import_ir_inst29: {ir_id: import_ir78000004, inst_id: inst700000AD} -// CHECK:STDOUT: import_ir_inst2A: {ir_id: import_ir78000004, inst_id: inst700000A1} -// CHECK:STDOUT: import_ir_inst2B: {ir_id: import_ir78000004, inst_id: inst700000A0} -// CHECK:STDOUT: import_ir_inst2C: {ir_id: import_ir78000004, inst_id: inst700000AC} -// CHECK:STDOUT: import_ir_inst2D: {ir_id: import_ir78000004, inst_id: inst700000A4} -// CHECK:STDOUT: import_ir_inst2E: {ir_id: import_ir78000004, inst_id: inst700000A4} -// CHECK:STDOUT: import_ir_inst2F: {ir_id: import_ir78000004, inst_id: inst700000A8} -// CHECK:STDOUT: import_ir_inst30: {ir_id: import_ir78000004, inst_id: inst700000A9} -// CHECK:STDOUT: import_ir_inst31: {ir_id: import_ir78000004, inst_id: inst700000AF} -// CHECK:STDOUT: import_ir_inst32: {ir_id: import_ir78000004, inst_id: inst70000084} -// CHECK:STDOUT: import_ir_inst33: {ir_id: import_ir78000004, inst_id: inst7000009C} -// CHECK:STDOUT: import_ir_inst34: {ir_id: import_ir78000004, inst_id: inst7000009D} -// CHECK:STDOUT: import_ir_inst35: {ir_id: import_ir78000004, inst_id: inst7000009E} -// CHECK:STDOUT: import_ir_inst36: {ir_id: import_ir78000004, inst_id: inst700000A2} -// CHECK:STDOUT: import_ir_inst37: {ir_id: import_ir78000004, inst_id: inst700000A3} -// CHECK:STDOUT: import_ir_inst38: {ir_id: import_ir78000004, inst_id: inst700000A6} -// CHECK:STDOUT: import_ir_inst39: {ir_id: import_ir78000004, inst_id: inst700000AB} -// CHECK:STDOUT: import_ir_inst3A: {ir_id: import_ir78000004, inst_id: inst700000AE} -// CHECK:STDOUT: import_ir_inst3B: {ir_id: import_ir78000004, inst_id: inst700000B1} -// CHECK:STDOUT: import_ir_inst3C: {ir_id: import_ir78000004, inst_id: inst700000DD} -// CHECK:STDOUT: import_ir_inst3D: {ir_id: import_ir78000004, inst_id: inst700000DA} -// CHECK:STDOUT: import_ir_inst3E: {ir_id: import_ir78000004, inst_id: inst700000BF} -// CHECK:STDOUT: import_ir_inst3F: {ir_id: import_ir78000004, inst_id: inst700000C6} -// CHECK:STDOUT: import_ir_inst40: {ir_id: import_ir78000004, inst_id: inst700000D2} -// CHECK:STDOUT: import_ir_inst41: {ir_id: import_ir78000004, inst_id: inst700000D3} -// CHECK:STDOUT: import_ir_inst42: {ir_id: import_ir78000004, inst_id: inst700000D4} -// CHECK:STDOUT: import_ir_inst43: {ir_id: import_ir78000004, inst_id: inst700000D5} -// CHECK:STDOUT: import_ir_inst44: {ir_id: import_ir78000004, inst_id: inst700000E1} -// CHECK:STDOUT: import_ir_inst45: {ir_id: import_ir78000004, inst_id: inst700000AD} -// CHECK:STDOUT: import_ir_inst46: {ir_id: import_ir78000004, inst_id: inst700000A1} -// CHECK:STDOUT: import_ir_inst47: {ir_id: import_ir78000004, inst_id: inst70000081} -// CHECK:STDOUT: import_ir_inst48: {ir_id: import_ir78000004, inst_id: inst7000008C} -// CHECK:STDOUT: import_ir_inst49: {ir_id: import_ir78000004, inst_id: inst7000008F} -// CHECK:STDOUT: import_ir_inst4A: {ir_id: import_ir78000004, inst_id: inst70000092} -// CHECK:STDOUT: import_ir_inst4B: {ir_id: import_ir78000004, inst_id: inst70000084} -// CHECK:STDOUT: import_ir_inst4C: {ir_id: import_ir78000004, inst_id: inst70000083} -// CHECK:STDOUT: import_ir_inst4D: {ir_id: import_ir78000004, inst_id: inst70000086} -// CHECK:STDOUT: import_ir_inst4E: {ir_id: import_ir78000004, inst_id: inst7000008A} -// CHECK:STDOUT: import_ir_inst4F: {ir_id: import_ir78000004, inst_id: inst7000008E} -// CHECK:STDOUT: import_ir_inst50: {ir_id: import_ir78000004, inst_id: inst70000094} -// CHECK:STDOUT: import_ir_inst51: {ir_id: import_ir78000004, inst_id: inst70000098} -// CHECK:STDOUT: import_ir_inst52: {ir_id: import_ir78000004, inst_id: inst700000B8} -// CHECK:STDOUT: import_ir_inst53: {ir_id: import_ir78000004, inst_id: inst700000B9} -// CHECK:STDOUT: import_ir_inst54: {ir_id: import_ir78000004, inst_id: inst700000F3} -// CHECK:STDOUT: import_ir_inst55: {ir_id: import_ir78000004, inst_id: inst700000EF} -// CHECK:STDOUT: import_ir_inst56: {ir_id: import_ir78000004, inst_id: inst700000ED} -// CHECK:STDOUT: import_ir_inst57: {ir_id: import_ir78000004, inst_id: inst700000EE} -// CHECK:STDOUT: import_ir_inst58: {ir_id: import_ir78000004, inst_id: inst700000F0} -// CHECK:STDOUT: import_ir_inst59: {ir_id: import_ir78000004, inst_id: inst70000112} -// CHECK:STDOUT: import_ir_inst5A: {ir_id: import_ir78000004, inst_id: inst7000010E} -// CHECK:STDOUT: import_ir_inst5B: {ir_id: import_ir78000004, inst_id: inst7000010C} -// CHECK:STDOUT: import_ir_inst5C: {ir_id: import_ir78000004, inst_id: inst7000010D} -// CHECK:STDOUT: import_ir_inst5D: {ir_id: import_ir78000004, inst_id: inst7000010F} -// CHECK:STDOUT: import_ir_inst5E: {ir_id: import_ir78000004, inst_id: inst70000131} -// CHECK:STDOUT: import_ir_inst5F: {ir_id: import_ir78000004, inst_id: inst7000012D} -// CHECK:STDOUT: import_ir_inst60: {ir_id: import_ir78000004, inst_id: inst7000012B} -// CHECK:STDOUT: import_ir_inst61: {ir_id: import_ir78000004, inst_id: inst7000012C} -// CHECK:STDOUT: import_ir_inst62: {ir_id: import_ir78000004, inst_id: inst7000012E} -// CHECK:STDOUT: import_ir_inst63: {ir_id: import_ir78000004, inst_id: inst70000150} -// CHECK:STDOUT: import_ir_inst64: {ir_id: import_ir78000004, inst_id: inst7000014C} -// CHECK:STDOUT: import_ir_inst65: {ir_id: import_ir78000004, inst_id: inst7000014A} -// CHECK:STDOUT: import_ir_inst66: {ir_id: import_ir78000004, inst_id: inst7000014B} -// CHECK:STDOUT: import_ir_inst67: {ir_id: import_ir78000004, inst_id: inst7000014D} -// CHECK:STDOUT: import_ir_inst68: {ir_id: import_ir78000004, inst_id: inst7000017C} -// CHECK:STDOUT: import_ir_inst69: {ir_id: import_ir78000004, inst_id: inst70000177} -// CHECK:STDOUT: import_ir_inst6A: {ir_id: import_ir78000004, inst_id: inst70000198} -// CHECK:STDOUT: import_ir_inst6B: {ir_id: import_ir78000004, inst_id: inst7000017B} -// CHECK:STDOUT: import_ir_inst6C: {ir_id: import_ir78000004, inst_id: inst7000016B} -// CHECK:STDOUT: import_ir_inst6D: {ir_id: import_ir78000004, inst_id: inst70000172} -// CHECK:STDOUT: import_ir_inst6E: {ir_id: import_ir78000004, inst_id: inst70000175} -// CHECK:STDOUT: import_ir_inst6F: {ir_id: import_ir78000004, inst_id: inst70000178} -// CHECK:STDOUT: import_ir_inst70: {ir_id: import_ir78000004, inst_id: inst7000016E} -// CHECK:STDOUT: import_ir_inst71: {ir_id: import_ir78000004, inst_id: inst7000016D} -// CHECK:STDOUT: import_ir_inst72: {ir_id: import_ir78000004, inst_id: inst70000170} -// CHECK:STDOUT: import_ir_inst73: {ir_id: import_ir78000004, inst_id: inst70000174} -// CHECK:STDOUT: import_ir_inst74: {ir_id: import_ir78000004, inst_id: inst7000017A} -// CHECK:STDOUT: import_ir_inst75: {ir_id: import_ir78000004, inst_id: inst7000017E} -// CHECK:STDOUT: import_ir_inst76: {ir_id: import_ir78000004, inst_id: inst70000198} -// CHECK:STDOUT: import_ir_inst77: {ir_id: import_ir78000004, inst_id: inst70000190} -// CHECK:STDOUT: import_ir_inst78: {ir_id: import_ir78000004, inst_id: inst70000184} -// CHECK:STDOUT: import_ir_inst79: {ir_id: import_ir78000004, inst_id: inst70000190} -// CHECK:STDOUT: import_ir_inst7A: {ir_id: import_ir78000004, inst_id: inst70000184} -// CHECK:STDOUT: import_ir_inst7B: {ir_id: import_ir78000004, inst_id: inst70000183} -// CHECK:STDOUT: import_ir_inst7C: {ir_id: import_ir78000004, inst_id: inst7000018F} -// CHECK:STDOUT: import_ir_inst7D: {ir_id: import_ir78000004, inst_id: inst70000187} -// CHECK:STDOUT: import_ir_inst7E: {ir_id: import_ir78000004, inst_id: inst70000187} -// CHECK:STDOUT: import_ir_inst7F: {ir_id: import_ir78000004, inst_id: inst7000018B} -// CHECK:STDOUT: import_ir_inst80: {ir_id: import_ir78000004, inst_id: inst7000018C} -// CHECK:STDOUT: import_ir_inst81: {ir_id: import_ir78000004, inst_id: inst70000192} -// CHECK:STDOUT: import_ir_inst82: {ir_id: import_ir78000004, inst_id: inst7000016E} -// CHECK:STDOUT: import_ir_inst83: {ir_id: import_ir78000004, inst_id: inst70000180} -// CHECK:STDOUT: import_ir_inst84: {ir_id: import_ir78000004, inst_id: inst70000181} -// CHECK:STDOUT: import_ir_inst85: {ir_id: import_ir78000004, inst_id: inst70000185} -// CHECK:STDOUT: import_ir_inst86: {ir_id: import_ir78000004, inst_id: inst70000186} -// CHECK:STDOUT: import_ir_inst87: {ir_id: import_ir78000004, inst_id: inst70000189} -// CHECK:STDOUT: import_ir_inst88: {ir_id: import_ir78000004, inst_id: inst7000018E} -// CHECK:STDOUT: import_ir_inst89: {ir_id: import_ir78000004, inst_id: inst70000191} -// CHECK:STDOUT: import_ir_inst8A: {ir_id: import_ir78000004, inst_id: inst70000194} -// CHECK:STDOUT: import_ir_inst8B: {ir_id: import_ir78000004, inst_id: inst70000190} -// CHECK:STDOUT: import_ir_inst8C: {ir_id: import_ir78000004, inst_id: inst70000184} -// CHECK:STDOUT: import_ir_inst8D: {ir_id: import_ir78000004, inst_id: inst7000019B} -// CHECK:STDOUT: import_ir_inst8E: {ir_id: import_ir78000004, inst_id: inst7000019C} -// CHECK:STDOUT: import_ir_inst8F: {ir_id: import_ir78000004, inst_id: inst7000019F} -// CHECK:STDOUT: import_ir_inst90: {ir_id: import_ir78000004, inst_id: inst700001A9} -// CHECK:STDOUT: import_ir_inst91: {ir_id: import_ir78000004, inst_id: inst700001A5} -// CHECK:STDOUT: import_ir_inst92: {ir_id: import_ir78000004, inst_id: inst700001A3} -// CHECK:STDOUT: import_ir_inst93: {ir_id: import_ir78000004, inst_id: inst700001A4} -// CHECK:STDOUT: import_ir_inst94: {ir_id: import_ir78000004, inst_id: inst700001A6} -// CHECK:STDOUT: import_ir_inst95: {ir_id: import_ir78000004, inst_id: inst700001C6} -// CHECK:STDOUT: import_ir_inst96: {ir_id: import_ir78000004, inst_id: inst700001C2} -// CHECK:STDOUT: import_ir_inst97: {ir_id: import_ir78000004, inst_id: inst700001C0} -// CHECK:STDOUT: import_ir_inst98: {ir_id: import_ir78000004, inst_id: inst700001C1} -// CHECK:STDOUT: import_ir_inst99: {ir_id: import_ir78000004, inst_id: inst700001C3} -// CHECK:STDOUT: import_ir_inst9A: {ir_id: import_ir78000004, inst_id: inst70000206} -// CHECK:STDOUT: import_ir_inst9B: {ir_id: import_ir78000004, inst_id: inst70000201} -// CHECK:STDOUT: import_ir_inst9C: {ir_id: import_ir78000004, inst_id: inst70000229} -// CHECK:STDOUT: import_ir_inst9D: {ir_id: import_ir78000004, inst_id: inst70000205} -// CHECK:STDOUT: import_ir_inst9E: {ir_id: import_ir78000004, inst_id: inst70000229} -// CHECK:STDOUT: import_ir_inst9F: {ir_id: import_ir78000004, inst_id: inst70000221} -// CHECK:STDOUT: import_ir_instA0: {ir_id: import_ir78000004, inst_id: inst70000215} -// CHECK:STDOUT: import_ir_instA1: {ir_id: import_ir78000004, inst_id: inst70000221} -// CHECK:STDOUT: import_ir_instA2: {ir_id: import_ir78000004, inst_id: inst70000215} -// CHECK:STDOUT: import_ir_instA3: {ir_id: import_ir78000004, inst_id: inst70000214} -// CHECK:STDOUT: import_ir_instA4: {ir_id: import_ir78000004, inst_id: inst70000220} -// CHECK:STDOUT: import_ir_instA5: {ir_id: import_ir78000004, inst_id: inst70000218} -// CHECK:STDOUT: import_ir_instA6: {ir_id: import_ir78000004, inst_id: inst70000218} -// CHECK:STDOUT: import_ir_instA7: {ir_id: import_ir78000004, inst_id: inst7000021C} -// CHECK:STDOUT: import_ir_instA8: {ir_id: import_ir78000004, inst_id: inst7000021D} -// CHECK:STDOUT: import_ir_instA9: {ir_id: import_ir78000004, inst_id: inst70000223} -// CHECK:STDOUT: import_ir_instAA: {ir_id: import_ir78000004, inst_id: inst700001E3} -// CHECK:STDOUT: import_ir_instAB: {ir_id: import_ir78000004, inst_id: inst700001EA} -// CHECK:STDOUT: import_ir_instAC: {ir_id: import_ir78000004, inst_id: inst7000020E} -// CHECK:STDOUT: import_ir_instAD: {ir_id: import_ir78000004, inst_id: inst7000020F} -// CHECK:STDOUT: import_ir_instAE: {ir_id: import_ir78000004, inst_id: inst70000210} -// CHECK:STDOUT: import_ir_instAF: {ir_id: import_ir78000004, inst_id: inst70000211} -// CHECK:STDOUT: import_ir_instB0: {ir_id: import_ir78000004, inst_id: inst70000212} -// CHECK:STDOUT: import_ir_instB1: {ir_id: import_ir78000004, inst_id: inst70000216} -// CHECK:STDOUT: import_ir_instB2: {ir_id: import_ir78000004, inst_id: inst70000217} -// CHECK:STDOUT: import_ir_instB3: {ir_id: import_ir78000004, inst_id: inst7000021A} -// CHECK:STDOUT: import_ir_instB4: {ir_id: import_ir78000004, inst_id: inst7000021F} -// CHECK:STDOUT: import_ir_instB5: {ir_id: import_ir78000004, inst_id: inst70000222} -// CHECK:STDOUT: import_ir_instB6: {ir_id: import_ir78000004, inst_id: inst70000225} -// CHECK:STDOUT: import_ir_instB7: {ir_id: import_ir78000004, inst_id: inst70000264} -// CHECK:STDOUT: import_ir_instB8: {ir_id: import_ir78000004, inst_id: inst70000261} -// CHECK:STDOUT: import_ir_instB9: {ir_id: import_ir78000004, inst_id: inst70000234} -// CHECK:STDOUT: import_ir_instBA: {ir_id: import_ir78000004, inst_id: inst7000023A} -// CHECK:STDOUT: import_ir_instBB: {ir_id: import_ir78000004, inst_id: inst7000023E} -// CHECK:STDOUT: import_ir_instBC: {ir_id: import_ir78000004, inst_id: inst7000023F} -// CHECK:STDOUT: import_ir_instBD: {ir_id: import_ir78000004, inst_id: inst70000240} -// CHECK:STDOUT: import_ir_instBE: {ir_id: import_ir78000004, inst_id: inst70000241} -// CHECK:STDOUT: import_ir_instBF: {ir_id: import_ir78000004, inst_id: inst70000246} -// CHECK:STDOUT: import_ir_instC0: {ir_id: import_ir78000004, inst_id: inst70000250} -// CHECK:STDOUT: import_ir_instC1: {ir_id: import_ir78000004, inst_id: inst70000259} -// CHECK:STDOUT: import_ir_instC2: {ir_id: import_ir78000004, inst_id: inst7000025A} -// CHECK:STDOUT: import_ir_instC3: {ir_id: import_ir78000004, inst_id: inst7000025B} -// CHECK:STDOUT: import_ir_instC4: {ir_id: import_ir78000004, inst_id: inst7000025C} -// CHECK:STDOUT: import_ir_instC5: {ir_id: import_ir78000004, inst_id: inst70000268} -// CHECK:STDOUT: import_ir_instC6: {ir_id: import_ir78000004, inst_id: inst70000221} -// CHECK:STDOUT: import_ir_instC7: {ir_id: import_ir78000004, inst_id: inst70000215} -// CHECK:STDOUT: import_ir_instC8: {ir_id: import_ir78000004, inst_id: inst700001E1} -// CHECK:STDOUT: import_ir_instC9: {ir_id: import_ir78000004, inst_id: inst700001E7} -// CHECK:STDOUT: import_ir_instCA: {ir_id: import_ir78000004, inst_id: inst700001FC} -// CHECK:STDOUT: import_ir_instCB: {ir_id: import_ir78000004, inst_id: inst700001FE} -// CHECK:STDOUT: import_ir_instCC: {ir_id: import_ir78000004, inst_id: inst70000202} -// CHECK:STDOUT: import_ir_instCD: {ir_id: import_ir78000004, inst_id: inst700001E3} -// CHECK:STDOUT: import_ir_instCE: {ir_id: import_ir78000004, inst_id: inst700001EA} -// CHECK:STDOUT: import_ir_instCF: {ir_id: import_ir78000004, inst_id: inst700001E2} -// CHECK:STDOUT: import_ir_instD0: {ir_id: import_ir78000004, inst_id: inst700001E4} -// CHECK:STDOUT: import_ir_instD1: {ir_id: import_ir78000004, inst_id: inst700001E9} -// CHECK:STDOUT: import_ir_instD2: {ir_id: import_ir78000004, inst_id: inst700001EC} -// CHECK:STDOUT: import_ir_instD3: {ir_id: import_ir78000004, inst_id: inst700001F2} -// CHECK:STDOUT: import_ir_instD4: {ir_id: import_ir78000004, inst_id: inst700001F5} -// CHECK:STDOUT: import_ir_instD5: {ir_id: import_ir78000004, inst_id: inst700001F9} -// CHECK:STDOUT: import_ir_instD6: {ir_id: import_ir78000004, inst_id: inst700001FD} -// CHECK:STDOUT: import_ir_instD7: {ir_id: import_ir78000004, inst_id: inst70000204} -// CHECK:STDOUT: import_ir_instD8: {ir_id: import_ir78000004, inst_id: inst70000208} -// CHECK:STDOUT: import_ir_instD9: {ir_id: import_ir78000004, inst_id: inst7000022C} -// CHECK:STDOUT: import_ir_instDA: {ir_id: import_ir78000004, inst_id: inst7000022D} -// CHECK:STDOUT: import_ir_instDB: {ir_id: import_ir78000004, inst_id: inst700002A9} -// CHECK:STDOUT: import_ir_instDC: {ir_id: import_ir78000004, inst_id: inst700002A4} -// CHECK:STDOUT: import_ir_instDD: {ir_id: import_ir78000004, inst_id: inst700002D0} -// CHECK:STDOUT: import_ir_instDE: {ir_id: import_ir78000004, inst_id: inst700002A8} -// CHECK:STDOUT: import_ir_instDF: {ir_id: import_ir78000004, inst_id: inst700002D0} -// CHECK:STDOUT: import_ir_instE0: {ir_id: import_ir78000004, inst_id: inst700002C8} -// CHECK:STDOUT: import_ir_instE1: {ir_id: import_ir78000004, inst_id: inst700002BC} -// CHECK:STDOUT: import_ir_instE2: {ir_id: import_ir78000004, inst_id: inst700002C8} -// CHECK:STDOUT: import_ir_instE3: {ir_id: import_ir78000004, inst_id: inst700002BC} -// CHECK:STDOUT: import_ir_instE4: {ir_id: import_ir78000004, inst_id: inst700002BB} -// CHECK:STDOUT: import_ir_instE5: {ir_id: import_ir78000004, inst_id: inst700002C7} -// CHECK:STDOUT: import_ir_instE6: {ir_id: import_ir78000004, inst_id: inst700002BF} -// CHECK:STDOUT: import_ir_instE7: {ir_id: import_ir78000004, inst_id: inst700002BF} -// CHECK:STDOUT: import_ir_instE8: {ir_id: import_ir78000004, inst_id: inst700002C3} -// CHECK:STDOUT: import_ir_instE9: {ir_id: import_ir78000004, inst_id: inst700002C4} -// CHECK:STDOUT: import_ir_instEA: {ir_id: import_ir78000004, inst_id: inst700002CA} -// CHECK:STDOUT: import_ir_instEB: {ir_id: import_ir78000004, inst_id: inst7000027B} -// CHECK:STDOUT: import_ir_instEC: {ir_id: import_ir78000004, inst_id: inst70000281} -// CHECK:STDOUT: import_ir_instED: {ir_id: import_ir78000004, inst_id: inst70000288} -// CHECK:STDOUT: import_ir_instEE: {ir_id: import_ir78000004, inst_id: inst700002B3} -// CHECK:STDOUT: import_ir_instEF: {ir_id: import_ir78000004, inst_id: inst700002B4} -// CHECK:STDOUT: import_ir_instF0: {ir_id: import_ir78000004, inst_id: inst700002B5} -// CHECK:STDOUT: import_ir_instF1: {ir_id: import_ir78000004, inst_id: inst700002B6} -// CHECK:STDOUT: import_ir_instF2: {ir_id: import_ir78000004, inst_id: inst700002B7} -// CHECK:STDOUT: import_ir_instF3: {ir_id: import_ir78000004, inst_id: inst700002B8} -// CHECK:STDOUT: import_ir_instF4: {ir_id: import_ir78000004, inst_id: inst700002B9} -// CHECK:STDOUT: import_ir_instF5: {ir_id: import_ir78000004, inst_id: inst700002BD} -// CHECK:STDOUT: import_ir_instF6: {ir_id: import_ir78000004, inst_id: inst700002BE} -// CHECK:STDOUT: import_ir_instF7: {ir_id: import_ir78000004, inst_id: inst700002C1} -// CHECK:STDOUT: import_ir_instF8: {ir_id: import_ir78000004, inst_id: inst700002C6} -// CHECK:STDOUT: import_ir_instF9: {ir_id: import_ir78000004, inst_id: inst700002C9} -// CHECK:STDOUT: import_ir_instFA: {ir_id: import_ir78000004, inst_id: inst700002CC} -// CHECK:STDOUT: import_ir_instFB: {ir_id: import_ir78000004, inst_id: inst7000031E} -// CHECK:STDOUT: import_ir_instFC: {ir_id: import_ir78000004, inst_id: inst7000031B} -// CHECK:STDOUT: import_ir_instFD: {ir_id: import_ir78000004, inst_id: inst700002DB} -// CHECK:STDOUT: import_ir_instFE: {ir_id: import_ir78000004, inst_id: inst700002E0} -// CHECK:STDOUT: import_ir_instFF: {ir_id: import_ir78000004, inst_id: inst700002E4} -// CHECK:STDOUT: import_ir_inst100: {ir_id: import_ir78000004, inst_id: inst700002E5} -// CHECK:STDOUT: import_ir_inst101: {ir_id: import_ir78000004, inst_id: inst700002E6} -// CHECK:STDOUT: import_ir_inst102: {ir_id: import_ir78000004, inst_id: inst700002E7} -// CHECK:STDOUT: import_ir_inst103: {ir_id: import_ir78000004, inst_id: inst700002EC} -// CHECK:STDOUT: import_ir_inst104: {ir_id: import_ir78000004, inst_id: inst700002F4} -// CHECK:STDOUT: import_ir_inst105: {ir_id: import_ir78000004, inst_id: inst700002F8} -// CHECK:STDOUT: import_ir_inst106: {ir_id: import_ir78000004, inst_id: inst700002F9} -// CHECK:STDOUT: import_ir_inst107: {ir_id: import_ir78000004, inst_id: inst700002FA} -// CHECK:STDOUT: import_ir_inst108: {ir_id: import_ir78000004, inst_id: inst700002FB} -// CHECK:STDOUT: import_ir_inst109: {ir_id: import_ir78000004, inst_id: inst70000300} -// CHECK:STDOUT: import_ir_inst10A: {ir_id: import_ir78000004, inst_id: inst7000030A} -// CHECK:STDOUT: import_ir_inst10B: {ir_id: import_ir78000004, inst_id: inst70000313} -// CHECK:STDOUT: import_ir_inst10C: {ir_id: import_ir78000004, inst_id: inst70000314} -// CHECK:STDOUT: import_ir_inst10D: {ir_id: import_ir78000004, inst_id: inst70000315} -// CHECK:STDOUT: import_ir_inst10E: {ir_id: import_ir78000004, inst_id: inst70000316} -// CHECK:STDOUT: import_ir_inst10F: {ir_id: import_ir78000004, inst_id: inst70000322} -// CHECK:STDOUT: import_ir_inst110: {ir_id: import_ir78000004, inst_id: inst700002C8} -// CHECK:STDOUT: import_ir_inst111: {ir_id: import_ir78000004, inst_id: inst700002BC} -// CHECK:STDOUT: import_ir_inst112: {ir_id: import_ir78000004, inst_id: inst70000279} -// CHECK:STDOUT: import_ir_inst113: {ir_id: import_ir78000004, inst_id: inst7000027F} -// CHECK:STDOUT: import_ir_inst114: {ir_id: import_ir78000004, inst_id: inst70000285} -// CHECK:STDOUT: import_ir_inst115: {ir_id: import_ir78000004, inst_id: inst7000029E} -// CHECK:STDOUT: import_ir_inst116: {ir_id: import_ir78000004, inst_id: inst700002A0} -// CHECK:STDOUT: import_ir_inst117: {ir_id: import_ir78000004, inst_id: inst700002A5} -// CHECK:STDOUT: import_ir_inst118: {ir_id: import_ir78000004, inst_id: inst7000027B} -// CHECK:STDOUT: import_ir_inst119: {ir_id: import_ir78000004, inst_id: inst70000281} -// CHECK:STDOUT: import_ir_inst11A: {ir_id: import_ir78000004, inst_id: inst70000288} -// CHECK:STDOUT: import_ir_inst11B: {ir_id: import_ir78000004, inst_id: inst7000027A} -// CHECK:STDOUT: import_ir_inst11C: {ir_id: import_ir78000004, inst_id: inst7000027C} -// CHECK:STDOUT: import_ir_inst11D: {ir_id: import_ir78000004, inst_id: inst70000280} -// CHECK:STDOUT: import_ir_inst11E: {ir_id: import_ir78000004, inst_id: inst70000282} -// CHECK:STDOUT: import_ir_inst11F: {ir_id: import_ir78000004, inst_id: inst70000287} -// CHECK:STDOUT: import_ir_inst120: {ir_id: import_ir78000004, inst_id: inst7000028A} -// CHECK:STDOUT: import_ir_inst121: {ir_id: import_ir78000004, inst_id: inst70000291} -// CHECK:STDOUT: import_ir_inst122: {ir_id: import_ir78000004, inst_id: inst70000294} -// CHECK:STDOUT: import_ir_inst123: {ir_id: import_ir78000004, inst_id: inst70000297} -// CHECK:STDOUT: import_ir_inst124: {ir_id: import_ir78000004, inst_id: inst7000029B} -// CHECK:STDOUT: import_ir_inst125: {ir_id: import_ir78000004, inst_id: inst7000029F} -// CHECK:STDOUT: import_ir_inst126: {ir_id: import_ir78000004, inst_id: inst700002A7} -// CHECK:STDOUT: import_ir_inst127: {ir_id: import_ir78000004, inst_id: inst700002AB} -// CHECK:STDOUT: import_ir_inst128: {ir_id: import_ir78000004, inst_id: inst700002D3} -// CHECK:STDOUT: import_ir_inst129: {ir_id: import_ir78000004, inst_id: inst700002D4} +// CHECK:STDOUT: import_ir_inst22: {ir_id: import_ir78000004, inst_id: inst70000095} +// CHECK:STDOUT: import_ir_inst23: {ir_id: import_ir78000004, inst_id: inst70000090} +// CHECK:STDOUT: import_ir_inst24: {ir_id: import_ir78000004, inst_id: inst700000B4} +// CHECK:STDOUT: import_ir_inst25: {ir_id: import_ir78000004, inst_id: inst70000094} +// CHECK:STDOUT: import_ir_inst26: {ir_id: import_ir78000004, inst_id: inst700000B4} +// CHECK:STDOUT: import_ir_inst27: {ir_id: import_ir78000004, inst_id: inst700000AC} +// CHECK:STDOUT: import_ir_inst28: {ir_id: import_ir78000004, inst_id: inst700000A0} +// CHECK:STDOUT: import_ir_inst29: {ir_id: import_ir78000004, inst_id: inst700000AC} +// CHECK:STDOUT: import_ir_inst2A: {ir_id: import_ir78000004, inst_id: inst700000A0} +// CHECK:STDOUT: import_ir_inst2B: {ir_id: import_ir78000004, inst_id: inst7000009F} +// CHECK:STDOUT: import_ir_inst2C: {ir_id: import_ir78000004, inst_id: inst700000AB} +// CHECK:STDOUT: import_ir_inst2D: {ir_id: import_ir78000004, inst_id: inst700000A3} +// CHECK:STDOUT: import_ir_inst2E: {ir_id: import_ir78000004, inst_id: inst700000A3} +// CHECK:STDOUT: import_ir_inst2F: {ir_id: import_ir78000004, inst_id: inst700000A7} +// CHECK:STDOUT: import_ir_inst30: {ir_id: import_ir78000004, inst_id: inst700000A8} +// CHECK:STDOUT: import_ir_inst31: {ir_id: import_ir78000004, inst_id: inst700000AE} +// CHECK:STDOUT: import_ir_inst32: {ir_id: import_ir78000004, inst_id: inst70000083} +// CHECK:STDOUT: import_ir_inst33: {ir_id: import_ir78000004, inst_id: inst7000009B} +// CHECK:STDOUT: import_ir_inst34: {ir_id: import_ir78000004, inst_id: inst7000009C} +// CHECK:STDOUT: import_ir_inst35: {ir_id: import_ir78000004, inst_id: inst7000009D} +// CHECK:STDOUT: import_ir_inst36: {ir_id: import_ir78000004, inst_id: inst700000A1} +// CHECK:STDOUT: import_ir_inst37: {ir_id: import_ir78000004, inst_id: inst700000A2} +// CHECK:STDOUT: import_ir_inst38: {ir_id: import_ir78000004, inst_id: inst700000A5} +// CHECK:STDOUT: import_ir_inst39: {ir_id: import_ir78000004, inst_id: inst700000AA} +// CHECK:STDOUT: import_ir_inst3A: {ir_id: import_ir78000004, inst_id: inst700000AD} +// CHECK:STDOUT: import_ir_inst3B: {ir_id: import_ir78000004, inst_id: inst700000B0} +// CHECK:STDOUT: import_ir_inst3C: {ir_id: import_ir78000004, inst_id: inst700000DC} +// CHECK:STDOUT: import_ir_inst3D: {ir_id: import_ir78000004, inst_id: inst700000D9} +// CHECK:STDOUT: import_ir_inst3E: {ir_id: import_ir78000004, inst_id: inst700000BE} +// CHECK:STDOUT: import_ir_inst3F: {ir_id: import_ir78000004, inst_id: inst700000C5} +// CHECK:STDOUT: import_ir_inst40: {ir_id: import_ir78000004, inst_id: inst700000D1} +// CHECK:STDOUT: import_ir_inst41: {ir_id: import_ir78000004, inst_id: inst700000D2} +// CHECK:STDOUT: import_ir_inst42: {ir_id: import_ir78000004, inst_id: inst700000D3} +// CHECK:STDOUT: import_ir_inst43: {ir_id: import_ir78000004, inst_id: inst700000D4} +// CHECK:STDOUT: import_ir_inst44: {ir_id: import_ir78000004, inst_id: inst700000E0} +// CHECK:STDOUT: import_ir_inst45: {ir_id: import_ir78000004, inst_id: inst700000AC} +// CHECK:STDOUT: import_ir_inst46: {ir_id: import_ir78000004, inst_id: inst700000A0} +// CHECK:STDOUT: import_ir_inst47: {ir_id: import_ir78000004, inst_id: inst70000080} +// CHECK:STDOUT: import_ir_inst48: {ir_id: import_ir78000004, inst_id: inst7000008B} +// CHECK:STDOUT: import_ir_inst49: {ir_id: import_ir78000004, inst_id: inst7000008E} +// CHECK:STDOUT: import_ir_inst4A: {ir_id: import_ir78000004, inst_id: inst70000091} +// CHECK:STDOUT: import_ir_inst4B: {ir_id: import_ir78000004, inst_id: inst70000083} +// CHECK:STDOUT: import_ir_inst4C: {ir_id: import_ir78000004, inst_id: inst70000082} +// CHECK:STDOUT: import_ir_inst4D: {ir_id: import_ir78000004, inst_id: inst70000085} +// CHECK:STDOUT: import_ir_inst4E: {ir_id: import_ir78000004, inst_id: inst70000089} +// CHECK:STDOUT: import_ir_inst4F: {ir_id: import_ir78000004, inst_id: inst7000008D} +// CHECK:STDOUT: import_ir_inst50: {ir_id: import_ir78000004, inst_id: inst70000093} +// CHECK:STDOUT: import_ir_inst51: {ir_id: import_ir78000004, inst_id: inst70000097} +// CHECK:STDOUT: import_ir_inst52: {ir_id: import_ir78000004, inst_id: inst700000B7} +// CHECK:STDOUT: import_ir_inst53: {ir_id: import_ir78000004, inst_id: inst700000B8} +// CHECK:STDOUT: import_ir_inst54: {ir_id: import_ir78000004, inst_id: inst700000F2} +// CHECK:STDOUT: import_ir_inst55: {ir_id: import_ir78000004, inst_id: inst700000EE} +// CHECK:STDOUT: import_ir_inst56: {ir_id: import_ir78000004, inst_id: inst700000EC} +// CHECK:STDOUT: import_ir_inst57: {ir_id: import_ir78000004, inst_id: inst700000ED} +// CHECK:STDOUT: import_ir_inst58: {ir_id: import_ir78000004, inst_id: inst700000EF} +// CHECK:STDOUT: import_ir_inst59: {ir_id: import_ir78000004, inst_id: inst70000111} +// CHECK:STDOUT: import_ir_inst5A: {ir_id: import_ir78000004, inst_id: inst7000010D} +// CHECK:STDOUT: import_ir_inst5B: {ir_id: import_ir78000004, inst_id: inst7000010B} +// CHECK:STDOUT: import_ir_inst5C: {ir_id: import_ir78000004, inst_id: inst7000010C} +// CHECK:STDOUT: import_ir_inst5D: {ir_id: import_ir78000004, inst_id: inst7000010E} +// CHECK:STDOUT: import_ir_inst5E: {ir_id: import_ir78000004, inst_id: inst70000130} +// CHECK:STDOUT: import_ir_inst5F: {ir_id: import_ir78000004, inst_id: inst7000012C} +// CHECK:STDOUT: import_ir_inst60: {ir_id: import_ir78000004, inst_id: inst7000012A} +// CHECK:STDOUT: import_ir_inst61: {ir_id: import_ir78000004, inst_id: inst7000012B} +// CHECK:STDOUT: import_ir_inst62: {ir_id: import_ir78000004, inst_id: inst7000012D} +// CHECK:STDOUT: import_ir_inst63: {ir_id: import_ir78000004, inst_id: inst7000014F} +// CHECK:STDOUT: import_ir_inst64: {ir_id: import_ir78000004, inst_id: inst7000014B} +// CHECK:STDOUT: import_ir_inst65: {ir_id: import_ir78000004, inst_id: inst70000149} +// CHECK:STDOUT: import_ir_inst66: {ir_id: import_ir78000004, inst_id: inst7000014A} +// CHECK:STDOUT: import_ir_inst67: {ir_id: import_ir78000004, inst_id: inst7000014C} +// CHECK:STDOUT: import_ir_inst68: {ir_id: import_ir78000004, inst_id: inst7000017B} +// CHECK:STDOUT: import_ir_inst69: {ir_id: import_ir78000004, inst_id: inst70000176} +// CHECK:STDOUT: import_ir_inst6A: {ir_id: import_ir78000004, inst_id: inst70000197} +// CHECK:STDOUT: import_ir_inst6B: {ir_id: import_ir78000004, inst_id: inst7000017A} +// CHECK:STDOUT: import_ir_inst6C: {ir_id: import_ir78000004, inst_id: inst7000016A} +// CHECK:STDOUT: import_ir_inst6D: {ir_id: import_ir78000004, inst_id: inst70000171} +// CHECK:STDOUT: import_ir_inst6E: {ir_id: import_ir78000004, inst_id: inst70000174} +// CHECK:STDOUT: import_ir_inst6F: {ir_id: import_ir78000004, inst_id: inst70000177} +// CHECK:STDOUT: import_ir_inst70: {ir_id: import_ir78000004, inst_id: inst7000016D} +// CHECK:STDOUT: import_ir_inst71: {ir_id: import_ir78000004, inst_id: inst7000016C} +// CHECK:STDOUT: import_ir_inst72: {ir_id: import_ir78000004, inst_id: inst7000016F} +// CHECK:STDOUT: import_ir_inst73: {ir_id: import_ir78000004, inst_id: inst70000173} +// CHECK:STDOUT: import_ir_inst74: {ir_id: import_ir78000004, inst_id: inst70000179} +// CHECK:STDOUT: import_ir_inst75: {ir_id: import_ir78000004, inst_id: inst7000017D} +// CHECK:STDOUT: import_ir_inst76: {ir_id: import_ir78000004, inst_id: inst70000197} +// CHECK:STDOUT: import_ir_inst77: {ir_id: import_ir78000004, inst_id: inst7000018F} +// CHECK:STDOUT: import_ir_inst78: {ir_id: import_ir78000004, inst_id: inst70000183} +// CHECK:STDOUT: import_ir_inst79: {ir_id: import_ir78000004, inst_id: inst7000018F} +// CHECK:STDOUT: import_ir_inst7A: {ir_id: import_ir78000004, inst_id: inst70000183} +// CHECK:STDOUT: import_ir_inst7B: {ir_id: import_ir78000004, inst_id: inst70000182} +// CHECK:STDOUT: import_ir_inst7C: {ir_id: import_ir78000004, inst_id: inst7000018E} +// CHECK:STDOUT: import_ir_inst7D: {ir_id: import_ir78000004, inst_id: inst70000186} +// CHECK:STDOUT: import_ir_inst7E: {ir_id: import_ir78000004, inst_id: inst70000186} +// CHECK:STDOUT: import_ir_inst7F: {ir_id: import_ir78000004, inst_id: inst7000018A} +// CHECK:STDOUT: import_ir_inst80: {ir_id: import_ir78000004, inst_id: inst7000018B} +// CHECK:STDOUT: import_ir_inst81: {ir_id: import_ir78000004, inst_id: inst70000191} +// CHECK:STDOUT: import_ir_inst82: {ir_id: import_ir78000004, inst_id: inst7000016D} +// CHECK:STDOUT: import_ir_inst83: {ir_id: import_ir78000004, inst_id: inst7000017F} +// CHECK:STDOUT: import_ir_inst84: {ir_id: import_ir78000004, inst_id: inst70000180} +// CHECK:STDOUT: import_ir_inst85: {ir_id: import_ir78000004, inst_id: inst70000184} +// CHECK:STDOUT: import_ir_inst86: {ir_id: import_ir78000004, inst_id: inst70000185} +// CHECK:STDOUT: import_ir_inst87: {ir_id: import_ir78000004, inst_id: inst70000188} +// CHECK:STDOUT: import_ir_inst88: {ir_id: import_ir78000004, inst_id: inst7000018D} +// CHECK:STDOUT: import_ir_inst89: {ir_id: import_ir78000004, inst_id: inst70000190} +// CHECK:STDOUT: import_ir_inst8A: {ir_id: import_ir78000004, inst_id: inst70000193} +// CHECK:STDOUT: import_ir_inst8B: {ir_id: import_ir78000004, inst_id: inst7000018F} +// CHECK:STDOUT: import_ir_inst8C: {ir_id: import_ir78000004, inst_id: inst70000183} +// CHECK:STDOUT: import_ir_inst8D: {ir_id: import_ir78000004, inst_id: inst7000019A} +// CHECK:STDOUT: import_ir_inst8E: {ir_id: import_ir78000004, inst_id: inst7000019B} +// CHECK:STDOUT: import_ir_inst8F: {ir_id: import_ir78000004, inst_id: inst7000019E} +// CHECK:STDOUT: import_ir_inst90: {ir_id: import_ir78000004, inst_id: inst700001A8} +// CHECK:STDOUT: import_ir_inst91: {ir_id: import_ir78000004, inst_id: inst700001A4} +// CHECK:STDOUT: import_ir_inst92: {ir_id: import_ir78000004, inst_id: inst700001A2} +// CHECK:STDOUT: import_ir_inst93: {ir_id: import_ir78000004, inst_id: inst700001A3} +// CHECK:STDOUT: import_ir_inst94: {ir_id: import_ir78000004, inst_id: inst700001A5} +// CHECK:STDOUT: import_ir_inst95: {ir_id: import_ir78000004, inst_id: inst700001C5} +// CHECK:STDOUT: import_ir_inst96: {ir_id: import_ir78000004, inst_id: inst700001C1} +// CHECK:STDOUT: import_ir_inst97: {ir_id: import_ir78000004, inst_id: inst700001BF} +// CHECK:STDOUT: import_ir_inst98: {ir_id: import_ir78000004, inst_id: inst700001C0} +// CHECK:STDOUT: import_ir_inst99: {ir_id: import_ir78000004, inst_id: inst700001C2} +// CHECK:STDOUT: import_ir_inst9A: {ir_id: import_ir78000004, inst_id: inst70000205} +// CHECK:STDOUT: import_ir_inst9B: {ir_id: import_ir78000004, inst_id: inst70000200} +// CHECK:STDOUT: import_ir_inst9C: {ir_id: import_ir78000004, inst_id: inst70000228} +// CHECK:STDOUT: import_ir_inst9D: {ir_id: import_ir78000004, inst_id: inst70000204} +// CHECK:STDOUT: import_ir_inst9E: {ir_id: import_ir78000004, inst_id: inst70000228} +// CHECK:STDOUT: import_ir_inst9F: {ir_id: import_ir78000004, inst_id: inst70000220} +// CHECK:STDOUT: import_ir_instA0: {ir_id: import_ir78000004, inst_id: inst70000214} +// CHECK:STDOUT: import_ir_instA1: {ir_id: import_ir78000004, inst_id: inst70000220} +// CHECK:STDOUT: import_ir_instA2: {ir_id: import_ir78000004, inst_id: inst70000214} +// CHECK:STDOUT: import_ir_instA3: {ir_id: import_ir78000004, inst_id: inst70000213} +// CHECK:STDOUT: import_ir_instA4: {ir_id: import_ir78000004, inst_id: inst7000021F} +// CHECK:STDOUT: import_ir_instA5: {ir_id: import_ir78000004, inst_id: inst70000217} +// CHECK:STDOUT: import_ir_instA6: {ir_id: import_ir78000004, inst_id: inst70000217} +// CHECK:STDOUT: import_ir_instA7: {ir_id: import_ir78000004, inst_id: inst7000021B} +// CHECK:STDOUT: import_ir_instA8: {ir_id: import_ir78000004, inst_id: inst7000021C} +// CHECK:STDOUT: import_ir_instA9: {ir_id: import_ir78000004, inst_id: inst70000222} +// CHECK:STDOUT: import_ir_instAA: {ir_id: import_ir78000004, inst_id: inst700001E2} +// CHECK:STDOUT: import_ir_instAB: {ir_id: import_ir78000004, inst_id: inst700001E9} +// CHECK:STDOUT: import_ir_instAC: {ir_id: import_ir78000004, inst_id: inst7000020D} +// CHECK:STDOUT: import_ir_instAD: {ir_id: import_ir78000004, inst_id: inst7000020E} +// CHECK:STDOUT: import_ir_instAE: {ir_id: import_ir78000004, inst_id: inst7000020F} +// CHECK:STDOUT: import_ir_instAF: {ir_id: import_ir78000004, inst_id: inst70000210} +// CHECK:STDOUT: import_ir_instB0: {ir_id: import_ir78000004, inst_id: inst70000211} +// CHECK:STDOUT: import_ir_instB1: {ir_id: import_ir78000004, inst_id: inst70000215} +// CHECK:STDOUT: import_ir_instB2: {ir_id: import_ir78000004, inst_id: inst70000216} +// CHECK:STDOUT: import_ir_instB3: {ir_id: import_ir78000004, inst_id: inst70000219} +// CHECK:STDOUT: import_ir_instB4: {ir_id: import_ir78000004, inst_id: inst7000021E} +// CHECK:STDOUT: import_ir_instB5: {ir_id: import_ir78000004, inst_id: inst70000221} +// CHECK:STDOUT: import_ir_instB6: {ir_id: import_ir78000004, inst_id: inst70000224} +// CHECK:STDOUT: import_ir_instB7: {ir_id: import_ir78000004, inst_id: inst70000263} +// CHECK:STDOUT: import_ir_instB8: {ir_id: import_ir78000004, inst_id: inst70000260} +// CHECK:STDOUT: import_ir_instB9: {ir_id: import_ir78000004, inst_id: inst70000233} +// CHECK:STDOUT: import_ir_instBA: {ir_id: import_ir78000004, inst_id: inst70000239} +// CHECK:STDOUT: import_ir_instBB: {ir_id: import_ir78000004, inst_id: inst7000023D} +// CHECK:STDOUT: import_ir_instBC: {ir_id: import_ir78000004, inst_id: inst7000023E} +// CHECK:STDOUT: import_ir_instBD: {ir_id: import_ir78000004, inst_id: inst7000023F} +// CHECK:STDOUT: import_ir_instBE: {ir_id: import_ir78000004, inst_id: inst70000240} +// CHECK:STDOUT: import_ir_instBF: {ir_id: import_ir78000004, inst_id: inst70000245} +// CHECK:STDOUT: import_ir_instC0: {ir_id: import_ir78000004, inst_id: inst7000024F} +// CHECK:STDOUT: import_ir_instC1: {ir_id: import_ir78000004, inst_id: inst70000258} +// CHECK:STDOUT: import_ir_instC2: {ir_id: import_ir78000004, inst_id: inst70000259} +// CHECK:STDOUT: import_ir_instC3: {ir_id: import_ir78000004, inst_id: inst7000025A} +// CHECK:STDOUT: import_ir_instC4: {ir_id: import_ir78000004, inst_id: inst7000025B} +// CHECK:STDOUT: import_ir_instC5: {ir_id: import_ir78000004, inst_id: inst70000267} +// CHECK:STDOUT: import_ir_instC6: {ir_id: import_ir78000004, inst_id: inst70000220} +// CHECK:STDOUT: import_ir_instC7: {ir_id: import_ir78000004, inst_id: inst70000214} +// CHECK:STDOUT: import_ir_instC8: {ir_id: import_ir78000004, inst_id: inst700001E0} +// CHECK:STDOUT: import_ir_instC9: {ir_id: import_ir78000004, inst_id: inst700001E6} +// CHECK:STDOUT: import_ir_instCA: {ir_id: import_ir78000004, inst_id: inst700001FB} +// CHECK:STDOUT: import_ir_instCB: {ir_id: import_ir78000004, inst_id: inst700001FD} +// CHECK:STDOUT: import_ir_instCC: {ir_id: import_ir78000004, inst_id: inst70000201} +// CHECK:STDOUT: import_ir_instCD: {ir_id: import_ir78000004, inst_id: inst700001E2} +// CHECK:STDOUT: import_ir_instCE: {ir_id: import_ir78000004, inst_id: inst700001E9} +// CHECK:STDOUT: import_ir_instCF: {ir_id: import_ir78000004, inst_id: inst700001E1} +// CHECK:STDOUT: import_ir_instD0: {ir_id: import_ir78000004, inst_id: inst700001E3} +// CHECK:STDOUT: import_ir_instD1: {ir_id: import_ir78000004, inst_id: inst700001E8} +// CHECK:STDOUT: import_ir_instD2: {ir_id: import_ir78000004, inst_id: inst700001EB} +// CHECK:STDOUT: import_ir_instD3: {ir_id: import_ir78000004, inst_id: inst700001F1} +// CHECK:STDOUT: import_ir_instD4: {ir_id: import_ir78000004, inst_id: inst700001F4} +// CHECK:STDOUT: import_ir_instD5: {ir_id: import_ir78000004, inst_id: inst700001F8} +// CHECK:STDOUT: import_ir_instD6: {ir_id: import_ir78000004, inst_id: inst700001FC} +// CHECK:STDOUT: import_ir_instD7: {ir_id: import_ir78000004, inst_id: inst70000203} +// CHECK:STDOUT: import_ir_instD8: {ir_id: import_ir78000004, inst_id: inst70000207} +// CHECK:STDOUT: import_ir_instD9: {ir_id: import_ir78000004, inst_id: inst7000022B} +// CHECK:STDOUT: import_ir_instDA: {ir_id: import_ir78000004, inst_id: inst7000022C} +// CHECK:STDOUT: import_ir_instDB: {ir_id: import_ir78000004, inst_id: inst700002A8} +// CHECK:STDOUT: import_ir_instDC: {ir_id: import_ir78000004, inst_id: inst700002A3} +// CHECK:STDOUT: import_ir_instDD: {ir_id: import_ir78000004, inst_id: inst700002CF} +// CHECK:STDOUT: import_ir_instDE: {ir_id: import_ir78000004, inst_id: inst700002A7} +// CHECK:STDOUT: import_ir_instDF: {ir_id: import_ir78000004, inst_id: inst700002CF} +// CHECK:STDOUT: import_ir_instE0: {ir_id: import_ir78000004, inst_id: inst700002C7} +// CHECK:STDOUT: import_ir_instE1: {ir_id: import_ir78000004, inst_id: inst700002BB} +// CHECK:STDOUT: import_ir_instE2: {ir_id: import_ir78000004, inst_id: inst700002C7} +// CHECK:STDOUT: import_ir_instE3: {ir_id: import_ir78000004, inst_id: inst700002BB} +// CHECK:STDOUT: import_ir_instE4: {ir_id: import_ir78000004, inst_id: inst700002BA} +// CHECK:STDOUT: import_ir_instE5: {ir_id: import_ir78000004, inst_id: inst700002C6} +// CHECK:STDOUT: import_ir_instE6: {ir_id: import_ir78000004, inst_id: inst700002BE} +// CHECK:STDOUT: import_ir_instE7: {ir_id: import_ir78000004, inst_id: inst700002BE} +// CHECK:STDOUT: import_ir_instE8: {ir_id: import_ir78000004, inst_id: inst700002C2} +// CHECK:STDOUT: import_ir_instE9: {ir_id: import_ir78000004, inst_id: inst700002C3} +// CHECK:STDOUT: import_ir_instEA: {ir_id: import_ir78000004, inst_id: inst700002C9} +// CHECK:STDOUT: import_ir_instEB: {ir_id: import_ir78000004, inst_id: inst7000027A} +// CHECK:STDOUT: import_ir_instEC: {ir_id: import_ir78000004, inst_id: inst70000280} +// CHECK:STDOUT: import_ir_instED: {ir_id: import_ir78000004, inst_id: inst70000287} +// CHECK:STDOUT: import_ir_instEE: {ir_id: import_ir78000004, inst_id: inst700002B2} +// CHECK:STDOUT: import_ir_instEF: {ir_id: import_ir78000004, inst_id: inst700002B3} +// CHECK:STDOUT: import_ir_instF0: {ir_id: import_ir78000004, inst_id: inst700002B4} +// CHECK:STDOUT: import_ir_instF1: {ir_id: import_ir78000004, inst_id: inst700002B5} +// CHECK:STDOUT: import_ir_instF2: {ir_id: import_ir78000004, inst_id: inst700002B6} +// CHECK:STDOUT: import_ir_instF3: {ir_id: import_ir78000004, inst_id: inst700002B7} +// CHECK:STDOUT: import_ir_instF4: {ir_id: import_ir78000004, inst_id: inst700002B8} +// CHECK:STDOUT: import_ir_instF5: {ir_id: import_ir78000004, inst_id: inst700002BC} +// CHECK:STDOUT: import_ir_instF6: {ir_id: import_ir78000004, inst_id: inst700002BD} +// CHECK:STDOUT: import_ir_instF7: {ir_id: import_ir78000004, inst_id: inst700002C0} +// CHECK:STDOUT: import_ir_instF8: {ir_id: import_ir78000004, inst_id: inst700002C5} +// CHECK:STDOUT: import_ir_instF9: {ir_id: import_ir78000004, inst_id: inst700002C8} +// CHECK:STDOUT: import_ir_instFA: {ir_id: import_ir78000004, inst_id: inst700002CB} +// CHECK:STDOUT: import_ir_instFB: {ir_id: import_ir78000004, inst_id: inst7000031D} +// CHECK:STDOUT: import_ir_instFC: {ir_id: import_ir78000004, inst_id: inst7000031A} +// CHECK:STDOUT: import_ir_instFD: {ir_id: import_ir78000004, inst_id: inst700002DA} +// CHECK:STDOUT: import_ir_instFE: {ir_id: import_ir78000004, inst_id: inst700002DF} +// CHECK:STDOUT: import_ir_instFF: {ir_id: import_ir78000004, inst_id: inst700002E3} +// CHECK:STDOUT: import_ir_inst100: {ir_id: import_ir78000004, inst_id: inst700002E4} +// CHECK:STDOUT: import_ir_inst101: {ir_id: import_ir78000004, inst_id: inst700002E5} +// CHECK:STDOUT: import_ir_inst102: {ir_id: import_ir78000004, inst_id: inst700002E6} +// CHECK:STDOUT: import_ir_inst103: {ir_id: import_ir78000004, inst_id: inst700002EB} +// CHECK:STDOUT: import_ir_inst104: {ir_id: import_ir78000004, inst_id: inst700002F3} +// CHECK:STDOUT: import_ir_inst105: {ir_id: import_ir78000004, inst_id: inst700002F7} +// CHECK:STDOUT: import_ir_inst106: {ir_id: import_ir78000004, inst_id: inst700002F8} +// CHECK:STDOUT: import_ir_inst107: {ir_id: import_ir78000004, inst_id: inst700002F9} +// CHECK:STDOUT: import_ir_inst108: {ir_id: import_ir78000004, inst_id: inst700002FA} +// CHECK:STDOUT: import_ir_inst109: {ir_id: import_ir78000004, inst_id: inst700002FF} +// CHECK:STDOUT: import_ir_inst10A: {ir_id: import_ir78000004, inst_id: inst70000309} +// CHECK:STDOUT: import_ir_inst10B: {ir_id: import_ir78000004, inst_id: inst70000312} +// CHECK:STDOUT: import_ir_inst10C: {ir_id: import_ir78000004, inst_id: inst70000313} +// CHECK:STDOUT: import_ir_inst10D: {ir_id: import_ir78000004, inst_id: inst70000314} +// CHECK:STDOUT: import_ir_inst10E: {ir_id: import_ir78000004, inst_id: inst70000315} +// CHECK:STDOUT: import_ir_inst10F: {ir_id: import_ir78000004, inst_id: inst70000321} +// CHECK:STDOUT: import_ir_inst110: {ir_id: import_ir78000004, inst_id: inst700002C7} +// CHECK:STDOUT: import_ir_inst111: {ir_id: import_ir78000004, inst_id: inst700002BB} +// CHECK:STDOUT: import_ir_inst112: {ir_id: import_ir78000004, inst_id: inst70000278} +// CHECK:STDOUT: import_ir_inst113: {ir_id: import_ir78000004, inst_id: inst7000027E} +// CHECK:STDOUT: import_ir_inst114: {ir_id: import_ir78000004, inst_id: inst70000284} +// CHECK:STDOUT: import_ir_inst115: {ir_id: import_ir78000004, inst_id: inst7000029D} +// CHECK:STDOUT: import_ir_inst116: {ir_id: import_ir78000004, inst_id: inst7000029F} +// CHECK:STDOUT: import_ir_inst117: {ir_id: import_ir78000004, inst_id: inst700002A4} +// CHECK:STDOUT: import_ir_inst118: {ir_id: import_ir78000004, inst_id: inst7000027A} +// CHECK:STDOUT: import_ir_inst119: {ir_id: import_ir78000004, inst_id: inst70000280} +// CHECK:STDOUT: import_ir_inst11A: {ir_id: import_ir78000004, inst_id: inst70000287} +// CHECK:STDOUT: import_ir_inst11B: {ir_id: import_ir78000004, inst_id: inst70000279} +// CHECK:STDOUT: import_ir_inst11C: {ir_id: import_ir78000004, inst_id: inst7000027B} +// CHECK:STDOUT: import_ir_inst11D: {ir_id: import_ir78000004, inst_id: inst7000027F} +// CHECK:STDOUT: import_ir_inst11E: {ir_id: import_ir78000004, inst_id: inst70000281} +// CHECK:STDOUT: import_ir_inst11F: {ir_id: import_ir78000004, inst_id: inst70000286} +// CHECK:STDOUT: import_ir_inst120: {ir_id: import_ir78000004, inst_id: inst70000289} +// CHECK:STDOUT: import_ir_inst121: {ir_id: import_ir78000004, inst_id: inst70000290} +// CHECK:STDOUT: import_ir_inst122: {ir_id: import_ir78000004, inst_id: inst70000293} +// CHECK:STDOUT: import_ir_inst123: {ir_id: import_ir78000004, inst_id: inst70000296} +// CHECK:STDOUT: import_ir_inst124: {ir_id: import_ir78000004, inst_id: inst7000029A} +// CHECK:STDOUT: import_ir_inst125: {ir_id: import_ir78000004, inst_id: inst7000029E} +// CHECK:STDOUT: import_ir_inst126: {ir_id: import_ir78000004, inst_id: inst700002A6} +// CHECK:STDOUT: import_ir_inst127: {ir_id: import_ir78000004, inst_id: inst700002AA} +// CHECK:STDOUT: import_ir_inst128: {ir_id: import_ir78000004, inst_id: inst700002D2} +// CHECK:STDOUT: import_ir_inst129: {ir_id: import_ir78000004, inst_id: inst700002D3} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: default_values: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst10, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Core): inst78000012, name0: inst78000049}} -// CHECK:STDOUT: name_scope78000001: {inst: inst78000012, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name3: inst78000059}} -// CHECK:STDOUT: name_scope78000002: {inst: inst7800005A, parent_scope: name_scope78000001, has_error: false, extended_scopes: [], names: {name(SelfType): inst78000084}} -// CHECK:STDOUT: name_scope78000003: {inst: inst7800005C, parent_scope: name_scope78000002, has_error: false, extended_scopes: [], names: {name4: inst7800005E}} -// CHECK:STDOUT: name_scope78000004: {inst: inst7800008A, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope78000005: {inst: inst780000D9, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope78000006: {inst: inst780000DF, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope78000007: {inst: inst780000E5, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope78000008: {inst: inst780000EB, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope78000009: {inst: inst780000F1, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope7800000A: {inst: inst78000122, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope7800000B: {inst: inst78000128, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope7800000C: {inst: inst7800012E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope7800000D: {inst: inst7800018D, 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): inst78000012, name0: inst78000048}} +// CHECK:STDOUT: name_scope78000001: {inst: inst78000012, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name3: inst78000058}} +// CHECK:STDOUT: name_scope78000002: {inst: inst78000059, parent_scope: name_scope78000001, has_error: false, extended_scopes: [], names: {name(SelfType): inst78000083}} +// CHECK:STDOUT: name_scope78000003: {inst: inst7800005B, parent_scope: name_scope78000002, has_error: false, extended_scopes: [], names: {name4: inst7800005D}} +// CHECK:STDOUT: name_scope78000004: {inst: inst78000089, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope78000005: {inst: inst780000D8, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope78000006: {inst: inst780000DE, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope78000007: {inst: inst780000E4, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope78000008: {inst: inst780000EA, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope78000009: {inst: inst780000F0, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope7800000A: {inst: inst78000121, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope7800000B: {inst: inst78000127, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope7800000C: {inst: inst7800012D, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope7800000D: {inst: inst7800018C, 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: inst78000016} -// CHECK:STDOUT: entity_name78000002: {name: name2, parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst7800001F} +// CHECK:STDOUT: entity_name78000001: {name: name1, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0, form: inst, type: inst78000015} +// CHECK:STDOUT: entity_name78000002: {name: name2, parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0, form: inst, type: inst7800001E} // 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} @@ -427,39 +427,39 @@ fn Foo[T: type](p: T*) -> (T*, ()) { // CHECK:STDOUT: entity_name78000044: {name: name5, parent_scope: name_scope, index: 1, is_template: 0, is_unused: 0, form: inst, type: inst} // CHECK:STDOUT: entity_name78000045: {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_block78000010, call_params_id: inst_block78000011, return_type_inst_id: inst78000037, return_form_inst_id: inst78000039, return_pattern_id: inst78000041, body: [inst_block78000018]} -// CHECK:STDOUT: function78000001: {name: name4, parent_scope: name_scope78000003, call_param_patterns_id: inst_block7800001E, return_type_inst_id: inst78000073, return_form_inst_id: inst78000074, return_pattern_id: inst78000075} -// CHECK:STDOUT: function78000002: {name: name4, parent_scope: name_scope78000004, call_param_patterns_id: inst_block78000029, return_type_inst_id: inst780000A5, return_form_inst_id: inst780000A6, return_pattern_id: inst780000A7} -// CHECK:STDOUT: function78000003: {name: name4, parent_scope: name_scope78000009, call_param_patterns_id: inst_block7800003F, return_type_inst_id: inst78000110, return_form_inst_id: inst78000111, return_pattern_id: inst78000112, builtin: primitive_copy} -// CHECK:STDOUT: function78000004: {name: name4, parent_scope: name_scope7800000C, call_param_patterns_id: inst_block7800004C, return_type_inst_id: inst7800014A, return_form_inst_id: inst7800014B, return_pattern_id: inst7800014C} -// CHECK:STDOUT: function78000005: {name: name4, parent_scope: name_scope7800000D, call_param_patterns_id: inst_block78000068, return_type_inst_id: inst780001A9, return_form_inst_id: inst780001AA, return_pattern_id: inst780001AB} +// CHECK:STDOUT: function78000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block78000010, call_params_id: inst_block78000011, return_type_inst_id: inst78000036, return_form_inst_id: inst78000038, return_pattern_id: inst78000040, body: [inst_block78000018]} +// CHECK:STDOUT: function78000001: {name: name4, parent_scope: name_scope78000003, call_param_patterns_id: inst_block7800001E, return_type_inst_id: inst78000072, return_form_inst_id: inst78000073, return_pattern_id: inst78000074} +// CHECK:STDOUT: function78000002: {name: name4, parent_scope: name_scope78000004, call_param_patterns_id: inst_block78000029, return_type_inst_id: inst780000A4, return_form_inst_id: inst780000A5, return_pattern_id: inst780000A6} +// CHECK:STDOUT: function78000003: {name: name4, parent_scope: name_scope78000009, call_param_patterns_id: inst_block7800003F, return_type_inst_id: inst7800010F, return_form_inst_id: inst78000110, return_pattern_id: inst78000111, builtin: primitive_copy} +// CHECK:STDOUT: function78000004: {name: name4, parent_scope: name_scope7800000C, call_param_patterns_id: inst_block7800004C, return_type_inst_id: inst78000149, return_form_inst_id: inst7800014A, return_pattern_id: inst7800014B} +// CHECK:STDOUT: function78000005: {name: name4, parent_scope: name_scope7800000D, call_param_patterns_id: inst_block78000068, return_type_inst_id: inst780001A8, return_form_inst_id: inst780001A9, return_pattern_id: inst780001AA} // 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: inst780000CC, constraint: inst780000CD, witness: inst78000089} -// CHECK:STDOUT: impl78000001: {self: inst780000DB, constraint: inst780000DC, witness: inst780000D8} -// CHECK:STDOUT: impl78000002: {self: inst780000E1, constraint: inst780000E2, witness: inst780000DE} -// CHECK:STDOUT: impl78000003: {self: inst780000E7, constraint: inst780000E8, witness: inst780000E4} -// CHECK:STDOUT: impl78000004: {self: inst780000ED, constraint: inst780000EE, witness: inst780000EA} -// CHECK:STDOUT: impl78000005: {self: inst780000F7, constraint: inst780000F8, witness: inst780000F0} -// CHECK:STDOUT: impl78000006: {self: inst78000124, constraint: inst78000125, witness: inst78000121} -// CHECK:STDOUT: impl78000007: {self: inst7800012A, constraint: inst7800012B, witness: inst78000127} -// CHECK:STDOUT: impl78000008: {self: inst7800017B, constraint: inst7800017C, witness: inst7800012D} -// CHECK:STDOUT: impl78000009: {self: inst780001E4, constraint: inst780001E5, witness: inst7800018C} +// CHECK:STDOUT: impl78000000: {self: inst780000CB, constraint: inst780000CC, witness: inst78000088} +// CHECK:STDOUT: impl78000001: {self: inst780000DA, constraint: inst780000DB, witness: inst780000D7} +// CHECK:STDOUT: impl78000002: {self: inst780000E0, constraint: inst780000E1, witness: inst780000DD} +// CHECK:STDOUT: impl78000003: {self: inst780000E6, constraint: inst780000E7, witness: inst780000E3} +// CHECK:STDOUT: impl78000004: {self: inst780000EC, constraint: inst780000ED, witness: inst780000E9} +// CHECK:STDOUT: impl78000005: {self: inst780000F6, constraint: inst780000F7, witness: inst780000EF} +// CHECK:STDOUT: impl78000006: {self: inst78000123, constraint: inst78000124, witness: inst78000120} +// CHECK:STDOUT: impl78000007: {self: inst78000129, constraint: inst7800012A, witness: inst78000126} +// CHECK:STDOUT: impl78000008: {self: inst7800017A, constraint: inst7800017B, witness: inst7800012C} +// CHECK:STDOUT: impl78000009: {self: inst780001E3, constraint: inst780001E4, witness: inst7800018B} // CHECK:STDOUT: generics: -// CHECK:STDOUT: generic78000000: {decl: inst78000049, bindings: inst_block78000014, self_specific_id: specific78000000, decl_block_id: inst_block78000016, definition_block_id: inst_block7800008B} -// CHECK:STDOUT: generic78000001: {decl: inst7800005C, bindings: inst_block7800001B, self_specific_id: specific78000001, decl_block_id: inst_block_empty, definition_block_id: inst_block78000024} -// CHECK:STDOUT: generic78000002: {decl: inst78000061, bindings: inst_block78000020, self_specific_id: specific78000002, decl_block_id: inst_block78000021, definition_block_id: inst_block} -// CHECK:STDOUT: generic78000003: {decl: inst7800008A, bindings: inst_block78000034, self_specific_id: specific78000004, decl_block_id: inst_block78000036, definition_block_id: inst_block78000038} -// CHECK:STDOUT: generic78000004: {decl: inst78000092, bindings: inst_block7800002B, self_specific_id: specific78000007, decl_block_id: inst_block7800002C, definition_block_id: inst_block78000031} -// CHECK:STDOUT: generic78000005: {decl: inst780000F1, bindings: inst_block7800003C, self_specific_id: specific7800000B, decl_block_id: inst_block7800003E, definition_block_id: inst_block78000045} -// CHECK:STDOUT: generic78000006: {decl: inst78000100, bindings: inst_block78000041, self_specific_id: specific7800000D, decl_block_id: inst_block78000042, definition_block_id: inst_block_empty} -// CHECK:STDOUT: generic78000007: {decl: inst7800012E, bindings: inst_block7800005B, self_specific_id: specific7800000E, decl_block_id: inst_block7800005F, definition_block_id: inst_block78000061} -// CHECK:STDOUT: generic78000008: {decl: inst78000136, bindings: inst_block7800004E, self_specific_id: specific78000011, decl_block_id: inst_block78000050, definition_block_id: inst_block78000058} -// CHECK:STDOUT: generic78000009: {decl: inst7800018D, bindings: inst_block78000079, self_specific_id: specific78000017, decl_block_id: inst_block7800007D, definition_block_id: inst_block7800007F} -// CHECK:STDOUT: generic7800000A: {decl: inst78000195, bindings: inst_block7800006A, self_specific_id: specific7800001A, decl_block_id: inst_block7800006C, definition_block_id: inst_block78000076} +// CHECK:STDOUT: generic78000000: {decl: inst78000048, bindings: inst_block78000014, self_specific_id: specific78000000, decl_block_id: inst_block78000016, definition_block_id: inst_block7800008B} +// CHECK:STDOUT: generic78000001: {decl: inst7800005B, bindings: inst_block7800001B, self_specific_id: specific78000001, decl_block_id: inst_block_empty, definition_block_id: inst_block78000024} +// CHECK:STDOUT: generic78000002: {decl: inst78000060, bindings: inst_block78000020, self_specific_id: specific78000002, decl_block_id: inst_block78000021, definition_block_id: inst_block} +// CHECK:STDOUT: generic78000003: {decl: inst78000089, bindings: inst_block78000034, self_specific_id: specific78000004, decl_block_id: inst_block78000036, definition_block_id: inst_block78000038} +// CHECK:STDOUT: generic78000004: {decl: inst78000091, bindings: inst_block7800002B, self_specific_id: specific78000007, decl_block_id: inst_block7800002C, definition_block_id: inst_block78000031} +// CHECK:STDOUT: generic78000005: {decl: inst780000F0, bindings: inst_block7800003C, self_specific_id: specific7800000B, decl_block_id: inst_block7800003E, definition_block_id: inst_block78000045} +// CHECK:STDOUT: generic78000006: {decl: inst780000FF, bindings: inst_block78000041, self_specific_id: specific7800000D, decl_block_id: inst_block78000042, definition_block_id: inst_block_empty} +// CHECK:STDOUT: generic78000007: {decl: inst7800012D, bindings: inst_block7800005B, self_specific_id: specific7800000E, decl_block_id: inst_block7800005F, definition_block_id: inst_block78000061} +// CHECK:STDOUT: generic78000008: {decl: inst78000135, bindings: inst_block7800004E, self_specific_id: specific78000011, decl_block_id: inst_block78000050, definition_block_id: inst_block78000058} +// CHECK:STDOUT: generic78000009: {decl: inst7800018C, bindings: inst_block78000079, self_specific_id: specific78000017, decl_block_id: inst_block7800007D, definition_block_id: inst_block7800007F} +// CHECK:STDOUT: generic7800000A: {decl: inst78000194, bindings: inst_block7800006A, self_specific_id: specific7800001A, decl_block_id: inst_block7800006C, definition_block_id: inst_block78000076} // CHECK:STDOUT: specifics: // CHECK:STDOUT: specific78000000: {generic: generic78000000, args: inst_block78000015, decl_block_id: inst_block78000017, decl_has_error: 0, definition_block_id: inst_block, definition_has_error: 0} // CHECK:STDOUT: specific78000001: {generic: generic78000001, args: inst_block7800001C, decl_block_id: inst_block_empty, decl_has_error: 0, definition_block_id: inst_block7800001D, definition_has_error: 0} @@ -530,23 +530,23 @@ fn Foo[T: type](p: T*) -> (T*, ()) { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst7800002D)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002D)} +// CHECK:STDOUT: 'type(inst7800002C)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002C)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst78000034)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst78000034)} +// CHECK:STDOUT: 'type(inst78000033)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst78000033)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 8 // CHECK:STDOUT: alignment: 8 -// CHECK:STDOUT: 'type(inst78000030)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst78000034)} +// CHECK:STDOUT: 'type(inst7800002F)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst78000033)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: 'type(inst7800004A)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002D)} +// CHECK:STDOUT: 'type(inst78000049)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002C)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -580,8 +580,8 @@ fn Foo[T: type](p: T*) -> (T*, ()) { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 8 // CHECK:STDOUT: alignment: 8 -// CHECK:STDOUT: 'type(inst7800005B)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst7800005B)} +// CHECK:STDOUT: 'type(inst7800005A)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst7800005A)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -596,12 +596,12 @@ fn Foo[T: type](p: T*) -> (T*, ()) { // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 // CHECK:STDOUT: 'type(symbolic_constant780001D3)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002D)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002C)} // 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(inst7800002D)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst7800002C)} // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 @@ -611,2320 +611,2320 @@ fn Foo[T: type](p: T*) -> (T*, ()) { // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 // CHECK:STDOUT: declared_facet_types: -// CHECK:STDOUT: declared_facet_type78000000: {} +// CHECK:STDOUT: 'declared_facet_type(Empty)': {} // CHECK:STDOUT: declared_facet_type78000001: {extends interface: interface78000000} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst10: {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} +// 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: inst78000011: {kind: ImportDecl, arg0: name(Core)} // CHECK:STDOUT: inst78000012: {kind: Namespace, arg0: name_scope78000001, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst78000013: {kind: FacetType, arg0: declared_facet_type78000000, type: type(TypeType)} -// CHECK:STDOUT: inst78000014: {kind: SymbolicBinding, arg0: entity_name78000000, arg1: inst, type: type(inst78000013)} -// CHECK:STDOUT: inst78000015: {kind: SymbolicBinding, arg0: entity_name78000000, arg1: inst, type: type(inst78000013)} -// CHECK:STDOUT: inst78000016: {kind: TypeLiteral, arg0: inst(TypeType), type: type(TypeType)} -// CHECK:STDOUT: inst78000017: {kind: PatternType, arg0: inst(TypeType), type: type(TypeType)} -// CHECK:STDOUT: inst78000018: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000017)} -// CHECK:STDOUT: inst78000019: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000017)} -// CHECK:STDOUT: inst7800001A: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000017)} +// CHECK:STDOUT: inst78000013: {kind: SymbolicBinding, arg0: entity_name78000000, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst78000014: {kind: SymbolicBinding, arg0: entity_name78000000, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst78000015: {kind: TypeLiteral, arg0: inst(TypeType), type: type(TypeType)} +// CHECK:STDOUT: inst78000016: {kind: PatternType, arg0: inst(TypeType), type: type(TypeType)} +// CHECK:STDOUT: inst78000017: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000016)} +// CHECK:STDOUT: inst78000018: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000016)} +// CHECK:STDOUT: inst78000019: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000016)} +// 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: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst7800001D: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst7800001E: {kind: NameRef, arg0: name1, arg1: inst7800001B, type: type(TypeType)} -// CHECK:STDOUT: inst7800001F: {kind: PointerType, arg0: inst7800001E, type: type(TypeType)} +// CHECK:STDOUT: inst7800001D: {kind: NameRef, arg0: name1, arg1: inst7800001A, type: type(TypeType)} +// CHECK:STDOUT: inst7800001E: {kind: PointerType, arg0: inst7800001D, type: type(TypeType)} +// CHECK:STDOUT: inst7800001F: {kind: PointerType, arg0: inst7800001B, type: type(TypeType)} // CHECK:STDOUT: inst78000020: {kind: PointerType, arg0: inst7800001C, type: type(TypeType)} -// CHECK:STDOUT: inst78000021: {kind: PointerType, arg0: inst7800001D, type: type(TypeType)} -// CHECK:STDOUT: inst78000022: {kind: PatternType, arg0: inst78000020, type: type(TypeType)} -// CHECK:STDOUT: inst78000023: {kind: ValueParamPattern, arg0: name2, type: type(symbolic_constant78000009)} -// CHECK:STDOUT: inst78000024: {kind: ValueParamPattern, arg0: name2, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000025: {kind: PatternType, arg0: inst78000021, type: type(TypeType)} -// CHECK:STDOUT: inst78000026: {kind: ValueParamPattern, arg0: name2, type: type(symbolic_constant78000009)} -// CHECK:STDOUT: inst78000027: {kind: WrapperBindingPattern, arg0: entity_name78000002, arg1: inst78000023, type: type(symbolic_constant78000009)} -// CHECK:STDOUT: inst78000028: {kind: WrapperBindingPattern, arg0: entity_name78000002, arg1: inst78000024, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000029: {kind: WrapperBindingPattern, arg0: entity_name78000002, arg1: inst78000026, type: type(symbolic_constant78000009)} -// CHECK:STDOUT: inst7800002A: {kind: WrapperBinding, arg0: entity_name78000002, arg1: inst78000045, type: type(symbolic_constant78000006)} -// CHECK:STDOUT: inst7800002B: {kind: NameRef, arg0: name1, arg1: inst7800001B, type: type(TypeType)} -// CHECK:STDOUT: inst7800002C: {kind: PointerType, arg0: inst7800002B, type: type(TypeType)} -// CHECK:STDOUT: inst7800002D: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst7800002E: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst7800002D)} -// CHECK:STDOUT: inst7800002F: {kind: TupleValue, arg0: inst_block_empty, type: type(inst7800002D)} -// CHECK:STDOUT: inst78000030: {kind: TupleType, arg0: inst_block7800000A, type: type(TypeType)} -// CHECK:STDOUT: inst78000031: {kind: TupleLiteral, arg0: inst_block78000009, type: type(inst78000030)} -// CHECK:STDOUT: inst78000032: {kind: TupleValue, arg0: inst_block7800000B, type: type(inst78000030)} -// CHECK:STDOUT: inst78000033: {kind: TupleValue, arg0: inst_block7800000C, type: type(inst78000030)} -// CHECK:STDOUT: inst78000034: {kind: PointerType, arg0: inst78000030, type: type(TypeType)} -// CHECK:STDOUT: inst78000035: {kind: Converted, arg0: inst7800002F, arg1: inst7800002D, type: type(TypeType)} -// CHECK:STDOUT: inst78000036: {kind: TupleType, arg0: inst_block7800000E, type: type(TypeType)} -// CHECK:STDOUT: inst78000037: {kind: Converted, arg0: inst78000031, arg1: inst78000036, type: type(TypeType)} -// CHECK:STDOUT: inst78000038: {kind: TupleType, arg0: inst_block7800000F, type: type(TypeType)} -// CHECK:STDOUT: inst78000039: {kind: InitForm, arg0: inst78000037, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800003A: {kind: InitForm, arg0: inst78000036, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800003B: {kind: InitForm, arg0: inst78000038, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800003C: {kind: PatternType, arg0: inst78000036, type: type(TypeType)} -// CHECK:STDOUT: inst7800003D: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000015)} -// CHECK:STDOUT: inst7800003E: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000013)} -// CHECK:STDOUT: inst7800003F: {kind: PatternType, arg0: inst78000038, type: type(TypeType)} -// CHECK:STDOUT: inst78000040: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000015)} -// CHECK:STDOUT: inst78000041: {kind: ReturnSlotPattern, arg0: inst7800003D, arg1: inst78000037, type: type(symbolic_constant78000015)} -// CHECK:STDOUT: inst78000042: {kind: ReturnSlotPattern, arg0: inst7800003E, arg1: inst78000036, type: type(symbolic_constant78000013)} -// CHECK:STDOUT: inst78000043: {kind: ReturnSlotPattern, arg0: inst78000040, arg1: inst78000038, type: type(symbolic_constant78000015)} -// CHECK:STDOUT: inst78000044: {kind: SpliceBlock, arg0: inst_block78000005, arg1: inst78000016, type: type(TypeType)} -// CHECK:STDOUT: inst78000045: {kind: ValueParam, arg0: call_param0, arg1: name2, type: type(symbolic_constant78000006)} -// CHECK:STDOUT: inst78000046: {kind: SpliceBlock, arg0: inst_block78000007, arg1: inst7800001F, type: type(TypeType)} -// CHECK:STDOUT: inst78000047: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(symbolic_constant78000010)} -// CHECK:STDOUT: inst78000048: {kind: ReturnSlot, arg0: inst78000036, arg1: inst78000047, type: type(symbolic_constant78000010)} -// CHECK:STDOUT: inst78000049: {kind: FunctionDecl, arg0: function78000000, arg1: inst_block78000013, type: type(inst7800004A)} -// CHECK:STDOUT: inst7800004A: {kind: FunctionType, arg0: function78000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst7800004B: {kind: StructValue, arg0: inst_block_empty, type: type(inst7800004A)} -// CHECK:STDOUT: inst7800004C: {kind: RequireCompleteType, arg0: inst78000020, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000021: {kind: PatternType, arg0: inst7800001F, type: type(TypeType)} +// CHECK:STDOUT: inst78000022: {kind: ValueParamPattern, arg0: name2, type: type(symbolic_constant78000009)} +// CHECK:STDOUT: inst78000023: {kind: ValueParamPattern, arg0: name2, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000024: {kind: PatternType, arg0: inst78000020, type: type(TypeType)} +// CHECK:STDOUT: inst78000025: {kind: ValueParamPattern, arg0: name2, type: type(symbolic_constant78000009)} +// CHECK:STDOUT: inst78000026: {kind: WrapperBindingPattern, arg0: entity_name78000002, arg1: inst78000022, type: type(symbolic_constant78000009)} +// CHECK:STDOUT: inst78000027: {kind: WrapperBindingPattern, arg0: entity_name78000002, arg1: inst78000023, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000028: {kind: WrapperBindingPattern, arg0: entity_name78000002, arg1: inst78000025, type: type(symbolic_constant78000009)} +// CHECK:STDOUT: inst78000029: {kind: WrapperBinding, arg0: entity_name78000002, arg1: inst78000044, type: type(symbolic_constant78000006)} +// CHECK:STDOUT: inst7800002A: {kind: NameRef, arg0: name1, arg1: inst7800001A, type: type(TypeType)} +// CHECK:STDOUT: inst7800002B: {kind: PointerType, arg0: inst7800002A, type: type(TypeType)} +// CHECK:STDOUT: inst7800002C: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst7800002D: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst7800002C)} +// CHECK:STDOUT: inst7800002E: {kind: TupleValue, arg0: inst_block_empty, type: type(inst7800002C)} +// CHECK:STDOUT: inst7800002F: {kind: TupleType, arg0: inst_block7800000A, type: type(TypeType)} +// CHECK:STDOUT: inst78000030: {kind: TupleLiteral, arg0: inst_block78000009, type: type(inst7800002F)} +// CHECK:STDOUT: inst78000031: {kind: TupleValue, arg0: inst_block7800000B, type: type(inst7800002F)} +// CHECK:STDOUT: inst78000032: {kind: TupleValue, arg0: inst_block7800000C, type: type(inst7800002F)} +// CHECK:STDOUT: inst78000033: {kind: PointerType, arg0: inst7800002F, type: type(TypeType)} +// CHECK:STDOUT: inst78000034: {kind: Converted, arg0: inst7800002E, arg1: inst7800002C, type: type(TypeType)} +// CHECK:STDOUT: inst78000035: {kind: TupleType, arg0: inst_block7800000E, type: type(TypeType)} +// CHECK:STDOUT: inst78000036: {kind: Converted, arg0: inst78000030, arg1: inst78000035, type: type(TypeType)} +// CHECK:STDOUT: inst78000037: {kind: TupleType, arg0: inst_block7800000F, type: type(TypeType)} +// CHECK:STDOUT: inst78000038: {kind: InitForm, arg0: inst78000036, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000039: {kind: InitForm, arg0: inst78000035, type: type(inst(FormType))} +// CHECK:STDOUT: inst7800003A: {kind: InitForm, arg0: inst78000037, type: type(inst(FormType))} +// CHECK:STDOUT: inst7800003B: {kind: PatternType, arg0: inst78000035, type: type(TypeType)} +// CHECK:STDOUT: inst7800003C: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000015)} +// CHECK:STDOUT: inst7800003D: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000013)} +// CHECK:STDOUT: inst7800003E: {kind: PatternType, arg0: inst78000037, type: type(TypeType)} +// CHECK:STDOUT: inst7800003F: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000015)} +// CHECK:STDOUT: inst78000040: {kind: ReturnSlotPattern, arg0: inst7800003C, arg1: inst78000036, type: type(symbolic_constant78000015)} +// CHECK:STDOUT: inst78000041: {kind: ReturnSlotPattern, arg0: inst7800003D, arg1: inst78000035, type: type(symbolic_constant78000013)} +// CHECK:STDOUT: inst78000042: {kind: ReturnSlotPattern, arg0: inst7800003F, arg1: inst78000037, type: type(symbolic_constant78000015)} +// CHECK:STDOUT: inst78000043: {kind: SpliceBlock, arg0: inst_block78000005, arg1: inst78000015, type: type(TypeType)} +// CHECK:STDOUT: inst78000044: {kind: ValueParam, arg0: call_param0, arg1: name2, type: type(symbolic_constant78000006)} +// CHECK:STDOUT: inst78000045: {kind: SpliceBlock, arg0: inst_block78000007, arg1: inst7800001E, type: type(TypeType)} +// CHECK:STDOUT: inst78000046: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(symbolic_constant78000010)} +// CHECK:STDOUT: inst78000047: {kind: ReturnSlot, arg0: inst78000035, arg1: inst78000046, type: type(symbolic_constant78000010)} +// CHECK:STDOUT: inst78000048: {kind: FunctionDecl, arg0: function78000000, arg1: inst_block78000013, type: type(inst78000049)} +// CHECK:STDOUT: inst78000049: {kind: FunctionType, arg0: function78000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst7800004A: {kind: StructValue, arg0: inst_block_empty, type: type(inst78000049)} +// CHECK:STDOUT: inst7800004B: {kind: RequireCompleteType, arg0: inst7800001F, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800004C: {kind: RequireCompleteType, arg0: inst7800001F, type: type(inst(WitnessType))} // CHECK:STDOUT: inst7800004D: {kind: RequireCompleteType, arg0: inst78000020, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800004E: {kind: RequireCompleteType, arg0: inst78000021, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800004F: {kind: PointerType, arg0: inst78000036, type: type(TypeType)} -// CHECK:STDOUT: inst78000050: {kind: RequireCompleteType, arg0: inst78000036, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000051: {kind: RequireCompleteType, arg0: inst78000036, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000052: {kind: RequireCompleteType, arg0: inst78000038, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000053: {kind: NameRef, arg0: name2, arg1: inst7800002A, type: type(symbolic_constant78000006)} -// CHECK:STDOUT: inst78000054: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst7800002D)} -// CHECK:STDOUT: inst78000055: {kind: TupleLiteral, arg0: inst_block78000019, type: type(symbolic_constant78000010)} -// CHECK:STDOUT: inst78000056: {kind: RequireCompleteType, arg0: inst78000036, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000057: {kind: TupleAccess, arg0: inst78000047, arg1: element0, type: type(symbolic_constant78000006)} -// CHECK:STDOUT: inst78000058: {kind: RequireCompleteType, arg0: inst78000020, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000059: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name78000003, type: type(TypeType)} -// CHECK:STDOUT: inst7800005A: {kind: InterfaceDecl, arg0: interface78000000, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst7800005B: {kind: FacetType, arg0: declared_facet_type78000001, type: type(TypeType)} -// CHECK:STDOUT: inst7800005C: {kind: InterfaceWithSelfDecl, arg0: interface78000000} -// CHECK:STDOUT: inst7800005D: {kind: SymbolicBinding, arg0: entity_name78000004, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst7800005E: {kind: ImportRefLoaded, arg0: import_ir_inst3, arg1: entity_name, type: type(inst78000085)} -// CHECK:STDOUT: inst7800005F: {kind: ImportRefUnloaded, arg0: import_ir_inst4, arg1: entity_name78000005} -// CHECK:STDOUT: inst78000060: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name, type: type(inst7800005B)} -// CHECK:STDOUT: inst78000061: {kind: FunctionDecl, arg0: function78000001, arg1: inst_block_empty, type: type(symbolic_constant7800001F)} -// CHECK:STDOUT: inst78000062: {kind: FunctionType, arg0: function78000001, arg1: specific78000001, type: type(TypeType)} -// CHECK:STDOUT: inst78000063: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800001F)} -// CHECK:STDOUT: inst78000064: {kind: FacetAccessType, arg0: inst7800005D, type: type(TypeType)} -// CHECK:STDOUT: inst78000065: {kind: PatternType, arg0: inst78000064, type: type(TypeType)} -// CHECK:STDOUT: inst78000066: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst78000067: {kind: ImportRefLoaded, arg0: import_ir_inst7, arg1: entity_name, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst78000068: {kind: ReturnSlotPattern, arg0: inst78000066, arg1: inst, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst78000069: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst7800006A: {kind: ImportRefLoaded, arg0: import_ir_inst8, arg1: entity_name, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst7800006B: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000069, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst7800006C: {kind: ImportRefLoaded, arg0: import_ir_inst9, arg1: entity_name, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst7800006D: {kind: InitForm, arg0: inst78000064, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800006E: {kind: ImportRefLoaded, arg0: import_ir_instA, arg1: entity_name, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst7800006F: {kind: ImportRefLoaded, arg0: import_ir_instB, arg1: entity_name, type: type(symbolic_constant78000028)} -// CHECK:STDOUT: inst78000070: {kind: ImportRefLoaded, arg0: import_ir_instC, arg1: entity_name, type: type(symbolic_constant78000028)} -// CHECK:STDOUT: inst78000071: {kind: ImportRefLoaded, arg0: import_ir_instD, arg1: entity_name, type: type(symbolic_constant78000028)} -// CHECK:STDOUT: inst78000072: {kind: ImportRefLoaded, arg0: import_ir_instE, arg1: entity_name, type: type(symbolic_constant78000028)} -// CHECK:STDOUT: inst78000073: {kind: ImportRefLoaded, arg0: import_ir_instF, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst78000074: {kind: ImportRefLoaded, arg0: import_ir_inst10, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst78000075: {kind: ImportRefLoaded, arg0: import_ir_inst11, arg1: entity_name, type: type(symbolic_constant78000028)} -// CHECK:STDOUT: inst78000076: {kind: ImportRefLoaded, arg0: import_ir_inst12, arg1: entity_name, type: type(inst7800005B)} -// CHECK:STDOUT: inst78000077: {kind: SymbolicBinding, arg0: entity_name78000004, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst78000078: {kind: FacetAccessType, arg0: inst78000077, type: type(TypeType)} -// CHECK:STDOUT: inst78000079: {kind: PatternType, arg0: inst78000078, type: type(TypeType)} -// CHECK:STDOUT: inst7800007A: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant7800003A)} -// CHECK:STDOUT: inst7800007B: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst7800007A, type: type(symbolic_constant7800003A)} -// CHECK:STDOUT: inst7800007C: {kind: InitForm, arg0: inst78000078, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800007D: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant7800003A)} -// CHECK:STDOUT: inst7800007E: {kind: ReturnSlotPattern, arg0: inst7800007D, arg1: inst, type: type(symbolic_constant7800003A)} -// CHECK:STDOUT: inst7800007F: {kind: ImportRefLoaded, arg0: import_ir_inst1B, arg1: entity_name, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst78000080: {kind: ImportRefLoaded, arg0: import_ir_inst1C, arg1: entity_name, type: type(symbolic_constant78000023)} -// CHECK:STDOUT: inst78000081: {kind: SymbolicBinding, arg0: entity_name78000004, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst78000082: {kind: FunctionType, arg0: function78000001, arg1: specific78000003, type: type(TypeType)} -// CHECK:STDOUT: inst78000083: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000043)} -// CHECK:STDOUT: inst78000084: {kind: ImportRefUnloaded, arg0: import_ir_inst20, arg1: entity_name} -// CHECK:STDOUT: inst78000085: {kind: AssociatedEntityType, arg0: interface78000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst78000086: {kind: ImportRefLoaded, arg0: import_ir_inst21, arg1: entity_name, type: type(symbolic_constant78000025)} -// CHECK:STDOUT: inst78000087: {kind: AssociatedEntity, arg0: element0, arg1: inst78000086, type: type(inst78000085)} -// CHECK:STDOUT: inst78000088: {kind: LookupImplWitness, arg0: inst78000020, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000089: {kind: ImportRefUnloaded, arg0: import_ir_inst22, arg1: entity_name} -// CHECK:STDOUT: inst7800008A: {kind: ImplDecl, arg0: impl78000000, arg1: inst_block_empty} -// CHECK:STDOUT: inst7800008B: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst7800008C: {kind: FacetAccessType, arg0: inst7800008B, type: type(TypeType)} -// CHECK:STDOUT: inst7800008D: {kind: ConstType, arg0: inst7800008C, type: type(TypeType)} -// CHECK:STDOUT: inst7800008E: {kind: ImplSelfWitness, arg0: inst7800008D, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800008F: {kind: ImportRefUnloaded, arg0: import_ir_inst24, arg1: entity_name} -// CHECK:STDOUT: inst78000090: {kind: ImplWitnessTable, arg0: inst_block78000025, arg1: impl78000000} -// CHECK:STDOUT: inst78000091: {kind: ImplWitness, arg0: inst78000090, arg1: specific78000004, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000092: {kind: FunctionDecl, arg0: function78000002, arg1: inst_block_empty, type: type(symbolic_constant7800004D)} -// CHECK:STDOUT: inst78000093: {kind: FunctionType, arg0: function78000002, arg1: specific78000004, type: type(TypeType)} -// CHECK:STDOUT: inst78000094: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800004D)} -// CHECK:STDOUT: inst78000095: {kind: PatternType, arg0: inst7800008D, type: type(TypeType)} -// CHECK:STDOUT: inst78000096: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst78000097: {kind: PatternType, arg0: inst7800005B, type: type(TypeType)} -// CHECK:STDOUT: inst78000098: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000097)} -// CHECK:STDOUT: inst78000099: {kind: ImportRefLoaded, arg0: import_ir_inst27, arg1: entity_name, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst7800009A: {kind: ReturnSlotPattern, arg0: inst78000096, arg1: inst, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst7800009B: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst7800009C: {kind: ImportRefLoaded, arg0: import_ir_inst28, arg1: entity_name, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst7800009D: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst7800009B, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst7800009E: {kind: ImportRefLoaded, arg0: import_ir_inst29, arg1: entity_name, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst7800009F: {kind: InitForm, arg0: inst7800008D, type: type(inst(FormType))} -// CHECK:STDOUT: inst780000A0: {kind: ImportRefLoaded, arg0: import_ir_inst2A, arg1: entity_name, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst780000A1: {kind: ImportRefLoaded, arg0: import_ir_inst2B, arg1: entity_name, type: type(symbolic_constant78000056)} -// CHECK:STDOUT: inst780000A2: {kind: ImportRefLoaded, arg0: import_ir_inst2C, arg1: entity_name, type: type(symbolic_constant78000056)} -// CHECK:STDOUT: inst780000A3: {kind: ImportRefLoaded, arg0: import_ir_inst2D, arg1: entity_name, type: type(symbolic_constant78000056)} -// CHECK:STDOUT: inst780000A4: {kind: ImportRefLoaded, arg0: import_ir_inst2E, arg1: entity_name, type: type(symbolic_constant78000056)} -// CHECK:STDOUT: inst780000A5: {kind: ImportRefLoaded, arg0: import_ir_inst2F, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000A6: {kind: ImportRefLoaded, arg0: import_ir_inst30, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst780000A7: {kind: ImportRefLoaded, arg0: import_ir_inst31, arg1: entity_name, type: type(symbolic_constant78000056)} -// CHECK:STDOUT: inst780000A8: {kind: ImportRefLoaded, arg0: import_ir_inst32, arg1: entity_name, type: type(inst7800005B)} -// CHECK:STDOUT: inst780000A9: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst780000AA: {kind: FacetAccessType, arg0: inst780000A9, type: type(TypeType)} -// CHECK:STDOUT: inst780000AB: {kind: ConstType, arg0: inst780000AA, type: type(TypeType)} -// CHECK:STDOUT: inst780000AC: {kind: PatternType, arg0: inst780000AB, type: type(TypeType)} -// CHECK:STDOUT: inst780000AD: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant7800006B)} -// CHECK:STDOUT: inst780000AE: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780000AD, type: type(symbolic_constant7800006B)} -// CHECK:STDOUT: inst780000AF: {kind: InitForm, arg0: inst780000AB, type: type(inst(FormType))} -// CHECK:STDOUT: inst780000B0: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant7800006B)} -// CHECK:STDOUT: inst780000B1: {kind: ReturnSlotPattern, arg0: inst780000B0, arg1: inst, type: type(symbolic_constant7800006B)} -// CHECK:STDOUT: inst780000B2: {kind: LookupImplWitness, arg0: inst7800008B, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000B3: {kind: FunctionType, arg0: function78000001, arg1: specific78000005, type: type(TypeType)} -// CHECK:STDOUT: inst780000B4: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000072)} -// CHECK:STDOUT: inst780000B5: {kind: FunctionTypeWithSelfType, arg0: inst780000B3, arg1: inst7800008B, type: type(TypeType)} -// CHECK:STDOUT: inst780000B6: {kind: ImplWitnessAccess, arg0: inst780000B2, arg1: element0, type: type(symbolic_constant78000074)} -// CHECK:STDOUT: inst780000B7: {kind: SpecificImplFunction, arg0: inst780000B6, arg1: specific78000006, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst780000B8: {kind: PatternType, arg0: inst7800008C, type: type(TypeType)} -// CHECK:STDOUT: inst780000B9: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000078)} -// CHECK:STDOUT: inst780000BA: {kind: ImportRefLoaded, arg0: import_ir_inst3C, arg1: entity_name, type: type(symbolic_constant78000078)} -// CHECK:STDOUT: inst780000BB: {kind: ReturnSlotPattern, arg0: inst780000B9, arg1: inst, type: type(symbolic_constant78000078)} -// CHECK:STDOUT: inst780000BC: {kind: InitForm, arg0: inst7800008C, type: type(inst(FormType))} -// CHECK:STDOUT: inst780000BD: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000078)} -// CHECK:STDOUT: inst780000BE: {kind: ImportRefLoaded, arg0: import_ir_inst3D, arg1: entity_name, type: type(symbolic_constant78000078)} -// CHECK:STDOUT: inst780000BF: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780000BD, type: type(symbolic_constant78000078)} +// CHECK:STDOUT: inst7800004E: {kind: PointerType, arg0: inst78000035, type: type(TypeType)} +// CHECK:STDOUT: inst7800004F: {kind: RequireCompleteType, arg0: inst78000035, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000050: {kind: RequireCompleteType, arg0: inst78000035, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000051: {kind: RequireCompleteType, arg0: inst78000037, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000052: {kind: NameRef, arg0: name2, arg1: inst78000029, type: type(symbolic_constant78000006)} +// CHECK:STDOUT: inst78000053: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst7800002C)} +// CHECK:STDOUT: inst78000054: {kind: TupleLiteral, arg0: inst_block78000019, type: type(symbolic_constant78000010)} +// CHECK:STDOUT: inst78000055: {kind: RequireCompleteType, arg0: inst78000035, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000056: {kind: TupleAccess, arg0: inst78000046, arg1: element0, type: type(symbolic_constant78000006)} +// CHECK:STDOUT: inst78000057: {kind: RequireCompleteType, arg0: inst7800001F, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000058: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name78000003, type: type(TypeType)} +// CHECK:STDOUT: inst78000059: {kind: InterfaceDecl, arg0: interface78000000, arg1: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst7800005A: {kind: FacetType, arg0: declared_facet_type78000001, type: type(TypeType)} +// CHECK:STDOUT: inst7800005B: {kind: InterfaceWithSelfDecl, arg0: interface78000000} +// CHECK:STDOUT: inst7800005C: {kind: SymbolicBinding, arg0: entity_name78000004, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst7800005D: {kind: ImportRefLoaded, arg0: import_ir_inst3, arg1: entity_name, type: type(inst78000084)} +// CHECK:STDOUT: inst7800005E: {kind: ImportRefUnloaded, arg0: import_ir_inst4, arg1: entity_name78000005} +// CHECK:STDOUT: inst7800005F: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name, type: type(inst7800005A)} +// CHECK:STDOUT: inst78000060: {kind: FunctionDecl, arg0: function78000001, arg1: inst_block_empty, type: type(symbolic_constant7800001F)} +// CHECK:STDOUT: inst78000061: {kind: FunctionType, arg0: function78000001, arg1: specific78000001, type: type(TypeType)} +// CHECK:STDOUT: inst78000062: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800001F)} +// CHECK:STDOUT: inst78000063: {kind: FacetAccessType, arg0: inst7800005C, type: type(TypeType)} +// CHECK:STDOUT: inst78000064: {kind: PatternType, arg0: inst78000063, type: type(TypeType)} +// CHECK:STDOUT: inst78000065: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst78000066: {kind: ImportRefLoaded, arg0: import_ir_inst7, arg1: entity_name, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst78000067: {kind: ReturnSlotPattern, arg0: inst78000065, arg1: inst, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst78000068: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst78000069: {kind: ImportRefLoaded, arg0: import_ir_inst8, arg1: entity_name, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst7800006A: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000068, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst7800006B: {kind: ImportRefLoaded, arg0: import_ir_inst9, arg1: entity_name, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst7800006C: {kind: InitForm, arg0: inst78000063, type: type(inst(FormType))} +// CHECK:STDOUT: inst7800006D: {kind: ImportRefLoaded, arg0: import_ir_instA, arg1: entity_name, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst7800006E: {kind: ImportRefLoaded, arg0: import_ir_instB, arg1: entity_name, type: type(symbolic_constant78000028)} +// CHECK:STDOUT: inst7800006F: {kind: ImportRefLoaded, arg0: import_ir_instC, arg1: entity_name, type: type(symbolic_constant78000028)} +// CHECK:STDOUT: inst78000070: {kind: ImportRefLoaded, arg0: import_ir_instD, arg1: entity_name, type: type(symbolic_constant78000028)} +// CHECK:STDOUT: inst78000071: {kind: ImportRefLoaded, arg0: import_ir_instE, arg1: entity_name, type: type(symbolic_constant78000028)} +// CHECK:STDOUT: inst78000072: {kind: ImportRefLoaded, arg0: import_ir_instF, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst78000073: {kind: ImportRefLoaded, arg0: import_ir_inst10, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000074: {kind: ImportRefLoaded, arg0: import_ir_inst11, arg1: entity_name, type: type(symbolic_constant78000028)} +// CHECK:STDOUT: inst78000075: {kind: ImportRefLoaded, arg0: import_ir_inst12, arg1: entity_name, type: type(inst7800005A)} +// CHECK:STDOUT: inst78000076: {kind: SymbolicBinding, arg0: entity_name78000004, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst78000077: {kind: FacetAccessType, arg0: inst78000076, type: type(TypeType)} +// CHECK:STDOUT: inst78000078: {kind: PatternType, arg0: inst78000077, type: type(TypeType)} +// CHECK:STDOUT: inst78000079: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant7800003A)} +// CHECK:STDOUT: inst7800007A: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000079, type: type(symbolic_constant7800003A)} +// CHECK:STDOUT: inst7800007B: {kind: InitForm, arg0: inst78000077, type: type(inst(FormType))} +// CHECK:STDOUT: inst7800007C: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant7800003A)} +// CHECK:STDOUT: inst7800007D: {kind: ReturnSlotPattern, arg0: inst7800007C, arg1: inst, type: type(symbolic_constant7800003A)} +// CHECK:STDOUT: inst7800007E: {kind: ImportRefLoaded, arg0: import_ir_inst1B, arg1: entity_name, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst7800007F: {kind: ImportRefLoaded, arg0: import_ir_inst1C, arg1: entity_name, type: type(symbolic_constant78000023)} +// CHECK:STDOUT: inst78000080: {kind: SymbolicBinding, arg0: entity_name78000004, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst78000081: {kind: FunctionType, arg0: function78000001, arg1: specific78000003, type: type(TypeType)} +// CHECK:STDOUT: inst78000082: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000043)} +// CHECK:STDOUT: inst78000083: {kind: ImportRefUnloaded, arg0: import_ir_inst20, arg1: entity_name} +// CHECK:STDOUT: inst78000084: {kind: AssociatedEntityType, arg0: interface78000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst78000085: {kind: ImportRefLoaded, arg0: import_ir_inst21, arg1: entity_name, type: type(symbolic_constant78000025)} +// CHECK:STDOUT: inst78000086: {kind: AssociatedEntity, arg0: element0, arg1: inst78000085, type: type(inst78000084)} +// CHECK:STDOUT: inst78000087: {kind: LookupImplWitness, arg0: inst7800001F, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000088: {kind: ImportRefUnloaded, arg0: import_ir_inst22, arg1: entity_name} +// CHECK:STDOUT: inst78000089: {kind: ImplDecl, arg0: impl78000000, arg1: inst_block_empty} +// CHECK:STDOUT: inst7800008A: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst7800008B: {kind: FacetAccessType, arg0: inst7800008A, type: type(TypeType)} +// CHECK:STDOUT: inst7800008C: {kind: ConstType, arg0: inst7800008B, type: type(TypeType)} +// CHECK:STDOUT: inst7800008D: {kind: ImplSelfWitness, arg0: inst7800008C, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800008E: {kind: ImportRefUnloaded, arg0: import_ir_inst24, arg1: entity_name} +// CHECK:STDOUT: inst7800008F: {kind: ImplWitnessTable, arg0: inst_block78000025, arg1: impl78000000} +// CHECK:STDOUT: inst78000090: {kind: ImplWitness, arg0: inst7800008F, arg1: specific78000004, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000091: {kind: FunctionDecl, arg0: function78000002, arg1: inst_block_empty, type: type(symbolic_constant7800004D)} +// CHECK:STDOUT: inst78000092: {kind: FunctionType, arg0: function78000002, arg1: specific78000004, type: type(TypeType)} +// CHECK:STDOUT: inst78000093: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800004D)} +// CHECK:STDOUT: inst78000094: {kind: PatternType, arg0: inst7800008C, type: type(TypeType)} +// CHECK:STDOUT: inst78000095: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst78000096: {kind: PatternType, arg0: inst7800005A, type: type(TypeType)} +// CHECK:STDOUT: inst78000097: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000096)} +// CHECK:STDOUT: inst78000098: {kind: ImportRefLoaded, arg0: import_ir_inst27, arg1: entity_name, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst78000099: {kind: ReturnSlotPattern, arg0: inst78000095, arg1: inst, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst7800009A: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst7800009B: {kind: ImportRefLoaded, arg0: import_ir_inst28, arg1: entity_name, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst7800009C: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst7800009A, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst7800009D: {kind: ImportRefLoaded, arg0: import_ir_inst29, arg1: entity_name, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst7800009E: {kind: InitForm, arg0: inst7800008C, type: type(inst(FormType))} +// CHECK:STDOUT: inst7800009F: {kind: ImportRefLoaded, arg0: import_ir_inst2A, arg1: entity_name, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst780000A0: {kind: ImportRefLoaded, arg0: import_ir_inst2B, arg1: entity_name, type: type(symbolic_constant78000056)} +// CHECK:STDOUT: inst780000A1: {kind: ImportRefLoaded, arg0: import_ir_inst2C, arg1: entity_name, type: type(symbolic_constant78000056)} +// CHECK:STDOUT: inst780000A2: {kind: ImportRefLoaded, arg0: import_ir_inst2D, arg1: entity_name, type: type(symbolic_constant78000056)} +// CHECK:STDOUT: inst780000A3: {kind: ImportRefLoaded, arg0: import_ir_inst2E, arg1: entity_name, type: type(symbolic_constant78000056)} +// CHECK:STDOUT: inst780000A4: {kind: ImportRefLoaded, arg0: import_ir_inst2F, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000A5: {kind: ImportRefLoaded, arg0: import_ir_inst30, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst780000A6: {kind: ImportRefLoaded, arg0: import_ir_inst31, arg1: entity_name, type: type(symbolic_constant78000056)} +// CHECK:STDOUT: inst780000A7: {kind: ImportRefLoaded, arg0: import_ir_inst32, arg1: entity_name, type: type(inst7800005A)} +// CHECK:STDOUT: inst780000A8: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst780000A9: {kind: FacetAccessType, arg0: inst780000A8, type: type(TypeType)} +// CHECK:STDOUT: inst780000AA: {kind: ConstType, arg0: inst780000A9, type: type(TypeType)} +// CHECK:STDOUT: inst780000AB: {kind: PatternType, arg0: inst780000AA, type: type(TypeType)} +// CHECK:STDOUT: inst780000AC: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant7800006B)} +// CHECK:STDOUT: inst780000AD: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780000AC, type: type(symbolic_constant7800006B)} +// CHECK:STDOUT: inst780000AE: {kind: InitForm, arg0: inst780000AA, type: type(inst(FormType))} +// CHECK:STDOUT: inst780000AF: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant7800006B)} +// CHECK:STDOUT: inst780000B0: {kind: ReturnSlotPattern, arg0: inst780000AF, arg1: inst, type: type(symbolic_constant7800006B)} +// CHECK:STDOUT: inst780000B1: {kind: LookupImplWitness, arg0: inst7800008A, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000B2: {kind: FunctionType, arg0: function78000001, arg1: specific78000005, type: type(TypeType)} +// CHECK:STDOUT: inst780000B3: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000072)} +// CHECK:STDOUT: inst780000B4: {kind: FunctionTypeWithSelfType, arg0: inst780000B2, arg1: inst7800008A, type: type(TypeType)} +// CHECK:STDOUT: inst780000B5: {kind: ImplWitnessAccess, arg0: inst780000B1, arg1: element0, type: type(symbolic_constant78000074)} +// CHECK:STDOUT: inst780000B6: {kind: SpecificImplFunction, arg0: inst780000B5, arg1: specific78000006, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst780000B7: {kind: PatternType, arg0: inst7800008B, type: type(TypeType)} +// CHECK:STDOUT: inst780000B8: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000078)} +// CHECK:STDOUT: inst780000B9: {kind: ImportRefLoaded, arg0: import_ir_inst3C, arg1: entity_name, type: type(symbolic_constant78000078)} +// CHECK:STDOUT: inst780000BA: {kind: ReturnSlotPattern, arg0: inst780000B8, arg1: inst, type: type(symbolic_constant78000078)} +// CHECK:STDOUT: inst780000BB: {kind: InitForm, arg0: inst7800008B, type: type(inst(FormType))} +// CHECK:STDOUT: inst780000BC: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000078)} +// CHECK:STDOUT: inst780000BD: {kind: ImportRefLoaded, arg0: import_ir_inst3D, arg1: entity_name, type: type(symbolic_constant78000078)} +// CHECK:STDOUT: inst780000BE: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780000BC, type: type(symbolic_constant78000078)} +// CHECK:STDOUT: inst780000BF: {kind: RequireCompleteType, arg0: inst7800008B, type: type(inst(WitnessType))} // CHECK:STDOUT: inst780000C0: {kind: RequireCompleteType, arg0: inst7800008C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000C1: {kind: RequireCompleteType, arg0: inst7800008D, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000C2: {kind: RequireCompleteType, arg0: inst780000AB, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000C3: {kind: RequireCompleteType, arg0: inst780000AA, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000C4: {kind: FunctionType, arg0: function78000001, arg1: specific78000008, type: type(TypeType)} -// CHECK:STDOUT: inst780000C5: {kind: FunctionTypeWithSelfType, arg0: inst780000C4, arg1: inst780000A9, type: type(TypeType)} -// CHECK:STDOUT: inst780000C6: {kind: LookupImplWitness, arg0: inst780000A9, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000C7: {kind: ImplWitnessAccess, arg0: inst780000C6, arg1: element0, type: type(symbolic_constant78000089)} -// CHECK:STDOUT: inst780000C8: {kind: SpecificImplFunction, arg0: inst780000C7, arg1: specific78000009, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst780000C9: {kind: ImportRefLoaded, arg0: import_ir_inst45, arg1: entity_name, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst780000CA: {kind: ImportRefLoaded, arg0: import_ir_inst46, arg1: entity_name, type: type(symbolic_constant78000050)} -// CHECK:STDOUT: inst780000CB: {kind: ImportRefLoaded, arg0: import_ir_inst47, arg1: entity_name, type: type(inst78000097)} -// CHECK:STDOUT: inst780000CC: {kind: ImportRefLoaded, arg0: import_ir_inst48, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000CD: {kind: ImportRefLoaded, arg0: import_ir_inst49, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000CE: {kind: ImportRefLoaded, arg0: import_ir_inst4A, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000CF: {kind: ImportRefLoaded, arg0: import_ir_inst4B, arg1: entity_name, type: type(inst7800005B)} -// CHECK:STDOUT: inst780000D0: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000097)} -// CHECK:STDOUT: inst780000D1: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst780000D2: {kind: FacetAccessType, arg0: inst780000D1, type: type(TypeType)} -// CHECK:STDOUT: inst780000D3: {kind: ConstType, arg0: inst780000D2, type: type(TypeType)} -// CHECK:STDOUT: inst780000D4: {kind: ImplSelfWitness, arg0: inst780000D3, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000D5: {kind: ImplWitness, arg0: inst78000090, arg1: specific7800000A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000D6: {kind: FunctionType, arg0: function78000002, arg1: specific7800000A, type: type(TypeType)} -// CHECK:STDOUT: inst780000D7: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800009A)} -// CHECK:STDOUT: inst780000D8: {kind: ImportRefUnloaded, arg0: import_ir_inst54, arg1: entity_name} -// CHECK:STDOUT: inst780000D9: {kind: ImplDecl, arg0: impl78000001, arg1: inst_block_empty} -// CHECK:STDOUT: inst780000DA: {kind: ImplSelfWitness, arg0: inst(BoolType), arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000DB: {kind: ImportRefLoaded, arg0: import_ir_inst56, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000DC: {kind: ImportRefLoaded, arg0: import_ir_inst57, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000DD: {kind: ImportRefLoaded, arg0: import_ir_inst58, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000DE: {kind: ImportRefUnloaded, arg0: import_ir_inst59, arg1: entity_name} -// CHECK:STDOUT: inst780000DF: {kind: ImplDecl, arg0: impl78000002, arg1: inst_block_empty} -// CHECK:STDOUT: inst780000E0: {kind: ImplSelfWitness, arg0: inst(CharLiteralType), arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000E1: {kind: ImportRefLoaded, arg0: import_ir_inst5B, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000E2: {kind: ImportRefLoaded, arg0: import_ir_inst5C, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000E3: {kind: ImportRefLoaded, arg0: import_ir_inst5D, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000E4: {kind: ImportRefUnloaded, arg0: import_ir_inst5E, arg1: entity_name} -// CHECK:STDOUT: inst780000E5: {kind: ImplDecl, arg0: impl78000003, arg1: inst_block_empty} -// CHECK:STDOUT: inst780000E6: {kind: ImplSelfWitness, arg0: inst(FloatLiteralType), arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000E7: {kind: ImportRefLoaded, arg0: import_ir_inst60, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000E8: {kind: ImportRefLoaded, arg0: import_ir_inst61, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000E9: {kind: ImportRefLoaded, arg0: import_ir_inst62, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000EA: {kind: ImportRefUnloaded, arg0: import_ir_inst63, arg1: entity_name} -// CHECK:STDOUT: inst780000EB: {kind: ImplDecl, arg0: impl78000004, arg1: inst_block_empty} -// CHECK:STDOUT: inst780000EC: {kind: ImplSelfWitness, arg0: inst(IntLiteralType), arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000ED: {kind: ImportRefLoaded, arg0: import_ir_inst65, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000EE: {kind: ImportRefLoaded, arg0: import_ir_inst66, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000EF: {kind: ImportRefLoaded, arg0: import_ir_inst67, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000F0: {kind: ImportRefLoaded, arg0: import_ir_inst68, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000F1: {kind: ImplDecl, arg0: impl78000005, arg1: inst_block_empty} -// CHECK:STDOUT: inst780000F2: {kind: ImplSelfWitness, arg0: inst78000020, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000F3: {kind: ImportRefUnloaded, arg0: import_ir_inst6A, arg1: entity_name} -// CHECK:STDOUT: inst780000F4: {kind: ImplWitnessTable, arg0: inst_block78000039, arg1: impl78000005} -// CHECK:STDOUT: inst780000F5: {kind: ImplWitness, arg0: inst780000F4, arg1: specific7800000B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000F6: {kind: ImportRefLoaded, arg0: import_ir_inst6C, arg1: entity_name, type: type(inst78000017)} -// CHECK:STDOUT: inst780000F7: {kind: ImportRefLoaded, arg0: import_ir_inst6D, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000F8: {kind: ImportRefLoaded, arg0: import_ir_inst6E, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000F9: {kind: ImportRefLoaded, arg0: import_ir_inst6F, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000FA: {kind: ImportRefLoaded, arg0: import_ir_inst70, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780000FB: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000017)} -// CHECK:STDOUT: inst780000FC: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst780000FD: {kind: PointerType, arg0: inst780000FC, type: type(TypeType)} -// CHECK:STDOUT: inst780000FE: {kind: ImplSelfWitness, arg0: inst780000FD, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780000FF: {kind: ImplWitness, arg0: inst780000F4, arg1: specific7800000C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000100: {kind: FunctionDecl, arg0: function78000003, arg1: inst_block_empty, type: type(symbolic_constant780000AD)} -// CHECK:STDOUT: inst78000101: {kind: FunctionType, arg0: function78000003, arg1: specific7800000B, type: type(TypeType)} -// CHECK:STDOUT: inst78000102: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780000AD)} -// CHECK:STDOUT: inst78000103: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000104: {kind: ImportRefLoaded, arg0: import_ir_inst77, arg1: entity_name, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000105: {kind: ReturnSlotPattern, arg0: inst78000103, arg1: inst, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000106: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000107: {kind: ImportRefLoaded, arg0: import_ir_inst78, arg1: entity_name, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000108: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000106, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst78000109: {kind: ImportRefLoaded, arg0: import_ir_inst79, arg1: entity_name, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst7800010A: {kind: InitForm, arg0: inst78000020, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800010B: {kind: ImportRefLoaded, arg0: import_ir_inst7A, arg1: entity_name, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst7800010C: {kind: ImportRefLoaded, arg0: import_ir_inst7B, arg1: entity_name, type: type(symbolic_constant780000B4)} -// CHECK:STDOUT: inst7800010D: {kind: ImportRefLoaded, arg0: import_ir_inst7C, arg1: entity_name, type: type(symbolic_constant780000B4)} -// CHECK:STDOUT: inst7800010E: {kind: ImportRefLoaded, arg0: import_ir_inst7D, arg1: entity_name, type: type(symbolic_constant780000B4)} -// CHECK:STDOUT: inst7800010F: {kind: ImportRefLoaded, arg0: import_ir_inst7E, arg1: entity_name, type: type(symbolic_constant780000B4)} -// CHECK:STDOUT: inst78000110: {kind: ImportRefLoaded, arg0: import_ir_inst7F, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst78000111: {kind: ImportRefLoaded, arg0: import_ir_inst80, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst78000112: {kind: ImportRefLoaded, arg0: import_ir_inst81, arg1: entity_name, type: type(symbolic_constant780000B4)} -// CHECK:STDOUT: inst78000113: {kind: ImportRefLoaded, arg0: import_ir_inst82, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst78000114: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst78000115: {kind: PointerType, arg0: inst78000114, type: type(TypeType)} -// CHECK:STDOUT: inst78000116: {kind: PatternType, arg0: inst78000115, type: type(TypeType)} -// CHECK:STDOUT: inst78000117: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant780000C6)} -// CHECK:STDOUT: inst78000118: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000117, type: type(symbolic_constant780000C6)} -// CHECK:STDOUT: inst78000119: {kind: InitForm, arg0: inst78000115, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800011A: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant780000C6)} -// CHECK:STDOUT: inst7800011B: {kind: ReturnSlotPattern, arg0: inst7800011A, arg1: inst, type: type(symbolic_constant780000C6)} -// CHECK:STDOUT: inst7800011C: {kind: ImportRefLoaded, arg0: import_ir_inst8B, arg1: entity_name, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst7800011D: {kind: ImportRefLoaded, arg0: import_ir_inst8C, arg1: entity_name, type: type(symbolic_constant78000007)} -// CHECK:STDOUT: inst7800011E: {kind: FunctionType, arg0: function78000003, arg1: specific7800000C, type: type(TypeType)} -// CHECK:STDOUT: inst7800011F: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780000CD)} -// CHECK:STDOUT: inst78000120: {kind: RequireCompleteType, arg0: inst780000FD, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000121: {kind: ImportRefUnloaded, arg0: import_ir_inst90, arg1: entity_name} -// CHECK:STDOUT: inst78000122: {kind: ImplDecl, arg0: impl78000006, arg1: inst_block_empty} -// CHECK:STDOUT: inst78000123: {kind: ImplSelfWitness, arg0: inst(TypeType), arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000124: {kind: ImportRefLoaded, arg0: import_ir_inst92, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst78000125: {kind: ImportRefLoaded, arg0: import_ir_inst93, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst78000126: {kind: ImportRefLoaded, arg0: import_ir_inst94, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000127: {kind: ImportRefUnloaded, arg0: import_ir_inst95, arg1: entity_name} -// CHECK:STDOUT: inst78000128: {kind: ImplDecl, arg0: impl78000007, arg1: inst_block_empty} -// CHECK:STDOUT: inst78000129: {kind: ImplSelfWitness, arg0: inst7800002D, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800012A: {kind: ImportRefLoaded, arg0: import_ir_inst97, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst7800012B: {kind: ImportRefLoaded, arg0: import_ir_inst98, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst7800012C: {kind: ImportRefLoaded, arg0: import_ir_inst99, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800012D: {kind: ImportRefUnloaded, arg0: import_ir_inst9A, arg1: entity_name} -// CHECK:STDOUT: inst7800012E: {kind: ImplDecl, arg0: impl78000008, arg1: inst_block_empty} -// CHECK:STDOUT: inst7800012F: {kind: SymbolicBinding, arg0: entity_name78000021, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst78000130: {kind: FacetAccessType, arg0: inst7800012F, type: type(TypeType)} -// CHECK:STDOUT: inst78000131: {kind: TupleType, arg0: inst_block78000046, type: type(TypeType)} -// CHECK:STDOUT: inst78000132: {kind: ImplSelfWitness, arg0: inst78000131, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000133: {kind: ImportRefUnloaded, arg0: import_ir_inst9C, arg1: entity_name} -// CHECK:STDOUT: inst78000134: {kind: ImplWitnessTable, arg0: inst_block78000047, arg1: impl78000008} -// CHECK:STDOUT: inst78000135: {kind: ImplWitness, arg0: inst78000134, arg1: specific7800000E, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000136: {kind: FunctionDecl, arg0: function78000004, arg1: inst_block_empty, type: type(symbolic_constant780000D8)} -// CHECK:STDOUT: inst78000137: {kind: FunctionType, arg0: function78000004, arg1: specific7800000E, type: type(TypeType)} -// CHECK:STDOUT: inst78000138: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780000D8)} -// CHECK:STDOUT: inst78000139: {kind: PatternType, arg0: inst78000131, type: type(TypeType)} -// CHECK:STDOUT: inst7800013A: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst7800013B: {kind: TupleType, arg0: inst_block78000049, type: type(TypeType)} -// CHECK:STDOUT: inst7800013C: {kind: TupleValue, arg0: inst_block78000048, type: type(inst7800013B)} -// CHECK:STDOUT: inst7800013D: {kind: SymbolicBindingPattern, arg0: entity_name78000021, type: type(inst78000097)} -// CHECK:STDOUT: inst7800013E: {kind: ImportRefLoaded, arg0: import_ir_inst9F, arg1: entity_name, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst7800013F: {kind: ReturnSlotPattern, arg0: inst7800013A, arg1: inst, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst78000140: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst78000141: {kind: ImportRefLoaded, arg0: import_ir_instA0, arg1: entity_name, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst78000142: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000140, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst78000143: {kind: ImportRefLoaded, arg0: import_ir_instA1, arg1: entity_name, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst78000144: {kind: InitForm, arg0: inst78000131, type: type(inst(FormType))} -// CHECK:STDOUT: inst78000145: {kind: ImportRefLoaded, arg0: import_ir_instA2, arg1: entity_name, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst78000146: {kind: ImportRefLoaded, arg0: import_ir_instA3, arg1: entity_name, type: type(symbolic_constant780000E2)} -// CHECK:STDOUT: inst78000147: {kind: ImportRefLoaded, arg0: import_ir_instA4, arg1: entity_name, type: type(symbolic_constant780000E2)} -// CHECK:STDOUT: inst78000148: {kind: ImportRefLoaded, arg0: import_ir_instA5, arg1: entity_name, type: type(symbolic_constant780000E2)} -// CHECK:STDOUT: inst78000149: {kind: ImportRefLoaded, arg0: import_ir_instA6, arg1: entity_name, type: type(symbolic_constant780000E2)} -// CHECK:STDOUT: inst7800014A: {kind: ImportRefLoaded, arg0: import_ir_instA7, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst7800014B: {kind: ImportRefLoaded, arg0: import_ir_instA8, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst7800014C: {kind: ImportRefLoaded, arg0: import_ir_instA9, arg1: entity_name, type: type(symbolic_constant780000E2)} -// CHECK:STDOUT: inst7800014D: {kind: ImportRefLoaded, arg0: import_ir_instAA, arg1: entity_name, type: type(inst7800005B)} -// CHECK:STDOUT: inst7800014E: {kind: ImportRefLoaded, arg0: import_ir_instAB, arg1: entity_name, type: type(inst7800005B)} -// CHECK:STDOUT: inst7800014F: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst78000150: {kind: FacetAccessType, arg0: inst7800014F, type: type(TypeType)} -// CHECK:STDOUT: inst78000151: {kind: SymbolicBinding, arg0: entity_name78000021, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst78000152: {kind: FacetAccessType, arg0: inst78000151, type: type(TypeType)} -// CHECK:STDOUT: inst78000153: {kind: TupleType, arg0: inst_block7800004F, type: type(TypeType)} -// CHECK:STDOUT: inst78000154: {kind: PatternType, arg0: inst78000153, type: type(TypeType)} -// CHECK:STDOUT: inst78000155: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant780000FC)} -// CHECK:STDOUT: inst78000156: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000155, type: type(symbolic_constant780000FC)} -// CHECK:STDOUT: inst78000157: {kind: InitForm, arg0: inst78000153, type: type(inst(FormType))} -// CHECK:STDOUT: inst78000158: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant780000FC)} -// CHECK:STDOUT: inst78000159: {kind: ReturnSlotPattern, arg0: inst78000158, arg1: inst, type: type(symbolic_constant780000FC)} -// CHECK:STDOUT: inst7800015A: {kind: LookupImplWitness, arg0: inst7800012F, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800015B: {kind: FunctionType, arg0: function78000001, arg1: specific7800000F, type: type(TypeType)} -// CHECK:STDOUT: inst7800015C: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000103)} -// CHECK:STDOUT: inst7800015D: {kind: FunctionTypeWithSelfType, arg0: inst7800015B, arg1: inst7800012F, type: type(TypeType)} -// CHECK:STDOUT: inst7800015E: {kind: ImplWitnessAccess, arg0: inst7800015A, arg1: element0, type: type(symbolic_constant78000105)} -// CHECK:STDOUT: inst7800015F: {kind: SpecificImplFunction, arg0: inst7800015E, arg1: specific78000010, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst78000160: {kind: PatternType, arg0: inst78000130, type: type(TypeType)} -// CHECK:STDOUT: inst78000161: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000109)} -// CHECK:STDOUT: inst78000162: {kind: ImportRefLoaded, arg0: import_ir_instB7, arg1: entity_name, type: type(symbolic_constant78000109)} -// CHECK:STDOUT: inst78000163: {kind: ReturnSlotPattern, arg0: inst78000161, arg1: inst, type: type(symbolic_constant78000109)} -// CHECK:STDOUT: inst78000164: {kind: InitForm, arg0: inst78000130, type: type(inst(FormType))} -// CHECK:STDOUT: inst78000165: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000109)} -// CHECK:STDOUT: inst78000166: {kind: ImportRefLoaded, arg0: import_ir_instB8, arg1: entity_name, type: type(symbolic_constant78000109)} -// CHECK:STDOUT: inst78000167: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000165, type: type(symbolic_constant78000109)} +// CHECK:STDOUT: inst780000C1: {kind: RequireCompleteType, arg0: inst780000AA, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000C2: {kind: RequireCompleteType, arg0: inst780000A9, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000C3: {kind: FunctionType, arg0: function78000001, arg1: specific78000008, type: type(TypeType)} +// CHECK:STDOUT: inst780000C4: {kind: FunctionTypeWithSelfType, arg0: inst780000C3, arg1: inst780000A8, type: type(TypeType)} +// CHECK:STDOUT: inst780000C5: {kind: LookupImplWitness, arg0: inst780000A8, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000C6: {kind: ImplWitnessAccess, arg0: inst780000C5, arg1: element0, type: type(symbolic_constant78000089)} +// CHECK:STDOUT: inst780000C7: {kind: SpecificImplFunction, arg0: inst780000C6, arg1: specific78000009, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst780000C8: {kind: ImportRefLoaded, arg0: import_ir_inst45, arg1: entity_name, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst780000C9: {kind: ImportRefLoaded, arg0: import_ir_inst46, arg1: entity_name, type: type(symbolic_constant78000050)} +// CHECK:STDOUT: inst780000CA: {kind: ImportRefLoaded, arg0: import_ir_inst47, arg1: entity_name, type: type(inst78000096)} +// CHECK:STDOUT: inst780000CB: {kind: ImportRefLoaded, arg0: import_ir_inst48, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000CC: {kind: ImportRefLoaded, arg0: import_ir_inst49, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000CD: {kind: ImportRefLoaded, arg0: import_ir_inst4A, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000CE: {kind: ImportRefLoaded, arg0: import_ir_inst4B, arg1: entity_name, type: type(inst7800005A)} +// CHECK:STDOUT: inst780000CF: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000096)} +// CHECK:STDOUT: inst780000D0: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst780000D1: {kind: FacetAccessType, arg0: inst780000D0, type: type(TypeType)} +// CHECK:STDOUT: inst780000D2: {kind: ConstType, arg0: inst780000D1, type: type(TypeType)} +// CHECK:STDOUT: inst780000D3: {kind: ImplSelfWitness, arg0: inst780000D2, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000D4: {kind: ImplWitness, arg0: inst7800008F, arg1: specific7800000A, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000D5: {kind: FunctionType, arg0: function78000002, arg1: specific7800000A, type: type(TypeType)} +// CHECK:STDOUT: inst780000D6: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800009A)} +// CHECK:STDOUT: inst780000D7: {kind: ImportRefUnloaded, arg0: import_ir_inst54, arg1: entity_name} +// CHECK:STDOUT: inst780000D8: {kind: ImplDecl, arg0: impl78000001, arg1: inst_block_empty} +// CHECK:STDOUT: inst780000D9: {kind: ImplSelfWitness, arg0: inst(BoolType), arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000DA: {kind: ImportRefLoaded, arg0: import_ir_inst56, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000DB: {kind: ImportRefLoaded, arg0: import_ir_inst57, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000DC: {kind: ImportRefLoaded, arg0: import_ir_inst58, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000DD: {kind: ImportRefUnloaded, arg0: import_ir_inst59, arg1: entity_name} +// CHECK:STDOUT: inst780000DE: {kind: ImplDecl, arg0: impl78000002, arg1: inst_block_empty} +// CHECK:STDOUT: inst780000DF: {kind: ImplSelfWitness, arg0: inst(CharLiteralType), arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000E0: {kind: ImportRefLoaded, arg0: import_ir_inst5B, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000E1: {kind: ImportRefLoaded, arg0: import_ir_inst5C, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000E2: {kind: ImportRefLoaded, arg0: import_ir_inst5D, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000E3: {kind: ImportRefUnloaded, arg0: import_ir_inst5E, arg1: entity_name} +// CHECK:STDOUT: inst780000E4: {kind: ImplDecl, arg0: impl78000003, arg1: inst_block_empty} +// CHECK:STDOUT: inst780000E5: {kind: ImplSelfWitness, arg0: inst(FloatLiteralType), arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000E6: {kind: ImportRefLoaded, arg0: import_ir_inst60, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000E7: {kind: ImportRefLoaded, arg0: import_ir_inst61, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000E8: {kind: ImportRefLoaded, arg0: import_ir_inst62, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000E9: {kind: ImportRefUnloaded, arg0: import_ir_inst63, arg1: entity_name} +// CHECK:STDOUT: inst780000EA: {kind: ImplDecl, arg0: impl78000004, arg1: inst_block_empty} +// CHECK:STDOUT: inst780000EB: {kind: ImplSelfWitness, arg0: inst(IntLiteralType), arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000EC: {kind: ImportRefLoaded, arg0: import_ir_inst65, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000ED: {kind: ImportRefLoaded, arg0: import_ir_inst66, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000EE: {kind: ImportRefLoaded, arg0: import_ir_inst67, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000EF: {kind: ImportRefLoaded, arg0: import_ir_inst68, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000F0: {kind: ImplDecl, arg0: impl78000005, arg1: inst_block_empty} +// CHECK:STDOUT: inst780000F1: {kind: ImplSelfWitness, arg0: inst7800001F, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000F2: {kind: ImportRefUnloaded, arg0: import_ir_inst6A, arg1: entity_name} +// CHECK:STDOUT: inst780000F3: {kind: ImplWitnessTable, arg0: inst_block78000039, arg1: impl78000005} +// CHECK:STDOUT: inst780000F4: {kind: ImplWitness, arg0: inst780000F3, arg1: specific7800000B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000F5: {kind: ImportRefLoaded, arg0: import_ir_inst6C, arg1: entity_name, type: type(inst78000016)} +// CHECK:STDOUT: inst780000F6: {kind: ImportRefLoaded, arg0: import_ir_inst6D, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000F7: {kind: ImportRefLoaded, arg0: import_ir_inst6E, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000F8: {kind: ImportRefLoaded, arg0: import_ir_inst6F, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000F9: {kind: ImportRefLoaded, arg0: import_ir_inst70, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780000FA: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000016)} +// CHECK:STDOUT: inst780000FB: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst780000FC: {kind: PointerType, arg0: inst780000FB, type: type(TypeType)} +// CHECK:STDOUT: inst780000FD: {kind: ImplSelfWitness, arg0: inst780000FC, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000FE: {kind: ImplWitness, arg0: inst780000F3, arg1: specific7800000C, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780000FF: {kind: FunctionDecl, arg0: function78000003, arg1: inst_block_empty, type: type(symbolic_constant780000AD)} +// CHECK:STDOUT: inst78000100: {kind: FunctionType, arg0: function78000003, arg1: specific7800000B, type: type(TypeType)} +// CHECK:STDOUT: inst78000101: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780000AD)} +// CHECK:STDOUT: inst78000102: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000103: {kind: ImportRefLoaded, arg0: import_ir_inst77, arg1: entity_name, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000104: {kind: ReturnSlotPattern, arg0: inst78000102, arg1: inst, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000105: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000106: {kind: ImportRefLoaded, arg0: import_ir_inst78, arg1: entity_name, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000107: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000105, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000108: {kind: ImportRefLoaded, arg0: import_ir_inst79, arg1: entity_name, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst78000109: {kind: InitForm, arg0: inst7800001F, type: type(inst(FormType))} +// CHECK:STDOUT: inst7800010A: {kind: ImportRefLoaded, arg0: import_ir_inst7A, arg1: entity_name, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst7800010B: {kind: ImportRefLoaded, arg0: import_ir_inst7B, arg1: entity_name, type: type(symbolic_constant780000B4)} +// CHECK:STDOUT: inst7800010C: {kind: ImportRefLoaded, arg0: import_ir_inst7C, arg1: entity_name, type: type(symbolic_constant780000B4)} +// CHECK:STDOUT: inst7800010D: {kind: ImportRefLoaded, arg0: import_ir_inst7D, arg1: entity_name, type: type(symbolic_constant780000B4)} +// CHECK:STDOUT: inst7800010E: {kind: ImportRefLoaded, arg0: import_ir_inst7E, arg1: entity_name, type: type(symbolic_constant780000B4)} +// CHECK:STDOUT: inst7800010F: {kind: ImportRefLoaded, arg0: import_ir_inst7F, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst78000110: {kind: ImportRefLoaded, arg0: import_ir_inst80, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000111: {kind: ImportRefLoaded, arg0: import_ir_inst81, arg1: entity_name, type: type(symbolic_constant780000B4)} +// CHECK:STDOUT: inst78000112: {kind: ImportRefLoaded, arg0: import_ir_inst82, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst78000113: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst78000114: {kind: PointerType, arg0: inst78000113, type: type(TypeType)} +// CHECK:STDOUT: inst78000115: {kind: PatternType, arg0: inst78000114, type: type(TypeType)} +// CHECK:STDOUT: inst78000116: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant780000C6)} +// CHECK:STDOUT: inst78000117: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000116, type: type(symbolic_constant780000C6)} +// CHECK:STDOUT: inst78000118: {kind: InitForm, arg0: inst78000114, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000119: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant780000C6)} +// CHECK:STDOUT: inst7800011A: {kind: ReturnSlotPattern, arg0: inst78000119, arg1: inst, type: type(symbolic_constant780000C6)} +// CHECK:STDOUT: inst7800011B: {kind: ImportRefLoaded, arg0: import_ir_inst8B, arg1: entity_name, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst7800011C: {kind: ImportRefLoaded, arg0: import_ir_inst8C, arg1: entity_name, type: type(symbolic_constant78000007)} +// CHECK:STDOUT: inst7800011D: {kind: FunctionType, arg0: function78000003, arg1: specific7800000C, type: type(TypeType)} +// CHECK:STDOUT: inst7800011E: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780000CD)} +// CHECK:STDOUT: inst7800011F: {kind: RequireCompleteType, arg0: inst780000FC, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000120: {kind: ImportRefUnloaded, arg0: import_ir_inst90, arg1: entity_name} +// CHECK:STDOUT: inst78000121: {kind: ImplDecl, arg0: impl78000006, arg1: inst_block_empty} +// CHECK:STDOUT: inst78000122: {kind: ImplSelfWitness, arg0: inst(TypeType), arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000123: {kind: ImportRefLoaded, arg0: import_ir_inst92, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst78000124: {kind: ImportRefLoaded, arg0: import_ir_inst93, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst78000125: {kind: ImportRefLoaded, arg0: import_ir_inst94, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000126: {kind: ImportRefUnloaded, arg0: import_ir_inst95, arg1: entity_name} +// CHECK:STDOUT: inst78000127: {kind: ImplDecl, arg0: impl78000007, arg1: inst_block_empty} +// CHECK:STDOUT: inst78000128: {kind: ImplSelfWitness, arg0: inst7800002C, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000129: {kind: ImportRefLoaded, arg0: import_ir_inst97, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst7800012A: {kind: ImportRefLoaded, arg0: import_ir_inst98, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst7800012B: {kind: ImportRefLoaded, arg0: import_ir_inst99, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800012C: {kind: ImportRefUnloaded, arg0: import_ir_inst9A, arg1: entity_name} +// CHECK:STDOUT: inst7800012D: {kind: ImplDecl, arg0: impl78000008, arg1: inst_block_empty} +// CHECK:STDOUT: inst7800012E: {kind: SymbolicBinding, arg0: entity_name78000021, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst7800012F: {kind: FacetAccessType, arg0: inst7800012E, type: type(TypeType)} +// CHECK:STDOUT: inst78000130: {kind: TupleType, arg0: inst_block78000046, type: type(TypeType)} +// CHECK:STDOUT: inst78000131: {kind: ImplSelfWitness, arg0: inst78000130, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000132: {kind: ImportRefUnloaded, arg0: import_ir_inst9C, arg1: entity_name} +// CHECK:STDOUT: inst78000133: {kind: ImplWitnessTable, arg0: inst_block78000047, arg1: impl78000008} +// CHECK:STDOUT: inst78000134: {kind: ImplWitness, arg0: inst78000133, arg1: specific7800000E, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000135: {kind: FunctionDecl, arg0: function78000004, arg1: inst_block_empty, type: type(symbolic_constant780000D8)} +// CHECK:STDOUT: inst78000136: {kind: FunctionType, arg0: function78000004, arg1: specific7800000E, type: type(TypeType)} +// CHECK:STDOUT: inst78000137: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780000D8)} +// CHECK:STDOUT: inst78000138: {kind: PatternType, arg0: inst78000130, type: type(TypeType)} +// CHECK:STDOUT: inst78000139: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst7800013A: {kind: TupleType, arg0: inst_block78000049, type: type(TypeType)} +// CHECK:STDOUT: inst7800013B: {kind: TupleValue, arg0: inst_block78000048, type: type(inst7800013A)} +// CHECK:STDOUT: inst7800013C: {kind: SymbolicBindingPattern, arg0: entity_name78000021, type: type(inst78000096)} +// CHECK:STDOUT: inst7800013D: {kind: ImportRefLoaded, arg0: import_ir_inst9F, arg1: entity_name, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst7800013E: {kind: ReturnSlotPattern, arg0: inst78000139, arg1: inst, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst7800013F: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst78000140: {kind: ImportRefLoaded, arg0: import_ir_instA0, arg1: entity_name, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst78000141: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst7800013F, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst78000142: {kind: ImportRefLoaded, arg0: import_ir_instA1, arg1: entity_name, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst78000143: {kind: InitForm, arg0: inst78000130, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000144: {kind: ImportRefLoaded, arg0: import_ir_instA2, arg1: entity_name, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst78000145: {kind: ImportRefLoaded, arg0: import_ir_instA3, arg1: entity_name, type: type(symbolic_constant780000E2)} +// CHECK:STDOUT: inst78000146: {kind: ImportRefLoaded, arg0: import_ir_instA4, arg1: entity_name, type: type(symbolic_constant780000E2)} +// CHECK:STDOUT: inst78000147: {kind: ImportRefLoaded, arg0: import_ir_instA5, arg1: entity_name, type: type(symbolic_constant780000E2)} +// CHECK:STDOUT: inst78000148: {kind: ImportRefLoaded, arg0: import_ir_instA6, arg1: entity_name, type: type(symbolic_constant780000E2)} +// CHECK:STDOUT: inst78000149: {kind: ImportRefLoaded, arg0: import_ir_instA7, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst7800014A: {kind: ImportRefLoaded, arg0: import_ir_instA8, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst7800014B: {kind: ImportRefLoaded, arg0: import_ir_instA9, arg1: entity_name, type: type(symbolic_constant780000E2)} +// CHECK:STDOUT: inst7800014C: {kind: ImportRefLoaded, arg0: import_ir_instAA, arg1: entity_name, type: type(inst7800005A)} +// CHECK:STDOUT: inst7800014D: {kind: ImportRefLoaded, arg0: import_ir_instAB, arg1: entity_name, type: type(inst7800005A)} +// CHECK:STDOUT: inst7800014E: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst7800014F: {kind: FacetAccessType, arg0: inst7800014E, type: type(TypeType)} +// CHECK:STDOUT: inst78000150: {kind: SymbolicBinding, arg0: entity_name78000021, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst78000151: {kind: FacetAccessType, arg0: inst78000150, type: type(TypeType)} +// CHECK:STDOUT: inst78000152: {kind: TupleType, arg0: inst_block7800004F, type: type(TypeType)} +// CHECK:STDOUT: inst78000153: {kind: PatternType, arg0: inst78000152, type: type(TypeType)} +// CHECK:STDOUT: inst78000154: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant780000FC)} +// CHECK:STDOUT: inst78000155: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000154, type: type(symbolic_constant780000FC)} +// CHECK:STDOUT: inst78000156: {kind: InitForm, arg0: inst78000152, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000157: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant780000FC)} +// CHECK:STDOUT: inst78000158: {kind: ReturnSlotPattern, arg0: inst78000157, arg1: inst, type: type(symbolic_constant780000FC)} +// CHECK:STDOUT: inst78000159: {kind: LookupImplWitness, arg0: inst7800012E, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800015A: {kind: FunctionType, arg0: function78000001, arg1: specific7800000F, type: type(TypeType)} +// CHECK:STDOUT: inst7800015B: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000103)} +// CHECK:STDOUT: inst7800015C: {kind: FunctionTypeWithSelfType, arg0: inst7800015A, arg1: inst7800012E, type: type(TypeType)} +// CHECK:STDOUT: inst7800015D: {kind: ImplWitnessAccess, arg0: inst78000159, arg1: element0, type: type(symbolic_constant78000105)} +// CHECK:STDOUT: inst7800015E: {kind: SpecificImplFunction, arg0: inst7800015D, arg1: specific78000010, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst7800015F: {kind: PatternType, arg0: inst7800012F, type: type(TypeType)} +// CHECK:STDOUT: inst78000160: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000109)} +// CHECK:STDOUT: inst78000161: {kind: ImportRefLoaded, arg0: import_ir_instB7, arg1: entity_name, type: type(symbolic_constant78000109)} +// CHECK:STDOUT: inst78000162: {kind: ReturnSlotPattern, arg0: inst78000160, arg1: inst, type: type(symbolic_constant78000109)} +// CHECK:STDOUT: inst78000163: {kind: InitForm, arg0: inst7800012F, type: type(inst(FormType))} +// CHECK:STDOUT: inst78000164: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000109)} +// CHECK:STDOUT: inst78000165: {kind: ImportRefLoaded, arg0: import_ir_instB8, arg1: entity_name, type: type(symbolic_constant78000109)} +// CHECK:STDOUT: inst78000166: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst78000164, type: type(symbolic_constant78000109)} +// CHECK:STDOUT: inst78000167: {kind: RequireCompleteType, arg0: inst7800012F, type: type(inst(WitnessType))} // CHECK:STDOUT: inst78000168: {kind: RequireCompleteType, arg0: inst78000130, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000169: {kind: RequireCompleteType, arg0: inst78000131, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800016A: {kind: RequireCompleteType, arg0: inst78000153, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800016B: {kind: RequireCompleteType, arg0: inst78000150, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800016C: {kind: FunctionType, arg0: function78000001, arg1: specific78000012, type: type(TypeType)} -// CHECK:STDOUT: inst7800016D: {kind: FunctionTypeWithSelfType, arg0: inst7800016C, arg1: inst7800014F, type: type(TypeType)} -// CHECK:STDOUT: inst7800016E: {kind: LookupImplWitness, arg0: inst7800014F, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800016F: {kind: ImplWitnessAccess, arg0: inst7800016E, arg1: element0, type: type(symbolic_constant78000120)} -// CHECK:STDOUT: inst78000170: {kind: SpecificImplFunction, arg0: inst7800016F, arg1: specific78000013, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst78000171: {kind: RequireCompleteType, arg0: inst78000152, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000172: {kind: FunctionType, arg0: function78000001, arg1: specific78000014, type: type(TypeType)} -// CHECK:STDOUT: inst78000173: {kind: FunctionTypeWithSelfType, arg0: inst78000172, arg1: inst78000151, type: type(TypeType)} -// CHECK:STDOUT: inst78000174: {kind: LookupImplWitness, arg0: inst78000151, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000175: {kind: ImplWitnessAccess, arg0: inst78000174, arg1: element0, type: type(symbolic_constant78000126)} -// CHECK:STDOUT: inst78000176: {kind: SpecificImplFunction, arg0: inst78000175, arg1: specific78000015, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst78000177: {kind: ImportRefLoaded, arg0: import_ir_instC6, arg1: entity_name, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst78000178: {kind: ImportRefLoaded, arg0: import_ir_instC7, arg1: entity_name, type: type(symbolic_constant780000DB)} -// CHECK:STDOUT: inst78000179: {kind: ImportRefLoaded, arg0: import_ir_instC8, arg1: entity_name, type: type(inst78000097)} -// CHECK:STDOUT: inst7800017A: {kind: ImportRefLoaded, arg0: import_ir_instC9, arg1: entity_name, type: type(inst78000097)} -// CHECK:STDOUT: inst7800017B: {kind: ImportRefLoaded, arg0: import_ir_instCA, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst7800017C: {kind: ImportRefLoaded, arg0: import_ir_instCB, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst7800017D: {kind: ImportRefLoaded, arg0: import_ir_instCC, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800017E: {kind: ImportRefLoaded, arg0: import_ir_instCD, arg1: entity_name, type: type(inst7800005B)} -// CHECK:STDOUT: inst7800017F: {kind: ImportRefLoaded, arg0: import_ir_instCE, arg1: entity_name, type: type(inst7800005B)} -// CHECK:STDOUT: inst78000180: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000097)} -// CHECK:STDOUT: inst78000181: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst78000182: {kind: SymbolicBindingPattern, arg0: entity_name78000021, type: type(inst78000097)} -// CHECK:STDOUT: inst78000183: {kind: SymbolicBinding, arg0: entity_name78000021, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst78000184: {kind: TupleValue, arg0: inst_block7800005C, type: type(inst7800013B)} -// CHECK:STDOUT: inst78000185: {kind: FacetAccessType, arg0: inst78000181, type: type(TypeType)} -// CHECK:STDOUT: inst78000186: {kind: FacetAccessType, arg0: inst78000183, type: type(TypeType)} -// CHECK:STDOUT: inst78000187: {kind: TupleType, arg0: inst_block7800005D, type: type(TypeType)} -// CHECK:STDOUT: inst78000188: {kind: ImplSelfWitness, arg0: inst78000187, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000189: {kind: ImplWitness, arg0: inst78000134, arg1: specific78000016, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800018A: {kind: FunctionType, arg0: function78000004, arg1: specific78000016, type: type(TypeType)} -// CHECK:STDOUT: inst7800018B: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000140)} -// CHECK:STDOUT: inst7800018C: {kind: ImportRefUnloaded, arg0: import_ir_instDB, arg1: entity_name} -// CHECK:STDOUT: inst7800018D: {kind: ImplDecl, arg0: impl78000009, arg1: inst_block_empty} -// CHECK:STDOUT: inst7800018E: {kind: SymbolicBinding, arg0: entity_name78000031, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst7800018F: {kind: FacetAccessType, arg0: inst7800018E, type: type(TypeType)} -// CHECK:STDOUT: inst78000190: {kind: TupleType, arg0: inst_block78000062, type: type(TypeType)} -// CHECK:STDOUT: inst78000191: {kind: ImplSelfWitness, arg0: inst78000190, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000192: {kind: ImportRefUnloaded, arg0: import_ir_instDD, arg1: entity_name} -// CHECK:STDOUT: inst78000193: {kind: ImplWitnessTable, arg0: inst_block78000063, arg1: impl78000009} -// CHECK:STDOUT: inst78000194: {kind: ImplWitness, arg0: inst78000193, arg1: specific78000017, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000195: {kind: FunctionDecl, arg0: function78000005, arg1: inst_block_empty, type: type(symbolic_constant7800014A)} -// CHECK:STDOUT: inst78000196: {kind: FunctionType, arg0: function78000005, arg1: specific78000017, type: type(TypeType)} -// CHECK:STDOUT: inst78000197: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800014A)} -// CHECK:STDOUT: inst78000198: {kind: PatternType, arg0: inst78000190, type: type(TypeType)} -// CHECK:STDOUT: inst78000199: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst7800019A: {kind: TupleType, arg0: inst_block78000065, type: type(TypeType)} -// CHECK:STDOUT: inst7800019B: {kind: TupleValue, arg0: inst_block78000064, type: type(inst7800019A)} -// CHECK:STDOUT: inst7800019C: {kind: SymbolicBindingPattern, arg0: entity_name78000031, type: type(inst78000097)} -// CHECK:STDOUT: inst7800019D: {kind: ImportRefLoaded, arg0: import_ir_instE0, arg1: entity_name, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst7800019E: {kind: ReturnSlotPattern, arg0: inst78000199, arg1: inst, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst7800019F: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst780001A0: {kind: ImportRefLoaded, arg0: import_ir_instE1, arg1: entity_name, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst780001A1: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst7800019F, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst780001A2: {kind: ImportRefLoaded, arg0: import_ir_instE2, arg1: entity_name, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst780001A3: {kind: InitForm, arg0: inst78000190, type: type(inst(FormType))} -// CHECK:STDOUT: inst780001A4: {kind: ImportRefLoaded, arg0: import_ir_instE3, arg1: entity_name, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst780001A5: {kind: ImportRefLoaded, arg0: import_ir_instE4, arg1: entity_name, type: type(symbolic_constant78000154)} -// CHECK:STDOUT: inst780001A6: {kind: ImportRefLoaded, arg0: import_ir_instE5, arg1: entity_name, type: type(symbolic_constant78000154)} -// CHECK:STDOUT: inst780001A7: {kind: ImportRefLoaded, arg0: import_ir_instE6, arg1: entity_name, type: type(symbolic_constant78000154)} -// CHECK:STDOUT: inst780001A8: {kind: ImportRefLoaded, arg0: import_ir_instE7, arg1: entity_name, type: type(symbolic_constant78000154)} -// CHECK:STDOUT: inst780001A9: {kind: ImportRefLoaded, arg0: import_ir_instE8, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780001AA: {kind: ImportRefLoaded, arg0: import_ir_instE9, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst780001AB: {kind: ImportRefLoaded, arg0: import_ir_instEA, arg1: entity_name, type: type(symbolic_constant78000154)} -// CHECK:STDOUT: inst780001AC: {kind: ImportRefLoaded, arg0: import_ir_instEB, arg1: entity_name, type: type(inst7800005B)} -// CHECK:STDOUT: inst780001AD: {kind: ImportRefLoaded, arg0: import_ir_instEC, arg1: entity_name, type: type(inst7800005B)} -// CHECK:STDOUT: inst780001AE: {kind: ImportRefLoaded, arg0: import_ir_instED, arg1: entity_name, type: type(inst7800005B)} -// CHECK:STDOUT: inst780001AF: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst780001B0: {kind: FacetAccessType, arg0: inst780001AF, type: type(TypeType)} -// CHECK:STDOUT: inst780001B1: {kind: SymbolicBinding, arg0: entity_name78000021, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst780001B2: {kind: FacetAccessType, arg0: inst780001B1, type: type(TypeType)} -// CHECK:STDOUT: inst780001B3: {kind: SymbolicBinding, arg0: entity_name78000031, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst780001B4: {kind: FacetAccessType, arg0: inst780001B3, type: type(TypeType)} -// CHECK:STDOUT: inst780001B5: {kind: TupleType, arg0: inst_block7800006B, type: type(TypeType)} -// CHECK:STDOUT: inst780001B6: {kind: PatternType, arg0: inst780001B5, type: type(TypeType)} -// CHECK:STDOUT: inst780001B7: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000173)} -// CHECK:STDOUT: inst780001B8: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780001B7, type: type(symbolic_constant78000173)} -// CHECK:STDOUT: inst780001B9: {kind: InitForm, arg0: inst780001B5, type: type(inst(FormType))} -// CHECK:STDOUT: inst780001BA: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000173)} -// CHECK:STDOUT: inst780001BB: {kind: ReturnSlotPattern, arg0: inst780001BA, arg1: inst, type: type(symbolic_constant78000173)} -// CHECK:STDOUT: inst780001BC: {kind: LookupImplWitness, arg0: inst7800018E, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001BD: {kind: FunctionType, arg0: function78000001, arg1: specific78000018, type: type(TypeType)} -// CHECK:STDOUT: inst780001BE: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800017A)} -// CHECK:STDOUT: inst780001BF: {kind: FunctionTypeWithSelfType, arg0: inst780001BD, arg1: inst7800018E, type: type(TypeType)} -// CHECK:STDOUT: inst780001C0: {kind: ImplWitnessAccess, arg0: inst780001BC, arg1: element0, type: type(symbolic_constant7800017C)} -// CHECK:STDOUT: inst780001C1: {kind: SpecificImplFunction, arg0: inst780001C0, arg1: specific78000019, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst780001C2: {kind: PatternType, arg0: inst7800018F, type: type(TypeType)} -// CHECK:STDOUT: inst780001C3: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000180)} -// CHECK:STDOUT: inst780001C4: {kind: ImportRefLoaded, arg0: import_ir_instFB, arg1: entity_name, type: type(symbolic_constant78000180)} -// CHECK:STDOUT: inst780001C5: {kind: ReturnSlotPattern, arg0: inst780001C3, arg1: inst, type: type(symbolic_constant78000180)} -// CHECK:STDOUT: inst780001C6: {kind: InitForm, arg0: inst7800018F, type: type(inst(FormType))} -// CHECK:STDOUT: inst780001C7: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000180)} -// CHECK:STDOUT: inst780001C8: {kind: ImportRefLoaded, arg0: import_ir_instFC, arg1: entity_name, type: type(symbolic_constant78000180)} -// CHECK:STDOUT: inst780001C9: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780001C7, type: type(symbolic_constant78000180)} +// CHECK:STDOUT: inst78000169: {kind: RequireCompleteType, arg0: inst78000152, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800016A: {kind: RequireCompleteType, arg0: inst7800014F, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800016B: {kind: FunctionType, arg0: function78000001, arg1: specific78000012, type: type(TypeType)} +// CHECK:STDOUT: inst7800016C: {kind: FunctionTypeWithSelfType, arg0: inst7800016B, arg1: inst7800014E, type: type(TypeType)} +// CHECK:STDOUT: inst7800016D: {kind: LookupImplWitness, arg0: inst7800014E, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800016E: {kind: ImplWitnessAccess, arg0: inst7800016D, arg1: element0, type: type(symbolic_constant78000120)} +// CHECK:STDOUT: inst7800016F: {kind: SpecificImplFunction, arg0: inst7800016E, arg1: specific78000013, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst78000170: {kind: RequireCompleteType, arg0: inst78000151, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000171: {kind: FunctionType, arg0: function78000001, arg1: specific78000014, type: type(TypeType)} +// CHECK:STDOUT: inst78000172: {kind: FunctionTypeWithSelfType, arg0: inst78000171, arg1: inst78000150, type: type(TypeType)} +// CHECK:STDOUT: inst78000173: {kind: LookupImplWitness, arg0: inst78000150, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000174: {kind: ImplWitnessAccess, arg0: inst78000173, arg1: element0, type: type(symbolic_constant78000126)} +// CHECK:STDOUT: inst78000175: {kind: SpecificImplFunction, arg0: inst78000174, arg1: specific78000015, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst78000176: {kind: ImportRefLoaded, arg0: import_ir_instC6, arg1: entity_name, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst78000177: {kind: ImportRefLoaded, arg0: import_ir_instC7, arg1: entity_name, type: type(symbolic_constant780000DB)} +// CHECK:STDOUT: inst78000178: {kind: ImportRefLoaded, arg0: import_ir_instC8, arg1: entity_name, type: type(inst78000096)} +// CHECK:STDOUT: inst78000179: {kind: ImportRefLoaded, arg0: import_ir_instC9, arg1: entity_name, type: type(inst78000096)} +// CHECK:STDOUT: inst7800017A: {kind: ImportRefLoaded, arg0: import_ir_instCA, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst7800017B: {kind: ImportRefLoaded, arg0: import_ir_instCB, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst7800017C: {kind: ImportRefLoaded, arg0: import_ir_instCC, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800017D: {kind: ImportRefLoaded, arg0: import_ir_instCD, arg1: entity_name, type: type(inst7800005A)} +// CHECK:STDOUT: inst7800017E: {kind: ImportRefLoaded, arg0: import_ir_instCE, arg1: entity_name, type: type(inst7800005A)} +// CHECK:STDOUT: inst7800017F: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000096)} +// CHECK:STDOUT: inst78000180: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst78000181: {kind: SymbolicBindingPattern, arg0: entity_name78000021, type: type(inst78000096)} +// CHECK:STDOUT: inst78000182: {kind: SymbolicBinding, arg0: entity_name78000021, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst78000183: {kind: TupleValue, arg0: inst_block7800005C, type: type(inst7800013A)} +// CHECK:STDOUT: inst78000184: {kind: FacetAccessType, arg0: inst78000180, type: type(TypeType)} +// CHECK:STDOUT: inst78000185: {kind: FacetAccessType, arg0: inst78000182, type: type(TypeType)} +// CHECK:STDOUT: inst78000186: {kind: TupleType, arg0: inst_block7800005D, type: type(TypeType)} +// CHECK:STDOUT: inst78000187: {kind: ImplSelfWitness, arg0: inst78000186, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000188: {kind: ImplWitness, arg0: inst78000133, arg1: specific78000016, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000189: {kind: FunctionType, arg0: function78000004, arg1: specific78000016, type: type(TypeType)} +// CHECK:STDOUT: inst7800018A: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant78000140)} +// CHECK:STDOUT: inst7800018B: {kind: ImportRefUnloaded, arg0: import_ir_instDB, arg1: entity_name} +// CHECK:STDOUT: inst7800018C: {kind: ImplDecl, arg0: impl78000009, arg1: inst_block_empty} +// CHECK:STDOUT: inst7800018D: {kind: SymbolicBinding, arg0: entity_name78000031, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst7800018E: {kind: FacetAccessType, arg0: inst7800018D, type: type(TypeType)} +// CHECK:STDOUT: inst7800018F: {kind: TupleType, arg0: inst_block78000062, type: type(TypeType)} +// CHECK:STDOUT: inst78000190: {kind: ImplSelfWitness, arg0: inst7800018F, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000191: {kind: ImportRefUnloaded, arg0: import_ir_instDD, arg1: entity_name} +// CHECK:STDOUT: inst78000192: {kind: ImplWitnessTable, arg0: inst_block78000063, arg1: impl78000009} +// CHECK:STDOUT: inst78000193: {kind: ImplWitness, arg0: inst78000192, arg1: specific78000017, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000194: {kind: FunctionDecl, arg0: function78000005, arg1: inst_block_empty, type: type(symbolic_constant7800014A)} +// CHECK:STDOUT: inst78000195: {kind: FunctionType, arg0: function78000005, arg1: specific78000017, type: type(TypeType)} +// CHECK:STDOUT: inst78000196: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800014A)} +// CHECK:STDOUT: inst78000197: {kind: PatternType, arg0: inst7800018F, type: type(TypeType)} +// CHECK:STDOUT: inst78000198: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst78000199: {kind: TupleType, arg0: inst_block78000065, type: type(TypeType)} +// CHECK:STDOUT: inst7800019A: {kind: TupleValue, arg0: inst_block78000064, type: type(inst78000199)} +// CHECK:STDOUT: inst7800019B: {kind: SymbolicBindingPattern, arg0: entity_name78000031, type: type(inst78000096)} +// CHECK:STDOUT: inst7800019C: {kind: ImportRefLoaded, arg0: import_ir_instE0, arg1: entity_name, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst7800019D: {kind: ReturnSlotPattern, arg0: inst78000198, arg1: inst, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst7800019E: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst7800019F: {kind: ImportRefLoaded, arg0: import_ir_instE1, arg1: entity_name, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst780001A0: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst7800019E, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst780001A1: {kind: ImportRefLoaded, arg0: import_ir_instE2, arg1: entity_name, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst780001A2: {kind: InitForm, arg0: inst7800018F, type: type(inst(FormType))} +// CHECK:STDOUT: inst780001A3: {kind: ImportRefLoaded, arg0: import_ir_instE3, arg1: entity_name, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst780001A4: {kind: ImportRefLoaded, arg0: import_ir_instE4, arg1: entity_name, type: type(symbolic_constant78000154)} +// CHECK:STDOUT: inst780001A5: {kind: ImportRefLoaded, arg0: import_ir_instE5, arg1: entity_name, type: type(symbolic_constant78000154)} +// CHECK:STDOUT: inst780001A6: {kind: ImportRefLoaded, arg0: import_ir_instE6, arg1: entity_name, type: type(symbolic_constant78000154)} +// CHECK:STDOUT: inst780001A7: {kind: ImportRefLoaded, arg0: import_ir_instE7, arg1: entity_name, type: type(symbolic_constant78000154)} +// CHECK:STDOUT: inst780001A8: {kind: ImportRefLoaded, arg0: import_ir_instE8, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780001A9: {kind: ImportRefLoaded, arg0: import_ir_instE9, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst780001AA: {kind: ImportRefLoaded, arg0: import_ir_instEA, arg1: entity_name, type: type(symbolic_constant78000154)} +// CHECK:STDOUT: inst780001AB: {kind: ImportRefLoaded, arg0: import_ir_instEB, arg1: entity_name, type: type(inst7800005A)} +// CHECK:STDOUT: inst780001AC: {kind: ImportRefLoaded, arg0: import_ir_instEC, arg1: entity_name, type: type(inst7800005A)} +// CHECK:STDOUT: inst780001AD: {kind: ImportRefLoaded, arg0: import_ir_instED, arg1: entity_name, type: type(inst7800005A)} +// CHECK:STDOUT: inst780001AE: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst780001AF: {kind: FacetAccessType, arg0: inst780001AE, type: type(TypeType)} +// CHECK:STDOUT: inst780001B0: {kind: SymbolicBinding, arg0: entity_name78000021, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst780001B1: {kind: FacetAccessType, arg0: inst780001B0, type: type(TypeType)} +// CHECK:STDOUT: inst780001B2: {kind: SymbolicBinding, arg0: entity_name78000031, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst780001B3: {kind: FacetAccessType, arg0: inst780001B2, type: type(TypeType)} +// CHECK:STDOUT: inst780001B4: {kind: TupleType, arg0: inst_block7800006B, type: type(TypeType)} +// CHECK:STDOUT: inst780001B5: {kind: PatternType, arg0: inst780001B4, type: type(TypeType)} +// CHECK:STDOUT: inst780001B6: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000173)} +// CHECK:STDOUT: inst780001B7: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780001B6, type: type(symbolic_constant78000173)} +// CHECK:STDOUT: inst780001B8: {kind: InitForm, arg0: inst780001B4, type: type(inst(FormType))} +// CHECK:STDOUT: inst780001B9: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000173)} +// CHECK:STDOUT: inst780001BA: {kind: ReturnSlotPattern, arg0: inst780001B9, arg1: inst, type: type(symbolic_constant78000173)} +// CHECK:STDOUT: inst780001BB: {kind: LookupImplWitness, arg0: inst7800018D, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001BC: {kind: FunctionType, arg0: function78000001, arg1: specific78000018, type: type(TypeType)} +// CHECK:STDOUT: inst780001BD: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant7800017A)} +// CHECK:STDOUT: inst780001BE: {kind: FunctionTypeWithSelfType, arg0: inst780001BC, arg1: inst7800018D, type: type(TypeType)} +// CHECK:STDOUT: inst780001BF: {kind: ImplWitnessAccess, arg0: inst780001BB, arg1: element0, type: type(symbolic_constant7800017C)} +// CHECK:STDOUT: inst780001C0: {kind: SpecificImplFunction, arg0: inst780001BF, arg1: specific78000019, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst780001C1: {kind: PatternType, arg0: inst7800018E, type: type(TypeType)} +// CHECK:STDOUT: inst780001C2: {kind: OutParamPattern, arg0: name(ReturnSlot), type: type(symbolic_constant78000180)} +// CHECK:STDOUT: inst780001C3: {kind: ImportRefLoaded, arg0: import_ir_instFB, arg1: entity_name, type: type(symbolic_constant78000180)} +// CHECK:STDOUT: inst780001C4: {kind: ReturnSlotPattern, arg0: inst780001C2, arg1: inst, type: type(symbolic_constant78000180)} +// CHECK:STDOUT: inst780001C5: {kind: InitForm, arg0: inst7800018E, type: type(inst(FormType))} +// CHECK:STDOUT: inst780001C6: {kind: ValueParamPattern, arg0: name(SelfValue), type: type(symbolic_constant78000180)} +// CHECK:STDOUT: inst780001C7: {kind: ImportRefLoaded, arg0: import_ir_instFC, arg1: entity_name, type: type(symbolic_constant78000180)} +// CHECK:STDOUT: inst780001C8: {kind: WrapperBindingPattern, arg0: entity_name78000007, arg1: inst780001C6, type: type(symbolic_constant78000180)} +// CHECK:STDOUT: inst780001C9: {kind: RequireCompleteType, arg0: inst7800018E, type: type(inst(WitnessType))} // CHECK:STDOUT: inst780001CA: {kind: RequireCompleteType, arg0: inst7800018F, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001CB: {kind: RequireCompleteType, arg0: inst78000190, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001CC: {kind: RequireCompleteType, arg0: inst780001B5, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001CD: {kind: RequireCompleteType, arg0: inst780001B0, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001CE: {kind: FunctionType, arg0: function78000001, arg1: specific7800001B, type: type(TypeType)} -// CHECK:STDOUT: inst780001CF: {kind: FunctionTypeWithSelfType, arg0: inst780001CE, arg1: inst780001AF, type: type(TypeType)} -// CHECK:STDOUT: inst780001D0: {kind: LookupImplWitness, arg0: inst780001AF, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001D1: {kind: ImplWitnessAccess, arg0: inst780001D0, arg1: element0, type: type(symbolic_constant7800019D)} -// CHECK:STDOUT: inst780001D2: {kind: SpecificImplFunction, arg0: inst780001D1, arg1: specific7800001C, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst780001D3: {kind: RequireCompleteType, arg0: inst780001B2, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001D4: {kind: FunctionType, arg0: function78000001, arg1: specific7800001D, type: type(TypeType)} -// CHECK:STDOUT: inst780001D5: {kind: FunctionTypeWithSelfType, arg0: inst780001D4, arg1: inst780001B1, type: type(TypeType)} -// CHECK:STDOUT: inst780001D6: {kind: LookupImplWitness, arg0: inst780001B1, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001D7: {kind: ImplWitnessAccess, arg0: inst780001D6, arg1: element0, type: type(symbolic_constant780001A3)} -// CHECK:STDOUT: inst780001D8: {kind: SpecificImplFunction, arg0: inst780001D7, arg1: specific7800001E, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst780001D9: {kind: RequireCompleteType, arg0: inst780001B4, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001DA: {kind: FunctionType, arg0: function78000001, arg1: specific7800001F, type: type(TypeType)} -// CHECK:STDOUT: inst780001DB: {kind: FunctionTypeWithSelfType, arg0: inst780001DA, arg1: inst780001B3, type: type(TypeType)} -// CHECK:STDOUT: inst780001DC: {kind: LookupImplWitness, arg0: inst780001B3, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001DD: {kind: ImplWitnessAccess, arg0: inst780001DC, arg1: element0, type: type(symbolic_constant780001A9)} -// CHECK:STDOUT: inst780001DE: {kind: SpecificImplFunction, arg0: inst780001DD, arg1: specific78000020, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst780001DF: {kind: ImportRefLoaded, arg0: import_ir_inst110, arg1: entity_name, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst780001E0: {kind: ImportRefLoaded, arg0: import_ir_inst111, arg1: entity_name, type: type(symbolic_constant7800014D)} -// CHECK:STDOUT: inst780001E1: {kind: ImportRefLoaded, arg0: import_ir_inst112, arg1: entity_name, type: type(inst78000097)} -// CHECK:STDOUT: inst780001E2: {kind: ImportRefLoaded, arg0: import_ir_inst113, arg1: entity_name, type: type(inst78000097)} -// CHECK:STDOUT: inst780001E3: {kind: ImportRefLoaded, arg0: import_ir_inst114, arg1: entity_name, type: type(inst78000097)} -// CHECK:STDOUT: inst780001E4: {kind: ImportRefLoaded, arg0: import_ir_inst115, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780001E5: {kind: ImportRefLoaded, arg0: import_ir_inst116, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst780001E6: {kind: ImportRefLoaded, arg0: import_ir_inst117, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001E7: {kind: ImportRefLoaded, arg0: import_ir_inst118, arg1: entity_name, type: type(inst7800005B)} -// CHECK:STDOUT: inst780001E8: {kind: ImportRefLoaded, arg0: import_ir_inst119, arg1: entity_name, type: type(inst7800005B)} -// CHECK:STDOUT: inst780001E9: {kind: ImportRefLoaded, arg0: import_ir_inst11A, arg1: entity_name, type: type(inst7800005B)} -// CHECK:STDOUT: inst780001EA: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000097)} -// CHECK:STDOUT: inst780001EB: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst780001EC: {kind: SymbolicBindingPattern, arg0: entity_name78000021, type: type(inst78000097)} -// CHECK:STDOUT: inst780001ED: {kind: SymbolicBinding, arg0: entity_name78000021, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst780001EE: {kind: SymbolicBindingPattern, arg0: entity_name78000031, type: type(inst78000097)} -// CHECK:STDOUT: inst780001EF: {kind: SymbolicBinding, arg0: entity_name78000031, arg1: inst, type: type(inst7800005B)} -// CHECK:STDOUT: inst780001F0: {kind: TupleValue, arg0: inst_block7800007A, type: type(inst7800019A)} -// CHECK:STDOUT: inst780001F1: {kind: FacetAccessType, arg0: inst780001EB, type: type(TypeType)} -// CHECK:STDOUT: inst780001F2: {kind: FacetAccessType, arg0: inst780001ED, type: type(TypeType)} -// CHECK:STDOUT: inst780001F3: {kind: FacetAccessType, arg0: inst780001EF, type: type(TypeType)} -// CHECK:STDOUT: inst780001F4: {kind: TupleType, arg0: inst_block7800007B, type: type(TypeType)} -// CHECK:STDOUT: inst780001F5: {kind: ImplSelfWitness, arg0: inst780001F4, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001F6: {kind: ImplWitness, arg0: inst78000193, arg1: specific78000021, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst780001F7: {kind: FunctionType, arg0: function78000005, arg1: specific78000021, type: type(TypeType)} -// CHECK:STDOUT: inst780001F8: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780001CA)} -// CHECK:STDOUT: inst780001F9: {kind: LookupImplWitness, arg0: inst78000020, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001CB: {kind: RequireCompleteType, arg0: inst780001B4, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001CC: {kind: RequireCompleteType, arg0: inst780001AF, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001CD: {kind: FunctionType, arg0: function78000001, arg1: specific7800001B, type: type(TypeType)} +// CHECK:STDOUT: inst780001CE: {kind: FunctionTypeWithSelfType, arg0: inst780001CD, arg1: inst780001AE, type: type(TypeType)} +// CHECK:STDOUT: inst780001CF: {kind: LookupImplWitness, arg0: inst780001AE, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001D0: {kind: ImplWitnessAccess, arg0: inst780001CF, arg1: element0, type: type(symbolic_constant7800019D)} +// CHECK:STDOUT: inst780001D1: {kind: SpecificImplFunction, arg0: inst780001D0, arg1: specific7800001C, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst780001D2: {kind: RequireCompleteType, arg0: inst780001B1, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001D3: {kind: FunctionType, arg0: function78000001, arg1: specific7800001D, type: type(TypeType)} +// CHECK:STDOUT: inst780001D4: {kind: FunctionTypeWithSelfType, arg0: inst780001D3, arg1: inst780001B0, type: type(TypeType)} +// CHECK:STDOUT: inst780001D5: {kind: LookupImplWitness, arg0: inst780001B0, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001D6: {kind: ImplWitnessAccess, arg0: inst780001D5, arg1: element0, type: type(symbolic_constant780001A3)} +// CHECK:STDOUT: inst780001D7: {kind: SpecificImplFunction, arg0: inst780001D6, arg1: specific7800001E, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst780001D8: {kind: RequireCompleteType, arg0: inst780001B3, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001D9: {kind: FunctionType, arg0: function78000001, arg1: specific7800001F, type: type(TypeType)} +// CHECK:STDOUT: inst780001DA: {kind: FunctionTypeWithSelfType, arg0: inst780001D9, arg1: inst780001B2, type: type(TypeType)} +// CHECK:STDOUT: inst780001DB: {kind: LookupImplWitness, arg0: inst780001B2, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001DC: {kind: ImplWitnessAccess, arg0: inst780001DB, arg1: element0, type: type(symbolic_constant780001A9)} +// CHECK:STDOUT: inst780001DD: {kind: SpecificImplFunction, arg0: inst780001DC, arg1: specific78000020, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst780001DE: {kind: ImportRefLoaded, arg0: import_ir_inst110, arg1: entity_name, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst780001DF: {kind: ImportRefLoaded, arg0: import_ir_inst111, arg1: entity_name, type: type(symbolic_constant7800014D)} +// CHECK:STDOUT: inst780001E0: {kind: ImportRefLoaded, arg0: import_ir_inst112, arg1: entity_name, type: type(inst78000096)} +// CHECK:STDOUT: inst780001E1: {kind: ImportRefLoaded, arg0: import_ir_inst113, arg1: entity_name, type: type(inst78000096)} +// CHECK:STDOUT: inst780001E2: {kind: ImportRefLoaded, arg0: import_ir_inst114, arg1: entity_name, type: type(inst78000096)} +// CHECK:STDOUT: inst780001E3: {kind: ImportRefLoaded, arg0: import_ir_inst115, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780001E4: {kind: ImportRefLoaded, arg0: import_ir_inst116, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst780001E5: {kind: ImportRefLoaded, arg0: import_ir_inst117, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001E6: {kind: ImportRefLoaded, arg0: import_ir_inst118, arg1: entity_name, type: type(inst7800005A)} +// CHECK:STDOUT: inst780001E7: {kind: ImportRefLoaded, arg0: import_ir_inst119, arg1: entity_name, type: type(inst7800005A)} +// CHECK:STDOUT: inst780001E8: {kind: ImportRefLoaded, arg0: import_ir_inst11A, arg1: entity_name, type: type(inst7800005A)} +// CHECK:STDOUT: inst780001E9: {kind: SymbolicBindingPattern, arg0: entity_name78000001, type: type(inst78000096)} +// CHECK:STDOUT: inst780001EA: {kind: SymbolicBinding, arg0: entity_name78000001, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst780001EB: {kind: SymbolicBindingPattern, arg0: entity_name78000021, type: type(inst78000096)} +// CHECK:STDOUT: inst780001EC: {kind: SymbolicBinding, arg0: entity_name78000021, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst780001ED: {kind: SymbolicBindingPattern, arg0: entity_name78000031, type: type(inst78000096)} +// CHECK:STDOUT: inst780001EE: {kind: SymbolicBinding, arg0: entity_name78000031, arg1: inst, type: type(inst7800005A)} +// CHECK:STDOUT: inst780001EF: {kind: TupleValue, arg0: inst_block7800007A, type: type(inst78000199)} +// CHECK:STDOUT: inst780001F0: {kind: FacetAccessType, arg0: inst780001EA, type: type(TypeType)} +// CHECK:STDOUT: inst780001F1: {kind: FacetAccessType, arg0: inst780001EC, type: type(TypeType)} +// CHECK:STDOUT: inst780001F2: {kind: FacetAccessType, arg0: inst780001EE, type: type(TypeType)} +// CHECK:STDOUT: inst780001F3: {kind: TupleType, arg0: inst_block7800007B, type: type(TypeType)} +// CHECK:STDOUT: inst780001F4: {kind: ImplSelfWitness, arg0: inst780001F3, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001F5: {kind: ImplWitness, arg0: inst78000192, arg1: specific78000021, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001F6: {kind: FunctionType, arg0: function78000005, arg1: specific78000021, type: type(TypeType)} +// CHECK:STDOUT: inst780001F7: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780001CA)} +// CHECK:STDOUT: inst780001F8: {kind: LookupImplWitness, arg0: inst7800001F, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst780001F9: {kind: RequireSpecificDefinition, arg0: specific7800000B, type: type(inst(RequireSpecificDefinitionType))} // CHECK:STDOUT: inst780001FA: {kind: RequireSpecificDefinition, arg0: specific7800000B, type: type(inst(RequireSpecificDefinitionType))} -// CHECK:STDOUT: inst780001FB: {kind: RequireSpecificDefinition, arg0: specific7800000B, type: type(inst(RequireSpecificDefinitionType))} -// CHECK:STDOUT: inst780001FC: {kind: RequireSpecificDefinition, arg0: specific78000022, type: type(inst(RequireSpecificDefinitionType))} -// CHECK:STDOUT: inst780001FD: {kind: FacetValue, arg0: inst78000020, arg1: inst_block78000082, type: type(inst7800005B)} -// CHECK:STDOUT: inst780001FE: {kind: FunctionType, arg0: function78000001, arg1: specific78000023, type: type(TypeType)} -// CHECK:STDOUT: inst780001FF: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780001D1)} -// CHECK:STDOUT: inst78000200: {kind: FunctionTypeWithSelfType, arg0: inst780001FE, arg1: inst780001FD, type: type(TypeType)} -// CHECK:STDOUT: inst78000201: {kind: ImplWitnessAccess, arg0: inst780001F9, arg1: element0, type: type(symbolic_constant780001D8)} -// CHECK:STDOUT: inst78000202: {kind: ImplWitnessAccess, arg0: inst780001F9, arg1: element0, type: type(symbolic_constant780001D3)} -// CHECK:STDOUT: inst78000203: {kind: LookupImplWitness, arg0: inst78000021, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst78000204: {kind: FacetValue, arg0: inst78000021, arg1: inst_block78000085, type: type(inst7800005B)} -// CHECK:STDOUT: inst78000205: {kind: FunctionType, arg0: function78000001, arg1: specific78000024, type: type(TypeType)} -// CHECK:STDOUT: inst78000206: {kind: FunctionTypeWithSelfType, arg0: inst78000205, arg1: inst78000204, type: type(TypeType)} -// CHECK:STDOUT: inst78000207: {kind: ImplWitnessAccess, arg0: inst78000203, arg1: element0, type: type(symbolic_constant780001D8)} -// CHECK:STDOUT: inst78000208: {kind: BoundMethod, arg0: inst78000053, arg1: inst78000201, type: type(inst(BoundMethodType))} -// CHECK:STDOUT: inst78000209: {kind: LookupImplWitness, arg0: inst78000020, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800020A: {kind: RequireSpecificDefinition, arg0: specific7800000B, type: type(inst(RequireSpecificDefinitionType))} -// CHECK:STDOUT: inst7800020B: {kind: FacetValue, arg0: inst78000020, arg1: inst_block78000082, type: type(inst7800005B)} -// CHECK:STDOUT: inst7800020C: {kind: Converted, arg0: inst78000020, arg1: inst7800020B, type: type(inst7800005B)} -// CHECK:STDOUT: inst7800020D: {kind: LookupImplWitness, arg0: inst78000020, arg1: specific_interface78000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst7800020E: {kind: RequireSpecificDefinition, arg0: specific7800000B, type: type(inst(RequireSpecificDefinitionType))} -// CHECK:STDOUT: inst7800020F: {kind: FacetValue, arg0: inst78000020, arg1: inst_block78000082, type: type(inst7800005B)} -// CHECK:STDOUT: inst78000210: {kind: Converted, arg0: inst78000020, arg1: inst7800020F, type: type(inst7800005B)} +// CHECK:STDOUT: inst780001FB: {kind: RequireSpecificDefinition, arg0: specific78000022, type: type(inst(RequireSpecificDefinitionType))} +// CHECK:STDOUT: inst780001FC: {kind: FacetValue, arg0: inst7800001F, arg1: inst_block78000082, type: type(inst7800005A)} +// CHECK:STDOUT: inst780001FD: {kind: FunctionType, arg0: function78000001, arg1: specific78000023, type: type(TypeType)} +// CHECK:STDOUT: inst780001FE: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant780001D1)} +// CHECK:STDOUT: inst780001FF: {kind: FunctionTypeWithSelfType, arg0: inst780001FD, arg1: inst780001FC, type: type(TypeType)} +// CHECK:STDOUT: inst78000200: {kind: ImplWitnessAccess, arg0: inst780001F8, arg1: element0, type: type(symbolic_constant780001D8)} +// CHECK:STDOUT: inst78000201: {kind: ImplWitnessAccess, arg0: inst780001F8, arg1: element0, type: type(symbolic_constant780001D3)} +// CHECK:STDOUT: inst78000202: {kind: LookupImplWitness, arg0: inst78000020, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000203: {kind: FacetValue, arg0: inst78000020, arg1: inst_block78000085, type: type(inst7800005A)} +// CHECK:STDOUT: inst78000204: {kind: FunctionType, arg0: function78000001, arg1: specific78000024, type: type(TypeType)} +// CHECK:STDOUT: inst78000205: {kind: FunctionTypeWithSelfType, arg0: inst78000204, arg1: inst78000203, type: type(TypeType)} +// CHECK:STDOUT: inst78000206: {kind: ImplWitnessAccess, arg0: inst78000202, arg1: element0, type: type(symbolic_constant780001D8)} +// CHECK:STDOUT: inst78000207: {kind: BoundMethod, arg0: inst78000052, arg1: inst78000200, type: type(inst(BoundMethodType))} +// CHECK:STDOUT: inst78000208: {kind: LookupImplWitness, arg0: inst7800001F, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst78000209: {kind: RequireSpecificDefinition, arg0: specific7800000B, type: type(inst(RequireSpecificDefinitionType))} +// CHECK:STDOUT: inst7800020A: {kind: FacetValue, arg0: inst7800001F, arg1: inst_block78000082, type: type(inst7800005A)} +// CHECK:STDOUT: inst7800020B: {kind: Converted, arg0: inst7800001F, arg1: inst7800020A, type: type(inst7800005A)} +// CHECK:STDOUT: inst7800020C: {kind: LookupImplWitness, arg0: inst7800001F, arg1: specific_interface78000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst7800020D: {kind: RequireSpecificDefinition, arg0: specific7800000B, type: type(inst(RequireSpecificDefinitionType))} +// CHECK:STDOUT: inst7800020E: {kind: FacetValue, arg0: inst7800001F, arg1: inst_block78000082, type: type(inst7800005A)} +// CHECK:STDOUT: inst7800020F: {kind: Converted, arg0: inst7800001F, arg1: inst7800020E, type: type(inst7800005A)} +// CHECK:STDOUT: inst78000210: {kind: SpecificImplFunction, arg0: inst78000200, arg1: specific78000025, type: type(inst(SpecificFunctionType))} // CHECK:STDOUT: inst78000211: {kind: SpecificImplFunction, arg0: inst78000201, arg1: specific78000025, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst78000212: {kind: SpecificImplFunction, arg0: inst78000202, arg1: specific78000025, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst78000213: {kind: SpecificImplFunction, arg0: inst78000207, arg1: specific78000026, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst78000214: {kind: BoundMethod, arg0: inst78000053, arg1: inst78000211, type: type(inst(BoundMethodType))} -// CHECK:STDOUT: inst78000215: {kind: Call, arg0: inst78000214, arg1: inst_block78000089, type: type(symbolic_constant78000006)} -// CHECK:STDOUT: inst78000216: {kind: InPlaceInit, arg0: inst78000215, arg1: inst78000057, type: type(symbolic_constant78000006)} -// CHECK:STDOUT: inst78000217: {kind: TupleAccess, arg0: inst78000047, arg1: element1, type: type(inst7800002D)} -// CHECK:STDOUT: inst78000218: {kind: TupleInit, arg0: inst_block_empty, arg1: inst78000217, type: type(inst7800002D)} -// CHECK:STDOUT: inst78000219: {kind: Converted, arg0: inst78000054, arg1: inst78000218, type: type(inst7800002D)} -// CHECK:STDOUT: inst7800021A: {kind: InPlaceInit, arg0: inst78000219, arg1: inst78000217, type: type(inst7800002D)} -// CHECK:STDOUT: inst7800021B: {kind: TupleInit, arg0: inst_block7800008A, arg1: inst78000047, type: type(symbolic_constant78000010)} -// CHECK:STDOUT: inst7800021C: {kind: Converted, arg0: inst78000055, arg1: inst7800021B, type: type(symbolic_constant78000010)} -// CHECK:STDOUT: inst7800021D: {kind: ReturnExpr, arg0: inst7800021C, arg1: inst78000047} +// CHECK:STDOUT: inst78000212: {kind: SpecificImplFunction, arg0: inst78000206, arg1: specific78000026, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst78000213: {kind: BoundMethod, arg0: inst78000052, arg1: inst78000210, type: type(inst(BoundMethodType))} +// CHECK:STDOUT: inst78000214: {kind: Call, arg0: inst78000213, arg1: inst_block78000089, type: type(symbolic_constant78000006)} +// CHECK:STDOUT: inst78000215: {kind: InPlaceInit, arg0: inst78000214, arg1: inst78000056, type: type(symbolic_constant78000006)} +// CHECK:STDOUT: inst78000216: {kind: TupleAccess, arg0: inst78000046, arg1: element1, type: type(inst7800002C)} +// CHECK:STDOUT: inst78000217: {kind: TupleInit, arg0: inst_block_empty, arg1: inst78000216, type: type(inst7800002C)} +// CHECK:STDOUT: inst78000218: {kind: Converted, arg0: inst78000053, arg1: inst78000217, type: type(inst7800002C)} +// CHECK:STDOUT: inst78000219: {kind: InPlaceInit, arg0: inst78000218, arg1: inst78000216, type: type(inst7800002C)} +// CHECK:STDOUT: inst7800021A: {kind: TupleInit, arg0: inst_block7800008A, arg1: inst78000046, type: type(symbolic_constant78000010)} +// CHECK:STDOUT: inst7800021B: {kind: Converted, arg0: inst78000054, arg1: inst7800021A, type: type(symbolic_constant78000010)} +// CHECK:STDOUT: inst7800021C: {kind: ReturnExpr, arg0: inst7800021B, arg1: inst78000046} // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst10: concrete_constant(inst10) +// CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) +// CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) // CHECK:STDOUT: inst78000012: concrete_constant(inst78000012) -// CHECK:STDOUT: inst78000013: concrete_constant(inst78000013) +// CHECK:STDOUT: inst78000013: symbolic_constant78000000 // CHECK:STDOUT: inst78000014: symbolic_constant78000000 -// CHECK:STDOUT: inst78000015: symbolic_constant78000000 -// CHECK:STDOUT: inst78000016: concrete_constant(inst(TypeType)) -// CHECK:STDOUT: inst78000017: concrete_constant(inst78000017) -// CHECK:STDOUT: inst78000018: symbolic_constant78000002 -// CHECK:STDOUT: inst78000019: symbolic_constant78000001 -// CHECK:STDOUT: inst7800001A: symbolic_constant78000002 -// CHECK:STDOUT: inst7800001B: symbolic_constant78000004 -// CHECK:STDOUT: inst7800001C: symbolic_constant78000003 +// CHECK:STDOUT: inst78000015: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst78000016: concrete_constant(inst78000016) +// CHECK:STDOUT: inst78000017: symbolic_constant78000002 +// CHECK:STDOUT: inst78000018: symbolic_constant78000001 +// CHECK:STDOUT: inst78000019: symbolic_constant78000002 +// CHECK:STDOUT: inst7800001A: symbolic_constant78000004 +// CHECK:STDOUT: inst7800001B: symbolic_constant78000003 +// CHECK:STDOUT: inst7800001C: symbolic_constant78000004 // CHECK:STDOUT: inst7800001D: symbolic_constant78000004 -// CHECK:STDOUT: inst7800001E: symbolic_constant78000004 -// CHECK:STDOUT: inst7800001F: symbolic_constant78000006 -// CHECK:STDOUT: inst78000020: symbolic_constant78000005 -// CHECK:STDOUT: inst78000021: symbolic_constant78000006 -// CHECK:STDOUT: inst78000022: symbolic_constant78000007 -// CHECK:STDOUT: inst78000023: symbolic_constant7800000A -// CHECK:STDOUT: inst78000024: symbolic_constant78000008 -// CHECK:STDOUT: inst78000025: symbolic_constant78000009 -// CHECK:STDOUT: inst78000026: symbolic_constant7800000A -// CHECK:STDOUT: inst78000027: symbolic_constant7800000C -// CHECK:STDOUT: inst78000028: symbolic_constant7800000B -// CHECK:STDOUT: inst78000029: symbolic_constant7800000C -// CHECK:STDOUT: inst7800002B: symbolic_constant78000004 -// CHECK:STDOUT: inst7800002C: symbolic_constant78000006 -// CHECK:STDOUT: inst7800002D: concrete_constant(inst7800002D) -// CHECK:STDOUT: inst7800002E: concrete_constant(inst7800002F) +// CHECK:STDOUT: inst7800001E: symbolic_constant78000006 +// CHECK:STDOUT: inst7800001F: symbolic_constant78000005 +// CHECK:STDOUT: inst78000020: symbolic_constant78000006 +// CHECK:STDOUT: inst78000021: symbolic_constant78000007 +// CHECK:STDOUT: inst78000022: symbolic_constant7800000A +// CHECK:STDOUT: inst78000023: symbolic_constant78000008 +// CHECK:STDOUT: inst78000024: symbolic_constant78000009 +// CHECK:STDOUT: inst78000025: symbolic_constant7800000A +// CHECK:STDOUT: inst78000026: symbolic_constant7800000C +// CHECK:STDOUT: inst78000027: symbolic_constant7800000B +// CHECK:STDOUT: inst78000028: symbolic_constant7800000C +// CHECK:STDOUT: inst7800002A: symbolic_constant78000004 +// CHECK:STDOUT: inst7800002B: symbolic_constant78000006 +// CHECK:STDOUT: inst7800002C: concrete_constant(inst7800002C) +// CHECK:STDOUT: inst7800002D: concrete_constant(inst7800002E) +// CHECK:STDOUT: inst7800002E: concrete_constant(inst7800002E) // CHECK:STDOUT: inst7800002F: concrete_constant(inst7800002F) -// CHECK:STDOUT: inst78000030: concrete_constant(inst78000030) -// CHECK:STDOUT: inst78000031: symbolic_constant7800000E -// CHECK:STDOUT: inst78000032: symbolic_constant7800000D -// CHECK:STDOUT: inst78000033: symbolic_constant7800000E -// CHECK:STDOUT: inst78000034: concrete_constant(inst78000034) -// CHECK:STDOUT: inst78000035: concrete_constant(inst7800002D) -// CHECK:STDOUT: inst78000036: symbolic_constant7800000F +// CHECK:STDOUT: inst78000030: symbolic_constant7800000E +// CHECK:STDOUT: inst78000031: symbolic_constant7800000D +// CHECK:STDOUT: inst78000032: symbolic_constant7800000E +// CHECK:STDOUT: inst78000033: concrete_constant(inst78000033) +// CHECK:STDOUT: inst78000034: concrete_constant(inst7800002C) +// CHECK:STDOUT: inst78000035: symbolic_constant7800000F +// CHECK:STDOUT: inst78000036: symbolic_constant78000010 // CHECK:STDOUT: inst78000037: symbolic_constant78000010 -// CHECK:STDOUT: inst78000038: symbolic_constant78000010 -// CHECK:STDOUT: inst78000039: symbolic_constant78000012 -// CHECK:STDOUT: inst7800003A: symbolic_constant78000011 -// CHECK:STDOUT: inst7800003B: symbolic_constant78000012 -// CHECK:STDOUT: inst7800003C: symbolic_constant78000013 -// CHECK:STDOUT: inst7800003D: symbolic_constant78000016 -// CHECK:STDOUT: inst7800003E: symbolic_constant78000014 -// CHECK:STDOUT: inst7800003F: symbolic_constant78000015 -// CHECK:STDOUT: inst78000040: symbolic_constant78000016 -// CHECK:STDOUT: inst78000041: symbolic_constant78000018 -// CHECK:STDOUT: inst78000042: symbolic_constant78000017 -// CHECK:STDOUT: inst78000043: symbolic_constant78000018 -// CHECK:STDOUT: inst78000044: concrete_constant(inst(TypeType)) -// CHECK:STDOUT: inst78000046: symbolic_constant78000006 -// CHECK:STDOUT: inst78000049: concrete_constant(inst7800004B) +// CHECK:STDOUT: inst78000038: symbolic_constant78000012 +// CHECK:STDOUT: inst78000039: symbolic_constant78000011 +// CHECK:STDOUT: inst7800003A: symbolic_constant78000012 +// CHECK:STDOUT: inst7800003B: symbolic_constant78000013 +// CHECK:STDOUT: inst7800003C: symbolic_constant78000016 +// CHECK:STDOUT: inst7800003D: symbolic_constant78000014 +// CHECK:STDOUT: inst7800003E: symbolic_constant78000015 +// CHECK:STDOUT: inst7800003F: symbolic_constant78000016 +// CHECK:STDOUT: inst78000040: symbolic_constant78000018 +// CHECK:STDOUT: inst78000041: symbolic_constant78000017 +// CHECK:STDOUT: inst78000042: symbolic_constant78000018 +// CHECK:STDOUT: inst78000043: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst78000045: symbolic_constant78000006 +// CHECK:STDOUT: inst78000048: concrete_constant(inst7800004A) +// CHECK:STDOUT: inst78000049: concrete_constant(inst78000049) // CHECK:STDOUT: inst7800004A: concrete_constant(inst7800004A) -// CHECK:STDOUT: inst7800004B: concrete_constant(inst7800004B) -// CHECK:STDOUT: inst7800004C: symbolic_constant7800001A -// CHECK:STDOUT: inst7800004D: symbolic_constant78000019 -// CHECK:STDOUT: inst7800004E: symbolic_constant7800001A -// CHECK:STDOUT: inst7800004F: symbolic_constant7800001B -// CHECK:STDOUT: inst78000050: symbolic_constant7800001D -// CHECK:STDOUT: inst78000051: symbolic_constant7800001C -// CHECK:STDOUT: inst78000052: symbolic_constant7800001D -// CHECK:STDOUT: inst78000054: concrete_constant(inst7800002F) -// CHECK:STDOUT: inst78000056: symbolic_constant7800001D -// CHECK:STDOUT: inst78000058: symbolic_constant7800001A -// CHECK:STDOUT: inst78000059: concrete_constant(inst7800005B) -// CHECK:STDOUT: inst7800005A: concrete_constant(inst7800005B) +// CHECK:STDOUT: inst7800004B: symbolic_constant7800001A +// CHECK:STDOUT: inst7800004C: symbolic_constant78000019 +// CHECK:STDOUT: inst7800004D: symbolic_constant7800001A +// CHECK:STDOUT: inst7800004E: symbolic_constant7800001B +// CHECK:STDOUT: inst7800004F: symbolic_constant7800001D +// CHECK:STDOUT: inst78000050: symbolic_constant7800001C +// CHECK:STDOUT: inst78000051: symbolic_constant7800001D +// CHECK:STDOUT: inst78000053: concrete_constant(inst7800002E) +// CHECK:STDOUT: inst78000055: symbolic_constant7800001D +// CHECK:STDOUT: inst78000057: symbolic_constant7800001A +// CHECK:STDOUT: inst78000058: concrete_constant(inst7800005A) +// CHECK:STDOUT: inst78000059: concrete_constant(inst7800005A) +// CHECK:STDOUT: inst7800005A: concrete_constant(inst7800005A) // CHECK:STDOUT: inst7800005B: concrete_constant(inst7800005B) -// CHECK:STDOUT: inst7800005C: concrete_constant(inst7800005C) -// CHECK:STDOUT: inst7800005D: symbolic_constant7800001E -// CHECK:STDOUT: inst7800005E: concrete_constant(inst78000087) -// CHECK:STDOUT: inst7800005F: constant -// CHECK:STDOUT: inst78000060: symbolic_constant7800001E -// CHECK:STDOUT: inst78000061: symbolic_constant78000021 -// CHECK:STDOUT: inst78000062: symbolic_constant7800001F -// CHECK:STDOUT: inst78000063: symbolic_constant78000020 -// CHECK:STDOUT: inst78000064: symbolic_constant78000022 -// CHECK:STDOUT: inst78000065: symbolic_constant78000023 +// CHECK:STDOUT: inst7800005C: symbolic_constant7800001E +// CHECK:STDOUT: inst7800005D: concrete_constant(inst78000086) +// CHECK:STDOUT: inst7800005E: constant +// CHECK:STDOUT: inst7800005F: symbolic_constant7800001E +// CHECK:STDOUT: inst78000060: symbolic_constant78000021 +// CHECK:STDOUT: inst78000061: symbolic_constant7800001F +// CHECK:STDOUT: inst78000062: symbolic_constant78000020 +// CHECK:STDOUT: inst78000063: symbolic_constant78000022 +// CHECK:STDOUT: inst78000064: symbolic_constant78000023 +// CHECK:STDOUT: inst78000065: symbolic_constant78000024 // CHECK:STDOUT: inst78000066: symbolic_constant78000024 -// CHECK:STDOUT: inst78000067: symbolic_constant78000024 -// CHECK:STDOUT: inst78000068: symbolic_constant78000026 +// CHECK:STDOUT: inst78000067: symbolic_constant78000026 +// CHECK:STDOUT: inst78000068: symbolic_constant78000029 // CHECK:STDOUT: inst78000069: symbolic_constant78000029 -// CHECK:STDOUT: inst7800006A: symbolic_constant78000029 -// CHECK:STDOUT: inst7800006B: symbolic_constant7800002A -// CHECK:STDOUT: inst7800006C: symbolic_constant78000024 -// CHECK:STDOUT: inst7800006D: symbolic_constant7800002E -// CHECK:STDOUT: inst7800006E: symbolic_constant78000029 -// CHECK:STDOUT: inst7800006F: symbolic_constant78000037 -// CHECK:STDOUT: inst78000070: symbolic_constant78000036 +// CHECK:STDOUT: inst7800006A: symbolic_constant7800002A +// CHECK:STDOUT: inst7800006B: symbolic_constant78000024 +// CHECK:STDOUT: inst7800006C: symbolic_constant7800002E +// CHECK:STDOUT: inst7800006D: symbolic_constant78000029 +// CHECK:STDOUT: inst7800006E: symbolic_constant78000037 +// CHECK:STDOUT: inst7800006F: symbolic_constant78000036 +// CHECK:STDOUT: inst78000070: symbolic_constant7800002B // CHECK:STDOUT: inst78000071: symbolic_constant7800002B -// CHECK:STDOUT: inst78000072: symbolic_constant7800002B -// CHECK:STDOUT: inst78000073: symbolic_constant78000035 -// CHECK:STDOUT: inst78000074: symbolic_constant78000034 -// CHECK:STDOUT: inst78000075: symbolic_constant78000027 -// CHECK:STDOUT: inst78000076: symbolic_constant7800001E -// CHECK:STDOUT: inst78000077: symbolic_constant78000038 -// CHECK:STDOUT: inst78000078: symbolic_constant78000039 -// CHECK:STDOUT: inst78000079: symbolic_constant7800003A -// CHECK:STDOUT: inst7800007A: symbolic_constant7800003B -// CHECK:STDOUT: inst7800007B: symbolic_constant7800003C -// CHECK:STDOUT: inst7800007C: symbolic_constant7800003D -// CHECK:STDOUT: inst7800007D: symbolic_constant7800003E -// CHECK:STDOUT: inst7800007E: symbolic_constant7800003F -// CHECK:STDOUT: inst7800007F: symbolic_constant78000024 -// CHECK:STDOUT: inst78000080: symbolic_constant78000029 -// CHECK:STDOUT: inst78000081: symbolic_constant78000042 -// CHECK:STDOUT: inst78000082: symbolic_constant78000043 -// CHECK:STDOUT: inst78000083: symbolic_constant78000044 -// CHECK:STDOUT: inst78000084: constant -// CHECK:STDOUT: inst78000085: concrete_constant(inst78000085) -// CHECK:STDOUT: inst78000086: symbolic_constant78000021 -// CHECK:STDOUT: inst78000087: concrete_constant(inst78000087) -// CHECK:STDOUT: inst78000089: constant -// CHECK:STDOUT: inst7800008A: concrete_constant(inst7800008A) -// CHECK:STDOUT: inst7800008B: symbolic_constant78000045 -// CHECK:STDOUT: inst7800008C: symbolic_constant78000046 -// CHECK:STDOUT: inst7800008D: symbolic_constant78000047 -// CHECK:STDOUT: inst7800008E: symbolic_constant78000048 -// CHECK:STDOUT: inst7800008F: constant -// CHECK:STDOUT: inst78000090: concrete_constant(inst78000090) -// CHECK:STDOUT: inst78000091: symbolic_constant7800004B -// CHECK:STDOUT: inst78000092: symbolic_constant7800004F -// CHECK:STDOUT: inst78000093: symbolic_constant7800004D -// CHECK:STDOUT: inst78000094: symbolic_constant7800004E -// CHECK:STDOUT: inst78000095: symbolic_constant78000050 -// CHECK:STDOUT: inst78000096: symbolic_constant78000051 -// CHECK:STDOUT: inst78000097: concrete_constant(inst78000097) -// CHECK:STDOUT: inst78000098: symbolic_constant78000053 -// CHECK:STDOUT: inst78000099: symbolic_constant78000051 -// CHECK:STDOUT: inst7800009A: symbolic_constant78000054 +// CHECK:STDOUT: inst78000072: symbolic_constant78000035 +// CHECK:STDOUT: inst78000073: symbolic_constant78000034 +// CHECK:STDOUT: inst78000074: symbolic_constant78000027 +// CHECK:STDOUT: inst78000075: symbolic_constant7800001E +// CHECK:STDOUT: inst78000076: symbolic_constant78000038 +// CHECK:STDOUT: inst78000077: symbolic_constant78000039 +// CHECK:STDOUT: inst78000078: symbolic_constant7800003A +// CHECK:STDOUT: inst78000079: symbolic_constant7800003B +// CHECK:STDOUT: inst7800007A: symbolic_constant7800003C +// CHECK:STDOUT: inst7800007B: symbolic_constant7800003D +// CHECK:STDOUT: inst7800007C: symbolic_constant7800003E +// CHECK:STDOUT: inst7800007D: symbolic_constant7800003F +// CHECK:STDOUT: inst7800007E: symbolic_constant78000024 +// CHECK:STDOUT: inst7800007F: symbolic_constant78000029 +// CHECK:STDOUT: inst78000080: symbolic_constant78000042 +// CHECK:STDOUT: inst78000081: symbolic_constant78000043 +// CHECK:STDOUT: inst78000082: symbolic_constant78000044 +// CHECK:STDOUT: inst78000083: constant +// CHECK:STDOUT: inst78000084: concrete_constant(inst78000084) +// CHECK:STDOUT: inst78000085: symbolic_constant78000021 +// CHECK:STDOUT: inst78000086: concrete_constant(inst78000086) +// CHECK:STDOUT: inst78000088: constant +// CHECK:STDOUT: inst78000089: concrete_constant(inst78000089) +// CHECK:STDOUT: inst7800008A: symbolic_constant78000045 +// CHECK:STDOUT: inst7800008B: symbolic_constant78000046 +// CHECK:STDOUT: inst7800008C: symbolic_constant78000047 +// CHECK:STDOUT: inst7800008D: symbolic_constant78000048 +// CHECK:STDOUT: inst7800008E: constant +// CHECK:STDOUT: inst7800008F: concrete_constant(inst7800008F) +// CHECK:STDOUT: inst78000090: symbolic_constant7800004B +// CHECK:STDOUT: inst78000091: symbolic_constant7800004F +// CHECK:STDOUT: inst78000092: symbolic_constant7800004D +// CHECK:STDOUT: inst78000093: symbolic_constant7800004E +// CHECK:STDOUT: inst78000094: symbolic_constant78000050 +// CHECK:STDOUT: inst78000095: symbolic_constant78000051 +// CHECK:STDOUT: inst78000096: concrete_constant(inst78000096) +// CHECK:STDOUT: inst78000097: symbolic_constant78000053 +// CHECK:STDOUT: inst78000098: symbolic_constant78000051 +// CHECK:STDOUT: inst78000099: symbolic_constant78000054 +// CHECK:STDOUT: inst7800009A: symbolic_constant78000057 // CHECK:STDOUT: inst7800009B: symbolic_constant78000057 -// CHECK:STDOUT: inst7800009C: symbolic_constant78000057 -// CHECK:STDOUT: inst7800009D: symbolic_constant78000058 -// CHECK:STDOUT: inst7800009E: symbolic_constant78000051 -// CHECK:STDOUT: inst7800009F: symbolic_constant7800005C -// CHECK:STDOUT: inst780000A0: symbolic_constant78000057 -// CHECK:STDOUT: inst780000A1: symbolic_constant78000067 -// CHECK:STDOUT: inst780000A2: symbolic_constant78000066 +// CHECK:STDOUT: inst7800009C: symbolic_constant78000058 +// CHECK:STDOUT: inst7800009D: symbolic_constant78000051 +// CHECK:STDOUT: inst7800009E: symbolic_constant7800005C +// CHECK:STDOUT: inst7800009F: symbolic_constant78000057 +// CHECK:STDOUT: inst780000A0: symbolic_constant78000067 +// CHECK:STDOUT: inst780000A1: symbolic_constant78000066 +// CHECK:STDOUT: inst780000A2: symbolic_constant78000059 // CHECK:STDOUT: inst780000A3: symbolic_constant78000059 -// CHECK:STDOUT: inst780000A4: symbolic_constant78000059 -// CHECK:STDOUT: inst780000A5: symbolic_constant78000065 -// CHECK:STDOUT: inst780000A6: symbolic_constant78000064 -// CHECK:STDOUT: inst780000A7: symbolic_constant78000055 -// CHECK:STDOUT: inst780000A8: symbolic_constant78000063 -// CHECK:STDOUT: inst780000A9: symbolic_constant78000068 -// CHECK:STDOUT: inst780000AA: symbolic_constant78000069 -// CHECK:STDOUT: inst780000AB: symbolic_constant7800006A -// CHECK:STDOUT: inst780000AC: symbolic_constant7800006B -// CHECK:STDOUT: inst780000AD: symbolic_constant7800006C -// CHECK:STDOUT: inst780000AE: symbolic_constant7800006D -// CHECK:STDOUT: inst780000AF: symbolic_constant7800006E -// CHECK:STDOUT: inst780000B0: symbolic_constant7800006F -// CHECK:STDOUT: inst780000B1: symbolic_constant78000070 -// CHECK:STDOUT: inst780000B2: symbolic_constant78000071 -// CHECK:STDOUT: inst780000B3: symbolic_constant78000072 -// CHECK:STDOUT: inst780000B4: symbolic_constant78000073 -// CHECK:STDOUT: inst780000B5: symbolic_constant78000074 -// CHECK:STDOUT: inst780000B6: symbolic_constant78000075 -// CHECK:STDOUT: inst780000B7: symbolic_constant78000076 -// CHECK:STDOUT: inst780000B8: symbolic_constant78000078 +// CHECK:STDOUT: inst780000A4: symbolic_constant78000065 +// CHECK:STDOUT: inst780000A5: symbolic_constant78000064 +// CHECK:STDOUT: inst780000A6: symbolic_constant78000055 +// CHECK:STDOUT: inst780000A7: symbolic_constant78000063 +// CHECK:STDOUT: inst780000A8: symbolic_constant78000068 +// CHECK:STDOUT: inst780000A9: symbolic_constant78000069 +// CHECK:STDOUT: inst780000AA: symbolic_constant7800006A +// CHECK:STDOUT: inst780000AB: symbolic_constant7800006B +// CHECK:STDOUT: inst780000AC: symbolic_constant7800006C +// CHECK:STDOUT: inst780000AD: symbolic_constant7800006D +// CHECK:STDOUT: inst780000AE: symbolic_constant7800006E +// CHECK:STDOUT: inst780000AF: symbolic_constant7800006F +// CHECK:STDOUT: inst780000B0: symbolic_constant78000070 +// CHECK:STDOUT: inst780000B1: symbolic_constant78000071 +// CHECK:STDOUT: inst780000B2: symbolic_constant78000072 +// CHECK:STDOUT: inst780000B3: symbolic_constant78000073 +// CHECK:STDOUT: inst780000B4: symbolic_constant78000074 +// CHECK:STDOUT: inst780000B5: symbolic_constant78000075 +// CHECK:STDOUT: inst780000B6: symbolic_constant78000076 +// CHECK:STDOUT: inst780000B7: symbolic_constant78000078 +// CHECK:STDOUT: inst780000B8: symbolic_constant78000079 // CHECK:STDOUT: inst780000B9: symbolic_constant78000079 -// CHECK:STDOUT: inst780000BA: symbolic_constant78000079 -// CHECK:STDOUT: inst780000BB: symbolic_constant7800007A -// CHECK:STDOUT: inst780000BC: symbolic_constant7800007B +// CHECK:STDOUT: inst780000BA: symbolic_constant7800007A +// CHECK:STDOUT: inst780000BB: symbolic_constant7800007B +// CHECK:STDOUT: inst780000BC: symbolic_constant7800007C // CHECK:STDOUT: inst780000BD: symbolic_constant7800007C -// CHECK:STDOUT: inst780000BE: symbolic_constant7800007C -// CHECK:STDOUT: inst780000BF: symbolic_constant7800007D -// CHECK:STDOUT: inst780000C0: symbolic_constant78000082 -// CHECK:STDOUT: inst780000C1: symbolic_constant78000084 -// CHECK:STDOUT: inst780000C2: symbolic_constant78000086 -// CHECK:STDOUT: inst780000C3: symbolic_constant78000087 -// CHECK:STDOUT: inst780000C4: symbolic_constant78000088 -// CHECK:STDOUT: inst780000C5: symbolic_constant78000089 -// CHECK:STDOUT: inst780000C6: symbolic_constant7800008A -// CHECK:STDOUT: inst780000C7: symbolic_constant7800008B -// CHECK:STDOUT: inst780000C8: symbolic_constant7800008C -// CHECK:STDOUT: inst780000C9: symbolic_constant78000051 -// CHECK:STDOUT: inst780000CA: symbolic_constant78000057 -// CHECK:STDOUT: inst780000CB: symbolic_constant78000092 -// CHECK:STDOUT: inst780000CC: symbolic_constant7800004A -// CHECK:STDOUT: inst780000CD: concrete_constant(inst7800005B) -// CHECK:STDOUT: inst780000CE: symbolic_constant78000049 -// CHECK:STDOUT: inst780000CF: symbolic_constant78000063 -// CHECK:STDOUT: inst780000D0: symbolic_constant78000093 -// CHECK:STDOUT: inst780000D1: symbolic_constant78000094 -// CHECK:STDOUT: inst780000D2: symbolic_constant78000095 -// CHECK:STDOUT: inst780000D3: symbolic_constant78000096 -// CHECK:STDOUT: inst780000D4: symbolic_constant78000097 -// CHECK:STDOUT: inst780000D5: symbolic_constant78000098 -// CHECK:STDOUT: inst780000D6: symbolic_constant7800009A -// CHECK:STDOUT: inst780000D7: symbolic_constant7800009B -// CHECK:STDOUT: inst780000D8: constant +// CHECK:STDOUT: inst780000BE: symbolic_constant7800007D +// CHECK:STDOUT: inst780000BF: symbolic_constant78000082 +// CHECK:STDOUT: inst780000C0: symbolic_constant78000084 +// CHECK:STDOUT: inst780000C1: symbolic_constant78000086 +// CHECK:STDOUT: inst780000C2: symbolic_constant78000087 +// CHECK:STDOUT: inst780000C3: symbolic_constant78000088 +// CHECK:STDOUT: inst780000C4: symbolic_constant78000089 +// CHECK:STDOUT: inst780000C5: symbolic_constant7800008A +// CHECK:STDOUT: inst780000C6: symbolic_constant7800008B +// CHECK:STDOUT: inst780000C7: symbolic_constant7800008C +// CHECK:STDOUT: inst780000C8: symbolic_constant78000051 +// CHECK:STDOUT: inst780000C9: symbolic_constant78000057 +// CHECK:STDOUT: inst780000CA: symbolic_constant78000092 +// CHECK:STDOUT: inst780000CB: symbolic_constant7800004A +// CHECK:STDOUT: inst780000CC: concrete_constant(inst7800005A) +// CHECK:STDOUT: inst780000CD: symbolic_constant78000049 +// CHECK:STDOUT: inst780000CE: symbolic_constant78000063 +// CHECK:STDOUT: inst780000CF: symbolic_constant78000093 +// CHECK:STDOUT: inst780000D0: symbolic_constant78000094 +// CHECK:STDOUT: inst780000D1: symbolic_constant78000095 +// CHECK:STDOUT: inst780000D2: symbolic_constant78000096 +// CHECK:STDOUT: inst780000D3: symbolic_constant78000097 +// CHECK:STDOUT: inst780000D4: symbolic_constant78000098 +// CHECK:STDOUT: inst780000D5: symbolic_constant7800009A +// CHECK:STDOUT: inst780000D6: symbolic_constant7800009B +// CHECK:STDOUT: inst780000D7: constant +// CHECK:STDOUT: inst780000D8: concrete_constant(inst780000D8) // CHECK:STDOUT: inst780000D9: concrete_constant(inst780000D9) -// CHECK:STDOUT: inst780000DA: concrete_constant(inst780000DA) -// CHECK:STDOUT: inst780000DB: concrete_constant(inst(BoolType)) -// CHECK:STDOUT: inst780000DC: concrete_constant(inst7800005B) -// CHECK:STDOUT: inst780000DD: concrete_constant(inst780000DA) -// CHECK:STDOUT: inst780000DE: constant +// CHECK:STDOUT: inst780000DA: concrete_constant(inst(BoolType)) +// CHECK:STDOUT: inst780000DB: concrete_constant(inst7800005A) +// CHECK:STDOUT: inst780000DC: concrete_constant(inst780000D9) +// CHECK:STDOUT: inst780000DD: constant +// CHECK:STDOUT: inst780000DE: concrete_constant(inst780000DE) // CHECK:STDOUT: inst780000DF: concrete_constant(inst780000DF) -// CHECK:STDOUT: inst780000E0: concrete_constant(inst780000E0) -// CHECK:STDOUT: inst780000E1: concrete_constant(inst(CharLiteralType)) -// CHECK:STDOUT: inst780000E2: concrete_constant(inst7800005B) -// CHECK:STDOUT: inst780000E3: concrete_constant(inst780000E0) -// CHECK:STDOUT: inst780000E4: constant +// CHECK:STDOUT: inst780000E0: concrete_constant(inst(CharLiteralType)) +// CHECK:STDOUT: inst780000E1: concrete_constant(inst7800005A) +// CHECK:STDOUT: inst780000E2: concrete_constant(inst780000DF) +// CHECK:STDOUT: inst780000E3: constant +// CHECK:STDOUT: inst780000E4: concrete_constant(inst780000E4) // CHECK:STDOUT: inst780000E5: concrete_constant(inst780000E5) -// CHECK:STDOUT: inst780000E6: concrete_constant(inst780000E6) -// CHECK:STDOUT: inst780000E7: concrete_constant(inst(FloatLiteralType)) -// CHECK:STDOUT: inst780000E8: concrete_constant(inst7800005B) -// CHECK:STDOUT: inst780000E9: concrete_constant(inst780000E6) -// CHECK:STDOUT: inst780000EA: constant +// CHECK:STDOUT: inst780000E6: concrete_constant(inst(FloatLiteralType)) +// CHECK:STDOUT: inst780000E7: concrete_constant(inst7800005A) +// CHECK:STDOUT: inst780000E8: concrete_constant(inst780000E5) +// CHECK:STDOUT: inst780000E9: constant +// CHECK:STDOUT: inst780000EA: concrete_constant(inst780000EA) // CHECK:STDOUT: inst780000EB: concrete_constant(inst780000EB) -// CHECK:STDOUT: inst780000EC: concrete_constant(inst780000EC) -// CHECK:STDOUT: inst780000ED: concrete_constant(inst(IntLiteralType)) -// CHECK:STDOUT: inst780000EE: concrete_constant(inst7800005B) -// CHECK:STDOUT: inst780000EF: concrete_constant(inst780000EC) -// CHECK:STDOUT: inst780000F0: symbolic_constant780001CD -// CHECK:STDOUT: inst780000F1: concrete_constant(inst780000F1) -// CHECK:STDOUT: inst780000F2: symbolic_constant7800009C -// CHECK:STDOUT: inst780000F3: constant -// CHECK:STDOUT: inst780000F4: concrete_constant(inst780000F4) -// CHECK:STDOUT: inst780000F5: symbolic_constant7800009F -// CHECK:STDOUT: inst780000F6: symbolic_constant780000A6 -// CHECK:STDOUT: inst780000F7: symbolic_constant7800009E -// CHECK:STDOUT: inst780000F8: concrete_constant(inst7800005B) -// CHECK:STDOUT: inst780000F9: symbolic_constant7800009D -// CHECK:STDOUT: inst780000FA: symbolic_constant780000A5 -// CHECK:STDOUT: inst780000FB: symbolic_constant780000A7 -// CHECK:STDOUT: inst780000FC: symbolic_constant780000A8 -// CHECK:STDOUT: inst780000FD: symbolic_constant780000A9 -// CHECK:STDOUT: inst780000FE: symbolic_constant780000AA -// CHECK:STDOUT: inst780000FF: symbolic_constant780000AB -// CHECK:STDOUT: inst78000100: symbolic_constant780000AF -// CHECK:STDOUT: inst78000101: symbolic_constant780000AD -// CHECK:STDOUT: inst78000102: symbolic_constant780000AE +// CHECK:STDOUT: inst780000EC: concrete_constant(inst(IntLiteralType)) +// CHECK:STDOUT: inst780000ED: concrete_constant(inst7800005A) +// CHECK:STDOUT: inst780000EE: concrete_constant(inst780000EB) +// CHECK:STDOUT: inst780000EF: symbolic_constant780001CD +// CHECK:STDOUT: inst780000F0: concrete_constant(inst780000F0) +// CHECK:STDOUT: inst780000F1: symbolic_constant7800009C +// CHECK:STDOUT: inst780000F2: constant +// CHECK:STDOUT: inst780000F3: concrete_constant(inst780000F3) +// CHECK:STDOUT: inst780000F4: symbolic_constant7800009F +// CHECK:STDOUT: inst780000F5: symbolic_constant780000A6 +// CHECK:STDOUT: inst780000F6: symbolic_constant7800009E +// CHECK:STDOUT: inst780000F7: concrete_constant(inst7800005A) +// CHECK:STDOUT: inst780000F8: symbolic_constant7800009D +// CHECK:STDOUT: inst780000F9: symbolic_constant780000A5 +// CHECK:STDOUT: inst780000FA: symbolic_constant780000A7 +// CHECK:STDOUT: inst780000FB: symbolic_constant780000A8 +// CHECK:STDOUT: inst780000FC: symbolic_constant780000A9 +// CHECK:STDOUT: inst780000FD: symbolic_constant780000AA +// CHECK:STDOUT: inst780000FE: symbolic_constant780000AB +// CHECK:STDOUT: inst780000FF: symbolic_constant780000AF +// CHECK:STDOUT: inst78000100: symbolic_constant780000AD +// CHECK:STDOUT: inst78000101: symbolic_constant780000AE +// CHECK:STDOUT: inst78000102: symbolic_constant780000B0 // CHECK:STDOUT: inst78000103: symbolic_constant780000B0 -// CHECK:STDOUT: inst78000104: symbolic_constant780000B0 -// CHECK:STDOUT: inst78000105: symbolic_constant780000B2 +// CHECK:STDOUT: inst78000104: symbolic_constant780000B2 +// CHECK:STDOUT: inst78000105: symbolic_constant780000B5 // CHECK:STDOUT: inst78000106: symbolic_constant780000B5 -// CHECK:STDOUT: inst78000107: symbolic_constant780000B5 -// CHECK:STDOUT: inst78000108: symbolic_constant780000B6 -// CHECK:STDOUT: inst78000109: symbolic_constant780000B0 -// CHECK:STDOUT: inst7800010A: symbolic_constant780000BA -// CHECK:STDOUT: inst7800010B: symbolic_constant780000B5 -// CHECK:STDOUT: inst7800010C: symbolic_constant780000C3 -// CHECK:STDOUT: inst7800010D: symbolic_constant780000C2 +// CHECK:STDOUT: inst78000107: symbolic_constant780000B6 +// CHECK:STDOUT: inst78000108: symbolic_constant780000B0 +// CHECK:STDOUT: inst78000109: symbolic_constant780000BA +// CHECK:STDOUT: inst7800010A: symbolic_constant780000B5 +// CHECK:STDOUT: inst7800010B: symbolic_constant780000C3 +// CHECK:STDOUT: inst7800010C: symbolic_constant780000C2 +// CHECK:STDOUT: inst7800010D: symbolic_constant780000B7 // CHECK:STDOUT: inst7800010E: symbolic_constant780000B7 -// CHECK:STDOUT: inst7800010F: symbolic_constant780000B7 -// CHECK:STDOUT: inst78000110: symbolic_constant780000C1 -// CHECK:STDOUT: inst78000111: symbolic_constant780000C0 -// CHECK:STDOUT: inst78000112: symbolic_constant780000B3 -// CHECK:STDOUT: inst78000113: symbolic_constant780000A5 -// CHECK:STDOUT: inst78000114: symbolic_constant780000C4 -// CHECK:STDOUT: inst78000115: symbolic_constant780000C5 -// CHECK:STDOUT: inst78000116: symbolic_constant780000C6 -// CHECK:STDOUT: inst78000117: symbolic_constant780000C7 -// CHECK:STDOUT: inst78000118: symbolic_constant780000C8 -// CHECK:STDOUT: inst78000119: symbolic_constant780000C9 -// CHECK:STDOUT: inst7800011A: symbolic_constant780000CA -// CHECK:STDOUT: inst7800011B: symbolic_constant780000CB -// CHECK:STDOUT: inst7800011C: symbolic_constant780000B0 -// CHECK:STDOUT: inst7800011D: symbolic_constant780000B5 -// CHECK:STDOUT: inst7800011E: symbolic_constant780000CD -// CHECK:STDOUT: inst7800011F: symbolic_constant780000CE -// CHECK:STDOUT: inst78000120: symbolic_constant780000CF -// CHECK:STDOUT: inst78000121: constant +// CHECK:STDOUT: inst7800010F: symbolic_constant780000C1 +// CHECK:STDOUT: inst78000110: symbolic_constant780000C0 +// CHECK:STDOUT: inst78000111: symbolic_constant780000B3 +// CHECK:STDOUT: inst78000112: symbolic_constant780000A5 +// CHECK:STDOUT: inst78000113: symbolic_constant780000C4 +// CHECK:STDOUT: inst78000114: symbolic_constant780000C5 +// CHECK:STDOUT: inst78000115: symbolic_constant780000C6 +// CHECK:STDOUT: inst78000116: symbolic_constant780000C7 +// CHECK:STDOUT: inst78000117: symbolic_constant780000C8 +// CHECK:STDOUT: inst78000118: symbolic_constant780000C9 +// CHECK:STDOUT: inst78000119: symbolic_constant780000CA +// CHECK:STDOUT: inst7800011A: symbolic_constant780000CB +// CHECK:STDOUT: inst7800011B: symbolic_constant780000B0 +// CHECK:STDOUT: inst7800011C: symbolic_constant780000B5 +// CHECK:STDOUT: inst7800011D: symbolic_constant780000CD +// CHECK:STDOUT: inst7800011E: symbolic_constant780000CE +// CHECK:STDOUT: inst7800011F: symbolic_constant780000CF +// CHECK:STDOUT: inst78000120: constant +// CHECK:STDOUT: inst78000121: concrete_constant(inst78000121) // CHECK:STDOUT: inst78000122: concrete_constant(inst78000122) -// CHECK:STDOUT: inst78000123: concrete_constant(inst78000123) -// CHECK:STDOUT: inst78000124: concrete_constant(inst(TypeType)) -// CHECK:STDOUT: inst78000125: concrete_constant(inst7800005B) -// CHECK:STDOUT: inst78000126: concrete_constant(inst78000123) -// CHECK:STDOUT: inst78000127: constant +// CHECK:STDOUT: inst78000123: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst78000124: concrete_constant(inst7800005A) +// CHECK:STDOUT: inst78000125: concrete_constant(inst78000122) +// CHECK:STDOUT: inst78000126: constant +// CHECK:STDOUT: inst78000127: concrete_constant(inst78000127) // CHECK:STDOUT: inst78000128: concrete_constant(inst78000128) -// CHECK:STDOUT: inst78000129: concrete_constant(inst78000129) -// CHECK:STDOUT: inst7800012A: concrete_constant(inst7800002D) -// CHECK:STDOUT: inst7800012B: concrete_constant(inst7800005B) -// CHECK:STDOUT: inst7800012C: concrete_constant(inst78000129) -// CHECK:STDOUT: inst7800012D: constant -// CHECK:STDOUT: inst7800012E: concrete_constant(inst7800012E) -// CHECK:STDOUT: inst7800012F: symbolic_constant780000D0 -// CHECK:STDOUT: inst78000130: symbolic_constant780000D1 -// CHECK:STDOUT: inst78000131: symbolic_constant780000D2 -// CHECK:STDOUT: inst78000132: symbolic_constant780000D3 -// CHECK:STDOUT: inst78000133: constant -// CHECK:STDOUT: inst78000134: concrete_constant(inst78000134) -// CHECK:STDOUT: inst78000135: symbolic_constant780000D6 -// CHECK:STDOUT: inst78000136: symbolic_constant780000DA -// CHECK:STDOUT: inst78000137: symbolic_constant780000D8 -// CHECK:STDOUT: inst78000138: symbolic_constant780000D9 -// CHECK:STDOUT: inst78000139: symbolic_constant780000DB -// CHECK:STDOUT: inst7800013A: symbolic_constant780000DC -// CHECK:STDOUT: inst7800013B: concrete_constant(inst7800013B) -// CHECK:STDOUT: inst7800013C: symbolic_constant780000DE -// CHECK:STDOUT: inst7800013D: symbolic_constant780000DF -// CHECK:STDOUT: inst7800013E: symbolic_constant780000DC -// CHECK:STDOUT: inst7800013F: symbolic_constant780000E0 +// CHECK:STDOUT: inst78000129: concrete_constant(inst7800002C) +// CHECK:STDOUT: inst7800012A: concrete_constant(inst7800005A) +// CHECK:STDOUT: inst7800012B: concrete_constant(inst78000128) +// CHECK:STDOUT: inst7800012C: constant +// CHECK:STDOUT: inst7800012D: concrete_constant(inst7800012D) +// CHECK:STDOUT: inst7800012E: symbolic_constant780000D0 +// CHECK:STDOUT: inst7800012F: symbolic_constant780000D1 +// CHECK:STDOUT: inst78000130: symbolic_constant780000D2 +// CHECK:STDOUT: inst78000131: symbolic_constant780000D3 +// CHECK:STDOUT: inst78000132: constant +// CHECK:STDOUT: inst78000133: concrete_constant(inst78000133) +// CHECK:STDOUT: inst78000134: symbolic_constant780000D6 +// CHECK:STDOUT: inst78000135: symbolic_constant780000DA +// CHECK:STDOUT: inst78000136: symbolic_constant780000D8 +// CHECK:STDOUT: inst78000137: symbolic_constant780000D9 +// CHECK:STDOUT: inst78000138: symbolic_constant780000DB +// CHECK:STDOUT: inst78000139: symbolic_constant780000DC +// CHECK:STDOUT: inst7800013A: concrete_constant(inst7800013A) +// CHECK:STDOUT: inst7800013B: symbolic_constant780000DE +// CHECK:STDOUT: inst7800013C: symbolic_constant780000DF +// CHECK:STDOUT: inst7800013D: symbolic_constant780000DC +// CHECK:STDOUT: inst7800013E: symbolic_constant780000E0 +// CHECK:STDOUT: inst7800013F: symbolic_constant780000E3 // CHECK:STDOUT: inst78000140: symbolic_constant780000E3 -// CHECK:STDOUT: inst78000141: symbolic_constant780000E3 -// CHECK:STDOUT: inst78000142: symbolic_constant780000E4 -// CHECK:STDOUT: inst78000143: symbolic_constant780000DC -// CHECK:STDOUT: inst78000144: symbolic_constant780000E8 -// CHECK:STDOUT: inst78000145: symbolic_constant780000E3 -// CHECK:STDOUT: inst78000146: symbolic_constant780000F6 -// CHECK:STDOUT: inst78000147: symbolic_constant780000F5 +// CHECK:STDOUT: inst78000141: symbolic_constant780000E4 +// CHECK:STDOUT: inst78000142: symbolic_constant780000DC +// CHECK:STDOUT: inst78000143: symbolic_constant780000E8 +// CHECK:STDOUT: inst78000144: symbolic_constant780000E3 +// CHECK:STDOUT: inst78000145: symbolic_constant780000F6 +// CHECK:STDOUT: inst78000146: symbolic_constant780000F5 +// CHECK:STDOUT: inst78000147: symbolic_constant780000E5 // CHECK:STDOUT: inst78000148: symbolic_constant780000E5 -// CHECK:STDOUT: inst78000149: symbolic_constant780000E5 -// CHECK:STDOUT: inst7800014A: symbolic_constant780000F4 -// CHECK:STDOUT: inst7800014B: symbolic_constant780000F3 -// CHECK:STDOUT: inst7800014C: symbolic_constant780000E1 -// CHECK:STDOUT: inst7800014D: symbolic_constant780000F2 -// CHECK:STDOUT: inst7800014E: symbolic_constant780000F1 -// CHECK:STDOUT: inst7800014F: symbolic_constant780000F7 -// CHECK:STDOUT: inst78000150: symbolic_constant780000F8 -// CHECK:STDOUT: inst78000151: symbolic_constant780000F9 -// CHECK:STDOUT: inst78000152: symbolic_constant780000FA -// CHECK:STDOUT: inst78000153: symbolic_constant780000FB -// CHECK:STDOUT: inst78000154: symbolic_constant780000FC -// CHECK:STDOUT: inst78000155: symbolic_constant780000FD -// CHECK:STDOUT: inst78000156: symbolic_constant780000FE -// CHECK:STDOUT: inst78000157: symbolic_constant780000FF -// CHECK:STDOUT: inst78000158: symbolic_constant78000100 -// CHECK:STDOUT: inst78000159: symbolic_constant78000101 -// CHECK:STDOUT: inst7800015A: symbolic_constant78000102 -// CHECK:STDOUT: inst7800015B: symbolic_constant78000103 -// CHECK:STDOUT: inst7800015C: symbolic_constant78000104 -// CHECK:STDOUT: inst7800015D: symbolic_constant78000105 -// CHECK:STDOUT: inst7800015E: symbolic_constant78000106 -// CHECK:STDOUT: inst7800015F: symbolic_constant78000107 -// CHECK:STDOUT: inst78000160: symbolic_constant78000109 +// CHECK:STDOUT: inst78000149: symbolic_constant780000F4 +// CHECK:STDOUT: inst7800014A: symbolic_constant780000F3 +// CHECK:STDOUT: inst7800014B: symbolic_constant780000E1 +// CHECK:STDOUT: inst7800014C: symbolic_constant780000F2 +// CHECK:STDOUT: inst7800014D: symbolic_constant780000F1 +// CHECK:STDOUT: inst7800014E: symbolic_constant780000F7 +// CHECK:STDOUT: inst7800014F: symbolic_constant780000F8 +// CHECK:STDOUT: inst78000150: symbolic_constant780000F9 +// CHECK:STDOUT: inst78000151: symbolic_constant780000FA +// CHECK:STDOUT: inst78000152: symbolic_constant780000FB +// CHECK:STDOUT: inst78000153: symbolic_constant780000FC +// CHECK:STDOUT: inst78000154: symbolic_constant780000FD +// CHECK:STDOUT: inst78000155: symbolic_constant780000FE +// CHECK:STDOUT: inst78000156: symbolic_constant780000FF +// CHECK:STDOUT: inst78000157: symbolic_constant78000100 +// CHECK:STDOUT: inst78000158: symbolic_constant78000101 +// CHECK:STDOUT: inst78000159: symbolic_constant78000102 +// CHECK:STDOUT: inst7800015A: symbolic_constant78000103 +// CHECK:STDOUT: inst7800015B: symbolic_constant78000104 +// CHECK:STDOUT: inst7800015C: symbolic_constant78000105 +// CHECK:STDOUT: inst7800015D: symbolic_constant78000106 +// CHECK:STDOUT: inst7800015E: symbolic_constant78000107 +// CHECK:STDOUT: inst7800015F: symbolic_constant78000109 +// CHECK:STDOUT: inst78000160: symbolic_constant7800010A // CHECK:STDOUT: inst78000161: symbolic_constant7800010A -// CHECK:STDOUT: inst78000162: symbolic_constant7800010A -// CHECK:STDOUT: inst78000163: symbolic_constant7800010B -// CHECK:STDOUT: inst78000164: symbolic_constant7800010C +// CHECK:STDOUT: inst78000162: symbolic_constant7800010B +// CHECK:STDOUT: inst78000163: symbolic_constant7800010C +// CHECK:STDOUT: inst78000164: symbolic_constant7800010D // CHECK:STDOUT: inst78000165: symbolic_constant7800010D -// CHECK:STDOUT: inst78000166: symbolic_constant7800010D -// CHECK:STDOUT: inst78000167: symbolic_constant7800010E -// CHECK:STDOUT: inst78000168: symbolic_constant78000113 -// CHECK:STDOUT: inst78000169: symbolic_constant7800011B -// CHECK:STDOUT: inst7800016A: symbolic_constant7800011D -// CHECK:STDOUT: inst7800016B: symbolic_constant7800011E -// CHECK:STDOUT: inst7800016C: symbolic_constant7800011F -// CHECK:STDOUT: inst7800016D: symbolic_constant78000120 -// CHECK:STDOUT: inst7800016E: symbolic_constant78000121 -// CHECK:STDOUT: inst7800016F: symbolic_constant78000122 -// CHECK:STDOUT: inst78000170: symbolic_constant78000123 -// CHECK:STDOUT: inst78000171: symbolic_constant78000124 -// CHECK:STDOUT: inst78000172: symbolic_constant78000125 -// CHECK:STDOUT: inst78000173: symbolic_constant78000126 -// CHECK:STDOUT: inst78000174: symbolic_constant78000127 -// CHECK:STDOUT: inst78000175: symbolic_constant78000128 -// CHECK:STDOUT: inst78000176: symbolic_constant78000129 -// CHECK:STDOUT: inst78000177: symbolic_constant780000DC -// CHECK:STDOUT: inst78000178: symbolic_constant780000E3 -// CHECK:STDOUT: inst78000179: symbolic_constant78000134 -// CHECK:STDOUT: inst7800017A: symbolic_constant78000133 -// CHECK:STDOUT: inst7800017B: symbolic_constant780000D5 -// CHECK:STDOUT: inst7800017C: concrete_constant(inst7800005B) -// CHECK:STDOUT: inst7800017D: symbolic_constant780000D4 -// CHECK:STDOUT: inst7800017E: symbolic_constant780000F2 -// CHECK:STDOUT: inst7800017F: symbolic_constant780000F1 -// CHECK:STDOUT: inst78000180: symbolic_constant78000135 -// CHECK:STDOUT: inst78000181: symbolic_constant78000136 -// CHECK:STDOUT: inst78000182: symbolic_constant78000137 -// CHECK:STDOUT: inst78000183: symbolic_constant78000138 -// CHECK:STDOUT: inst78000184: symbolic_constant78000139 -// CHECK:STDOUT: inst78000185: symbolic_constant7800013A -// CHECK:STDOUT: inst78000186: symbolic_constant7800013B -// CHECK:STDOUT: inst78000187: symbolic_constant7800013C -// CHECK:STDOUT: inst78000188: symbolic_constant7800013D -// CHECK:STDOUT: inst78000189: symbolic_constant7800013E -// CHECK:STDOUT: inst7800018A: symbolic_constant78000140 -// CHECK:STDOUT: inst7800018B: symbolic_constant78000141 -// CHECK:STDOUT: inst7800018C: constant -// CHECK:STDOUT: inst7800018D: concrete_constant(inst7800018D) -// CHECK:STDOUT: inst7800018E: symbolic_constant78000142 -// CHECK:STDOUT: inst7800018F: symbolic_constant78000143 -// CHECK:STDOUT: inst78000190: symbolic_constant78000144 -// CHECK:STDOUT: inst78000191: symbolic_constant78000145 -// CHECK:STDOUT: inst78000192: constant -// CHECK:STDOUT: inst78000193: concrete_constant(inst78000193) -// CHECK:STDOUT: inst78000194: symbolic_constant78000148 -// CHECK:STDOUT: inst78000195: symbolic_constant7800014C -// CHECK:STDOUT: inst78000196: symbolic_constant7800014A -// CHECK:STDOUT: inst78000197: symbolic_constant7800014B -// CHECK:STDOUT: inst78000198: symbolic_constant7800014D -// CHECK:STDOUT: inst78000199: symbolic_constant7800014E -// CHECK:STDOUT: inst7800019A: concrete_constant(inst7800019A) -// CHECK:STDOUT: inst7800019B: symbolic_constant78000150 -// CHECK:STDOUT: inst7800019C: symbolic_constant78000151 -// CHECK:STDOUT: inst7800019D: symbolic_constant7800014E -// CHECK:STDOUT: inst7800019E: symbolic_constant78000152 +// CHECK:STDOUT: inst78000166: symbolic_constant7800010E +// CHECK:STDOUT: inst78000167: symbolic_constant78000113 +// CHECK:STDOUT: inst78000168: symbolic_constant7800011B +// CHECK:STDOUT: inst78000169: symbolic_constant7800011D +// CHECK:STDOUT: inst7800016A: symbolic_constant7800011E +// CHECK:STDOUT: inst7800016B: symbolic_constant7800011F +// CHECK:STDOUT: inst7800016C: symbolic_constant78000120 +// CHECK:STDOUT: inst7800016D: symbolic_constant78000121 +// CHECK:STDOUT: inst7800016E: symbolic_constant78000122 +// CHECK:STDOUT: inst7800016F: symbolic_constant78000123 +// CHECK:STDOUT: inst78000170: symbolic_constant78000124 +// CHECK:STDOUT: inst78000171: symbolic_constant78000125 +// CHECK:STDOUT: inst78000172: symbolic_constant78000126 +// CHECK:STDOUT: inst78000173: symbolic_constant78000127 +// CHECK:STDOUT: inst78000174: symbolic_constant78000128 +// CHECK:STDOUT: inst78000175: symbolic_constant78000129 +// CHECK:STDOUT: inst78000176: symbolic_constant780000DC +// CHECK:STDOUT: inst78000177: symbolic_constant780000E3 +// CHECK:STDOUT: inst78000178: symbolic_constant78000134 +// CHECK:STDOUT: inst78000179: symbolic_constant78000133 +// CHECK:STDOUT: inst7800017A: symbolic_constant780000D5 +// CHECK:STDOUT: inst7800017B: concrete_constant(inst7800005A) +// CHECK:STDOUT: inst7800017C: symbolic_constant780000D4 +// CHECK:STDOUT: inst7800017D: symbolic_constant780000F2 +// CHECK:STDOUT: inst7800017E: symbolic_constant780000F1 +// CHECK:STDOUT: inst7800017F: symbolic_constant78000135 +// CHECK:STDOUT: inst78000180: symbolic_constant78000136 +// CHECK:STDOUT: inst78000181: symbolic_constant78000137 +// CHECK:STDOUT: inst78000182: symbolic_constant78000138 +// CHECK:STDOUT: inst78000183: symbolic_constant78000139 +// CHECK:STDOUT: inst78000184: symbolic_constant7800013A +// CHECK:STDOUT: inst78000185: symbolic_constant7800013B +// CHECK:STDOUT: inst78000186: symbolic_constant7800013C +// CHECK:STDOUT: inst78000187: symbolic_constant7800013D +// CHECK:STDOUT: inst78000188: symbolic_constant7800013E +// CHECK:STDOUT: inst78000189: symbolic_constant78000140 +// CHECK:STDOUT: inst7800018A: symbolic_constant78000141 +// CHECK:STDOUT: inst7800018B: constant +// CHECK:STDOUT: inst7800018C: concrete_constant(inst7800018C) +// CHECK:STDOUT: inst7800018D: symbolic_constant78000142 +// CHECK:STDOUT: inst7800018E: symbolic_constant78000143 +// CHECK:STDOUT: inst7800018F: symbolic_constant78000144 +// CHECK:STDOUT: inst78000190: symbolic_constant78000145 +// CHECK:STDOUT: inst78000191: constant +// CHECK:STDOUT: inst78000192: concrete_constant(inst78000192) +// CHECK:STDOUT: inst78000193: symbolic_constant78000148 +// CHECK:STDOUT: inst78000194: symbolic_constant7800014C +// CHECK:STDOUT: inst78000195: symbolic_constant7800014A +// CHECK:STDOUT: inst78000196: symbolic_constant7800014B +// CHECK:STDOUT: inst78000197: symbolic_constant7800014D +// CHECK:STDOUT: inst78000198: symbolic_constant7800014E +// CHECK:STDOUT: inst78000199: concrete_constant(inst78000199) +// CHECK:STDOUT: inst7800019A: symbolic_constant78000150 +// CHECK:STDOUT: inst7800019B: symbolic_constant78000151 +// CHECK:STDOUT: inst7800019C: symbolic_constant7800014E +// CHECK:STDOUT: inst7800019D: symbolic_constant78000152 +// CHECK:STDOUT: inst7800019E: symbolic_constant78000155 // CHECK:STDOUT: inst7800019F: symbolic_constant78000155 -// CHECK:STDOUT: inst780001A0: symbolic_constant78000155 -// CHECK:STDOUT: inst780001A1: symbolic_constant78000156 -// CHECK:STDOUT: inst780001A2: symbolic_constant7800014E -// CHECK:STDOUT: inst780001A3: symbolic_constant7800015A -// CHECK:STDOUT: inst780001A4: symbolic_constant78000155 -// CHECK:STDOUT: inst780001A5: symbolic_constant7800016B -// CHECK:STDOUT: inst780001A6: symbolic_constant7800016A +// CHECK:STDOUT: inst780001A0: symbolic_constant78000156 +// CHECK:STDOUT: inst780001A1: symbolic_constant7800014E +// CHECK:STDOUT: inst780001A2: symbolic_constant7800015A +// CHECK:STDOUT: inst780001A3: symbolic_constant78000155 +// CHECK:STDOUT: inst780001A4: symbolic_constant7800016B +// CHECK:STDOUT: inst780001A5: symbolic_constant7800016A +// CHECK:STDOUT: inst780001A6: symbolic_constant78000157 // CHECK:STDOUT: inst780001A7: symbolic_constant78000157 -// CHECK:STDOUT: inst780001A8: symbolic_constant78000157 -// CHECK:STDOUT: inst780001A9: symbolic_constant78000169 -// CHECK:STDOUT: inst780001AA: symbolic_constant78000168 -// CHECK:STDOUT: inst780001AB: symbolic_constant78000153 -// CHECK:STDOUT: inst780001AC: symbolic_constant78000167 -// CHECK:STDOUT: inst780001AD: symbolic_constant78000166 -// CHECK:STDOUT: inst780001AE: symbolic_constant78000165 -// CHECK:STDOUT: inst780001AF: symbolic_constant7800016C -// CHECK:STDOUT: inst780001B0: symbolic_constant7800016D -// CHECK:STDOUT: inst780001B1: symbolic_constant7800016E -// CHECK:STDOUT: inst780001B2: symbolic_constant7800016F -// CHECK:STDOUT: inst780001B3: symbolic_constant78000170 -// CHECK:STDOUT: inst780001B4: symbolic_constant78000171 -// CHECK:STDOUT: inst780001B5: symbolic_constant78000172 -// CHECK:STDOUT: inst780001B6: symbolic_constant78000173 -// CHECK:STDOUT: inst780001B7: symbolic_constant78000174 -// CHECK:STDOUT: inst780001B8: symbolic_constant78000175 -// CHECK:STDOUT: inst780001B9: symbolic_constant78000176 -// CHECK:STDOUT: inst780001BA: symbolic_constant78000177 -// CHECK:STDOUT: inst780001BB: symbolic_constant78000178 -// CHECK:STDOUT: inst780001BC: symbolic_constant78000179 -// CHECK:STDOUT: inst780001BD: symbolic_constant7800017A -// CHECK:STDOUT: inst780001BE: symbolic_constant7800017B -// CHECK:STDOUT: inst780001BF: symbolic_constant7800017C -// CHECK:STDOUT: inst780001C0: symbolic_constant7800017D -// CHECK:STDOUT: inst780001C1: symbolic_constant7800017E -// CHECK:STDOUT: inst780001C2: symbolic_constant78000180 +// CHECK:STDOUT: inst780001A8: symbolic_constant78000169 +// CHECK:STDOUT: inst780001A9: symbolic_constant78000168 +// CHECK:STDOUT: inst780001AA: symbolic_constant78000153 +// CHECK:STDOUT: inst780001AB: symbolic_constant78000167 +// CHECK:STDOUT: inst780001AC: symbolic_constant78000166 +// CHECK:STDOUT: inst780001AD: symbolic_constant78000165 +// CHECK:STDOUT: inst780001AE: symbolic_constant7800016C +// CHECK:STDOUT: inst780001AF: symbolic_constant7800016D +// CHECK:STDOUT: inst780001B0: symbolic_constant7800016E +// CHECK:STDOUT: inst780001B1: symbolic_constant7800016F +// CHECK:STDOUT: inst780001B2: symbolic_constant78000170 +// CHECK:STDOUT: inst780001B3: symbolic_constant78000171 +// CHECK:STDOUT: inst780001B4: symbolic_constant78000172 +// CHECK:STDOUT: inst780001B5: symbolic_constant78000173 +// CHECK:STDOUT: inst780001B6: symbolic_constant78000174 +// CHECK:STDOUT: inst780001B7: symbolic_constant78000175 +// CHECK:STDOUT: inst780001B8: symbolic_constant78000176 +// CHECK:STDOUT: inst780001B9: symbolic_constant78000177 +// CHECK:STDOUT: inst780001BA: symbolic_constant78000178 +// CHECK:STDOUT: inst780001BB: symbolic_constant78000179 +// CHECK:STDOUT: inst780001BC: symbolic_constant7800017A +// CHECK:STDOUT: inst780001BD: symbolic_constant7800017B +// CHECK:STDOUT: inst780001BE: symbolic_constant7800017C +// CHECK:STDOUT: inst780001BF: symbolic_constant7800017D +// CHECK:STDOUT: inst780001C0: symbolic_constant7800017E +// CHECK:STDOUT: inst780001C1: symbolic_constant78000180 +// CHECK:STDOUT: inst780001C2: symbolic_constant78000181 // CHECK:STDOUT: inst780001C3: symbolic_constant78000181 -// CHECK:STDOUT: inst780001C4: symbolic_constant78000181 -// CHECK:STDOUT: inst780001C5: symbolic_constant78000182 -// CHECK:STDOUT: inst780001C6: symbolic_constant78000183 +// CHECK:STDOUT: inst780001C4: symbolic_constant78000182 +// CHECK:STDOUT: inst780001C5: symbolic_constant78000183 +// CHECK:STDOUT: inst780001C6: symbolic_constant78000184 // CHECK:STDOUT: inst780001C7: symbolic_constant78000184 -// CHECK:STDOUT: inst780001C8: symbolic_constant78000184 -// CHECK:STDOUT: inst780001C9: symbolic_constant78000185 -// CHECK:STDOUT: inst780001CA: symbolic_constant7800018A -// CHECK:STDOUT: inst780001CB: symbolic_constant78000198 -// CHECK:STDOUT: inst780001CC: symbolic_constant7800019A -// CHECK:STDOUT: inst780001CD: symbolic_constant7800019B -// CHECK:STDOUT: inst780001CE: symbolic_constant7800019C -// CHECK:STDOUT: inst780001CF: symbolic_constant7800019D -// CHECK:STDOUT: inst780001D0: symbolic_constant7800019E -// CHECK:STDOUT: inst780001D1: symbolic_constant7800019F -// CHECK:STDOUT: inst780001D2: symbolic_constant780001A0 -// CHECK:STDOUT: inst780001D3: symbolic_constant780001A1 -// CHECK:STDOUT: inst780001D4: symbolic_constant780001A2 -// CHECK:STDOUT: inst780001D5: symbolic_constant780001A3 -// CHECK:STDOUT: inst780001D6: symbolic_constant780001A4 -// CHECK:STDOUT: inst780001D7: symbolic_constant780001A5 -// CHECK:STDOUT: inst780001D8: symbolic_constant780001A6 -// CHECK:STDOUT: inst780001D9: symbolic_constant780001A7 -// CHECK:STDOUT: inst780001DA: symbolic_constant780001A8 -// CHECK:STDOUT: inst780001DB: symbolic_constant780001A9 -// CHECK:STDOUT: inst780001DC: symbolic_constant780001AA -// CHECK:STDOUT: inst780001DD: symbolic_constant780001AB -// CHECK:STDOUT: inst780001DE: symbolic_constant780001AC -// CHECK:STDOUT: inst780001DF: symbolic_constant7800014E -// CHECK:STDOUT: inst780001E0: symbolic_constant78000155 -// CHECK:STDOUT: inst780001E1: symbolic_constant780001BB -// CHECK:STDOUT: inst780001E2: symbolic_constant780001BA -// CHECK:STDOUT: inst780001E3: symbolic_constant780001B9 -// CHECK:STDOUT: inst780001E4: symbolic_constant78000147 -// CHECK:STDOUT: inst780001E5: concrete_constant(inst7800005B) -// CHECK:STDOUT: inst780001E6: symbolic_constant78000146 -// CHECK:STDOUT: inst780001E7: symbolic_constant78000167 -// CHECK:STDOUT: inst780001E8: symbolic_constant78000166 -// CHECK:STDOUT: inst780001E9: symbolic_constant78000165 -// CHECK:STDOUT: inst780001EA: symbolic_constant780001BC -// CHECK:STDOUT: inst780001EB: symbolic_constant780001BD -// CHECK:STDOUT: inst780001EC: symbolic_constant780001BE -// CHECK:STDOUT: inst780001ED: symbolic_constant780001BF -// CHECK:STDOUT: inst780001EE: symbolic_constant780001C0 -// CHECK:STDOUT: inst780001EF: symbolic_constant780001C1 -// CHECK:STDOUT: inst780001F0: symbolic_constant780001C2 -// CHECK:STDOUT: inst780001F1: symbolic_constant780001C3 -// CHECK:STDOUT: inst780001F2: symbolic_constant780001C4 -// CHECK:STDOUT: inst780001F3: symbolic_constant780001C5 -// CHECK:STDOUT: inst780001F4: symbolic_constant780001C6 -// CHECK:STDOUT: inst780001F5: symbolic_constant780001C7 -// CHECK:STDOUT: inst780001F6: symbolic_constant780001C8 -// CHECK:STDOUT: inst780001F7: symbolic_constant780001CA -// CHECK:STDOUT: inst780001F8: symbolic_constant780001CB -// CHECK:STDOUT: inst780001F9: symbolic_constant780001CC -// CHECK:STDOUT: inst780001FA: symbolic_constant780001CF -// CHECK:STDOUT: inst780001FB: symbolic_constant780001CE -// CHECK:STDOUT: inst780001FC: symbolic_constant780001CF -// CHECK:STDOUT: inst780001FD: symbolic_constant780001D0 -// CHECK:STDOUT: inst780001FE: symbolic_constant780001D1 -// CHECK:STDOUT: inst780001FF: symbolic_constant780001D2 -// CHECK:STDOUT: inst78000200: symbolic_constant780001D3 -// CHECK:STDOUT: inst78000201: symbolic_constant780001D9 -// CHECK:STDOUT: inst78000202: symbolic_constant780001D4 -// CHECK:STDOUT: inst78000203: symbolic_constant780001D5 -// CHECK:STDOUT: inst78000204: symbolic_constant780001D6 -// CHECK:STDOUT: inst78000205: symbolic_constant780001D7 -// CHECK:STDOUT: inst78000206: symbolic_constant780001D8 -// CHECK:STDOUT: inst78000207: symbolic_constant780001D9 -// CHECK:STDOUT: inst7800020A: symbolic_constant780001CF +// CHECK:STDOUT: inst780001C8: symbolic_constant78000185 +// CHECK:STDOUT: inst780001C9: symbolic_constant7800018A +// CHECK:STDOUT: inst780001CA: symbolic_constant78000198 +// CHECK:STDOUT: inst780001CB: symbolic_constant7800019A +// CHECK:STDOUT: inst780001CC: symbolic_constant7800019B +// CHECK:STDOUT: inst780001CD: symbolic_constant7800019C +// CHECK:STDOUT: inst780001CE: symbolic_constant7800019D +// CHECK:STDOUT: inst780001CF: symbolic_constant7800019E +// CHECK:STDOUT: inst780001D0: symbolic_constant7800019F +// CHECK:STDOUT: inst780001D1: symbolic_constant780001A0 +// CHECK:STDOUT: inst780001D2: symbolic_constant780001A1 +// CHECK:STDOUT: inst780001D3: symbolic_constant780001A2 +// CHECK:STDOUT: inst780001D4: symbolic_constant780001A3 +// CHECK:STDOUT: inst780001D5: symbolic_constant780001A4 +// CHECK:STDOUT: inst780001D6: symbolic_constant780001A5 +// CHECK:STDOUT: inst780001D7: symbolic_constant780001A6 +// CHECK:STDOUT: inst780001D8: symbolic_constant780001A7 +// CHECK:STDOUT: inst780001D9: symbolic_constant780001A8 +// CHECK:STDOUT: inst780001DA: symbolic_constant780001A9 +// CHECK:STDOUT: inst780001DB: symbolic_constant780001AA +// CHECK:STDOUT: inst780001DC: symbolic_constant780001AB +// CHECK:STDOUT: inst780001DD: symbolic_constant780001AC +// CHECK:STDOUT: inst780001DE: symbolic_constant7800014E +// CHECK:STDOUT: inst780001DF: symbolic_constant78000155 +// CHECK:STDOUT: inst780001E0: symbolic_constant780001BB +// CHECK:STDOUT: inst780001E1: symbolic_constant780001BA +// CHECK:STDOUT: inst780001E2: symbolic_constant780001B9 +// CHECK:STDOUT: inst780001E3: symbolic_constant78000147 +// CHECK:STDOUT: inst780001E4: concrete_constant(inst7800005A) +// CHECK:STDOUT: inst780001E5: symbolic_constant78000146 +// CHECK:STDOUT: inst780001E6: symbolic_constant78000167 +// CHECK:STDOUT: inst780001E7: symbolic_constant78000166 +// CHECK:STDOUT: inst780001E8: symbolic_constant78000165 +// CHECK:STDOUT: inst780001E9: symbolic_constant780001BC +// CHECK:STDOUT: inst780001EA: symbolic_constant780001BD +// CHECK:STDOUT: inst780001EB: symbolic_constant780001BE +// CHECK:STDOUT: inst780001EC: symbolic_constant780001BF +// CHECK:STDOUT: inst780001ED: symbolic_constant780001C0 +// CHECK:STDOUT: inst780001EE: symbolic_constant780001C1 +// CHECK:STDOUT: inst780001EF: symbolic_constant780001C2 +// CHECK:STDOUT: inst780001F0: symbolic_constant780001C3 +// CHECK:STDOUT: inst780001F1: symbolic_constant780001C4 +// CHECK:STDOUT: inst780001F2: symbolic_constant780001C5 +// CHECK:STDOUT: inst780001F3: symbolic_constant780001C6 +// CHECK:STDOUT: inst780001F4: symbolic_constant780001C7 +// CHECK:STDOUT: inst780001F5: symbolic_constant780001C8 +// CHECK:STDOUT: inst780001F6: symbolic_constant780001CA +// CHECK:STDOUT: inst780001F7: symbolic_constant780001CB +// CHECK:STDOUT: inst780001F8: symbolic_constant780001CC +// CHECK:STDOUT: inst780001F9: symbolic_constant780001CF +// CHECK:STDOUT: inst780001FA: symbolic_constant780001CE +// CHECK:STDOUT: inst780001FB: symbolic_constant780001CF +// CHECK:STDOUT: inst780001FC: symbolic_constant780001D0 +// CHECK:STDOUT: inst780001FD: symbolic_constant780001D1 +// CHECK:STDOUT: inst780001FE: symbolic_constant780001D2 +// CHECK:STDOUT: inst780001FF: symbolic_constant780001D3 +// CHECK:STDOUT: inst78000200: symbolic_constant780001D9 +// CHECK:STDOUT: inst78000201: symbolic_constant780001D4 +// CHECK:STDOUT: inst78000202: symbolic_constant780001D5 +// CHECK:STDOUT: inst78000203: symbolic_constant780001D6 +// CHECK:STDOUT: inst78000204: symbolic_constant780001D7 +// CHECK:STDOUT: inst78000205: symbolic_constant780001D8 +// CHECK:STDOUT: inst78000206: symbolic_constant780001D9 +// CHECK:STDOUT: inst78000209: symbolic_constant780001CF +// CHECK:STDOUT: inst7800020A: symbolic_constant780001D6 // CHECK:STDOUT: inst7800020B: symbolic_constant780001D6 -// CHECK:STDOUT: inst7800020C: symbolic_constant780001D6 -// CHECK:STDOUT: inst7800020E: symbolic_constant780001CF +// CHECK:STDOUT: inst7800020D: symbolic_constant780001CF +// CHECK:STDOUT: inst7800020E: symbolic_constant780001D6 // CHECK:STDOUT: inst7800020F: symbolic_constant780001D6 -// CHECK:STDOUT: inst78000210: symbolic_constant780001D6 -// CHECK:STDOUT: inst78000211: symbolic_constant780001DB -// CHECK:STDOUT: inst78000212: symbolic_constant780001DA -// CHECK:STDOUT: inst78000213: symbolic_constant780001DB -// CHECK:STDOUT: inst78000218: concrete_constant(inst7800002F) -// CHECK:STDOUT: inst78000219: concrete_constant(inst7800002F) -// CHECK:STDOUT: inst7800021A: concrete_constant(inst7800002F) +// CHECK:STDOUT: inst78000210: symbolic_constant780001DB +// CHECK:STDOUT: inst78000211: symbolic_constant780001DA +// CHECK:STDOUT: inst78000212: symbolic_constant780001DB +// CHECK:STDOUT: inst78000217: concrete_constant(inst7800002E) +// CHECK:STDOUT: inst78000218: concrete_constant(inst7800002E) +// CHECK:STDOUT: inst78000219: concrete_constant(inst7800002E) // CHECK:STDOUT: symbolic_constants: -// CHECK:STDOUT: symbolic_constant78000000: {inst: inst78000015, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant78000001: {inst: inst78000019, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000002: {inst: inst78000019, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000003: {inst: inst7800001C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000004: {inst: inst7800001C, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000005: {inst: inst78000020, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000006: {inst: inst78000020, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000007: {inst: inst78000022, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000008: {inst: inst78000024, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000009: {inst: inst78000022, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant7800000A: {inst: inst78000024, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800000B: {inst: inst78000028, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800000C: {inst: inst78000028, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800000D: {inst: inst78000032, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800000E: {inst: inst78000032, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800000F: {inst: inst78000036, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000010: {inst: inst78000036, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant78000011: {inst: inst7800003A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000012: {inst: inst7800003A, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant78000013: {inst: inst7800003C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000014: {inst: inst7800003E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000015: {inst: inst7800003C, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant78000016: {inst: inst7800003E, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant78000017: {inst: inst78000042, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000018: {inst: inst78000042, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant78000019: {inst: inst7800004D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800001A: {inst: inst7800004D, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant7800001B: {inst: inst7800004F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800001C: {inst: inst78000051, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800001D: {inst: inst78000051, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant7800001E: {inst: inst7800005D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800001F: {inst: inst78000062, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000020: {inst: inst78000063, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000021: {inst: inst78000063, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant78000022: {inst: inst78000064, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000023: {inst: inst78000065, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000024: {inst: inst78000066, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000025: {inst: inst78000062, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000026: {inst: inst78000068, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000027: {inst: inst78000068, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant78000028: {inst: inst78000065, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000029: {inst: inst78000069, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800002A: {inst: inst7800006B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800002B: {inst: inst7800006B, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800002C: {inst: inst78000068, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant7800002D: {inst: inst78000066, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800002E: {inst: inst7800006D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800002F: {inst: inst7800006D, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant78000030: {inst: inst7800006B, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant78000031: {inst: inst78000069, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000032: {inst: inst78000064, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000033: {inst: inst7800005D, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000034: {inst: inst7800006D, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant78000035: {inst: inst78000064, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000036: {inst: inst78000066, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant78000037: {inst: inst78000069, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000038: {inst: inst7800005D, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000039: {inst: inst78000064, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant7800003A: {inst: inst78000065, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant7800003B: {inst: inst78000069, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant7800003C: {inst: inst7800006B, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800003D: {inst: inst7800006D, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800003E: {inst: inst78000066, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800003F: {inst: inst78000068, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant78000040: {inst: inst78000063, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant78000041: {inst: inst7800005D, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant78000042: {inst: inst7800005D, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant78000043: {inst: inst78000062, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000044: {inst: inst78000063, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant78000045: {inst: inst7800008B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000046: {inst: inst7800008C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000047: {inst: inst7800008D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000048: {inst: inst7800008E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000049: {inst: inst7800008E, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800004A: {inst: inst7800008D, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant7800004B: {inst: inst78000091, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800004C: {inst: inst78000091, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800004D: {inst: inst78000093, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800004E: {inst: inst78000094, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800004F: {inst: inst78000094, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000050: {inst: inst78000095, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000051: {inst: inst78000096, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000052: {inst: inst78000093, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant78000053: {inst: inst78000098, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000054: {inst: inst7800009A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000055: {inst: inst7800009A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant78000056: {inst: inst78000095, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000057: {inst: inst7800009B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000058: {inst: inst7800009D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000059: {inst: inst7800009D, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800005A: {inst: inst7800009A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant7800005B: {inst: inst78000096, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant7800005C: {inst: inst7800009F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800005D: {inst: inst7800009F, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800005E: {inst: inst7800009D, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800005F: {inst: inst7800009B, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant78000060: {inst: inst7800008D, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000061: {inst: inst7800008C, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000062: {inst: inst7800008B, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000063: {inst: inst7800008B, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000064: {inst: inst7800009F, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant78000065: {inst: inst7800008D, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000066: {inst: inst78000096, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant78000067: {inst: inst7800009B, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant78000068: {inst: inst7800008B, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000069: {inst: inst7800008C, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant7800006A: {inst: inst7800008D, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant7800006B: {inst: inst78000095, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant7800006C: {inst: inst7800009B, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800006D: {inst: inst7800009D, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800006E: {inst: inst7800009F, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800006F: {inst: inst78000096, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant78000070: {inst: inst7800009A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant78000071: {inst: inst780000B2, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000072: {inst: inst780000B3, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000073: {inst: inst780000B4, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000074: {inst: inst780000B5, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000075: {inst: inst780000B6, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000076: {inst: inst780000B7, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000077: {inst: inst780000B7, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant78000078: {inst: inst780000B8, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000079: {inst: inst780000B9, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800007A: {inst: inst780000BB, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800007B: {inst: inst780000BC, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800007C: {inst: inst780000BD, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800007D: {inst: inst780000BF, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800007E: {inst: inst780000B6, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant7800007F: {inst: inst780000B2, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant78000080: {inst: inst780000B5, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant78000081: {inst: inst780000B3, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant78000082: {inst: inst780000C0, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000083: {inst: inst780000C0, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000084: {inst: inst780000C1, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000085: {inst: inst780000C1, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant78000086: {inst: inst780000C1, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant78000087: {inst: inst780000C0, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000088: {inst: inst780000B3, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant78000089: {inst: inst780000B5, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant7800008A: {inst: inst780000B2, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant7800008B: {inst: inst780000B6, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant7800008C: {inst: inst780000B7, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant7800008D: {inst: inst7800008E, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800008E: {inst: inst7800008D, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant7800008F: {inst: inst7800008C, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000090: {inst: inst7800008B, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000091: {inst: inst78000098, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000092: {inst: inst78000098, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000093: {inst: inst78000098, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000094: {inst: inst7800008B, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000095: {inst: inst7800008C, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000096: {inst: inst7800008D, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000097: {inst: inst7800008E, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant78000098: {inst: inst78000091, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant78000099: {inst: inst78000094, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant7800009A: {inst: inst78000093, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant7800009B: {inst: inst78000094, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant7800009C: {inst: inst780000F2, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800009D: {inst: inst780000F2, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant7800009E: {inst: inst78000020, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant7800009F: {inst: inst780000F5, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000A0: {inst: inst780000F5, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000A1: {inst: inst780000F2, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000A2: {inst: inst78000020, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780000A3: {inst: inst7800001C, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000A4: {inst: inst78000019, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780000A5: {inst: inst7800001C, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000A6: {inst: inst78000019, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780000A7: {inst: inst78000019, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780000A8: {inst: inst7800001C, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000A9: {inst: inst78000020, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780000AA: {inst: inst780000F2, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000AB: {inst: inst780000F5, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000AC: {inst: inst7800004D, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant780000AD: {inst: inst78000101, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000AE: {inst: inst78000102, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000AF: {inst: inst78000102, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant780000B0: {inst: inst78000103, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000B1: {inst: inst78000101, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant780000B2: {inst: inst78000105, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000B3: {inst: inst78000105, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780000B4: {inst: inst78000022, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780000B5: {inst: inst78000106, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000B6: {inst: inst78000108, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000B7: {inst: inst78000108, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000B8: {inst: inst78000105, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780000B9: {inst: inst78000103, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780000BA: {inst: inst7800010A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000BB: {inst: inst7800010A, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant780000BC: {inst: inst78000108, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000BD: {inst: inst78000106, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000BE: {inst: inst78000020, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000BF: {inst: inst7800001C, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780000C0: {inst: inst7800010A, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant780000C1: {inst: inst78000020, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000C2: {inst: inst78000103, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780000C3: {inst: inst78000106, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000C4: {inst: inst7800001C, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780000C5: {inst: inst78000020, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000C6: {inst: inst78000022, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780000C7: {inst: inst78000106, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000C8: {inst: inst78000108, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000C9: {inst: inst7800010A, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant780000CA: {inst: inst78000103, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780000CB: {inst: inst78000105, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780000CC: {inst: inst78000102, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant780000CD: {inst: inst78000101, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant780000CE: {inst: inst78000102, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant780000CF: {inst: inst7800004D, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant780000D0: {inst: inst7800012F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000D1: {inst: inst78000130, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000D2: {inst: inst78000131, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000D3: {inst: inst78000132, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000D4: {inst: inst78000132, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant780000D5: {inst: inst78000131, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780000D6: {inst: inst78000135, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000D7: {inst: inst78000135, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant780000D8: {inst: inst78000137, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000D9: {inst: inst78000138, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000DA: {inst: inst78000138, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant780000DB: {inst: inst78000139, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000DC: {inst: inst7800013A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000DD: {inst: inst78000137, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant780000DE: {inst: inst7800013C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000DF: {inst: inst7800013D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000E0: {inst: inst7800013F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000E1: {inst: inst7800013F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant780000E2: {inst: inst78000139, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant780000E3: {inst: inst78000140, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000E4: {inst: inst78000142, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000E5: {inst: inst78000142, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780000E6: {inst: inst7800013F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant780000E7: {inst: inst7800013A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant780000E8: {inst: inst78000144, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780000E9: {inst: inst78000144, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant780000EA: {inst: inst78000142, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780000EB: {inst: inst78000140, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780000EC: {inst: inst78000131, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000ED: {inst: inst78000130, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000EE: {inst: inst7800012F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780000EF: {inst: inst7800008C, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000F0: {inst: inst7800008B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780000F1: {inst: inst7800012F, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000F2: {inst: inst7800008B, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000F3: {inst: inst78000144, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant780000F4: {inst: inst78000131, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000F5: {inst: inst7800013A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant780000F6: {inst: inst78000140, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780000F7: {inst: inst7800008B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780000F8: {inst: inst7800008C, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780000F9: {inst: inst7800012F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780000FA: {inst: inst78000130, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780000FB: {inst: inst78000131, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780000FC: {inst: inst78000139, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant780000FD: {inst: inst78000140, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780000FE: {inst: inst78000142, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780000FF: {inst: inst78000144, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant78000100: {inst: inst7800013A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant78000101: {inst: inst7800013F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant78000102: {inst: inst7800015A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000103: {inst: inst7800015B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000104: {inst: inst7800015C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000105: {inst: inst7800015D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000106: {inst: inst7800015E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000107: {inst: inst7800015F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000108: {inst: inst7800015F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def12}} -// CHECK:STDOUT: symbolic_constant78000109: {inst: inst78000160, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800010A: {inst: inst78000161, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800010B: {inst: inst78000163, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800010C: {inst: inst78000164, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800010D: {inst: inst78000165, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800010E: {inst: inst78000167, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800010F: {inst: inst7800015E, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def11}} -// CHECK:STDOUT: symbolic_constant78000110: {inst: inst7800015A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def10}} -// CHECK:STDOUT: symbolic_constant78000111: {inst: inst7800015D, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def9}} -// CHECK:STDOUT: symbolic_constant78000112: {inst: inst7800015B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def8}} -// CHECK:STDOUT: symbolic_constant78000113: {inst: inst78000168, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000114: {inst: inst78000168, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant78000115: {inst: inst780000B7, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant78000116: {inst: inst780000B6, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant78000117: {inst: inst780000B2, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant78000118: {inst: inst780000B5, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant78000119: {inst: inst780000B3, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant7800011A: {inst: inst780000C0, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant7800011B: {inst: inst78000169, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800011C: {inst: inst78000169, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant7800011D: {inst: inst78000169, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant7800011E: {inst: inst780000C0, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant7800011F: {inst: inst780000B3, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant78000120: {inst: inst780000B5, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant78000121: {inst: inst780000B2, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant78000122: {inst: inst780000B6, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant78000123: {inst: inst780000B7, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant78000124: {inst: inst78000168, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant78000125: {inst: inst7800015B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def8}} -// CHECK:STDOUT: symbolic_constant78000126: {inst: inst7800015D, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def9}} -// CHECK:STDOUT: symbolic_constant78000127: {inst: inst7800015A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def10}} -// CHECK:STDOUT: symbolic_constant78000128: {inst: inst7800015E, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def11}} -// CHECK:STDOUT: symbolic_constant78000129: {inst: inst7800015F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def12}} -// CHECK:STDOUT: symbolic_constant7800012A: {inst: inst78000132, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant7800012B: {inst: inst78000131, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant7800012C: {inst: inst78000130, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800012D: {inst: inst7800008C, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800012E: {inst: inst7800013C, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800012F: {inst: inst7800012F, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000130: {inst: inst7800013D, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000131: {inst: inst7800008B, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000132: {inst: inst78000098, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000133: {inst: inst7800013D, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000134: {inst: inst78000098, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000135: {inst: inst78000098, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000136: {inst: inst7800008B, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000137: {inst: inst7800013D, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000138: {inst: inst7800012F, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000139: {inst: inst7800013C, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant7800013A: {inst: inst7800008C, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant7800013B: {inst: inst78000130, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800013C: {inst: inst78000131, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant7800013D: {inst: inst78000132, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant7800013E: {inst: inst78000135, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant7800013F: {inst: inst78000138, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000140: {inst: inst78000137, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant78000141: {inst: inst78000138, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000142: {inst: inst7800018E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000143: {inst: inst7800018F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000144: {inst: inst78000190, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000145: {inst: inst78000191, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000146: {inst: inst78000191, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant78000147: {inst: inst78000190, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant78000148: {inst: inst78000194, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000149: {inst: inst78000194, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl12}} -// CHECK:STDOUT: symbolic_constant7800014A: {inst: inst78000196, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800014B: {inst: inst78000197, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800014C: {inst: inst78000197, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant7800014D: {inst: inst78000198, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800014E: {inst: inst78000199, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800014F: {inst: inst78000196, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant78000150: {inst: inst7800019B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000151: {inst: inst7800019C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000152: {inst: inst7800019E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000153: {inst: inst7800019E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl12}} -// CHECK:STDOUT: symbolic_constant78000154: {inst: inst78000198, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant78000155: {inst: inst7800019F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000156: {inst: inst780001A1, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000157: {inst: inst780001A1, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant78000158: {inst: inst7800019E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl12}} -// CHECK:STDOUT: symbolic_constant78000159: {inst: inst78000199, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant7800015A: {inst: inst780001A3, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800015B: {inst: inst780001A3, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant7800015C: {inst: inst780001A1, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant7800015D: {inst: inst7800019F, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant7800015E: {inst: inst78000190, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800015F: {inst: inst7800018F, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant78000160: {inst: inst7800018E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant78000161: {inst: inst78000130, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000162: {inst: inst7800012F, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant78000163: {inst: inst7800008C, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000164: {inst: inst7800008B, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant78000165: {inst: inst7800018E, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant78000166: {inst: inst7800012F, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000167: {inst: inst7800008B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant78000168: {inst: inst780001A3, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant78000169: {inst: inst78000190, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant7800016A: {inst: inst78000199, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant7800016B: {inst: inst7800019F, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant7800016C: {inst: inst7800008B, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant7800016D: {inst: inst7800008C, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant7800016E: {inst: inst7800012F, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant7800016F: {inst: inst78000130, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant78000170: {inst: inst7800018E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant78000171: {inst: inst7800018F, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant78000172: {inst: inst78000190, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant78000173: {inst: inst78000198, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant78000174: {inst: inst7800019F, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant78000175: {inst: inst780001A1, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant78000176: {inst: inst780001A3, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant78000177: {inst: inst78000199, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant78000178: {inst: inst7800019E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl12}} -// CHECK:STDOUT: symbolic_constant78000179: {inst: inst780001BC, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800017A: {inst: inst780001BD, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800017B: {inst: inst780001BE, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800017C: {inst: inst780001BF, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800017D: {inst: inst780001C0, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800017E: {inst: inst780001C1, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800017F: {inst: inst780001C1, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def18}} -// CHECK:STDOUT: symbolic_constant78000180: {inst: inst780001C2, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000181: {inst: inst780001C3, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000182: {inst: inst780001C5, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000183: {inst: inst780001C6, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000184: {inst: inst780001C7, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000185: {inst: inst780001C9, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000186: {inst: inst780001C0, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def17}} -// CHECK:STDOUT: symbolic_constant78000187: {inst: inst780001BC, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def16}} -// CHECK:STDOUT: symbolic_constant78000188: {inst: inst780001BF, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def15}} -// CHECK:STDOUT: symbolic_constant78000189: {inst: inst780001BD, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def14}} -// CHECK:STDOUT: symbolic_constant7800018A: {inst: inst780001CA, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant7800018B: {inst: inst780001CA, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def13}} -// CHECK:STDOUT: symbolic_constant7800018C: {inst: inst7800015F, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def12}} -// CHECK:STDOUT: symbolic_constant7800018D: {inst: inst7800015E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def11}} -// CHECK:STDOUT: symbolic_constant7800018E: {inst: inst7800015A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def10}} -// CHECK:STDOUT: symbolic_constant7800018F: {inst: inst7800015D, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def9}} -// CHECK:STDOUT: symbolic_constant78000190: {inst: inst7800015B, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def8}} -// CHECK:STDOUT: symbolic_constant78000191: {inst: inst78000168, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant78000192: {inst: inst780000B7, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant78000193: {inst: inst780000B6, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant78000194: {inst: inst780000B2, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant78000195: {inst: inst780000B5, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant78000196: {inst: inst780000B3, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant78000197: {inst: inst780000C0, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant78000198: {inst: inst780001CB, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant78000199: {inst: inst780001CB, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant7800019A: {inst: inst780001CB, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant7800019B: {inst: inst780000C0, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant7800019C: {inst: inst780000B3, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant7800019D: {inst: inst780000B5, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant7800019E: {inst: inst780000B2, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant7800019F: {inst: inst780000B6, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant780001A0: {inst: inst780000B7, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant780001A1: {inst: inst78000168, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant780001A2: {inst: inst7800015B, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def8}} -// CHECK:STDOUT: symbolic_constant780001A3: {inst: inst7800015D, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def9}} -// CHECK:STDOUT: symbolic_constant780001A4: {inst: inst7800015A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def10}} -// CHECK:STDOUT: symbolic_constant780001A5: {inst: inst7800015E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def11}} -// CHECK:STDOUT: symbolic_constant780001A6: {inst: inst7800015F, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def12}} -// CHECK:STDOUT: symbolic_constant780001A7: {inst: inst780001CA, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def13}} -// CHECK:STDOUT: symbolic_constant780001A8: {inst: inst780001BD, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def14}} -// CHECK:STDOUT: symbolic_constant780001A9: {inst: inst780001BF, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def15}} -// CHECK:STDOUT: symbolic_constant780001AA: {inst: inst780001BC, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def16}} -// CHECK:STDOUT: symbolic_constant780001AB: {inst: inst780001C0, 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: inst78000191, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant780001AE: {inst: inst78000190, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant780001AF: {inst: inst7800018F, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant780001B0: {inst: inst78000130, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant780001B1: {inst: inst7800008C, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780001B2: {inst: inst7800019B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780001B3: {inst: inst7800018E, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant780001B4: {inst: inst7800019C, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780001B5: {inst: inst7800012F, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780001B6: {inst: inst7800013D, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780001B7: {inst: inst7800008B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780001B8: {inst: inst78000098, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780001B9: {inst: inst7800019C, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780001BA: {inst: inst7800013D, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780001BB: {inst: inst78000098, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780001BC: {inst: inst78000098, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant780001BD: {inst: inst7800008B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant780001BE: {inst: inst7800013D, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant780001BF: {inst: inst7800012F, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant780001C0: {inst: inst7800019C, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780001C1: {inst: inst7800018E, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant780001C2: {inst: inst7800019B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant780001C3: {inst: inst7800008C, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant780001C4: {inst: inst78000130, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant780001C5: {inst: inst7800018F, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl9}} -// CHECK:STDOUT: symbolic_constant780001C6: {inst: inst78000190, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl10}} -// CHECK:STDOUT: symbolic_constant780001C7: {inst: inst78000191, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl11}} -// CHECK:STDOUT: symbolic_constant780001C8: {inst: inst78000194, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl12}} -// CHECK:STDOUT: symbolic_constant780001C9: {inst: inst78000197, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant780001CA: {inst: inst78000196, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant780001CB: {inst: inst78000197, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant780001CC: {inst: inst780001F9, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001CD: {inst: inst780000F5, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant780001CE: {inst: inst780001FB, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001CF: {inst: inst780001FB, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant780001D0: {inst: inst780001FD, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001D1: {inst: inst780001FE, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001D2: {inst: inst780001FF, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001D3: {inst: inst78000200, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001D4: {inst: inst78000202, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001D5: {inst: inst780001F9, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant780001D6: {inst: inst780001FD, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant780001D7: {inst: inst780001FE, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant780001D8: {inst: inst78000200, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant780001D9: {inst: inst78000202, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant780001DA: {inst: inst78000212, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant780001DB: {inst: inst78000212, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant78000000: {inst: inst78000014, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant78000001: {inst: inst78000018, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000002: {inst: inst78000018, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000003: {inst: inst7800001B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000004: {inst: inst7800001B, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000005: {inst: inst7800001F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000006: {inst: inst7800001F, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000007: {inst: inst78000021, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000008: {inst: inst78000023, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000009: {inst: inst78000021, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant7800000A: {inst: inst78000023, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800000B: {inst: inst78000027, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800000C: {inst: inst78000027, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800000D: {inst: inst78000031, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800000E: {inst: inst78000031, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800000F: {inst: inst78000035, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000010: {inst: inst78000035, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant78000011: {inst: inst78000039, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000012: {inst: inst78000039, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant78000013: {inst: inst7800003B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000014: {inst: inst7800003D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000015: {inst: inst7800003B, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant78000016: {inst: inst7800003D, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant78000017: {inst: inst78000041, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000018: {inst: inst78000041, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant78000019: {inst: inst7800004C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800001A: {inst: inst7800004C, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant7800001B: {inst: inst7800004E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800001C: {inst: inst78000050, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800001D: {inst: inst78000050, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant7800001E: {inst: inst7800005C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800001F: {inst: inst78000061, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000020: {inst: inst78000062, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000021: {inst: inst78000062, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant78000022: {inst: inst78000063, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000023: {inst: inst78000064, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000024: {inst: inst78000065, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000025: {inst: inst78000061, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000026: {inst: inst78000067, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000027: {inst: inst78000067, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant78000028: {inst: inst78000064, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000029: {inst: inst78000068, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800002A: {inst: inst7800006A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800002B: {inst: inst7800006A, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800002C: {inst: inst78000067, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant7800002D: {inst: inst78000065, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800002E: {inst: inst7800006C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800002F: {inst: inst7800006C, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant78000030: {inst: inst7800006A, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant78000031: {inst: inst78000068, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000032: {inst: inst78000063, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000033: {inst: inst7800005C, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000034: {inst: inst7800006C, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant78000035: {inst: inst78000063, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000036: {inst: inst78000065, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant78000037: {inst: inst78000068, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000038: {inst: inst7800005C, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000039: {inst: inst78000063, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant7800003A: {inst: inst78000064, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant7800003B: {inst: inst78000068, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant7800003C: {inst: inst7800006A, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800003D: {inst: inst7800006C, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800003E: {inst: inst78000065, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800003F: {inst: inst78000067, kind: checked, attached: {generic: generic78000002, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant78000040: {inst: inst78000062, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant78000041: {inst: inst7800005C, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant78000042: {inst: inst7800005C, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant78000043: {inst: inst78000061, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000044: {inst: inst78000062, kind: checked, attached: {generic: generic78000001, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant78000045: {inst: inst7800008A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000046: {inst: inst7800008B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000047: {inst: inst7800008C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000048: {inst: inst7800008D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000049: {inst: inst7800008D, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800004A: {inst: inst7800008C, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant7800004B: {inst: inst78000090, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800004C: {inst: inst78000090, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800004D: {inst: inst78000092, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800004E: {inst: inst78000093, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800004F: {inst: inst78000093, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000050: {inst: inst78000094, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000051: {inst: inst78000095, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000052: {inst: inst78000092, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant78000053: {inst: inst78000097, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000054: {inst: inst78000099, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000055: {inst: inst78000099, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant78000056: {inst: inst78000094, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000057: {inst: inst7800009A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000058: {inst: inst7800009C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000059: {inst: inst7800009C, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800005A: {inst: inst78000099, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant7800005B: {inst: inst78000095, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant7800005C: {inst: inst7800009E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800005D: {inst: inst7800009E, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800005E: {inst: inst7800009C, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800005F: {inst: inst7800009A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant78000060: {inst: inst7800008C, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000061: {inst: inst7800008B, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000062: {inst: inst7800008A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000063: {inst: inst7800008A, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000064: {inst: inst7800009E, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant78000065: {inst: inst7800008C, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000066: {inst: inst78000095, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant78000067: {inst: inst7800009A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant78000068: {inst: inst7800008A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000069: {inst: inst7800008B, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant7800006A: {inst: inst7800008C, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant7800006B: {inst: inst78000094, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant7800006C: {inst: inst7800009A, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800006D: {inst: inst7800009C, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800006E: {inst: inst7800009E, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800006F: {inst: inst78000095, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant78000070: {inst: inst78000099, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant78000071: {inst: inst780000B1, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000072: {inst: inst780000B2, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000073: {inst: inst780000B3, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000074: {inst: inst780000B4, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000075: {inst: inst780000B5, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000076: {inst: inst780000B6, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000077: {inst: inst780000B6, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def6}} +// 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: inst780000BA, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800007B: {inst: inst780000BB, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800007C: {inst: inst780000BC, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800007D: {inst: inst780000BE, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800007E: {inst: inst780000B5, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant7800007F: {inst: inst780000B1, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant78000080: {inst: inst780000B4, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant78000081: {inst: inst780000B2, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant78000082: {inst: inst780000BF, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000083: {inst: inst780000BF, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000084: {inst: inst780000C0, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000085: {inst: inst780000C0, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant78000086: {inst: inst780000C0, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant78000087: {inst: inst780000BF, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000088: {inst: inst780000B2, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant78000089: {inst: inst780000B4, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant7800008A: {inst: inst780000B1, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant7800008B: {inst: inst780000B5, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant7800008C: {inst: inst780000B6, kind: checked, attached: {generic: generic78000004, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant7800008D: {inst: inst7800008D, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800008E: {inst: inst7800008C, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant7800008F: {inst: inst7800008B, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000090: {inst: inst7800008A, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000091: {inst: inst78000097, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000092: {inst: inst78000097, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000093: {inst: inst78000097, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000094: {inst: inst7800008A, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000095: {inst: inst7800008B, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000096: {inst: inst7800008C, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000097: {inst: inst7800008D, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant78000098: {inst: inst78000090, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant78000099: {inst: inst78000093, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant7800009A: {inst: inst78000092, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant7800009B: {inst: inst78000093, kind: checked, attached: {generic: generic78000003, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant7800009C: {inst: inst780000F1, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800009D: {inst: inst780000F1, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant7800009E: {inst: inst7800001F, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant7800009F: {inst: inst780000F4, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000A0: {inst: inst780000F4, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000A1: {inst: inst780000F1, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000A2: {inst: inst7800001F, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780000A3: {inst: inst7800001B, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000A4: {inst: inst78000018, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780000A5: {inst: inst7800001B, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000A6: {inst: inst78000018, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780000A7: {inst: inst78000018, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780000A8: {inst: inst7800001B, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000A9: {inst: inst7800001F, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780000AA: {inst: inst780000F1, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000AB: {inst: inst780000F4, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000AC: {inst: inst7800004C, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant780000AD: {inst: inst78000100, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000AE: {inst: inst78000101, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000AF: {inst: inst78000101, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant780000B0: {inst: inst78000102, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000B1: {inst: inst78000100, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant780000B2: {inst: inst78000104, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000B3: {inst: inst78000104, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780000B4: {inst: inst78000021, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780000B5: {inst: inst78000105, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000B6: {inst: inst78000107, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000B7: {inst: inst78000107, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000B8: {inst: inst78000104, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780000B9: {inst: inst78000102, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780000BA: {inst: inst78000109, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000BB: {inst: inst78000109, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant780000BC: {inst: inst78000107, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000BD: {inst: inst78000105, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000BE: {inst: inst7800001F, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000BF: {inst: inst7800001B, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780000C0: {inst: inst78000109, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant780000C1: {inst: inst7800001F, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000C2: {inst: inst78000102, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780000C3: {inst: inst78000105, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000C4: {inst: inst7800001B, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780000C5: {inst: inst7800001F, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000C6: {inst: inst78000021, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780000C7: {inst: inst78000105, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000C8: {inst: inst78000107, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000C9: {inst: inst78000109, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant780000CA: {inst: inst78000102, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780000CB: {inst: inst78000104, kind: checked, attached: {generic: generic78000006, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780000CC: {inst: inst78000101, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant780000CD: {inst: inst78000100, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant780000CE: {inst: inst78000101, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant780000CF: {inst: inst7800004C, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant780000D0: {inst: inst7800012E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000D1: {inst: inst7800012F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000D2: {inst: inst78000130, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000D3: {inst: inst78000131, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000D4: {inst: inst78000131, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant780000D5: {inst: inst78000130, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780000D6: {inst: inst78000134, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000D7: {inst: inst78000134, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant780000D8: {inst: inst78000136, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000D9: {inst: inst78000137, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000DA: {inst: inst78000137, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant780000DB: {inst: inst78000138, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000DC: {inst: inst78000139, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000DD: {inst: inst78000136, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant780000DE: {inst: inst7800013B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000DF: {inst: inst7800013C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000E0: {inst: inst7800013E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000E1: {inst: inst7800013E, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant780000E2: {inst: inst78000138, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant780000E3: {inst: inst7800013F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000E4: {inst: inst78000141, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000E5: {inst: inst78000141, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780000E6: {inst: inst7800013E, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant780000E7: {inst: inst78000139, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant780000E8: {inst: inst78000143, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780000E9: {inst: inst78000143, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant780000EA: {inst: inst78000141, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780000EB: {inst: inst7800013F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780000EC: {inst: inst78000130, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000ED: {inst: inst7800012F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000EE: {inst: inst7800012E, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780000EF: {inst: inst7800008B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000F0: {inst: inst7800008A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780000F1: {inst: inst7800012E, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000F2: {inst: inst7800008A, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000F3: {inst: inst78000143, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant780000F4: {inst: inst78000130, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000F5: {inst: inst78000139, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant780000F6: {inst: inst7800013F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780000F7: {inst: inst7800008A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780000F8: {inst: inst7800008B, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780000F9: {inst: inst7800012E, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780000FA: {inst: inst7800012F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780000FB: {inst: inst78000130, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780000FC: {inst: inst78000138, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant780000FD: {inst: inst7800013F, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780000FE: {inst: inst78000141, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780000FF: {inst: inst78000143, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant78000100: {inst: inst78000139, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant78000101: {inst: inst7800013E, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant78000102: {inst: inst78000159, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000103: {inst: inst7800015A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000104: {inst: inst7800015B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000105: {inst: inst7800015C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000106: {inst: inst7800015D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000107: {inst: inst7800015E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000108: {inst: inst7800015E, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def12}} +// CHECK:STDOUT: symbolic_constant78000109: {inst: inst7800015F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800010A: {inst: inst78000160, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800010B: {inst: inst78000162, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800010C: {inst: inst78000163, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800010D: {inst: inst78000164, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800010E: {inst: inst78000166, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800010F: {inst: inst7800015D, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def11}} +// CHECK:STDOUT: symbolic_constant78000110: {inst: inst78000159, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant78000111: {inst: inst7800015C, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant78000112: {inst: inst7800015A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant78000113: {inst: inst78000167, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000114: {inst: inst78000167, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant78000115: {inst: inst780000B6, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant78000116: {inst: inst780000B5, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant78000117: {inst: inst780000B1, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant78000118: {inst: inst780000B4, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant78000119: {inst: inst780000B2, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant7800011A: {inst: inst780000BF, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant7800011B: {inst: inst78000168, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800011C: {inst: inst78000168, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant7800011D: {inst: inst78000168, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant7800011E: {inst: inst780000BF, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant7800011F: {inst: inst780000B2, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant78000120: {inst: inst780000B4, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant78000121: {inst: inst780000B1, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant78000122: {inst: inst780000B5, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant78000123: {inst: inst780000B6, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant78000124: {inst: inst78000167, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant78000125: {inst: inst7800015A, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant78000126: {inst: inst7800015C, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant78000127: {inst: inst78000159, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant78000128: {inst: inst7800015D, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def11}} +// CHECK:STDOUT: symbolic_constant78000129: {inst: inst7800015E, kind: checked, attached: {generic: generic78000008, index: generic_inst_in_def12}} +// CHECK:STDOUT: symbolic_constant7800012A: {inst: inst78000131, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant7800012B: {inst: inst78000130, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant7800012C: {inst: inst7800012F, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800012D: {inst: inst7800008B, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800012E: {inst: inst7800013B, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800012F: {inst: inst7800012E, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000130: {inst: inst7800013C, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000131: {inst: inst7800008A, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000132: {inst: inst78000097, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000133: {inst: inst7800013C, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000134: {inst: inst78000097, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000135: {inst: inst78000097, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000136: {inst: inst7800008A, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000137: {inst: inst7800013C, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000138: {inst: inst7800012E, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000139: {inst: inst7800013B, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant7800013A: {inst: inst7800008B, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant7800013B: {inst: inst7800012F, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800013C: {inst: inst78000130, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant7800013D: {inst: inst78000131, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant7800013E: {inst: inst78000134, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant7800013F: {inst: inst78000137, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000140: {inst: inst78000136, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant78000141: {inst: inst78000137, kind: checked, attached: {generic: generic78000007, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000142: {inst: inst7800018D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000143: {inst: inst7800018E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000144: {inst: inst7800018F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000145: {inst: inst78000190, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000146: {inst: inst78000190, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant78000147: {inst: inst7800018F, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant78000148: {inst: inst78000193, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000149: {inst: inst78000193, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl12}} +// CHECK:STDOUT: symbolic_constant7800014A: {inst: inst78000195, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800014B: {inst: inst78000196, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800014C: {inst: inst78000196, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant7800014D: {inst: inst78000197, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800014E: {inst: inst78000198, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800014F: {inst: inst78000195, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant78000150: {inst: inst7800019A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000151: {inst: inst7800019B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000152: {inst: inst7800019D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000153: {inst: inst7800019D, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl12}} +// CHECK:STDOUT: symbolic_constant78000154: {inst: inst78000197, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant78000155: {inst: inst7800019E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000156: {inst: inst780001A0, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000157: {inst: inst780001A0, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant78000158: {inst: inst7800019D, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl12}} +// CHECK:STDOUT: symbolic_constant78000159: {inst: inst78000198, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant7800015A: {inst: inst780001A2, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800015B: {inst: inst780001A2, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant7800015C: {inst: inst780001A0, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant7800015D: {inst: inst7800019E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant7800015E: {inst: inst7800018F, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800015F: {inst: inst7800018E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant78000160: {inst: inst7800018D, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant78000161: {inst: inst7800012F, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000162: {inst: inst7800012E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant78000163: {inst: inst7800008B, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000164: {inst: inst7800008A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant78000165: {inst: inst7800018D, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant78000166: {inst: inst7800012E, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000167: {inst: inst7800008A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant78000168: {inst: inst780001A2, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant78000169: {inst: inst7800018F, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant7800016A: {inst: inst78000198, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant7800016B: {inst: inst7800019E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant7800016C: {inst: inst7800008A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant7800016D: {inst: inst7800008B, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant7800016E: {inst: inst7800012E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant7800016F: {inst: inst7800012F, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant78000170: {inst: inst7800018D, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant78000171: {inst: inst7800018E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant78000172: {inst: inst7800018F, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant78000173: {inst: inst78000197, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant78000174: {inst: inst7800019E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant78000175: {inst: inst780001A0, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant78000176: {inst: inst780001A2, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant78000177: {inst: inst78000198, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant78000178: {inst: inst7800019D, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_decl12}} +// CHECK:STDOUT: symbolic_constant78000179: {inst: inst780001BB, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800017A: {inst: inst780001BC, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800017B: {inst: inst780001BD, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800017C: {inst: inst780001BE, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800017D: {inst: inst780001BF, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800017E: {inst: inst780001C0, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800017F: {inst: inst780001C0, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def18}} +// CHECK:STDOUT: symbolic_constant78000180: {inst: inst780001C1, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000181: {inst: inst780001C2, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000182: {inst: inst780001C4, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000183: {inst: inst780001C5, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000184: {inst: inst780001C6, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000185: {inst: inst780001C8, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000186: {inst: inst780001BF, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def17}} +// CHECK:STDOUT: symbolic_constant78000187: {inst: inst780001BB, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def16}} +// CHECK:STDOUT: symbolic_constant78000188: {inst: inst780001BE, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def15}} +// CHECK:STDOUT: symbolic_constant78000189: {inst: inst780001BC, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def14}} +// CHECK:STDOUT: symbolic_constant7800018A: {inst: inst780001C9, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant7800018B: {inst: inst780001C9, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def13}} +// CHECK:STDOUT: symbolic_constant7800018C: {inst: inst7800015E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def12}} +// CHECK:STDOUT: symbolic_constant7800018D: {inst: inst7800015D, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def11}} +// CHECK:STDOUT: symbolic_constant7800018E: {inst: inst78000159, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant7800018F: {inst: inst7800015C, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant78000190: {inst: inst7800015A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant78000191: {inst: inst78000167, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant78000192: {inst: inst780000B6, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant78000193: {inst: inst780000B5, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant78000194: {inst: inst780000B1, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant78000195: {inst: inst780000B4, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant78000196: {inst: inst780000B2, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant78000197: {inst: inst780000BF, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant78000198: {inst: inst780001CA, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant78000199: {inst: inst780001CA, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant7800019A: {inst: inst780001CA, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant7800019B: {inst: inst780000BF, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant7800019C: {inst: inst780000B2, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant7800019D: {inst: inst780000B4, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant7800019E: {inst: inst780000B1, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant7800019F: {inst: inst780000B5, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant780001A0: {inst: inst780000B6, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant780001A1: {inst: inst78000167, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant780001A2: {inst: inst7800015A, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant780001A3: {inst: inst7800015C, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant780001A4: {inst: inst78000159, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant780001A5: {inst: inst7800015D, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def11}} +// CHECK:STDOUT: symbolic_constant780001A6: {inst: inst7800015E, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def12}} +// CHECK:STDOUT: symbolic_constant780001A7: {inst: inst780001C9, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def13}} +// CHECK:STDOUT: symbolic_constant780001A8: {inst: inst780001BC, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def14}} +// CHECK:STDOUT: symbolic_constant780001A9: {inst: inst780001BE, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def15}} +// CHECK:STDOUT: symbolic_constant780001AA: {inst: inst780001BB, kind: checked, attached: {generic: generic7800000A, index: generic_inst_in_def16}} +// CHECK:STDOUT: symbolic_constant780001AB: {inst: inst780001BF, 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: inst78000190, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant780001AE: {inst: inst7800018F, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant780001AF: {inst: inst7800018E, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant780001B0: {inst: inst7800012F, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant780001B1: {inst: inst7800008B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780001B2: {inst: inst7800019A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780001B3: {inst: inst7800018D, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant780001B4: {inst: inst7800019B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780001B5: {inst: inst7800012E, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780001B6: {inst: inst7800013C, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780001B7: {inst: inst7800008A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780001B8: {inst: inst78000097, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780001B9: {inst: inst7800019B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780001BA: {inst: inst7800013C, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780001BB: {inst: inst78000097, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780001BC: {inst: inst78000097, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant780001BD: {inst: inst7800008A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant780001BE: {inst: inst7800013C, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant780001BF: {inst: inst7800012E, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant780001C0: {inst: inst7800019B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780001C1: {inst: inst7800018D, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant780001C2: {inst: inst7800019A, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant780001C3: {inst: inst7800008B, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant780001C4: {inst: inst7800012F, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant780001C5: {inst: inst7800018E, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl9}} +// CHECK:STDOUT: symbolic_constant780001C6: {inst: inst7800018F, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl10}} +// CHECK:STDOUT: symbolic_constant780001C7: {inst: inst78000190, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl11}} +// CHECK:STDOUT: symbolic_constant780001C8: {inst: inst78000193, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_decl12}} +// CHECK:STDOUT: symbolic_constant780001C9: {inst: inst78000196, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant780001CA: {inst: inst78000195, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant780001CB: {inst: inst78000196, kind: checked, attached: {generic: generic78000009, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant780001CC: {inst: inst780001F8, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001CD: {inst: inst780000F4, kind: checked, attached: {generic: generic78000005, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant780001CE: {inst: inst780001FA, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001CF: {inst: inst780001FA, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant780001D0: {inst: inst780001FC, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001D1: {inst: inst780001FD, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001D2: {inst: inst780001FE, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001D3: {inst: inst780001FF, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001D4: {inst: inst78000201, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001D5: {inst: inst780001F8, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant780001D6: {inst: inst780001FC, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant780001D7: {inst: inst780001FD, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant780001D8: {inst: inst780001FF, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant780001D9: {inst: inst78000201, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant780001DA: {inst: inst78000211, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant780001DB: {inst: inst78000211, kind: checked, attached: {generic: generic78000000, index: generic_inst_in_def8}} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst78000049 +// CHECK:STDOUT: 0: inst78000048 // CHECK:STDOUT: generated: {} // CHECK:STDOUT: imports: // CHECK:STDOUT: 0: inst78000012 -// CHECK:STDOUT: 1: inst78000059 -// CHECK:STDOUT: 2: inst7800005A -// CHECK:STDOUT: 3: inst7800005C -// CHECK:STDOUT: 4: inst7800005E -// CHECK:STDOUT: 5: inst7800005F -// CHECK:STDOUT: 6: inst78000060 -// CHECK:STDOUT: 7: inst78000061 -// CHECK:STDOUT: 8: inst78000067 -// CHECK:STDOUT: 9: inst7800006A -// CHECK:STDOUT: 10: inst7800006C -// CHECK:STDOUT: 11: inst7800006E -// CHECK:STDOUT: 12: inst7800006F -// CHECK:STDOUT: 13: inst78000070 -// CHECK:STDOUT: 14: inst78000071 -// CHECK:STDOUT: 15: inst78000072 -// CHECK:STDOUT: 16: inst78000073 -// CHECK:STDOUT: 17: inst78000074 -// CHECK:STDOUT: 18: inst78000075 -// CHECK:STDOUT: 19: inst78000076 -// CHECK:STDOUT: 20: inst7800007F -// CHECK:STDOUT: 21: inst78000080 -// CHECK:STDOUT: 22: inst78000084 -// CHECK:STDOUT: 23: inst78000086 -// CHECK:STDOUT: 24: inst78000089 -// CHECK:STDOUT: 25: inst7800008A -// CHECK:STDOUT: 26: inst7800008F -// CHECK:STDOUT: 27: inst78000090 -// CHECK:STDOUT: 28: inst78000092 -// CHECK:STDOUT: 29: inst78000099 -// CHECK:STDOUT: 30: inst7800009C -// CHECK:STDOUT: 31: inst7800009E -// CHECK:STDOUT: 32: inst780000A0 -// CHECK:STDOUT: 33: inst780000A1 -// CHECK:STDOUT: 34: inst780000A2 -// CHECK:STDOUT: 35: inst780000A3 -// CHECK:STDOUT: 36: inst780000A4 -// CHECK:STDOUT: 37: inst780000A5 -// CHECK:STDOUT: 38: inst780000A6 -// CHECK:STDOUT: 39: inst780000A7 -// CHECK:STDOUT: 40: inst780000A8 -// CHECK:STDOUT: 41: inst780000BA -// CHECK:STDOUT: 42: inst780000BE -// CHECK:STDOUT: 43: inst780000C9 -// CHECK:STDOUT: 44: inst780000CA -// CHECK:STDOUT: 45: inst780000CB -// CHECK:STDOUT: 46: inst780000CC -// CHECK:STDOUT: 47: inst780000CD -// CHECK:STDOUT: 48: inst780000CE -// CHECK:STDOUT: 49: inst780000CF -// CHECK:STDOUT: 50: inst780000D8 -// CHECK:STDOUT: 51: inst780000D9 -// CHECK:STDOUT: 52: inst780000DB -// CHECK:STDOUT: 53: inst780000DC -// CHECK:STDOUT: 54: inst780000DD -// CHECK:STDOUT: 55: inst780000DE -// CHECK:STDOUT: 56: inst780000DF -// CHECK:STDOUT: 57: inst780000E1 -// CHECK:STDOUT: 58: inst780000E2 -// CHECK:STDOUT: 59: inst780000E3 -// CHECK:STDOUT: 60: inst780000E4 -// CHECK:STDOUT: 61: inst780000E5 -// CHECK:STDOUT: 62: inst780000E7 -// CHECK:STDOUT: 63: inst780000E8 -// CHECK:STDOUT: 64: inst780000E9 -// CHECK:STDOUT: 65: inst780000EA -// CHECK:STDOUT: 66: inst780000EB -// CHECK:STDOUT: 67: inst780000ED -// CHECK:STDOUT: 68: inst780000EE -// CHECK:STDOUT: 69: inst780000EF -// CHECK:STDOUT: 70: inst780000F0 -// CHECK:STDOUT: 71: inst780000F1 -// CHECK:STDOUT: 72: inst780000F3 -// CHECK:STDOUT: 73: inst780000F4 -// CHECK:STDOUT: 74: inst780000F6 -// CHECK:STDOUT: 75: inst780000F7 -// CHECK:STDOUT: 76: inst780000F8 -// CHECK:STDOUT: 77: inst780000F9 -// CHECK:STDOUT: 78: inst780000FA -// CHECK:STDOUT: 79: inst78000100 -// CHECK:STDOUT: 80: inst78000104 -// CHECK:STDOUT: 81: inst78000107 -// CHECK:STDOUT: 82: inst78000109 -// CHECK:STDOUT: 83: inst7800010B -// CHECK:STDOUT: 84: inst7800010C -// CHECK:STDOUT: 85: inst7800010D -// CHECK:STDOUT: 86: inst7800010E -// CHECK:STDOUT: 87: inst7800010F -// CHECK:STDOUT: 88: inst78000110 -// CHECK:STDOUT: 89: inst78000111 -// CHECK:STDOUT: 90: inst78000112 -// CHECK:STDOUT: 91: inst78000113 -// CHECK:STDOUT: 92: inst7800011C -// CHECK:STDOUT: 93: inst7800011D -// CHECK:STDOUT: 94: inst78000121 -// CHECK:STDOUT: 95: inst78000122 -// CHECK:STDOUT: 96: inst78000124 -// CHECK:STDOUT: 97: inst78000125 -// CHECK:STDOUT: 98: inst78000126 -// CHECK:STDOUT: 99: inst78000127 -// CHECK:STDOUT: 100: inst78000128 -// CHECK:STDOUT: 101: inst7800012A -// CHECK:STDOUT: 102: inst7800012B -// CHECK:STDOUT: 103: inst7800012C -// CHECK:STDOUT: 104: inst7800012D -// CHECK:STDOUT: 105: inst7800012E -// CHECK:STDOUT: 106: inst78000133 -// CHECK:STDOUT: 107: inst78000134 -// CHECK:STDOUT: 108: inst78000136 -// CHECK:STDOUT: 109: inst7800013E -// CHECK:STDOUT: 110: inst78000141 -// CHECK:STDOUT: 111: inst78000143 -// CHECK:STDOUT: 112: inst78000145 -// CHECK:STDOUT: 113: inst78000146 -// CHECK:STDOUT: 114: inst78000147 -// CHECK:STDOUT: 115: inst78000148 -// CHECK:STDOUT: 116: inst78000149 -// CHECK:STDOUT: 117: inst7800014A -// CHECK:STDOUT: 118: inst7800014B -// CHECK:STDOUT: 119: inst7800014C -// CHECK:STDOUT: 120: inst7800014D -// CHECK:STDOUT: 121: inst7800014E -// CHECK:STDOUT: 122: inst78000162 -// CHECK:STDOUT: 123: inst78000166 -// CHECK:STDOUT: 124: inst78000177 -// CHECK:STDOUT: 125: inst78000178 -// CHECK:STDOUT: 126: inst78000179 -// CHECK:STDOUT: 127: inst7800017A -// CHECK:STDOUT: 128: inst7800017B -// CHECK:STDOUT: 129: inst7800017C -// CHECK:STDOUT: 130: inst7800017D -// CHECK:STDOUT: 131: inst7800017E -// CHECK:STDOUT: 132: inst7800017F -// CHECK:STDOUT: 133: inst7800018C -// CHECK:STDOUT: 134: inst7800018D -// CHECK:STDOUT: 135: inst78000192 -// CHECK:STDOUT: 136: inst78000193 -// CHECK:STDOUT: 137: inst78000195 -// CHECK:STDOUT: 138: inst7800019D -// CHECK:STDOUT: 139: inst780001A0 -// CHECK:STDOUT: 140: inst780001A2 -// CHECK:STDOUT: 141: inst780001A4 -// CHECK:STDOUT: 142: inst780001A5 -// CHECK:STDOUT: 143: inst780001A6 -// CHECK:STDOUT: 144: inst780001A7 -// CHECK:STDOUT: 145: inst780001A8 -// CHECK:STDOUT: 146: inst780001A9 -// CHECK:STDOUT: 147: inst780001AA -// CHECK:STDOUT: 148: inst780001AB -// CHECK:STDOUT: 149: inst780001AC -// CHECK:STDOUT: 150: inst780001AD -// CHECK:STDOUT: 151: inst780001AE -// CHECK:STDOUT: 152: inst780001C4 -// CHECK:STDOUT: 153: inst780001C8 -// CHECK:STDOUT: 154: inst780001DF -// CHECK:STDOUT: 155: inst780001E0 -// CHECK:STDOUT: 156: inst780001E1 -// CHECK:STDOUT: 157: inst780001E2 -// CHECK:STDOUT: 158: inst780001E3 -// CHECK:STDOUT: 159: inst780001E4 -// CHECK:STDOUT: 160: inst780001E5 -// CHECK:STDOUT: 161: inst780001E6 -// CHECK:STDOUT: 162: inst780001E7 -// CHECK:STDOUT: 163: inst780001E8 -// CHECK:STDOUT: 164: inst780001E9 +// CHECK:STDOUT: 1: inst78000058 +// CHECK:STDOUT: 2: inst78000059 +// CHECK:STDOUT: 3: inst7800005B +// CHECK:STDOUT: 4: inst7800005D +// CHECK:STDOUT: 5: inst7800005E +// CHECK:STDOUT: 6: inst7800005F +// CHECK:STDOUT: 7: inst78000060 +// CHECK:STDOUT: 8: inst78000066 +// CHECK:STDOUT: 9: inst78000069 +// CHECK:STDOUT: 10: inst7800006B +// CHECK:STDOUT: 11: inst7800006D +// CHECK:STDOUT: 12: inst7800006E +// CHECK:STDOUT: 13: inst7800006F +// CHECK:STDOUT: 14: inst78000070 +// CHECK:STDOUT: 15: inst78000071 +// CHECK:STDOUT: 16: inst78000072 +// CHECK:STDOUT: 17: inst78000073 +// CHECK:STDOUT: 18: inst78000074 +// CHECK:STDOUT: 19: inst78000075 +// CHECK:STDOUT: 20: inst7800007E +// CHECK:STDOUT: 21: inst7800007F +// CHECK:STDOUT: 22: inst78000083 +// CHECK:STDOUT: 23: inst78000085 +// CHECK:STDOUT: 24: inst78000088 +// CHECK:STDOUT: 25: inst78000089 +// CHECK:STDOUT: 26: inst7800008E +// CHECK:STDOUT: 27: inst7800008F +// CHECK:STDOUT: 28: inst78000091 +// CHECK:STDOUT: 29: inst78000098 +// CHECK:STDOUT: 30: inst7800009B +// CHECK:STDOUT: 31: inst7800009D +// CHECK:STDOUT: 32: inst7800009F +// CHECK:STDOUT: 33: inst780000A0 +// CHECK:STDOUT: 34: inst780000A1 +// CHECK:STDOUT: 35: inst780000A2 +// CHECK:STDOUT: 36: inst780000A3 +// CHECK:STDOUT: 37: inst780000A4 +// CHECK:STDOUT: 38: inst780000A5 +// CHECK:STDOUT: 39: inst780000A6 +// CHECK:STDOUT: 40: inst780000A7 +// CHECK:STDOUT: 41: inst780000B9 +// CHECK:STDOUT: 42: inst780000BD +// CHECK:STDOUT: 43: inst780000C8 +// CHECK:STDOUT: 44: inst780000C9 +// CHECK:STDOUT: 45: inst780000CA +// CHECK:STDOUT: 46: inst780000CB +// CHECK:STDOUT: 47: inst780000CC +// CHECK:STDOUT: 48: inst780000CD +// CHECK:STDOUT: 49: inst780000CE +// CHECK:STDOUT: 50: inst780000D7 +// CHECK:STDOUT: 51: inst780000D8 +// CHECK:STDOUT: 52: inst780000DA +// CHECK:STDOUT: 53: inst780000DB +// CHECK:STDOUT: 54: inst780000DC +// CHECK:STDOUT: 55: inst780000DD +// CHECK:STDOUT: 56: inst780000DE +// CHECK:STDOUT: 57: inst780000E0 +// CHECK:STDOUT: 58: inst780000E1 +// CHECK:STDOUT: 59: inst780000E2 +// CHECK:STDOUT: 60: inst780000E3 +// CHECK:STDOUT: 61: inst780000E4 +// CHECK:STDOUT: 62: inst780000E6 +// CHECK:STDOUT: 63: inst780000E7 +// CHECK:STDOUT: 64: inst780000E8 +// CHECK:STDOUT: 65: inst780000E9 +// CHECK:STDOUT: 66: inst780000EA +// CHECK:STDOUT: 67: inst780000EC +// CHECK:STDOUT: 68: inst780000ED +// CHECK:STDOUT: 69: inst780000EE +// CHECK:STDOUT: 70: inst780000EF +// CHECK:STDOUT: 71: inst780000F0 +// CHECK:STDOUT: 72: inst780000F2 +// CHECK:STDOUT: 73: inst780000F3 +// CHECK:STDOUT: 74: inst780000F5 +// CHECK:STDOUT: 75: inst780000F6 +// CHECK:STDOUT: 76: inst780000F7 +// CHECK:STDOUT: 77: inst780000F8 +// CHECK:STDOUT: 78: inst780000F9 +// CHECK:STDOUT: 79: inst780000FF +// CHECK:STDOUT: 80: inst78000103 +// CHECK:STDOUT: 81: inst78000106 +// CHECK:STDOUT: 82: inst78000108 +// CHECK:STDOUT: 83: inst7800010A +// CHECK:STDOUT: 84: inst7800010B +// CHECK:STDOUT: 85: inst7800010C +// CHECK:STDOUT: 86: inst7800010D +// CHECK:STDOUT: 87: inst7800010E +// CHECK:STDOUT: 88: inst7800010F +// CHECK:STDOUT: 89: inst78000110 +// CHECK:STDOUT: 90: inst78000111 +// CHECK:STDOUT: 91: inst78000112 +// CHECK:STDOUT: 92: inst7800011B +// CHECK:STDOUT: 93: inst7800011C +// CHECK:STDOUT: 94: inst78000120 +// CHECK:STDOUT: 95: inst78000121 +// CHECK:STDOUT: 96: inst78000123 +// CHECK:STDOUT: 97: inst78000124 +// CHECK:STDOUT: 98: inst78000125 +// CHECK:STDOUT: 99: inst78000126 +// CHECK:STDOUT: 100: inst78000127 +// CHECK:STDOUT: 101: inst78000129 +// CHECK:STDOUT: 102: inst7800012A +// CHECK:STDOUT: 103: inst7800012B +// CHECK:STDOUT: 104: inst7800012C +// CHECK:STDOUT: 105: inst7800012D +// CHECK:STDOUT: 106: inst78000132 +// CHECK:STDOUT: 107: inst78000133 +// CHECK:STDOUT: 108: inst78000135 +// CHECK:STDOUT: 109: inst7800013D +// CHECK:STDOUT: 110: inst78000140 +// CHECK:STDOUT: 111: inst78000142 +// CHECK:STDOUT: 112: inst78000144 +// CHECK:STDOUT: 113: inst78000145 +// CHECK:STDOUT: 114: inst78000146 +// CHECK:STDOUT: 115: inst78000147 +// CHECK:STDOUT: 116: inst78000148 +// CHECK:STDOUT: 117: inst78000149 +// CHECK:STDOUT: 118: inst7800014A +// CHECK:STDOUT: 119: inst7800014B +// CHECK:STDOUT: 120: inst7800014C +// CHECK:STDOUT: 121: inst7800014D +// CHECK:STDOUT: 122: inst78000161 +// CHECK:STDOUT: 123: inst78000165 +// CHECK:STDOUT: 124: inst78000176 +// CHECK:STDOUT: 125: inst78000177 +// CHECK:STDOUT: 126: inst78000178 +// CHECK:STDOUT: 127: inst78000179 +// CHECK:STDOUT: 128: inst7800017A +// CHECK:STDOUT: 129: inst7800017B +// CHECK:STDOUT: 130: inst7800017C +// CHECK:STDOUT: 131: inst7800017D +// CHECK:STDOUT: 132: inst7800017E +// CHECK:STDOUT: 133: inst7800018B +// CHECK:STDOUT: 134: inst7800018C +// CHECK:STDOUT: 135: inst78000191 +// CHECK:STDOUT: 136: inst78000192 +// CHECK:STDOUT: 137: inst78000194 +// CHECK:STDOUT: 138: inst7800019C +// CHECK:STDOUT: 139: inst7800019F +// CHECK:STDOUT: 140: inst780001A1 +// CHECK:STDOUT: 141: inst780001A3 +// CHECK:STDOUT: 142: inst780001A4 +// CHECK:STDOUT: 143: inst780001A5 +// CHECK:STDOUT: 144: inst780001A6 +// CHECK:STDOUT: 145: inst780001A7 +// CHECK:STDOUT: 146: inst780001A8 +// CHECK:STDOUT: 147: inst780001A9 +// CHECK:STDOUT: 148: inst780001AA +// CHECK:STDOUT: 149: inst780001AB +// CHECK:STDOUT: 150: inst780001AC +// CHECK:STDOUT: 151: inst780001AD +// CHECK:STDOUT: 152: inst780001C3 +// CHECK:STDOUT: 153: inst780001C7 +// CHECK:STDOUT: 154: inst780001DE +// CHECK:STDOUT: 155: inst780001DF +// CHECK:STDOUT: 156: inst780001E0 +// CHECK:STDOUT: 157: inst780001E1 +// CHECK:STDOUT: 158: inst780001E2 +// CHECK:STDOUT: 159: inst780001E3 +// CHECK:STDOUT: 160: inst780001E4 +// CHECK:STDOUT: 161: inst780001E5 +// CHECK:STDOUT: 162: inst780001E6 +// CHECK:STDOUT: 163: inst780001E7 +// CHECK:STDOUT: 164: inst780001E8 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block78000005: -// CHECK:STDOUT: 0: inst78000014 -// CHECK:STDOUT: 1: inst78000016 +// CHECK:STDOUT: 0: inst78000013 +// CHECK:STDOUT: 1: inst78000015 // CHECK:STDOUT: inst_block78000006: -// CHECK:STDOUT: 0: inst78000018 +// CHECK:STDOUT: 0: inst78000017 // CHECK:STDOUT: inst_block78000007: -// CHECK:STDOUT: 0: inst7800001E -// CHECK:STDOUT: 1: inst7800001F +// CHECK:STDOUT: 0: inst7800001D +// CHECK:STDOUT: 1: inst7800001E // CHECK:STDOUT: inst_block78000008: -// CHECK:STDOUT: 0: inst78000027 +// CHECK:STDOUT: 0: inst78000026 // CHECK:STDOUT: inst_block78000009: -// CHECK:STDOUT: 0: inst7800002C -// CHECK:STDOUT: 1: inst7800002E +// CHECK:STDOUT: 0: inst7800002B +// CHECK:STDOUT: 1: inst7800002D // CHECK:STDOUT: inst_block7800000A: // CHECK:STDOUT: 0: inst(TypeType) -// CHECK:STDOUT: 1: inst7800002D -// CHECK:STDOUT: inst_block7800000B: -// CHECK:STDOUT: 0: inst78000020 -// CHECK:STDOUT: 1: inst7800002F -// CHECK:STDOUT: inst_block7800000C: -// CHECK:STDOUT: 0: inst78000021 -// CHECK:STDOUT: 1: inst7800002F -// CHECK:STDOUT: inst_block7800000D: -// CHECK:STDOUT: 0: inst78000020 -// CHECK:STDOUT: 1: inst78000035 -// CHECK:STDOUT: inst_block7800000E: -// CHECK:STDOUT: 0: inst78000020 -// CHECK:STDOUT: 1: inst7800002D -// CHECK:STDOUT: inst_block7800000F: -// CHECK:STDOUT: 0: inst78000021 -// CHECK:STDOUT: 1: inst7800002D -// CHECK:STDOUT: inst_block78000010: -// CHECK:STDOUT: 0: inst78000023 -// CHECK:STDOUT: 1: inst7800003D -// CHECK:STDOUT: inst_block78000011: -// CHECK:STDOUT: 0: inst78000045 -// CHECK:STDOUT: 1: inst78000047 -// CHECK:STDOUT: inst_block78000012: -// CHECK:STDOUT: 0: inst78000018 -// CHECK:STDOUT: 1: inst78000023 -// CHECK:STDOUT: 2: inst78000027 -// CHECK:STDOUT: 3: inst7800003D -// CHECK:STDOUT: 4: inst78000041 -// CHECK:STDOUT: inst_block78000013: -// CHECK:STDOUT: 0: inst7800002B // CHECK:STDOUT: 1: inst7800002C -// CHECK:STDOUT: 2: inst7800002E -// CHECK:STDOUT: 3: inst78000031 -// CHECK:STDOUT: 4: inst78000035 -// CHECK:STDOUT: 5: inst78000037 -// CHECK:STDOUT: 6: inst78000039 -// CHECK:STDOUT: 7: inst78000044 -// CHECK:STDOUT: 8: inst7800001B -// CHECK:STDOUT: 9: inst78000045 -// CHECK:STDOUT: 10: inst78000046 -// CHECK:STDOUT: 11: inst7800002A -// CHECK:STDOUT: 12: inst78000047 -// CHECK:STDOUT: 13: inst78000048 +// CHECK:STDOUT: inst_block7800000B: +// CHECK:STDOUT: 0: inst7800001F +// CHECK:STDOUT: 1: inst7800002E +// CHECK:STDOUT: inst_block7800000C: +// CHECK:STDOUT: 0: inst78000020 +// CHECK:STDOUT: 1: inst7800002E +// CHECK:STDOUT: inst_block7800000D: +// CHECK:STDOUT: 0: inst7800001F +// CHECK:STDOUT: 1: inst78000034 +// CHECK:STDOUT: inst_block7800000E: +// CHECK:STDOUT: 0: inst7800001F +// CHECK:STDOUT: 1: inst7800002C +// CHECK:STDOUT: inst_block7800000F: +// CHECK:STDOUT: 0: inst78000020 +// CHECK:STDOUT: 1: inst7800002C +// CHECK:STDOUT: inst_block78000010: +// CHECK:STDOUT: 0: inst78000022 +// CHECK:STDOUT: 1: inst7800003C +// CHECK:STDOUT: inst_block78000011: +// CHECK:STDOUT: 0: inst78000044 +// CHECK:STDOUT: 1: inst78000046 +// CHECK:STDOUT: inst_block78000012: +// CHECK:STDOUT: 0: inst78000017 +// CHECK:STDOUT: 1: inst78000022 +// CHECK:STDOUT: 2: inst78000026 +// CHECK:STDOUT: 3: inst7800003C +// CHECK:STDOUT: 4: inst78000040 +// CHECK:STDOUT: inst_block78000013: +// CHECK:STDOUT: 0: inst7800002A +// CHECK:STDOUT: 1: inst7800002B +// CHECK:STDOUT: 2: inst7800002D +// CHECK:STDOUT: 3: inst78000030 +// CHECK:STDOUT: 4: inst78000034 +// CHECK:STDOUT: 5: inst78000036 +// CHECK:STDOUT: 6: inst78000038 +// CHECK:STDOUT: 7: inst78000043 +// CHECK:STDOUT: 8: inst7800001A +// CHECK:STDOUT: 9: inst78000044 +// CHECK:STDOUT: 10: inst78000045 +// CHECK:STDOUT: 11: inst78000029 +// CHECK:STDOUT: 12: inst78000046 +// CHECK:STDOUT: 13: inst78000047 // CHECK:STDOUT: inst_block78000014: -// CHECK:STDOUT: 0: inst7800001B -// CHECK:STDOUT: inst_block78000015: -// CHECK:STDOUT: 0: inst7800001C -// CHECK:STDOUT: inst_block78000016: // CHECK:STDOUT: 0: inst7800001A -// CHECK:STDOUT: 1: inst7800001D -// CHECK:STDOUT: 2: inst78000021 -// CHECK:STDOUT: 3: inst78000025 -// CHECK:STDOUT: 4: inst78000026 -// CHECK:STDOUT: 5: inst78000029 -// CHECK:STDOUT: 6: inst78000033 -// CHECK:STDOUT: 7: inst78000038 -// CHECK:STDOUT: 8: inst7800003B -// CHECK:STDOUT: 9: inst7800003F -// CHECK:STDOUT: 10: inst78000040 -// CHECK:STDOUT: 11: inst78000043 -// CHECK:STDOUT: inst_block78000017: +// CHECK:STDOUT: inst_block78000015: +// CHECK:STDOUT: 0: inst7800001B +// CHECK:STDOUT: inst_block78000016: // CHECK:STDOUT: 0: inst78000019 // CHECK:STDOUT: 1: inst7800001C // CHECK:STDOUT: 2: inst78000020 -// CHECK:STDOUT: 3: inst78000022 -// CHECK:STDOUT: 4: inst78000024 +// CHECK:STDOUT: 3: inst78000024 +// CHECK:STDOUT: 4: inst78000025 // CHECK:STDOUT: 5: inst78000028 // CHECK:STDOUT: 6: inst78000032 -// CHECK:STDOUT: 7: inst78000036 +// CHECK:STDOUT: 7: inst78000037 // CHECK:STDOUT: 8: inst7800003A -// CHECK:STDOUT: 9: inst7800003C -// CHECK:STDOUT: 10: inst7800003E +// CHECK:STDOUT: 9: inst7800003E +// CHECK:STDOUT: 10: inst7800003F // CHECK:STDOUT: 11: inst78000042 +// CHECK:STDOUT: inst_block78000017: +// CHECK:STDOUT: 0: inst78000018 +// CHECK:STDOUT: 1: inst7800001B +// CHECK:STDOUT: 2: inst7800001F +// CHECK:STDOUT: 3: inst78000021 +// CHECK:STDOUT: 4: inst78000023 +// CHECK:STDOUT: 5: inst78000027 +// CHECK:STDOUT: 6: inst78000031 +// CHECK:STDOUT: 7: inst78000035 +// CHECK:STDOUT: 8: inst78000039 +// CHECK:STDOUT: 9: inst7800003B +// CHECK:STDOUT: 10: inst7800003D +// CHECK:STDOUT: 11: inst78000041 // CHECK:STDOUT: inst_block78000018: -// CHECK:STDOUT: 0: inst78000053 -// CHECK:STDOUT: 1: inst78000054 -// CHECK:STDOUT: 2: inst78000055 -// CHECK:STDOUT: 3: inst78000201 -// CHECK:STDOUT: 4: inst78000208 -// CHECK:STDOUT: 5: inst7800020B -// CHECK:STDOUT: 6: inst7800020C -// CHECK:STDOUT: 7: inst7800020F -// CHECK:STDOUT: 8: inst78000210 -// CHECK:STDOUT: 9: inst78000211 -// CHECK:STDOUT: 10: inst78000214 -// CHECK:STDOUT: 11: inst78000215 -// CHECK:STDOUT: 12: inst78000057 -// CHECK:STDOUT: 13: inst78000216 -// CHECK:STDOUT: 14: inst78000217 -// CHECK:STDOUT: 15: inst78000218 -// CHECK:STDOUT: 16: inst78000219 -// CHECK:STDOUT: 17: inst7800021A -// CHECK:STDOUT: 18: inst7800021B -// CHECK:STDOUT: 19: inst7800021C -// CHECK:STDOUT: 20: inst7800021D +// CHECK:STDOUT: 0: inst78000052 +// CHECK:STDOUT: 1: inst78000053 +// CHECK:STDOUT: 2: inst78000054 +// CHECK:STDOUT: 3: inst78000200 +// CHECK:STDOUT: 4: inst78000207 +// CHECK:STDOUT: 5: inst7800020A +// CHECK:STDOUT: 6: inst7800020B +// CHECK:STDOUT: 7: inst7800020E +// CHECK:STDOUT: 8: inst7800020F +// CHECK:STDOUT: 9: inst78000210 +// CHECK:STDOUT: 10: inst78000213 +// CHECK:STDOUT: 11: inst78000214 +// CHECK:STDOUT: 12: inst78000056 +// CHECK:STDOUT: 13: inst78000215 +// CHECK:STDOUT: 14: inst78000216 +// CHECK:STDOUT: 15: inst78000217 +// CHECK:STDOUT: 16: inst78000218 +// CHECK:STDOUT: 17: inst78000219 +// CHECK:STDOUT: 18: inst7800021A +// CHECK:STDOUT: 19: inst7800021B +// CHECK:STDOUT: 20: inst7800021C // CHECK:STDOUT: inst_block78000019: -// CHECK:STDOUT: 0: inst78000053 -// CHECK:STDOUT: 1: inst78000054 +// CHECK:STDOUT: 0: inst78000052 +// CHECK:STDOUT: 1: inst78000053 // CHECK:STDOUT: inst_block7800001A: -// CHECK:STDOUT: 0: inst7800005F +// CHECK:STDOUT: 0: inst7800005E // CHECK:STDOUT: inst_block7800001B: -// CHECK:STDOUT: 0: inst78000060 +// CHECK:STDOUT: 0: inst7800005F // CHECK:STDOUT: inst_block7800001C: -// CHECK:STDOUT: 0: inst7800005D +// CHECK:STDOUT: 0: inst7800005C // CHECK:STDOUT: inst_block7800001D: -// CHECK:STDOUT: 0: inst7800005D -// CHECK:STDOUT: 1: inst78000062 -// CHECK:STDOUT: 2: inst78000063 +// CHECK:STDOUT: 0: inst7800005C +// CHECK:STDOUT: 1: inst78000061 +// CHECK:STDOUT: 2: inst78000062 // CHECK:STDOUT: inst_block7800001E: -// CHECK:STDOUT: 0: inst7800006F -// CHECK:STDOUT: 1: inst78000070 +// CHECK:STDOUT: 0: inst7800006E +// CHECK:STDOUT: 1: inst7800006F // CHECK:STDOUT: inst_block7800001F: -// CHECK:STDOUT: 0: inst78000072 +// CHECK:STDOUT: 0: inst78000071 // CHECK:STDOUT: inst_block78000020: -// CHECK:STDOUT: 0: inst78000076 +// CHECK:STDOUT: 0: inst78000075 // CHECK:STDOUT: inst_block78000021: -// CHECK:STDOUT: 0: inst78000077 -// CHECK:STDOUT: 1: inst78000078 -// CHECK:STDOUT: 2: inst78000079 -// CHECK:STDOUT: 3: inst7800007A -// CHECK:STDOUT: 4: inst7800007B -// CHECK:STDOUT: 5: inst7800007C -// CHECK:STDOUT: 6: inst7800007D -// CHECK:STDOUT: 7: inst7800007E +// CHECK:STDOUT: 0: inst78000076 +// CHECK:STDOUT: 1: inst78000077 +// CHECK:STDOUT: 2: inst78000078 +// CHECK:STDOUT: 3: inst78000079 +// CHECK:STDOUT: 4: inst7800007A +// CHECK:STDOUT: 5: inst7800007B +// CHECK:STDOUT: 6: inst7800007C +// CHECK:STDOUT: 7: inst7800007D // CHECK:STDOUT: inst_block78000022: -// CHECK:STDOUT: 0: inst7800005D -// CHECK:STDOUT: 1: inst78000064 -// CHECK:STDOUT: 2: inst78000065 -// CHECK:STDOUT: 3: inst78000069 -// CHECK:STDOUT: 4: inst7800006B -// CHECK:STDOUT: 5: inst7800006D -// CHECK:STDOUT: 6: inst78000066 -// CHECK:STDOUT: 7: inst78000068 +// CHECK:STDOUT: 0: inst7800005C +// CHECK:STDOUT: 1: inst78000063 +// CHECK:STDOUT: 2: inst78000064 +// CHECK:STDOUT: 3: inst78000068 +// CHECK:STDOUT: 4: inst7800006A +// CHECK:STDOUT: 5: inst7800006C +// CHECK:STDOUT: 6: inst78000065 +// CHECK:STDOUT: 7: inst78000067 // CHECK:STDOUT: inst_block78000023: -// CHECK:STDOUT: 0: inst78000081 +// CHECK:STDOUT: 0: inst78000080 // CHECK:STDOUT: inst_block78000024: -// CHECK:STDOUT: 0: inst78000081 -// CHECK:STDOUT: 1: inst78000082 -// CHECK:STDOUT: 2: inst78000083 +// CHECK:STDOUT: 0: inst78000080 +// CHECK:STDOUT: 1: inst78000081 +// CHECK:STDOUT: 2: inst78000082 // CHECK:STDOUT: inst_block78000025: -// CHECK:STDOUT: 0: inst7800008F +// CHECK:STDOUT: 0: inst7800008E // CHECK:STDOUT: inst_block78000026: -// CHECK:STDOUT: 0: inst7800008B +// CHECK:STDOUT: 0: inst7800008A // CHECK:STDOUT: inst_block78000027: -// CHECK:STDOUT: 0: inst78000098 +// CHECK:STDOUT: 0: inst78000097 +// CHECK:STDOUT: 1: inst7800008A +// CHECK:STDOUT: 2: inst7800008B +// CHECK:STDOUT: 3: inst7800008C +// CHECK:STDOUT: 4: inst7800008D +// CHECK:STDOUT: 5: inst78000090 +// CHECK:STDOUT: inst_block78000028: +// CHECK:STDOUT: 0: inst78000092 +// CHECK:STDOUT: 1: inst78000093 +// CHECK:STDOUT: inst_block78000029: +// CHECK:STDOUT: 0: inst780000A0 +// CHECK:STDOUT: 1: inst780000A1 +// CHECK:STDOUT: inst_block7800002A: +// CHECK:STDOUT: 0: inst780000A3 +// CHECK:STDOUT: inst_block7800002B: +// CHECK:STDOUT: 0: inst780000A7 +// CHECK:STDOUT: inst_block7800002C: +// CHECK:STDOUT: 0: inst780000A8 +// CHECK:STDOUT: 1: inst780000A9 +// CHECK:STDOUT: 2: inst780000AA +// CHECK:STDOUT: 3: inst780000AB +// CHECK:STDOUT: 4: inst780000AC +// CHECK:STDOUT: 5: inst780000AD +// CHECK:STDOUT: 6: inst780000AE +// CHECK:STDOUT: 7: inst780000AF +// CHECK:STDOUT: 8: inst780000B0 +// CHECK:STDOUT: inst_block7800002D: +// CHECK:STDOUT: 0: inst7800008A +// CHECK:STDOUT: 1: inst780000B2 +// CHECK:STDOUT: 2: inst780000B3 +// CHECK:STDOUT: inst_block7800002E: +// CHECK:STDOUT: 0: inst7800008A +// CHECK:STDOUT: 1: inst7800008B +// CHECK:STDOUT: 2: inst780000B7 +// CHECK:STDOUT: 3: inst780000BC +// CHECK:STDOUT: 4: inst780000BE +// CHECK:STDOUT: 5: inst780000BB +// CHECK:STDOUT: 6: inst780000B8 +// CHECK:STDOUT: 7: inst780000BA +// CHECK:STDOUT: inst_block7800002F: +// CHECK:STDOUT: 0: inst780000A8 +// CHECK:STDOUT: inst_block78000030: +// CHECK:STDOUT: 0: inst780000A8 +// CHECK:STDOUT: inst_block78000031: +// CHECK:STDOUT: 0: inst780000C1 +// CHECK:STDOUT: 1: inst780000C2 +// CHECK:STDOUT: 2: inst780000C3 +// CHECK:STDOUT: 3: inst780000C4 +// CHECK:STDOUT: 4: inst780000C5 +// CHECK:STDOUT: 5: inst780000C6 +// CHECK:STDOUT: 6: inst780000C7 +// CHECK:STDOUT: inst_block78000032: +// CHECK:STDOUT: 0: inst7800008A // CHECK:STDOUT: 1: inst7800008B // CHECK:STDOUT: 2: inst7800008C -// CHECK:STDOUT: 3: inst7800008D -// CHECK:STDOUT: 4: inst7800008E -// CHECK:STDOUT: 5: inst78000091 -// CHECK:STDOUT: inst_block78000028: -// CHECK:STDOUT: 0: inst78000093 -// CHECK:STDOUT: 1: inst78000094 -// CHECK:STDOUT: inst_block78000029: -// CHECK:STDOUT: 0: inst780000A1 -// CHECK:STDOUT: 1: inst780000A2 -// CHECK:STDOUT: inst_block7800002A: -// CHECK:STDOUT: 0: inst780000A4 -// CHECK:STDOUT: inst_block7800002B: -// CHECK:STDOUT: 0: inst780000A8 -// CHECK:STDOUT: inst_block7800002C: -// CHECK:STDOUT: 0: inst780000A9 -// CHECK:STDOUT: 1: inst780000AA -// CHECK:STDOUT: 2: inst780000AB -// CHECK:STDOUT: 3: inst780000AC -// CHECK:STDOUT: 4: inst780000AD -// CHECK:STDOUT: 5: inst780000AE -// CHECK:STDOUT: 6: inst780000AF -// CHECK:STDOUT: 7: inst780000B0 -// CHECK:STDOUT: 8: inst780000B1 -// CHECK:STDOUT: inst_block7800002D: -// CHECK:STDOUT: 0: inst7800008B -// CHECK:STDOUT: 1: inst780000B3 -// CHECK:STDOUT: 2: inst780000B4 -// CHECK:STDOUT: inst_block7800002E: -// CHECK:STDOUT: 0: inst7800008B -// CHECK:STDOUT: 1: inst7800008C -// CHECK:STDOUT: 2: inst780000B8 -// CHECK:STDOUT: 3: inst780000BD -// CHECK:STDOUT: 4: inst780000BF -// CHECK:STDOUT: 5: inst780000BC -// CHECK:STDOUT: 6: inst780000B9 -// CHECK:STDOUT: 7: inst780000BB -// CHECK:STDOUT: inst_block7800002F: -// CHECK:STDOUT: 0: inst780000A9 -// CHECK:STDOUT: inst_block78000030: -// CHECK:STDOUT: 0: inst780000A9 -// CHECK:STDOUT: inst_block78000031: -// CHECK:STDOUT: 0: inst780000C2 -// CHECK:STDOUT: 1: inst780000C3 -// CHECK:STDOUT: 2: inst780000C4 -// CHECK:STDOUT: 3: inst780000C5 -// CHECK:STDOUT: 4: inst780000C6 -// CHECK:STDOUT: 5: inst780000C7 -// CHECK:STDOUT: 6: inst780000C8 -// CHECK:STDOUT: inst_block78000032: -// CHECK:STDOUT: 0: inst7800008B -// CHECK:STDOUT: 1: inst7800008C -// CHECK:STDOUT: 2: inst7800008D -// CHECK:STDOUT: 3: inst78000095 -// CHECK:STDOUT: 4: inst7800009B -// CHECK:STDOUT: 5: inst7800009D -// CHECK:STDOUT: 6: inst7800009F -// CHECK:STDOUT: 7: inst78000096 -// CHECK:STDOUT: 8: inst7800009A +// CHECK:STDOUT: 3: inst78000094 +// CHECK:STDOUT: 4: inst7800009A +// CHECK:STDOUT: 5: inst7800009C +// CHECK:STDOUT: 6: inst7800009E +// CHECK:STDOUT: 7: inst78000095 +// CHECK:STDOUT: 8: inst78000099 // CHECK:STDOUT: inst_block78000033: -// CHECK:STDOUT: 0: inst780000CB +// CHECK:STDOUT: 0: inst780000CA // CHECK:STDOUT: inst_block78000034: -// CHECK:STDOUT: 0: inst780000CF +// CHECK:STDOUT: 0: inst780000CE // CHECK:STDOUT: inst_block78000035: -// CHECK:STDOUT: 0: inst780000D1 -// CHECK:STDOUT: inst_block78000036: // CHECK:STDOUT: 0: inst780000D0 -// CHECK:STDOUT: 1: inst780000D1 -// CHECK:STDOUT: 2: inst780000D2 -// CHECK:STDOUT: 3: inst780000D3 -// CHECK:STDOUT: 4: inst780000D4 -// CHECK:STDOUT: 5: inst780000D5 +// CHECK:STDOUT: inst_block78000036: +// CHECK:STDOUT: 0: inst780000CF +// CHECK:STDOUT: 1: inst780000D0 +// CHECK:STDOUT: 2: inst780000D1 +// CHECK:STDOUT: 3: inst780000D2 +// CHECK:STDOUT: 4: inst780000D3 +// CHECK:STDOUT: 5: inst780000D4 // CHECK:STDOUT: inst_block78000037: -// CHECK:STDOUT: 0: inst780000D1 +// CHECK:STDOUT: 0: inst780000D0 // CHECK:STDOUT: inst_block78000038: -// CHECK:STDOUT: 0: inst780000D6 -// CHECK:STDOUT: 1: inst780000D7 +// CHECK:STDOUT: 0: inst780000D5 +// CHECK:STDOUT: 1: inst780000D6 // CHECK:STDOUT: inst_block78000039: -// CHECK:STDOUT: 0: inst780000F3 +// CHECK:STDOUT: 0: inst780000F2 // CHECK:STDOUT: inst_block7800003A: -// CHECK:STDOUT: 0: inst78000019 -// CHECK:STDOUT: 1: inst7800001C -// CHECK:STDOUT: 2: inst78000020 -// CHECK:STDOUT: 3: inst780000F2 -// CHECK:STDOUT: 4: inst780000F5 +// CHECK:STDOUT: 0: inst78000018 +// CHECK:STDOUT: 1: inst7800001B +// CHECK:STDOUT: 2: inst7800001F +// CHECK:STDOUT: 3: inst780000F1 +// CHECK:STDOUT: 4: inst780000F4 // CHECK:STDOUT: inst_block7800003B: -// CHECK:STDOUT: 0: inst780000F6 +// CHECK:STDOUT: 0: inst780000F5 // CHECK:STDOUT: inst_block7800003C: -// CHECK:STDOUT: 0: inst780000FA +// CHECK:STDOUT: 0: inst780000F9 // CHECK:STDOUT: inst_block7800003D: -// CHECK:STDOUT: 0: inst780000FC -// CHECK:STDOUT: inst_block7800003E: // CHECK:STDOUT: 0: inst780000FB -// CHECK:STDOUT: 1: inst780000FC -// CHECK:STDOUT: 2: inst780000FD -// CHECK:STDOUT: 3: inst780000FE -// CHECK:STDOUT: 4: inst780000FF +// CHECK:STDOUT: inst_block7800003E: +// CHECK:STDOUT: 0: inst780000FA +// CHECK:STDOUT: 1: inst780000FB +// CHECK:STDOUT: 2: inst780000FC +// CHECK:STDOUT: 3: inst780000FD +// CHECK:STDOUT: 4: inst780000FE // CHECK:STDOUT: inst_block7800003F: -// CHECK:STDOUT: 0: inst7800010C -// CHECK:STDOUT: 1: inst7800010D +// CHECK:STDOUT: 0: inst7800010B +// CHECK:STDOUT: 1: inst7800010C // CHECK:STDOUT: inst_block78000040: -// CHECK:STDOUT: 0: inst7800010F +// CHECK:STDOUT: 0: inst7800010E // CHECK:STDOUT: inst_block78000041: -// CHECK:STDOUT: 0: inst78000113 +// CHECK:STDOUT: 0: inst78000112 // CHECK:STDOUT: inst_block78000042: -// CHECK:STDOUT: 0: inst78000114 -// CHECK:STDOUT: 1: inst78000115 -// CHECK:STDOUT: 2: inst78000116 -// CHECK:STDOUT: 3: inst78000117 -// CHECK:STDOUT: 4: inst78000118 -// CHECK:STDOUT: 5: inst78000119 -// CHECK:STDOUT: 6: inst7800011A -// CHECK:STDOUT: 7: inst7800011B +// CHECK:STDOUT: 0: inst78000113 +// CHECK:STDOUT: 1: inst78000114 +// CHECK:STDOUT: 2: inst78000115 +// CHECK:STDOUT: 3: inst78000116 +// CHECK:STDOUT: 4: inst78000117 +// CHECK:STDOUT: 5: inst78000118 +// CHECK:STDOUT: 6: inst78000119 +// CHECK:STDOUT: 7: inst7800011A // CHECK:STDOUT: inst_block78000043: -// CHECK:STDOUT: 0: inst7800001C -// CHECK:STDOUT: 1: inst78000020 -// CHECK:STDOUT: 2: inst78000022 -// CHECK:STDOUT: 3: inst78000106 -// CHECK:STDOUT: 4: inst78000108 -// CHECK:STDOUT: 5: inst7800010A -// CHECK:STDOUT: 6: inst78000103 -// CHECK:STDOUT: 7: inst78000105 +// CHECK:STDOUT: 0: inst7800001B +// CHECK:STDOUT: 1: inst7800001F +// CHECK:STDOUT: 2: inst78000021 +// CHECK:STDOUT: 3: inst78000105 +// CHECK:STDOUT: 4: inst78000107 +// CHECK:STDOUT: 5: inst78000109 +// CHECK:STDOUT: 6: inst78000102 +// CHECK:STDOUT: 7: inst78000104 // CHECK:STDOUT: inst_block78000044: -// CHECK:STDOUT: 0: inst780000FC +// CHECK:STDOUT: 0: inst780000FB // CHECK:STDOUT: inst_block78000045: -// CHECK:STDOUT: 0: inst7800011E -// CHECK:STDOUT: 1: inst7800011F -// CHECK:STDOUT: 2: inst78000120 +// CHECK:STDOUT: 0: inst7800011D +// CHECK:STDOUT: 1: inst7800011E +// CHECK:STDOUT: 2: inst7800011F // CHECK:STDOUT: inst_block78000046: -// CHECK:STDOUT: 0: inst7800008C -// CHECK:STDOUT: 1: inst78000130 -// CHECK:STDOUT: inst_block78000047: -// CHECK:STDOUT: 0: inst78000133 -// CHECK:STDOUT: inst_block78000048: // CHECK:STDOUT: 0: inst7800008B // CHECK:STDOUT: 1: inst7800012F +// CHECK:STDOUT: inst_block78000047: +// CHECK:STDOUT: 0: inst78000132 +// CHECK:STDOUT: inst_block78000048: +// CHECK:STDOUT: 0: inst7800008A +// CHECK:STDOUT: 1: inst7800012E // CHECK:STDOUT: inst_block78000049: -// CHECK:STDOUT: 0: inst7800005B -// CHECK:STDOUT: 1: inst7800005B +// CHECK:STDOUT: 0: inst7800005A +// CHECK:STDOUT: 1: inst7800005A // CHECK:STDOUT: inst_block7800004A: -// CHECK:STDOUT: 0: inst78000098 -// CHECK:STDOUT: 1: inst7800008B -// CHECK:STDOUT: 2: inst7800013D -// CHECK:STDOUT: 3: inst7800012F -// CHECK:STDOUT: 4: inst7800013C -// CHECK:STDOUT: 5: inst7800008C -// CHECK:STDOUT: 6: inst78000130 -// CHECK:STDOUT: 7: inst78000131 -// CHECK:STDOUT: 8: inst78000132 -// CHECK:STDOUT: 9: inst78000135 +// CHECK:STDOUT: 0: inst78000097 +// CHECK:STDOUT: 1: inst7800008A +// CHECK:STDOUT: 2: inst7800013C +// CHECK:STDOUT: 3: inst7800012E +// CHECK:STDOUT: 4: inst7800013B +// CHECK:STDOUT: 5: inst7800008B +// CHECK:STDOUT: 6: inst7800012F +// CHECK:STDOUT: 7: inst78000130 +// CHECK:STDOUT: 8: inst78000131 +// CHECK:STDOUT: 9: inst78000134 // CHECK:STDOUT: inst_block7800004B: -// CHECK:STDOUT: 0: inst78000137 -// CHECK:STDOUT: 1: inst78000138 +// CHECK:STDOUT: 0: inst78000136 +// CHECK:STDOUT: 1: inst78000137 // CHECK:STDOUT: inst_block7800004C: -// CHECK:STDOUT: 0: inst78000146 -// CHECK:STDOUT: 1: inst78000147 +// CHECK:STDOUT: 0: inst78000145 +// CHECK:STDOUT: 1: inst78000146 // CHECK:STDOUT: inst_block7800004D: -// CHECK:STDOUT: 0: inst78000149 +// CHECK:STDOUT: 0: inst78000148 // CHECK:STDOUT: inst_block7800004E: -// CHECK:STDOUT: 0: inst7800014D -// CHECK:STDOUT: 1: inst7800014E +// CHECK:STDOUT: 0: inst7800014C +// CHECK:STDOUT: 1: inst7800014D // CHECK:STDOUT: inst_block7800004F: -// CHECK:STDOUT: 0: inst78000150 -// CHECK:STDOUT: 1: inst78000152 +// CHECK:STDOUT: 0: inst7800014F +// CHECK:STDOUT: 1: inst78000151 // CHECK:STDOUT: inst_block78000050: -// CHECK:STDOUT: 0: inst7800014F -// CHECK:STDOUT: 1: inst78000150 -// CHECK:STDOUT: 2: inst78000151 -// CHECK:STDOUT: 3: inst78000152 -// CHECK:STDOUT: 4: inst78000153 -// CHECK:STDOUT: 5: inst78000154 -// CHECK:STDOUT: 6: inst78000155 -// CHECK:STDOUT: 7: inst78000156 -// CHECK:STDOUT: 8: inst78000157 -// CHECK:STDOUT: 9: inst78000158 -// CHECK:STDOUT: 10: inst78000159 +// CHECK:STDOUT: 0: inst7800014E +// CHECK:STDOUT: 1: inst7800014F +// CHECK:STDOUT: 2: inst78000150 +// CHECK:STDOUT: 3: inst78000151 +// CHECK:STDOUT: 4: inst78000152 +// CHECK:STDOUT: 5: inst78000153 +// CHECK:STDOUT: 6: inst78000154 +// CHECK:STDOUT: 7: inst78000155 +// CHECK:STDOUT: 8: inst78000156 +// CHECK:STDOUT: 9: inst78000157 +// CHECK:STDOUT: 10: inst78000158 // CHECK:STDOUT: inst_block78000051: -// CHECK:STDOUT: 0: inst7800012F +// CHECK:STDOUT: 0: inst7800012E // CHECK:STDOUT: inst_block78000052: -// CHECK:STDOUT: 0: inst7800012F -// CHECK:STDOUT: 1: inst7800015B -// CHECK:STDOUT: 2: inst7800015C +// CHECK:STDOUT: 0: inst7800012E +// CHECK:STDOUT: 1: inst7800015A +// CHECK:STDOUT: 2: inst7800015B // CHECK:STDOUT: inst_block78000053: -// CHECK:STDOUT: 0: inst7800012F -// CHECK:STDOUT: 1: inst78000130 -// CHECK:STDOUT: 2: inst78000160 -// CHECK:STDOUT: 3: inst78000165 -// CHECK:STDOUT: 4: inst78000167 -// CHECK:STDOUT: 5: inst78000164 -// CHECK:STDOUT: 6: inst78000161 -// CHECK:STDOUT: 7: inst78000163 +// CHECK:STDOUT: 0: inst7800012E +// CHECK:STDOUT: 1: inst7800012F +// CHECK:STDOUT: 2: inst7800015F +// CHECK:STDOUT: 3: inst78000164 +// CHECK:STDOUT: 4: inst78000166 +// CHECK:STDOUT: 5: inst78000163 +// CHECK:STDOUT: 6: inst78000160 +// CHECK:STDOUT: 7: inst78000162 // CHECK:STDOUT: inst_block78000054: -// CHECK:STDOUT: 0: inst7800014F +// CHECK:STDOUT: 0: inst7800014E // CHECK:STDOUT: inst_block78000055: -// CHECK:STDOUT: 0: inst7800014F +// CHECK:STDOUT: 0: inst7800014E // CHECK:STDOUT: inst_block78000056: -// CHECK:STDOUT: 0: inst78000151 +// CHECK:STDOUT: 0: inst78000150 // CHECK:STDOUT: inst_block78000057: -// CHECK:STDOUT: 0: inst78000151 +// CHECK:STDOUT: 0: inst78000150 // CHECK:STDOUT: inst_block78000058: -// CHECK:STDOUT: 0: inst7800016A -// CHECK:STDOUT: 1: inst7800016B -// CHECK:STDOUT: 2: inst7800016C -// CHECK:STDOUT: 3: inst7800016D -// CHECK:STDOUT: 4: inst7800016E -// CHECK:STDOUT: 5: inst7800016F -// CHECK:STDOUT: 6: inst78000170 -// CHECK:STDOUT: 7: inst78000171 -// CHECK:STDOUT: 8: inst78000172 -// CHECK:STDOUT: 9: inst78000173 -// CHECK:STDOUT: 10: inst78000174 -// CHECK:STDOUT: 11: inst78000175 -// CHECK:STDOUT: 12: inst78000176 +// CHECK:STDOUT: 0: inst78000169 +// CHECK:STDOUT: 1: inst7800016A +// CHECK:STDOUT: 2: inst7800016B +// CHECK:STDOUT: 3: inst7800016C +// CHECK:STDOUT: 4: inst7800016D +// CHECK:STDOUT: 5: inst7800016E +// CHECK:STDOUT: 6: inst7800016F +// CHECK:STDOUT: 7: inst78000170 +// CHECK:STDOUT: 8: inst78000171 +// CHECK:STDOUT: 9: inst78000172 +// CHECK:STDOUT: 10: inst78000173 +// CHECK:STDOUT: 11: inst78000174 +// CHECK:STDOUT: 12: inst78000175 // CHECK:STDOUT: inst_block78000059: -// CHECK:STDOUT: 0: inst7800008B -// CHECK:STDOUT: 1: inst7800008C -// CHECK:STDOUT: 2: inst7800012F -// CHECK:STDOUT: 3: inst78000130 -// CHECK:STDOUT: 4: inst78000131 -// CHECK:STDOUT: 5: inst78000139 -// CHECK:STDOUT: 6: inst78000140 -// CHECK:STDOUT: 7: inst78000142 -// CHECK:STDOUT: 8: inst78000144 -// CHECK:STDOUT: 9: inst7800013A -// CHECK:STDOUT: 10: inst7800013F +// CHECK:STDOUT: 0: inst7800008A +// CHECK:STDOUT: 1: inst7800008B +// CHECK:STDOUT: 2: inst7800012E +// CHECK:STDOUT: 3: inst7800012F +// CHECK:STDOUT: 4: inst78000130 +// CHECK:STDOUT: 5: inst78000138 +// CHECK:STDOUT: 6: inst7800013F +// CHECK:STDOUT: 7: inst78000141 +// CHECK:STDOUT: 8: inst78000143 +// CHECK:STDOUT: 9: inst78000139 +// CHECK:STDOUT: 10: inst7800013E // CHECK:STDOUT: inst_block7800005A: -// CHECK:STDOUT: 0: inst78000179 -// CHECK:STDOUT: 1: inst7800017A +// CHECK:STDOUT: 0: inst78000178 +// CHECK:STDOUT: 1: inst78000179 // CHECK:STDOUT: inst_block7800005B: -// CHECK:STDOUT: 0: inst7800017E -// CHECK:STDOUT: 1: inst7800017F +// CHECK:STDOUT: 0: inst7800017D +// CHECK:STDOUT: 1: inst7800017E // CHECK:STDOUT: inst_block7800005C: -// CHECK:STDOUT: 0: inst78000181 -// CHECK:STDOUT: 1: inst78000183 -// CHECK:STDOUT: inst_block7800005D: -// CHECK:STDOUT: 0: inst78000185 -// CHECK:STDOUT: 1: inst78000186 -// CHECK:STDOUT: inst_block7800005E: -// CHECK:STDOUT: 0: inst78000181 -// CHECK:STDOUT: 1: inst78000183 -// CHECK:STDOUT: inst_block7800005F: // CHECK:STDOUT: 0: inst78000180 -// CHECK:STDOUT: 1: inst78000181 -// CHECK:STDOUT: 2: inst78000182 -// CHECK:STDOUT: 3: inst78000183 -// CHECK:STDOUT: 4: inst78000184 -// CHECK:STDOUT: 5: inst78000185 -// CHECK:STDOUT: 6: inst78000186 -// CHECK:STDOUT: 7: inst78000187 -// CHECK:STDOUT: 8: inst78000188 -// CHECK:STDOUT: 9: inst78000189 +// CHECK:STDOUT: 1: inst78000182 +// CHECK:STDOUT: inst_block7800005D: +// CHECK:STDOUT: 0: inst78000184 +// CHECK:STDOUT: 1: inst78000185 +// CHECK:STDOUT: inst_block7800005E: +// CHECK:STDOUT: 0: inst78000180 +// CHECK:STDOUT: 1: inst78000182 +// CHECK:STDOUT: inst_block7800005F: +// CHECK:STDOUT: 0: inst7800017F +// CHECK:STDOUT: 1: inst78000180 +// CHECK:STDOUT: 2: inst78000181 +// CHECK:STDOUT: 3: inst78000182 +// CHECK:STDOUT: 4: inst78000183 +// CHECK:STDOUT: 5: inst78000184 +// CHECK:STDOUT: 6: inst78000185 +// CHECK:STDOUT: 7: inst78000186 +// CHECK:STDOUT: 8: inst78000187 +// CHECK:STDOUT: 9: inst78000188 // CHECK:STDOUT: inst_block78000060: -// CHECK:STDOUT: 0: inst78000181 -// CHECK:STDOUT: 1: inst78000183 +// CHECK:STDOUT: 0: inst78000180 +// CHECK:STDOUT: 1: inst78000182 // CHECK:STDOUT: inst_block78000061: -// CHECK:STDOUT: 0: inst7800018A -// CHECK:STDOUT: 1: inst7800018B +// CHECK:STDOUT: 0: inst78000189 +// CHECK:STDOUT: 1: inst7800018A // CHECK:STDOUT: inst_block78000062: -// CHECK:STDOUT: 0: inst7800008C -// CHECK:STDOUT: 1: inst78000130 -// CHECK:STDOUT: 2: inst7800018F -// CHECK:STDOUT: inst_block78000063: -// CHECK:STDOUT: 0: inst78000192 -// CHECK:STDOUT: inst_block78000064: // CHECK:STDOUT: 0: inst7800008B // CHECK:STDOUT: 1: inst7800012F // CHECK:STDOUT: 2: inst7800018E +// CHECK:STDOUT: inst_block78000063: +// CHECK:STDOUT: 0: inst78000191 +// CHECK:STDOUT: inst_block78000064: +// CHECK:STDOUT: 0: inst7800008A +// CHECK:STDOUT: 1: inst7800012E +// CHECK:STDOUT: 2: inst7800018D // CHECK:STDOUT: inst_block78000065: -// CHECK:STDOUT: 0: inst7800005B -// CHECK:STDOUT: 1: inst7800005B -// CHECK:STDOUT: 2: inst7800005B +// CHECK:STDOUT: 0: inst7800005A +// CHECK:STDOUT: 1: inst7800005A +// CHECK:STDOUT: 2: inst7800005A // CHECK:STDOUT: inst_block78000066: -// CHECK:STDOUT: 0: inst78000098 -// CHECK:STDOUT: 1: inst7800008B -// CHECK:STDOUT: 2: inst7800013D -// CHECK:STDOUT: 3: inst7800012F -// CHECK:STDOUT: 4: inst7800019C -// CHECK:STDOUT: 5: inst7800018E -// CHECK:STDOUT: 6: inst7800019B -// CHECK:STDOUT: 7: inst7800008C -// CHECK:STDOUT: 8: inst78000130 -// CHECK:STDOUT: 9: inst7800018F -// CHECK:STDOUT: 10: inst78000190 -// CHECK:STDOUT: 11: inst78000191 -// CHECK:STDOUT: 12: inst78000194 +// CHECK:STDOUT: 0: inst78000097 +// CHECK:STDOUT: 1: inst7800008A +// CHECK:STDOUT: 2: inst7800013C +// CHECK:STDOUT: 3: inst7800012E +// CHECK:STDOUT: 4: inst7800019B +// CHECK:STDOUT: 5: inst7800018D +// CHECK:STDOUT: 6: inst7800019A +// CHECK:STDOUT: 7: inst7800008B +// CHECK:STDOUT: 8: inst7800012F +// CHECK:STDOUT: 9: inst7800018E +// CHECK:STDOUT: 10: inst7800018F +// CHECK:STDOUT: 11: inst78000190 +// CHECK:STDOUT: 12: inst78000193 // CHECK:STDOUT: inst_block78000067: -// CHECK:STDOUT: 0: inst78000196 -// CHECK:STDOUT: 1: inst78000197 +// CHECK:STDOUT: 0: inst78000195 +// CHECK:STDOUT: 1: inst78000196 // CHECK:STDOUT: inst_block78000068: -// CHECK:STDOUT: 0: inst780001A5 -// CHECK:STDOUT: 1: inst780001A6 +// CHECK:STDOUT: 0: inst780001A4 +// CHECK:STDOUT: 1: inst780001A5 // CHECK:STDOUT: inst_block78000069: -// CHECK:STDOUT: 0: inst780001A8 +// CHECK:STDOUT: 0: inst780001A7 // CHECK:STDOUT: inst_block7800006A: -// CHECK:STDOUT: 0: inst780001AC -// CHECK:STDOUT: 1: inst780001AD -// CHECK:STDOUT: 2: inst780001AE +// CHECK:STDOUT: 0: inst780001AB +// CHECK:STDOUT: 1: inst780001AC +// CHECK:STDOUT: 2: inst780001AD // CHECK:STDOUT: inst_block7800006B: -// CHECK:STDOUT: 0: inst780001B0 -// CHECK:STDOUT: 1: inst780001B2 -// CHECK:STDOUT: 2: inst780001B4 +// CHECK:STDOUT: 0: inst780001AF +// CHECK:STDOUT: 1: inst780001B1 +// CHECK:STDOUT: 2: inst780001B3 // CHECK:STDOUT: inst_block7800006C: -// CHECK:STDOUT: 0: inst780001AF -// CHECK:STDOUT: 1: inst780001B0 -// CHECK:STDOUT: 2: inst780001B1 -// CHECK:STDOUT: 3: inst780001B2 -// CHECK:STDOUT: 4: inst780001B3 -// CHECK:STDOUT: 5: inst780001B4 -// CHECK:STDOUT: 6: inst780001B5 -// CHECK:STDOUT: 7: inst780001B6 -// CHECK:STDOUT: 8: inst780001B7 -// CHECK:STDOUT: 9: inst780001B8 -// CHECK:STDOUT: 10: inst780001B9 -// CHECK:STDOUT: 11: inst780001BA -// CHECK:STDOUT: 12: inst780001BB +// CHECK:STDOUT: 0: inst780001AE +// CHECK:STDOUT: 1: inst780001AF +// CHECK:STDOUT: 2: inst780001B0 +// CHECK:STDOUT: 3: inst780001B1 +// CHECK:STDOUT: 4: inst780001B2 +// CHECK:STDOUT: 5: inst780001B3 +// CHECK:STDOUT: 6: inst780001B4 +// CHECK:STDOUT: 7: inst780001B5 +// CHECK:STDOUT: 8: inst780001B6 +// CHECK:STDOUT: 9: inst780001B7 +// CHECK:STDOUT: 10: inst780001B8 +// CHECK:STDOUT: 11: inst780001B9 +// CHECK:STDOUT: 12: inst780001BA // CHECK:STDOUT: inst_block7800006D: -// CHECK:STDOUT: 0: inst7800018E +// CHECK:STDOUT: 0: inst7800018D // CHECK:STDOUT: inst_block7800006E: -// CHECK:STDOUT: 0: inst7800018E -// CHECK:STDOUT: 1: inst780001BD -// CHECK:STDOUT: 2: inst780001BE +// CHECK:STDOUT: 0: inst7800018D +// CHECK:STDOUT: 1: inst780001BC +// CHECK:STDOUT: 2: inst780001BD // CHECK:STDOUT: inst_block7800006F: -// CHECK:STDOUT: 0: inst7800018E -// CHECK:STDOUT: 1: inst7800018F -// CHECK:STDOUT: 2: inst780001C2 -// CHECK:STDOUT: 3: inst780001C7 -// CHECK:STDOUT: 4: inst780001C9 -// CHECK:STDOUT: 5: inst780001C6 -// CHECK:STDOUT: 6: inst780001C3 -// CHECK:STDOUT: 7: inst780001C5 +// CHECK:STDOUT: 0: inst7800018D +// CHECK:STDOUT: 1: inst7800018E +// CHECK:STDOUT: 2: inst780001C1 +// CHECK:STDOUT: 3: inst780001C6 +// CHECK:STDOUT: 4: inst780001C8 +// CHECK:STDOUT: 5: inst780001C5 +// CHECK:STDOUT: 6: inst780001C2 +// CHECK:STDOUT: 7: inst780001C4 // CHECK:STDOUT: inst_block78000070: -// CHECK:STDOUT: 0: inst780001AF +// CHECK:STDOUT: 0: inst780001AE // CHECK:STDOUT: inst_block78000071: -// CHECK:STDOUT: 0: inst780001AF +// CHECK:STDOUT: 0: inst780001AE // CHECK:STDOUT: inst_block78000072: -// CHECK:STDOUT: 0: inst780001B1 +// CHECK:STDOUT: 0: inst780001B0 // CHECK:STDOUT: inst_block78000073: -// CHECK:STDOUT: 0: inst780001B1 +// CHECK:STDOUT: 0: inst780001B0 // CHECK:STDOUT: inst_block78000074: -// CHECK:STDOUT: 0: inst780001B3 +// CHECK:STDOUT: 0: inst780001B2 // CHECK:STDOUT: inst_block78000075: -// CHECK:STDOUT: 0: inst780001B3 +// CHECK:STDOUT: 0: inst780001B2 // CHECK:STDOUT: inst_block78000076: -// CHECK:STDOUT: 0: inst780001CC -// CHECK:STDOUT: 1: inst780001CD -// CHECK:STDOUT: 2: inst780001CE -// CHECK:STDOUT: 3: inst780001CF -// CHECK:STDOUT: 4: inst780001D0 -// CHECK:STDOUT: 5: inst780001D1 -// CHECK:STDOUT: 6: inst780001D2 -// CHECK:STDOUT: 7: inst780001D3 -// CHECK:STDOUT: 8: inst780001D4 -// CHECK:STDOUT: 9: inst780001D5 -// CHECK:STDOUT: 10: inst780001D6 -// CHECK:STDOUT: 11: inst780001D7 -// CHECK:STDOUT: 12: inst780001D8 -// CHECK:STDOUT: 13: inst780001D9 -// CHECK:STDOUT: 14: inst780001DA -// CHECK:STDOUT: 15: inst780001DB -// CHECK:STDOUT: 16: inst780001DC -// CHECK:STDOUT: 17: inst780001DD -// CHECK:STDOUT: 18: inst780001DE +// CHECK:STDOUT: 0: inst780001CB +// CHECK:STDOUT: 1: inst780001CC +// CHECK:STDOUT: 2: inst780001CD +// CHECK:STDOUT: 3: inst780001CE +// CHECK:STDOUT: 4: inst780001CF +// CHECK:STDOUT: 5: inst780001D0 +// CHECK:STDOUT: 6: inst780001D1 +// CHECK:STDOUT: 7: inst780001D2 +// CHECK:STDOUT: 8: inst780001D3 +// CHECK:STDOUT: 9: inst780001D4 +// CHECK:STDOUT: 10: inst780001D5 +// CHECK:STDOUT: 11: inst780001D6 +// CHECK:STDOUT: 12: inst780001D7 +// CHECK:STDOUT: 13: inst780001D8 +// CHECK:STDOUT: 14: inst780001D9 +// CHECK:STDOUT: 15: inst780001DA +// CHECK:STDOUT: 16: inst780001DB +// CHECK:STDOUT: 17: inst780001DC +// CHECK:STDOUT: 18: inst780001DD // CHECK:STDOUT: inst_block78000077: -// CHECK:STDOUT: 0: inst7800008B -// CHECK:STDOUT: 1: inst7800008C -// CHECK:STDOUT: 2: inst7800012F -// CHECK:STDOUT: 3: inst78000130 -// CHECK:STDOUT: 4: inst7800018E -// CHECK:STDOUT: 5: inst7800018F -// CHECK:STDOUT: 6: inst78000190 -// CHECK:STDOUT: 7: inst78000198 -// CHECK:STDOUT: 8: inst7800019F -// CHECK:STDOUT: 9: inst780001A1 -// CHECK:STDOUT: 10: inst780001A3 -// CHECK:STDOUT: 11: inst78000199 -// CHECK:STDOUT: 12: inst7800019E +// CHECK:STDOUT: 0: inst7800008A +// CHECK:STDOUT: 1: inst7800008B +// CHECK:STDOUT: 2: inst7800012E +// CHECK:STDOUT: 3: inst7800012F +// CHECK:STDOUT: 4: inst7800018D +// CHECK:STDOUT: 5: inst7800018E +// CHECK:STDOUT: 6: inst7800018F +// CHECK:STDOUT: 7: inst78000197 +// CHECK:STDOUT: 8: inst7800019E +// CHECK:STDOUT: 9: inst780001A0 +// CHECK:STDOUT: 10: inst780001A2 +// CHECK:STDOUT: 11: inst78000198 +// CHECK:STDOUT: 12: inst7800019D // CHECK:STDOUT: inst_block78000078: -// CHECK:STDOUT: 0: inst780001E1 -// CHECK:STDOUT: 1: inst780001E2 -// CHECK:STDOUT: 2: inst780001E3 +// CHECK:STDOUT: 0: inst780001E0 +// CHECK:STDOUT: 1: inst780001E1 +// CHECK:STDOUT: 2: inst780001E2 // CHECK:STDOUT: inst_block78000079: -// CHECK:STDOUT: 0: inst780001E7 -// CHECK:STDOUT: 1: inst780001E8 -// CHECK:STDOUT: 2: inst780001E9 +// CHECK:STDOUT: 0: inst780001E6 +// CHECK:STDOUT: 1: inst780001E7 +// CHECK:STDOUT: 2: inst780001E8 // CHECK:STDOUT: inst_block7800007A: -// CHECK:STDOUT: 0: inst780001EB -// CHECK:STDOUT: 1: inst780001ED -// CHECK:STDOUT: 2: inst780001EF -// CHECK:STDOUT: inst_block7800007B: -// CHECK:STDOUT: 0: inst780001F1 -// CHECK:STDOUT: 1: inst780001F2 -// CHECK:STDOUT: 2: inst780001F3 -// CHECK:STDOUT: inst_block7800007C: -// CHECK:STDOUT: 0: inst780001EB -// CHECK:STDOUT: 1: inst780001ED -// CHECK:STDOUT: 2: inst780001EF -// CHECK:STDOUT: inst_block7800007D: // CHECK:STDOUT: 0: inst780001EA -// CHECK:STDOUT: 1: inst780001EB -// CHECK:STDOUT: 2: inst780001EC -// CHECK:STDOUT: 3: inst780001ED -// CHECK:STDOUT: 4: inst780001EE -// CHECK:STDOUT: 5: inst780001EF -// CHECK:STDOUT: 6: inst780001F0 -// CHECK:STDOUT: 7: inst780001F1 -// CHECK:STDOUT: 8: inst780001F2 -// CHECK:STDOUT: 9: inst780001F3 -// CHECK:STDOUT: 10: inst780001F4 -// CHECK:STDOUT: 11: inst780001F5 -// CHECK:STDOUT: 12: inst780001F6 +// CHECK:STDOUT: 1: inst780001EC +// CHECK:STDOUT: 2: inst780001EE +// CHECK:STDOUT: inst_block7800007B: +// CHECK:STDOUT: 0: inst780001F0 +// CHECK:STDOUT: 1: inst780001F1 +// CHECK:STDOUT: 2: inst780001F2 +// CHECK:STDOUT: inst_block7800007C: +// CHECK:STDOUT: 0: inst780001EA +// CHECK:STDOUT: 1: inst780001EC +// CHECK:STDOUT: 2: inst780001EE +// CHECK:STDOUT: inst_block7800007D: +// CHECK:STDOUT: 0: inst780001E9 +// CHECK:STDOUT: 1: inst780001EA +// CHECK:STDOUT: 2: inst780001EB +// CHECK:STDOUT: 3: inst780001EC +// CHECK:STDOUT: 4: inst780001ED +// CHECK:STDOUT: 5: inst780001EE +// CHECK:STDOUT: 6: inst780001EF +// CHECK:STDOUT: 7: inst780001F0 +// CHECK:STDOUT: 8: inst780001F1 +// CHECK:STDOUT: 9: inst780001F2 +// CHECK:STDOUT: 10: inst780001F3 +// CHECK:STDOUT: 11: inst780001F4 +// CHECK:STDOUT: 12: inst780001F5 // CHECK:STDOUT: inst_block7800007E: -// CHECK:STDOUT: 0: inst780001EB -// CHECK:STDOUT: 1: inst780001ED -// CHECK:STDOUT: 2: inst780001EF +// CHECK:STDOUT: 0: inst780001EA +// CHECK:STDOUT: 1: inst780001EC +// CHECK:STDOUT: 2: inst780001EE // CHECK:STDOUT: inst_block7800007F: -// CHECK:STDOUT: 0: inst780001F7 -// CHECK:STDOUT: 1: inst780001F8 +// CHECK:STDOUT: 0: inst780001F6 +// CHECK:STDOUT: 1: inst780001F7 // CHECK:STDOUT: inst_block78000080: -// CHECK:STDOUT: 0: inst78000101 -// CHECK:STDOUT: 1: inst78000102 -// CHECK:STDOUT: 2: inst7800004D +// CHECK:STDOUT: 0: inst78000100 +// CHECK:STDOUT: 1: inst78000101 +// CHECK:STDOUT: 2: inst7800004C // CHECK:STDOUT: inst_block78000081: -// CHECK:STDOUT: 0: inst7800001D +// CHECK:STDOUT: 0: inst7800001C // CHECK:STDOUT: inst_block78000082: -// CHECK:STDOUT: 0: inst780001F9 +// CHECK:STDOUT: 0: inst780001F8 // CHECK:STDOUT: inst_block78000083: -// CHECK:STDOUT: 0: inst780001FD +// CHECK:STDOUT: 0: inst780001FC // CHECK:STDOUT: inst_block78000084: -// CHECK:STDOUT: 0: inst780001FD -// CHECK:STDOUT: 1: inst780001FE -// CHECK:STDOUT: 2: inst780001FF +// CHECK:STDOUT: 0: inst780001FC +// CHECK:STDOUT: 1: inst780001FD +// CHECK:STDOUT: 2: inst780001FE // CHECK:STDOUT: inst_block78000085: -// CHECK:STDOUT: 0: inst78000203 +// CHECK:STDOUT: 0: inst78000202 // CHECK:STDOUT: inst_block78000086: -// CHECK:STDOUT: 0: inst78000204 +// CHECK:STDOUT: 0: inst78000203 // CHECK:STDOUT: inst_block78000087: -// CHECK:STDOUT: 0: inst780001FD -// CHECK:STDOUT: 1: inst78000020 -// CHECK:STDOUT: 2: inst78000022 -// CHECK:STDOUT: 3: inst78000106 -// CHECK:STDOUT: 4: inst78000108 -// CHECK:STDOUT: 5: inst7800010A -// CHECK:STDOUT: 6: inst78000103 -// CHECK:STDOUT: 7: inst78000105 +// CHECK:STDOUT: 0: inst780001FC +// CHECK:STDOUT: 1: inst7800001F +// CHECK:STDOUT: 2: inst78000021 +// CHECK:STDOUT: 3: inst78000105 +// CHECK:STDOUT: 4: inst78000107 +// CHECK:STDOUT: 5: inst78000109 +// CHECK:STDOUT: 6: inst78000102 +// CHECK:STDOUT: 7: inst78000104 // CHECK:STDOUT: inst_block78000088: -// CHECK:STDOUT: 0: inst78000204 +// CHECK:STDOUT: 0: inst78000203 // CHECK:STDOUT: inst_block78000089: -// CHECK:STDOUT: 0: inst78000053 +// CHECK:STDOUT: 0: inst78000052 // CHECK:STDOUT: inst_block7800008A: -// CHECK:STDOUT: 0: inst78000216 -// CHECK:STDOUT: 1: inst7800021A +// CHECK:STDOUT: 0: inst78000215 +// CHECK:STDOUT: 1: inst78000219 // CHECK:STDOUT: inst_block7800008B: -// CHECK:STDOUT: 0: inst7800004E -// CHECK:STDOUT: 1: inst78000052 -// CHECK:STDOUT: 2: inst780001FC -// CHECK:STDOUT: 3: inst78000203 -// CHECK:STDOUT: 4: inst78000204 -// CHECK:STDOUT: 5: inst78000205 -// CHECK:STDOUT: 6: inst78000206 -// CHECK:STDOUT: 7: inst78000207 -// CHECK:STDOUT: 8: inst78000213 +// CHECK:STDOUT: 0: inst7800004D +// CHECK:STDOUT: 1: inst78000051 +// CHECK:STDOUT: 2: inst780001FB +// CHECK:STDOUT: 3: inst78000202 +// CHECK:STDOUT: 4: inst78000203 +// CHECK:STDOUT: 5: inst78000204 +// CHECK:STDOUT: 6: inst78000205 +// CHECK:STDOUT: 7: inst78000206 +// CHECK:STDOUT: 8: inst78000212 // CHECK:STDOUT: inst_block7800008C: -// CHECK:STDOUT: 0: inst10 +// CHECK:STDOUT: 0: inst(Package) // CHECK:STDOUT: 1: inst78000011 -// CHECK:STDOUT: 2: inst78000049 +// CHECK:STDOUT: 2: inst78000048 // 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 74a9f94e86fb..ed463296c9a5 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 @@ -31,7 +31,7 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: default_values: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst10, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst5000002F}} +// CHECK:STDOUT: name_scope0: {inst: inst(Package), parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: inst5000002F}} // 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: inst50000014} // CHECK:STDOUT: functions: @@ -91,9 +91,11 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: declared_facet_types: {} +// CHECK:STDOUT: declared_facet_types: +// CHECK:STDOUT: 'declared_facet_type(Empty)': {} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst10: {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} +// 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: inst50000011: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} // CHECK:STDOUT: inst50000012: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst50000011)} // CHECK:STDOUT: inst50000013: {kind: TupleValue, arg0: inst_block_empty, type: type(inst50000011)} @@ -144,7 +146,8 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst10: concrete_constant(inst10) +// 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) @@ -254,7 +257,7 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: 0: inst50000038 // CHECK:STDOUT: 1: inst5000003C // CHECK:STDOUT: inst_block50000012: -// CHECK:STDOUT: 0: inst10 +// CHECK:STDOUT: 0: inst(Package) // CHECK:STDOUT: 1: inst5000002F // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: @@ -269,6 +272,7 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: --- one_file_with_textual_ir.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/builtins/bool/eq.carbon b/toolchain/check/testdata/builtins/bool/eq.carbon index 0e0456babe62..c93b1834a005 100644 --- a/toolchain/check/testdata/builtins/bool/eq.carbon +++ b/toolchain/check/testdata/builtins/bool/eq.carbon @@ -47,6 +47,7 @@ var d: C(false == false) = True(); // CHECK:STDOUT: --- builtin_call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Eq.type: type = fn_type @Eq [concrete] // CHECK:STDOUT: %Eq: %Eq.type = struct_value () [concrete] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] @@ -91,6 +92,7 @@ var d: C(false == false) = True(); // CHECK:STDOUT: --- prelude.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] // CHECK:STDOUT: %true: bool = bool_literal true [concrete] diff --git a/toolchain/check/testdata/builtins/bool/make_type.carbon b/toolchain/check/testdata/builtins/bool/make_type.carbon index 82cdc6e70981..9d518ce2d3fb 100644 --- a/toolchain/check/testdata/builtins/bool/make_type.carbon +++ b/toolchain/check/testdata/builtins/bool/make_type.carbon @@ -29,6 +29,7 @@ let b: Bool() = false; // CHECK:STDOUT: --- use_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] // CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] diff --git a/toolchain/check/testdata/builtins/bool/neq.carbon b/toolchain/check/testdata/builtins/bool/neq.carbon index 5e96b97150c8..a314641583b1 100644 --- a/toolchain/check/testdata/builtins/bool/neq.carbon +++ b/toolchain/check/testdata/builtins/bool/neq.carbon @@ -47,6 +47,7 @@ var d: C(false != false) = False(); // CHECK:STDOUT: --- builtin_call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Neq.type: type = fn_type @Neq [concrete] // CHECK:STDOUT: %Neq: %Neq.type = struct_value () [concrete] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] @@ -92,6 +93,7 @@ var d: C(false != false) = False(); // CHECK:STDOUT: --- prelude.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] // CHECK:STDOUT: %true: bool = bool_literal true [concrete] diff --git a/toolchain/check/testdata/builtins/char_literal/add.carbon b/toolchain/check/testdata/builtins/char_literal/add.carbon index 119f10bc343f..4e9d50ca44dd 100644 --- a/toolchain/check/testdata/builtins/char_literal/add.carbon +++ b/toolchain/check/testdata/builtins/char_literal/add.carbon @@ -75,6 +75,7 @@ let c: CharLiteral = AddCharInt('a', Negate(98)); // CHECK:STDOUT: --- success.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.8c6: type = pattern_type Core.CharLiteral [concrete] // CHECK:STDOUT: %AddCharInt.type: type = fn_type @AddCharInt [concrete] // CHECK:STDOUT: %AddCharInt: %AddCharInt.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/char_literal/convert_char.carbon b/toolchain/check/testdata/builtins/char_literal/convert_char.carbon index cc63ac6fd191..02038881403b 100644 --- a/toolchain/check/testdata/builtins/char_literal/convert_char.carbon +++ b/toolchain/check/testdata/builtins/char_literal/convert_char.carbon @@ -96,6 +96,7 @@ let c: UInt(8) = ToChar('\u{1E15}'); // CHECK:STDOUT: --- narrow.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %UInt.type: type = fn_type @UInt [concrete] // CHECK:STDOUT: %UInt: %UInt.type = struct_value () [concrete] // CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete] diff --git a/toolchain/check/testdata/builtins/char_literal/convert_int.carbon b/toolchain/check/testdata/builtins/char_literal/convert_int.carbon index db2e24ae9c91..36301a89b90b 100644 --- a/toolchain/check/testdata/builtins/char_literal/convert_int.carbon +++ b/toolchain/check/testdata/builtins/char_literal/convert_int.carbon @@ -61,6 +61,7 @@ let g: u8 = ConvertToU8('\u{100}'); // CHECK:STDOUT: --- success.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] diff --git a/toolchain/check/testdata/builtins/char_literal/eq.carbon b/toolchain/check/testdata/builtins/char_literal/eq.carbon index 56ee66837fe4..d21e73c9c185 100644 --- a/toolchain/check/testdata/builtins/char_literal/eq.carbon +++ b/toolchain/check/testdata/builtins/char_literal/eq.carbon @@ -25,6 +25,7 @@ let b: bool = Eq('a', 'b'); // CHECK:STDOUT: --- eq.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %Eq.type: type = fn_type @Eq [concrete] // CHECK:STDOUT: %Eq: %Eq.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/char_literal/greater.carbon b/toolchain/check/testdata/builtins/char_literal/greater.carbon index 7363a6757ad7..2ec87abb2032 100644 --- a/toolchain/check/testdata/builtins/char_literal/greater.carbon +++ b/toolchain/check/testdata/builtins/char_literal/greater.carbon @@ -25,6 +25,7 @@ let b: bool = Greater('a', 'b'); // CHECK:STDOUT: --- greater.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %Greater.type: type = fn_type @Greater [concrete] // CHECK:STDOUT: %Greater: %Greater.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/char_literal/greater_eq.carbon b/toolchain/check/testdata/builtins/char_literal/greater_eq.carbon index 1ce15bb42f1c..76a1c0a6f424 100644 --- a/toolchain/check/testdata/builtins/char_literal/greater_eq.carbon +++ b/toolchain/check/testdata/builtins/char_literal/greater_eq.carbon @@ -26,6 +26,7 @@ let c: bool = GreaterEq('a', 'b'); // CHECK:STDOUT: --- greater_eq.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %GreaterEq.type: type = fn_type @GreaterEq [concrete] // CHECK:STDOUT: %GreaterEq: %GreaterEq.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/char_literal/less.carbon b/toolchain/check/testdata/builtins/char_literal/less.carbon index 53ba2685e024..5b5167081a4f 100644 --- a/toolchain/check/testdata/builtins/char_literal/less.carbon +++ b/toolchain/check/testdata/builtins/char_literal/less.carbon @@ -25,6 +25,7 @@ let b: bool = Less('b', 'a'); // CHECK:STDOUT: --- less.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %Less.type: type = fn_type @Less [concrete] // CHECK:STDOUT: %Less: %Less.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/char_literal/less_eq.carbon b/toolchain/check/testdata/builtins/char_literal/less_eq.carbon index 73a81d9bb3b0..a59dcf058d89 100644 --- a/toolchain/check/testdata/builtins/char_literal/less_eq.carbon +++ b/toolchain/check/testdata/builtins/char_literal/less_eq.carbon @@ -26,6 +26,7 @@ let c: bool = LessEq('b', 'a'); // CHECK:STDOUT: --- less_eq.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %LessEq.type: type = fn_type @LessEq [concrete] // CHECK:STDOUT: %LessEq: %LessEq.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/char_literal/make_type.carbon b/toolchain/check/testdata/builtins/char_literal/make_type.carbon index ecc1254a3b9d..774ffe92e420 100644 --- a/toolchain/check/testdata/builtins/char_literal/make_type.carbon +++ b/toolchain/check/testdata/builtins/char_literal/make_type.carbon @@ -32,6 +32,7 @@ let not_8_bit: CharLiteral = '\u{1E15}'; // CHECK:STDOUT: --- use_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type Core.CharLiteral [concrete] // CHECK:STDOUT: %ascii_x.patt: %pattern_type = value_binding_pattern ascii_x [concrete] // CHECK:STDOUT: %.4ac: Core.CharLiteral = char_value U+0078 [concrete] diff --git a/toolchain/check/testdata/builtins/char_literal/neq.carbon b/toolchain/check/testdata/builtins/char_literal/neq.carbon index 1dc3fe6ffc2a..87ae9efeade9 100644 --- a/toolchain/check/testdata/builtins/char_literal/neq.carbon +++ b/toolchain/check/testdata/builtins/char_literal/neq.carbon @@ -25,6 +25,7 @@ let b: bool = Neq('a', 'a'); // CHECK:STDOUT: --- neq.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %Neq.type: type = fn_type @Neq [concrete] // CHECK:STDOUT: %Neq: %Neq.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/char_literal/sub_char.carbon b/toolchain/check/testdata/builtins/char_literal/sub_char.carbon index a1ee3ebc666c..235d6a448e13 100644 --- a/toolchain/check/testdata/builtins/char_literal/sub_char.carbon +++ b/toolchain/check/testdata/builtins/char_literal/sub_char.carbon @@ -32,6 +32,7 @@ let min: i32 = SubCharCharToI32('\u{0}', '\u{10FFFF}'); // CHECK:STDOUT: --- sub_char.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] // CHECK:STDOUT: %SubCharCharToIntLiteral.type: type = fn_type @SubCharCharToIntLiteral [concrete] // CHECK:STDOUT: %SubCharCharToIntLiteral: %SubCharCharToIntLiteral.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/char_literal/sub_int.carbon b/toolchain/check/testdata/builtins/char_literal/sub_int.carbon index a91b4d0a28f5..0869d84cc4ab 100644 --- a/toolchain/check/testdata/builtins/char_literal/sub_int.carbon +++ b/toolchain/check/testdata/builtins/char_literal/sub_int.carbon @@ -57,6 +57,7 @@ let b: CharLiteral = SubCharInt('\u{10FFFF}', Negate(1)); // CHECK:STDOUT: --- success.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.8c6: type = pattern_type Core.CharLiteral [concrete] // CHECK:STDOUT: %SubCharInt.type: type = fn_type @SubCharInt [concrete] // CHECK:STDOUT: %SubCharInt: %SubCharInt.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/float/add.carbon b/toolchain/check/testdata/builtins/float/add.carbon index 495983d51dc4..d6e39fd2a576 100644 --- a/toolchain/check/testdata/builtins/float/add.carbon +++ b/toolchain/check/testdata/builtins/float/add.carbon @@ -60,6 +60,7 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: --- float_add.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Add.type: type = fn_type @Add [concrete] diff --git a/toolchain/check/testdata/builtins/float/convert.carbon b/toolchain/check/testdata/builtins/float/convert.carbon index 501b78737839..ad2e67184b17 100644 --- a/toolchain/check/testdata/builtins/float/convert.carbon +++ b/toolchain/check/testdata/builtins/float/convert.carbon @@ -122,6 +122,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: --- identity_literal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type Core.FloatLiteral [concrete] // CHECK:STDOUT: %f.patt: %pattern_type = value_binding_pattern f [concrete] // CHECK:STDOUT: %FloatLiteralToFloatLiteral.type: type = fn_type @FloatLiteralToFloatLiteral [concrete] @@ -155,6 +156,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: --- literal_f64.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %pattern_type.fb7: type = pattern_type %f64.dc1 [concrete] @@ -229,6 +231,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: --- literal_f32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %f32.c73: type = class_type @Float, @Float(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.240: type = pattern_type %f32.c73 [concrete] @@ -303,6 +306,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: --- identity_f64.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %pattern_type.fb7: type = pattern_type %f64.dc1 [concrete] @@ -404,6 +408,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: --- identity_f32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %f32.c73: type = class_type @Float, @Float(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.240: type = pattern_type %f32.c73 [concrete] @@ -505,6 +510,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: --- truncate.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %f32.c73: type = class_type @Float, @Float(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.240: type = pattern_type %f32.c73 [concrete] @@ -588,6 +594,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: --- extend.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %pattern_type.fb7: type = pattern_type %f64.dc1 [concrete] diff --git a/toolchain/check/testdata/builtins/float/convert_checked.carbon b/toolchain/check/testdata/builtins/float/convert_checked.carbon index e4076d6e8fbb..b862ddb3683b 100644 --- a/toolchain/check/testdata/builtins/float/convert_checked.carbon +++ b/toolchain/check/testdata/builtins/float/convert_checked.carbon @@ -158,6 +158,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: --- identity_literal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type Core.FloatLiteral [concrete] // CHECK:STDOUT: %f.patt: %pattern_type = value_binding_pattern f [concrete] // CHECK:STDOUT: %FloatLiteralToFloatLiteral.type: type = fn_type @FloatLiteralToFloatLiteral [concrete] @@ -191,6 +192,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: --- literal_f64.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %pattern_type.fb7: type = pattern_type %f64.dc1 [concrete] @@ -252,6 +254,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: --- literal_f32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %f32.c73: type = class_type @Float, @Float(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.240: type = pattern_type %f32.c73 [concrete] @@ -313,6 +316,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: --- identity_f64.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %pattern_type.fb7: type = pattern_type %f64.dc1 [concrete] @@ -414,6 +418,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: --- identity_f32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %f32.c73: type = class_type @Float, @Float(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.240: type = pattern_type %f32.c73 [concrete] @@ -515,6 +520,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: --- truncate.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %f32.c73: type = class_type @Float, @Float(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.240: type = pattern_type %f32.c73 [concrete] @@ -575,6 +581,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: --- fail_truncate_overflow.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %f32.c73: type = class_type @Float, @Float(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.240: type = pattern_type %f32.c73 [concrete] @@ -665,6 +672,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: --- extend.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %pattern_type.fb7: type = pattern_type %f64.dc1 [concrete] @@ -748,6 +756,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: --- fail_not_constant.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %pattern_type.fb7: type = pattern_type %f64.dc1 [concrete] diff --git a/toolchain/check/testdata/builtins/float/convert_int.carbon b/toolchain/check/testdata/builtins/float/convert_int.carbon index 23f4faacfa5b..157e6627e3a4 100644 --- a/toolchain/check/testdata/builtins/float/convert_int.carbon +++ b/toolchain/check/testdata/builtins/float/convert_int.carbon @@ -219,6 +219,7 @@ let inf_val: i32 = ConvertF64ToI32(Div(1.0, 0.0)); // CHECK:STDOUT: --- fail_overflow.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -518,6 +519,7 @@ let inf_val: i32 = ConvertF64ToI32(Div(1.0, 0.0)); // CHECK:STDOUT: --- fail_nan_inf.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] diff --git a/toolchain/check/testdata/builtins/float/div.carbon b/toolchain/check/testdata/builtins/float/div.carbon index 159f53d2519e..7166c5055de3 100644 --- a/toolchain/check/testdata/builtins/float/div.carbon +++ b/toolchain/check/testdata/builtins/float/div.carbon @@ -82,6 +82,7 @@ fn DivLiteral(a: Literal(), b: Literal()) -> Literal() = "float.div"; // CHECK:STDOUT: --- float_div.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Div.type: type = fn_type @Div [concrete] diff --git a/toolchain/check/testdata/builtins/float/eq.carbon b/toolchain/check/testdata/builtins/float/eq.carbon index f2f6208471e0..bc5629eb6818 100644 --- a/toolchain/check/testdata/builtins/float/eq.carbon +++ b/toolchain/check/testdata/builtins/float/eq.carbon @@ -51,6 +51,7 @@ fn Eq(a: Core.FloatLiteral, b: Core.FloatLiteral) -> bool = "float.eq"; // CHECK:STDOUT: --- float_eq.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Eq.type: type = fn_type @Eq [concrete] diff --git a/toolchain/check/testdata/builtins/float/greater.carbon b/toolchain/check/testdata/builtins/float/greater.carbon index d0b48f0d6465..2461f0ceae9d 100644 --- a/toolchain/check/testdata/builtins/float/greater.carbon +++ b/toolchain/check/testdata/builtins/float/greater.carbon @@ -35,6 +35,7 @@ fn RuntimeCallIsValid(a: f64, b: f64) -> bool { // CHECK:STDOUT: --- float_greater.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Greater.type: type = fn_type @Greater [concrete] diff --git a/toolchain/check/testdata/builtins/float/greater_eq.carbon b/toolchain/check/testdata/builtins/float/greater_eq.carbon index 630d9ffe3381..c8c7f038853b 100644 --- a/toolchain/check/testdata/builtins/float/greater_eq.carbon +++ b/toolchain/check/testdata/builtins/float/greater_eq.carbon @@ -35,6 +35,7 @@ fn RuntimeCallIsValid(a: f64, b: f64) -> bool { // CHECK:STDOUT: --- float_greater_eq.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %GreaterEq.type: type = fn_type @GreaterEq [concrete] diff --git a/toolchain/check/testdata/builtins/float/less.carbon b/toolchain/check/testdata/builtins/float/less.carbon index 382ff2db3e40..3b3a079347aa 100644 --- a/toolchain/check/testdata/builtins/float/less.carbon +++ b/toolchain/check/testdata/builtins/float/less.carbon @@ -35,6 +35,7 @@ fn RuntimeCallIsValid(a: f64, b: f64) -> bool { // CHECK:STDOUT: --- float_less.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Less.type: type = fn_type @Less [concrete] diff --git a/toolchain/check/testdata/builtins/float/less_eq.carbon b/toolchain/check/testdata/builtins/float/less_eq.carbon index f14a99629001..8c50eb855a0c 100644 --- a/toolchain/check/testdata/builtins/float/less_eq.carbon +++ b/toolchain/check/testdata/builtins/float/less_eq.carbon @@ -45,6 +45,7 @@ fn LessEq(a: Core.FloatLiteral, b: Core.FloatLiteral) -> bool = "float.less_eq"; // CHECK:STDOUT: --- float_less_eq.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %LessEq.type: type = fn_type @LessEq [concrete] diff --git a/toolchain/check/testdata/builtins/float/make_type.carbon b/toolchain/check/testdata/builtins/float/make_type.carbon index 3e9beece3a33..e3fdbd87f712 100644 --- a/toolchain/check/testdata/builtins/float/make_type.carbon +++ b/toolchain/check/testdata/builtins/float/make_type.carbon @@ -61,6 +61,7 @@ var dyn: Float(dyn_size); // CHECK:STDOUT: --- use_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Float.type: type = fn_type @Float [concrete] // CHECK:STDOUT: %Float: %Float.type = struct_value () [concrete] // CHECK:STDOUT: %int_32.be0: Core.IntLiteral = int_value 32 [concrete] diff --git a/toolchain/check/testdata/builtins/float/mul.carbon b/toolchain/check/testdata/builtins/float/mul.carbon index eaffd52a57bb..06c98bfc4a86 100644 --- a/toolchain/check/testdata/builtins/float/mul.carbon +++ b/toolchain/check/testdata/builtins/float/mul.carbon @@ -80,6 +80,7 @@ fn MulLiteral(a: Literal(), b: Literal()) -> Literal() = "float.mul"; // CHECK:STDOUT: --- mul_sub.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Mul.type: type = fn_type @Mul [concrete] diff --git a/toolchain/check/testdata/builtins/float/negate.carbon b/toolchain/check/testdata/builtins/float/negate.carbon index 60ef206acedc..8a91b68ba654 100644 --- a/toolchain/check/testdata/builtins/float/negate.carbon +++ b/toolchain/check/testdata/builtins/float/negate.carbon @@ -69,6 +69,7 @@ fn RuntimeCallIsValidBadReturnType(a: f64) -> bool { // CHECK:STDOUT: --- float_negate.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Negate.type: type = fn_type @Negate [concrete] diff --git a/toolchain/check/testdata/builtins/float/neq.carbon b/toolchain/check/testdata/builtins/float/neq.carbon index cc2cfea1615d..7c57b37c5737 100644 --- a/toolchain/check/testdata/builtins/float/neq.carbon +++ b/toolchain/check/testdata/builtins/float/neq.carbon @@ -43,6 +43,7 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq"; // CHECK:STDOUT: --- float_neq.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Neq.type: type = fn_type @Neq [concrete] diff --git a/toolchain/check/testdata/builtins/float/sub.carbon b/toolchain/check/testdata/builtins/float/sub.carbon index 441ae0816224..6c2512602789 100644 --- a/toolchain/check/testdata/builtins/float/sub.carbon +++ b/toolchain/check/testdata/builtins/float/sub.carbon @@ -69,6 +69,7 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: --- float_sub.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Sub.type: type = fn_type @Sub [concrete] diff --git a/toolchain/check/testdata/builtins/float_literal/add.carbon b/toolchain/check/testdata/builtins/float_literal/add.carbon index 2ae3c61a0897..eb5fe48717c1 100644 --- a/toolchain/check/testdata/builtins/float_literal/add.carbon +++ b/toolchain/check/testdata/builtins/float_literal/add.carbon @@ -52,6 +52,7 @@ fn F(){ // CHECK:STDOUT: --- float_literal_add.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.dab: type = pattern_type Core.FloatLiteral [concrete] // CHECK:STDOUT: %Add.type: type = fn_type @Add [concrete] // CHECK:STDOUT: %Add: %Add.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/float_literal/make_type.carbon b/toolchain/check/testdata/builtins/float_literal/make_type.carbon index 9075205076a1..bde3e934b428 100644 --- a/toolchain/check/testdata/builtins/float_literal/make_type.carbon +++ b/toolchain/check/testdata/builtins/float_literal/make_type.carbon @@ -30,6 +30,7 @@ let f: FloatLiteral = 1.0; // CHECK:STDOUT: --- use_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type Core.FloatLiteral [concrete] // CHECK:STDOUT: %f.patt: %pattern_type = value_binding_pattern f [concrete] // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete] diff --git a/toolchain/check/testdata/builtins/float_literal/negate.carbon b/toolchain/check/testdata/builtins/float_literal/negate.carbon index 0dcde48eda3f..75c0a93b5040 100644 --- a/toolchain/check/testdata/builtins/float_literal/negate.carbon +++ b/toolchain/check/testdata/builtins/float_literal/negate.carbon @@ -31,6 +31,7 @@ let v6: Core.FloatLiteral = Negate(Negate(0.0)); // CHECK:STDOUT: --- negate.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type Core.FloatLiteral [concrete] // CHECK:STDOUT: %Negate.type: type = fn_type @Negate [concrete] // CHECK:STDOUT: %Negate: %Negate.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/float_literal/sub.carbon b/toolchain/check/testdata/builtins/float_literal/sub.carbon index 305cd6f64639..f7da42e30073 100644 --- a/toolchain/check/testdata/builtins/float_literal/sub.carbon +++ b/toolchain/check/testdata/builtins/float_literal/sub.carbon @@ -53,6 +53,7 @@ let v1: Core.FloatLiteral = Sub(0x1.0p1024000000000, 0.0000000000000000001); // CHECK:STDOUT: --- float_literal_sub.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.dab: type = pattern_type Core.FloatLiteral [concrete] // CHECK:STDOUT: %Sub.type: type = fn_type @Sub [concrete] // CHECK:STDOUT: %Sub: %Sub.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/form/make_type.carbon b/toolchain/check/testdata/builtins/form/make_type.carbon index 8db3a8196d01..ed05ec225b25 100644 --- a/toolchain/check/testdata/builtins/form/make_type.carbon +++ b/toolchain/check/testdata/builtins/form/make_type.carbon @@ -30,6 +30,7 @@ let f: Form = form(var ()); // CHECK:STDOUT: --- use_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type Core.Form [concrete] // CHECK:STDOUT: %f.patt: %pattern_type = value_binding_pattern f [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/builtins/int/add_char_literal.carbon b/toolchain/check/testdata/builtins/int/add_char_literal.carbon index 45db50f701cd..b178416ff7ec 100644 --- a/toolchain/check/testdata/builtins/int/add_char_literal.carbon +++ b/toolchain/check/testdata/builtins/int/add_char_literal.carbon @@ -75,6 +75,7 @@ let c: CharLiteral = AddIntChar(Negate(98), 'a'); // CHECK:STDOUT: --- success.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.8c6: type = pattern_type Core.CharLiteral [concrete] // CHECK:STDOUT: %AddIntChar.type: type = fn_type @AddIntChar [concrete] // CHECK:STDOUT: %AddIntChar: %AddIntChar.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/int/and.carbon b/toolchain/check/testdata/builtins/int/and.carbon index 419bdc0065f3..4c5da6317150 100644 --- a/toolchain/check/testdata/builtins/int/and.carbon +++ b/toolchain/check/testdata/builtins/int/and.carbon @@ -126,6 +126,7 @@ fn Test(n: Core.IntLiteral) { // CHECK:STDOUT: --- int_and.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %And.type: type = fn_type @And [concrete] diff --git a/toolchain/check/testdata/builtins/int/and_assign.carbon b/toolchain/check/testdata/builtins/int/and_assign.carbon index ae47eeeae510..6a4e3822d700 100644 --- a/toolchain/check/testdata/builtins/int/and_assign.carbon +++ b/toolchain/check/testdata/builtins/int/and_assign.carbon @@ -57,6 +57,7 @@ fn MixedTypes(ref a: i32, b: i64) = "int.and_assign"; // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/complement.carbon b/toolchain/check/testdata/builtins/int/complement.carbon index e63818675975..4d400214e433 100644 --- a/toolchain/check/testdata/builtins/int/complement.carbon +++ b/toolchain/check/testdata/builtins/int/complement.carbon @@ -65,6 +65,7 @@ fn F(a: Core.IntLiteral) -> Core.IntLiteral { // CHECK:STDOUT: --- int_complement.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Complement.type: type = fn_type @Complement [concrete] diff --git a/toolchain/check/testdata/builtins/int/convert.carbon b/toolchain/check/testdata/builtins/int/convert.carbon index 5d18903238c3..b490a5e3abf9 100644 --- a/toolchain/check/testdata/builtins/int/convert.carbon +++ b/toolchain/check/testdata/builtins/int/convert.carbon @@ -290,6 +290,7 @@ fn F() { // CHECK:STDOUT: --- runtime_call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/convert_char_literal.carbon b/toolchain/check/testdata/builtins/int/convert_char_literal.carbon index eb4123e55c91..95f6c1cd7130 100644 --- a/toolchain/check/testdata/builtins/int/convert_char_literal.carbon +++ b/toolchain/check/testdata/builtins/int/convert_char_literal.carbon @@ -61,6 +61,7 @@ let c: CharLiteral = ConvertFromIntLiteral(0x110000); // CHECK:STDOUT: --- success.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.8c6: type = pattern_type Core.CharLiteral [concrete] // CHECK:STDOUT: %ConvertFromIntLiteral.type: type = fn_type @ConvertFromIntLiteral [concrete] // CHECK:STDOUT: %ConvertFromIntLiteral: %ConvertFromIntLiteral.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/int/convert_checked.carbon b/toolchain/check/testdata/builtins/int/convert_checked.carbon index e96efc0ae52f..e3bb6b35c355 100644 --- a/toolchain/check/testdata/builtins/int/convert_checked.carbon +++ b/toolchain/check/testdata/builtins/int/convert_checked.carbon @@ -266,6 +266,7 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: --- runtime_call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.668: type = pattern_type %u32 [concrete] diff --git a/toolchain/check/testdata/builtins/int/convert_float.carbon b/toolchain/check/testdata/builtins/int/convert_float.carbon index 88a53b12f655..1a8cb25075c2 100644 --- a/toolchain/check/testdata/builtins/int/convert_float.carbon +++ b/toolchain/check/testdata/builtins/int/convert_float.carbon @@ -58,6 +58,7 @@ let overflow: f64 = ConvertIntLiteralToF64(1000000000000000000000000000000000000 // CHECK:STDOUT: --- fail_overflow.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %pattern_type.fb7: type = pattern_type %f64.dc1 [concrete] diff --git a/toolchain/check/testdata/builtins/int/convert_float_checked.carbon b/toolchain/check/testdata/builtins/int/convert_float_checked.carbon index 9d322e4988cc..29975da44d7a 100644 --- a/toolchain/check/testdata/builtins/int/convert_float_checked.carbon +++ b/toolchain/check/testdata/builtins/int/convert_float_checked.carbon @@ -46,6 +46,7 @@ let lossy: f32 = ConvertIntLiteralToF32(123456789); // CHECK:STDOUT: --- fail_lossy.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %f32.c73: type = class_type @Float, @Float(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.240: type = pattern_type %f32.c73 [concrete] diff --git a/toolchain/check/testdata/builtins/int/eq.carbon b/toolchain/check/testdata/builtins/int/eq.carbon index b401fb07292e..c22769742475 100644 --- a/toolchain/check/testdata/builtins/int/eq.carbon +++ b/toolchain/check/testdata/builtins/int/eq.carbon @@ -110,6 +110,7 @@ fn Test(n: Core.IntLiteral) { // CHECK:STDOUT: --- int_eq.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Eq.type: type = fn_type @Eq [concrete] diff --git a/toolchain/check/testdata/builtins/int/greater.carbon b/toolchain/check/testdata/builtins/int/greater.carbon index 923ae09134fc..73a744a42d8e 100644 --- a/toolchain/check/testdata/builtins/int/greater.carbon +++ b/toolchain/check/testdata/builtins/int/greater.carbon @@ -35,6 +35,7 @@ fn RuntimeCallIsValid(a: i32, b: i32) -> bool { // CHECK:STDOUT: --- int_greater.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Greater.type: type = fn_type @Greater [concrete] diff --git a/toolchain/check/testdata/builtins/int/greater_eq.carbon b/toolchain/check/testdata/builtins/int/greater_eq.carbon index 7eb1ee90283f..8c75bb9870ce 100644 --- a/toolchain/check/testdata/builtins/int/greater_eq.carbon +++ b/toolchain/check/testdata/builtins/int/greater_eq.carbon @@ -73,6 +73,7 @@ fn F() { // CHECK:STDOUT: --- int_greater_eq.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %GreaterEq.type: type = fn_type @GreaterEq [concrete] diff --git a/toolchain/check/testdata/builtins/int/left_shift.carbon b/toolchain/check/testdata/builtins/int/left_shift.carbon index 84e6152e526f..628fb291d891 100644 --- a/toolchain/check/testdata/builtins/int/left_shift.carbon +++ b/toolchain/check/testdata/builtins/int/left_shift.carbon @@ -231,6 +231,7 @@ let bad4: Core.IntLiteral = LeftShiftOfLit(12, an_i32); // CHECK:STDOUT: --- i32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %LeftShift.type: type = fn_type @LeftShift [concrete] @@ -249,6 +250,7 @@ let bad4: Core.IntLiteral = LeftShiftOfLit(12, an_i32); // CHECK:STDOUT: --- u32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/left_shift_assign.carbon b/toolchain/check/testdata/builtins/int/left_shift_assign.carbon index eac2ca838fe3..7ec18bb6a923 100644 --- a/toolchain/check/testdata/builtins/int/left_shift_assign.carbon +++ b/toolchain/check/testdata/builtins/int/left_shift_assign.carbon @@ -53,6 +53,7 @@ fn NotRef(a: i32, b: i32) = "int.left_shift_assign"; // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/less.carbon b/toolchain/check/testdata/builtins/int/less.carbon index 3a031d2ab47f..9999de790a50 100644 --- a/toolchain/check/testdata/builtins/int/less.carbon +++ b/toolchain/check/testdata/builtins/int/less.carbon @@ -35,6 +35,7 @@ fn RuntimeCallIsValid(a: i32, b: i32) -> bool { // CHECK:STDOUT: --- int_less.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Less.type: type = fn_type @Less [concrete] diff --git a/toolchain/check/testdata/builtins/int/less_eq.carbon b/toolchain/check/testdata/builtins/int/less_eq.carbon index 47c94a9276f2..90bf2f82af71 100644 --- a/toolchain/check/testdata/builtins/int/less_eq.carbon +++ b/toolchain/check/testdata/builtins/int/less_eq.carbon @@ -108,6 +108,7 @@ fn Test(n: Core.IntLiteral) { // CHECK:STDOUT: --- int_less_eq.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %LessEq.type: type = fn_type @LessEq [concrete] diff --git a/toolchain/check/testdata/builtins/int/make_type_signed.carbon b/toolchain/check/testdata/builtins/int/make_type_signed.carbon index 019ba588702e..8278c4a9e424 100644 --- a/toolchain/check/testdata/builtins/int/make_type_signed.carbon +++ b/toolchain/check/testdata/builtins/int/make_type_signed.carbon @@ -106,6 +106,7 @@ var m: Int(1000000000); // CHECK:STDOUT: --- use_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %i64.builtin: type = int_type signed, %int_64 [concrete] // CHECK:STDOUT: %int_13: Core.IntLiteral = int_value 13 [concrete] diff --git a/toolchain/check/testdata/builtins/int/make_type_unsigned.carbon b/toolchain/check/testdata/builtins/int/make_type_unsigned.carbon index f88c279e4495..99832486c0cb 100644 --- a/toolchain/check/testdata/builtins/int/make_type_unsigned.carbon +++ b/toolchain/check/testdata/builtins/int/make_type_unsigned.carbon @@ -88,6 +88,7 @@ var m: UInt(1000000000); // CHECK:STDOUT: --- use_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %u64.builtin: type = int_type unsigned, %int_64 [concrete] // CHECK:STDOUT: %int_13: Core.IntLiteral = int_value 13 [concrete] diff --git a/toolchain/check/testdata/builtins/int/neq.carbon b/toolchain/check/testdata/builtins/int/neq.carbon index 102753bbe5e9..9648ded38e79 100644 --- a/toolchain/check/testdata/builtins/int/neq.carbon +++ b/toolchain/check/testdata/builtins/int/neq.carbon @@ -31,6 +31,7 @@ fn RuntimeCallIsValid(a: i32, b: i32) -> bool { // CHECK:STDOUT: --- int_neq.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Neq.type: type = fn_type @Neq [concrete] diff --git a/toolchain/check/testdata/builtins/int/or.carbon b/toolchain/check/testdata/builtins/int/or.carbon index ddc6aa1a04f3..0b84759a30d3 100644 --- a/toolchain/check/testdata/builtins/int/or.carbon +++ b/toolchain/check/testdata/builtins/int/or.carbon @@ -26,6 +26,7 @@ fn RuntimeCallIsValid(a: i32, b: i32) -> i32 { // CHECK:STDOUT: --- int_or.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Or.type: type = fn_type @Or [concrete] diff --git a/toolchain/check/testdata/builtins/int/or_assign.carbon b/toolchain/check/testdata/builtins/int/or_assign.carbon index c21d742dcb9d..690487400584 100644 --- a/toolchain/check/testdata/builtins/int/or_assign.carbon +++ b/toolchain/check/testdata/builtins/int/or_assign.carbon @@ -51,6 +51,7 @@ fn MixedTypes(ref a: i32, b: i64) = "int.or_assign"; // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/right_shift.carbon b/toolchain/check/testdata/builtins/int/right_shift.carbon index e8af58376f60..9b3dc1483adc 100644 --- a/toolchain/check/testdata/builtins/int/right_shift.carbon +++ b/toolchain/check/testdata/builtins/int/right_shift.carbon @@ -135,6 +135,7 @@ let negative_lit_zero: Core.IntLiteral = RightShiftLit(0, -1); // CHECK:STDOUT: --- i32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %RightShift.type: type = fn_type @RightShift [concrete] @@ -153,6 +154,7 @@ let negative_lit_zero: Core.IntLiteral = RightShiftLit(0, -1); // CHECK:STDOUT: --- u32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/right_shift_assign.carbon b/toolchain/check/testdata/builtins/int/right_shift_assign.carbon index 694b0ab226d1..ae6d12a06d43 100644 --- a/toolchain/check/testdata/builtins/int/right_shift_assign.carbon +++ b/toolchain/check/testdata/builtins/int/right_shift_assign.carbon @@ -53,6 +53,7 @@ fn NotRef(a: i32, b: i32) = "int.right_shift_assign"; // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/sadd.carbon b/toolchain/check/testdata/builtins/int/sadd.carbon index 55f732a89858..59e52050209b 100644 --- a/toolchain/check/testdata/builtins/int/sadd.carbon +++ b/toolchain/check/testdata/builtins/int/sadd.carbon @@ -164,6 +164,7 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: --- i32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Add.type: type = fn_type @Add [concrete] diff --git a/toolchain/check/testdata/builtins/int/sdiv.carbon b/toolchain/check/testdata/builtins/int/sdiv.carbon index 21501f2dc25d..0eca46e3aa0e 100644 --- a/toolchain/check/testdata/builtins/int/sdiv.carbon +++ b/toolchain/check/testdata/builtins/int/sdiv.carbon @@ -95,6 +95,7 @@ let d: Core.IntLiteral = DivLit(0, 0); // CHECK:STDOUT: --- int_div.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Div.type: type = fn_type @Div [concrete] diff --git a/toolchain/check/testdata/builtins/int/sdiv_assign.carbon b/toolchain/check/testdata/builtins/int/sdiv_assign.carbon index 35572841e3b6..d964b0410681 100644 --- a/toolchain/check/testdata/builtins/int/sdiv_assign.carbon +++ b/toolchain/check/testdata/builtins/int/sdiv_assign.carbon @@ -51,6 +51,7 @@ fn MixedTypes(ref a: i32, b: i64) = "int.sdiv_assign"; // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/smod.carbon b/toolchain/check/testdata/builtins/int/smod.carbon index 014c5fd89f31..54814f462f02 100644 --- a/toolchain/check/testdata/builtins/int/smod.carbon +++ b/toolchain/check/testdata/builtins/int/smod.carbon @@ -70,6 +70,7 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: --- int_div.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Mod.type: type = fn_type @Mod [concrete] diff --git a/toolchain/check/testdata/builtins/int/smod_assign.carbon b/toolchain/check/testdata/builtins/int/smod_assign.carbon index c5236fc9fa62..b51c256951e4 100644 --- a/toolchain/check/testdata/builtins/int/smod_assign.carbon +++ b/toolchain/check/testdata/builtins/int/smod_assign.carbon @@ -51,6 +51,7 @@ fn MixedTypes(ref a: i32, b: i64) = "int.smod_assign"; // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/smul.carbon b/toolchain/check/testdata/builtins/int/smul.carbon index 031c096533d5..65dbbc77b068 100644 --- a/toolchain/check/testdata/builtins/int/smul.carbon +++ b/toolchain/check/testdata/builtins/int/smul.carbon @@ -77,6 +77,7 @@ let b: i32 = Mul(0x8000, 0x10000); // CHECK:STDOUT: --- i32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Mul.type: type = fn_type @Mul [concrete] diff --git a/toolchain/check/testdata/builtins/int/smul_assign.carbon b/toolchain/check/testdata/builtins/int/smul_assign.carbon index fdca90483e38..d652a7fba86f 100644 --- a/toolchain/check/testdata/builtins/int/smul_assign.carbon +++ b/toolchain/check/testdata/builtins/int/smul_assign.carbon @@ -51,6 +51,7 @@ fn MixedTypes(ref a: i32, b: i64) = "int.smul_assign"; // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/snegate.carbon b/toolchain/check/testdata/builtins/int/snegate.carbon index e0f854acc9e3..1dc0dded525c 100644 --- a/toolchain/check/testdata/builtins/int/snegate.carbon +++ b/toolchain/check/testdata/builtins/int/snegate.carbon @@ -138,6 +138,7 @@ let b: i32 = Negate(-0x8000_0000); // CHECK:STDOUT: --- int_negate.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Negate.type: type = fn_type @Negate [concrete] diff --git a/toolchain/check/testdata/builtins/int/ssub.carbon b/toolchain/check/testdata/builtins/int/ssub.carbon index c9610226c514..bb3de691ed9d 100644 --- a/toolchain/check/testdata/builtins/int/ssub.carbon +++ b/toolchain/check/testdata/builtins/int/ssub.carbon @@ -42,6 +42,7 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2); // CHECK:STDOUT: --- int_sub.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Sub.type: type = fn_type @Sub [concrete] diff --git a/toolchain/check/testdata/builtins/int/ssub_assign.carbon b/toolchain/check/testdata/builtins/int/ssub_assign.carbon index b601810f8b74..54609c670758 100644 --- a/toolchain/check/testdata/builtins/int/ssub_assign.carbon +++ b/toolchain/check/testdata/builtins/int/ssub_assign.carbon @@ -51,6 +51,7 @@ fn MixedTypes(ref a: i32, b: i64) = "int.ssub_assign"; // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/uadd.carbon b/toolchain/check/testdata/builtins/int/uadd.carbon index 6df7010ea51d..29ee50fc1666 100644 --- a/toolchain/check/testdata/builtins/int/uadd.carbon +++ b/toolchain/check/testdata/builtins/int/uadd.carbon @@ -113,6 +113,7 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: --- int_add.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Add.type: type = fn_type @Add [concrete] diff --git a/toolchain/check/testdata/builtins/int/uadd_assign.carbon b/toolchain/check/testdata/builtins/int/uadd_assign.carbon index 97c3448676c8..b3935ad2a7b0 100644 --- a/toolchain/check/testdata/builtins/int/uadd_assign.carbon +++ b/toolchain/check/testdata/builtins/int/uadd_assign.carbon @@ -51,6 +51,7 @@ fn MixedTypes(ref a: i32, b: i64) = "int.uadd_assign"; // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/udiv.carbon b/toolchain/check/testdata/builtins/int/udiv.carbon index 51b2ade00427..d7eefcb0de72 100644 --- a/toolchain/check/testdata/builtins/int/udiv.carbon +++ b/toolchain/check/testdata/builtins/int/udiv.carbon @@ -63,6 +63,7 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: --- int_div.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Div.type: type = fn_type @Div [concrete] diff --git a/toolchain/check/testdata/builtins/int/udiv_assign.carbon b/toolchain/check/testdata/builtins/int/udiv_assign.carbon index 1d6beefd5161..6ee68b31f866 100644 --- a/toolchain/check/testdata/builtins/int/udiv_assign.carbon +++ b/toolchain/check/testdata/builtins/int/udiv_assign.carbon @@ -51,6 +51,7 @@ fn MixedTypes(ref a: i32, b: i64) = "int.udiv_assign"; // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/umod.carbon b/toolchain/check/testdata/builtins/int/umod.carbon index 4a5d5955fb8d..8ac4b433c97c 100644 --- a/toolchain/check/testdata/builtins/int/umod.carbon +++ b/toolchain/check/testdata/builtins/int/umod.carbon @@ -65,6 +65,7 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: --- int_div.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Mod.type: type = fn_type @Mod [concrete] diff --git a/toolchain/check/testdata/builtins/int/umod_assign.carbon b/toolchain/check/testdata/builtins/int/umod_assign.carbon index 7bad94dafb7c..6c8a12a6da1d 100644 --- a/toolchain/check/testdata/builtins/int/umod_assign.carbon +++ b/toolchain/check/testdata/builtins/int/umod_assign.carbon @@ -51,6 +51,7 @@ fn MixedTypes(ref a: i32, b: i64) = "int.umod_assign"; // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/umul.carbon b/toolchain/check/testdata/builtins/int/umul.carbon index df7191bf450c..284d8d87e1a3 100644 --- a/toolchain/check/testdata/builtins/int/umul.carbon +++ b/toolchain/check/testdata/builtins/int/umul.carbon @@ -37,6 +37,7 @@ let b: i32 = Mul(0x8000, 0x10000); // CHECK:STDOUT: --- int_mul.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Mul.type: type = fn_type @Mul [concrete] diff --git a/toolchain/check/testdata/builtins/int/umul_assign.carbon b/toolchain/check/testdata/builtins/int/umul_assign.carbon index be4e538bf315..2db2cae4d3ac 100644 --- a/toolchain/check/testdata/builtins/int/umul_assign.carbon +++ b/toolchain/check/testdata/builtins/int/umul_assign.carbon @@ -51,6 +51,7 @@ fn MixedTypes(ref a: i32, b: i64) = "int.umul_assign"; // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/unegate.carbon b/toolchain/check/testdata/builtins/int/unegate.carbon index e2bb70cf59ed..663e4703e057 100644 --- a/toolchain/check/testdata/builtins/int/unegate.carbon +++ b/toolchain/check/testdata/builtins/int/unegate.carbon @@ -123,6 +123,7 @@ fn F() { // CHECK:STDOUT: --- int_negate.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete] // CHECK:STDOUT: %Negate.type: type = fn_type @Negate [concrete] diff --git a/toolchain/check/testdata/builtins/int/usub.carbon b/toolchain/check/testdata/builtins/int/usub.carbon index 2132ccca455a..9da0f18bbb06 100644 --- a/toolchain/check/testdata/builtins/int/usub.carbon +++ b/toolchain/check/testdata/builtins/int/usub.carbon @@ -38,6 +38,7 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2); // CHECK:STDOUT: --- int_sub.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Sub.type: type = fn_type @Sub [concrete] diff --git a/toolchain/check/testdata/builtins/int/usub_assign.carbon b/toolchain/check/testdata/builtins/int/usub_assign.carbon index 03db09fb1d1a..daffe46cb6c4 100644 --- a/toolchain/check/testdata/builtins/int/usub_assign.carbon +++ b/toolchain/check/testdata/builtins/int/usub_assign.carbon @@ -51,6 +51,7 @@ fn MixedTypes(ref a: i32, b: i64) = "int.usub_assign"; // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/int/xor.carbon b/toolchain/check/testdata/builtins/int/xor.carbon index 51b50056ba62..3917dac7e828 100644 --- a/toolchain/check/testdata/builtins/int/xor.carbon +++ b/toolchain/check/testdata/builtins/int/xor.carbon @@ -26,6 +26,7 @@ fn RuntimeCallIsValid(a: i32, b: i32) -> i32 { // CHECK:STDOUT: --- int_xor.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Xor.type: type = fn_type @Xor [concrete] diff --git a/toolchain/check/testdata/builtins/int/xor_assign.carbon b/toolchain/check/testdata/builtins/int/xor_assign.carbon index 16d09eec4df6..5d61adfe74a3 100644 --- a/toolchain/check/testdata/builtins/int/xor_assign.carbon +++ b/toolchain/check/testdata/builtins/int/xor_assign.carbon @@ -51,6 +51,7 @@ fn MixedTypes(ref a: i32, b: i64) = "int.xor_assign"; // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/builtins/maybe_unformed/make_type.carbon b/toolchain/check/testdata/builtins/maybe_unformed/make_type.carbon index 5c335344f09e..c2b30a979839 100644 --- a/toolchain/check/testdata/builtins/maybe_unformed/make_type.carbon +++ b/toolchain/check/testdata/builtins/maybe_unformed/make_type.carbon @@ -56,6 +56,7 @@ fn ColonBangParam(generic T: type) -> type = "maybe_unformed.make_type"; // CHECK:STDOUT: --- use_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Make.type: type = fn_type @Make [concrete] // CHECK:STDOUT: %Make: %Make.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -103,8 +104,9 @@ fn ColonBangParam(generic T: type) -> type = "maybe_unformed.make_type"; // CHECK:STDOUT: --- runtime_call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] -// CHECK:STDOUT: %t.patt.10b: %pattern_type = value_binding_pattern t [concrete] +// CHECK:STDOUT: %t.patt.81f: %pattern_type = value_binding_pattern t [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %u.patt: %pattern_type = value_binding_pattern u [concrete] @@ -121,7 +123,7 @@ fn ColonBangParam(generic T: type) -> type = "maybe_unformed.make_type"; // CHECK:STDOUT: %.loc7_8: type = type_literal type [concrete = type] // CHECK:STDOUT: %t: type = wrapper_binding t, %.loc7_16 // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %t.patt: %pattern_type = value_binding_pattern t [concrete = constants.%t.patt.10b] +// CHECK:STDOUT: %t.patt: %pattern_type = value_binding_pattern t [concrete = constants.%t.patt.81f] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc8_21.1: type = value_of_initializer @__global_init.%Make.call // CHECK:STDOUT: %.loc8_21.2: type = converted @__global_init.%Make.call, %.loc8_21.1 diff --git a/toolchain/check/testdata/builtins/no_op.carbon b/toolchain/check/testdata/builtins/no_op.carbon index 9a65de49c7e5..0c81453d78ed 100644 --- a/toolchain/check/testdata/builtins/no_op.carbon +++ b/toolchain/check/testdata/builtins/no_op.carbon @@ -69,6 +69,7 @@ fn NoOp() -> {} = "no_op"; // CHECK:STDOUT: --- no_op.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NoOp.type: type = fn_type @NoOp [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %NoOp: %NoOp.type = struct_value () [concrete] @@ -85,6 +86,7 @@ fn NoOp() -> {} = "no_op"; // CHECK:STDOUT: --- explicit_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %NoOp.type: type = fn_type @NoOp [concrete] @@ -101,6 +103,7 @@ fn NoOp() -> {} = "no_op"; // CHECK:STDOUT: --- ignore_args.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %NoOp.type: type = fn_type @NoOp [concrete] @@ -120,6 +123,7 @@ fn NoOp() -> {} = "no_op"; // CHECK:STDOUT: --- assign.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NoOp.type: type = fn_type @NoOp [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %NoOp: %NoOp.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/builtins/pointer/is_null.carbon b/toolchain/check/testdata/builtins/pointer/is_null.carbon index e8f2b888c924..a5d88c1fc1a8 100644 --- a/toolchain/check/testdata/builtins/pointer/is_null.carbon +++ b/toolchain/check/testdata/builtins/pointer/is_null.carbon @@ -88,6 +88,7 @@ fn NotPointer(p: MakeUnformed({})) -> bool = "pointer.is_null"; // CHECK:STDOUT: --- call_exact.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %MakeUnformed.type: type = fn_type @MakeUnformed [concrete] @@ -182,6 +183,7 @@ fn NotPointer(p: MakeUnformed({})) -> bool = "pointer.is_null"; // CHECK:STDOUT: --- call_generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %MakeUnformed.type: type = fn_type @MakeUnformed [concrete] // CHECK:STDOUT: %MakeUnformed: %MakeUnformed.type = struct_value () [concrete] // CHECK:STDOUT: %.f34: Core.Form = init_form bool [concrete] diff --git a/toolchain/check/testdata/builtins/pointer/make_null.carbon b/toolchain/check/testdata/builtins/pointer/make_null.carbon index b8ea318f6ed6..4bcc33b5a75e 100644 --- a/toolchain/check/testdata/builtins/pointer/make_null.carbon +++ b/toolchain/check/testdata/builtins/pointer/make_null.carbon @@ -66,6 +66,7 @@ fn NotPointer() -> MakeUnformed({}) = "pointer.make_null"; // CHECK:STDOUT: --- call_exact.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %MakeUnformed.type: type = fn_type @MakeUnformed [concrete] @@ -129,6 +130,7 @@ fn NotPointer() -> MakeUnformed({}) = "pointer.make_null"; // CHECK:STDOUT: --- call_generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %MakeUnformed.type: type = fn_type @MakeUnformed [concrete] // CHECK:STDOUT: %MakeUnformed: %MakeUnformed.type = struct_value () [concrete] // CHECK:STDOUT: %MakeNull.type: type = fn_type @MakeNull [concrete] diff --git a/toolchain/check/testdata/builtins/print/char.carbon b/toolchain/check/testdata/builtins/print/char.carbon index 40529a15c8b7..febdab774a7b 100644 --- a/toolchain/check/testdata/builtins/print/char.carbon +++ b/toolchain/check/testdata/builtins/print/char.carbon @@ -25,6 +25,7 @@ fn Main() { // CHECK:STDOUT: --- char.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %char: type = class_type @Char [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/builtins/print/int.carbon b/toolchain/check/testdata/builtins/print/int.carbon index f6cf50db8448..ae025f23aed3 100644 --- a/toolchain/check/testdata/builtins/print/int.carbon +++ b/toolchain/check/testdata/builtins/print/int.carbon @@ -25,6 +25,7 @@ fn Main() { // CHECK:STDOUT: --- int.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/builtins/read/char.carbon b/toolchain/check/testdata/builtins/read/char.carbon index 40f293311d38..60691a146170 100644 --- a/toolchain/check/testdata/builtins/read/char.carbon +++ b/toolchain/check/testdata/builtins/read/char.carbon @@ -27,6 +27,7 @@ fn Main() { // CHECK:STDOUT: --- char.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/choice/basic.carbon b/toolchain/check/testdata/choice/basic.carbon index 74754fc0ed1c..9a1a3cfa5bd5 100644 --- a/toolchain/check/testdata/choice/basic.carbon +++ b/toolchain/check/testdata/choice/basic.carbon @@ -60,6 +60,7 @@ let never: Never = {}; // CHECK:STDOUT: --- no_alternative.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Never: type = class_type @Never [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.discriminant: type = struct_type {.discriminant: %empty_tuple.type} [concrete] @@ -81,6 +82,7 @@ let never: Never = {}; // CHECK:STDOUT: --- one_alternative.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Always: type = class_type @Always [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.discriminant: type = struct_type {.discriminant: %empty_tuple.type} [concrete] @@ -135,6 +137,7 @@ let never: Never = {}; // CHECK:STDOUT: --- multiple_alternatives.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Ordering: type = class_type @Ordering [concrete] // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] diff --git a/toolchain/check/testdata/choice/generic.carbon b/toolchain/check/testdata/choice/generic.carbon index 557009dd6ceb..03e6f36a749f 100644 --- a/toolchain/check/testdata/choice/generic.carbon +++ b/toolchain/check/testdata/choice/generic.carbon @@ -19,8 +19,8 @@ choice Always(T: type) { // CHECK:STDOUT: --- generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -42,7 +42,7 @@ choice Always(T: type) { // CHECK:STDOUT: %T.patt.loc14_16.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_16.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14_18.1: type = splice_block %.loc14_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc14_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc14_16.2: type = symbolic_binding T, 0 [symbolic = %T.loc14_16.1 (constants.%T)] diff --git a/toolchain/check/testdata/class/abstract/abstract.carbon b/toolchain/check/testdata/class/abstract/abstract.carbon index 1481b0baf463..060c9c1a35ce 100644 --- a/toolchain/check/testdata/class/abstract/abstract.carbon +++ b/toolchain/check/testdata/class/abstract/abstract.carbon @@ -242,6 +242,7 @@ fn Assign(ref a: Abstract) { // CHECK:STDOUT: --- fail_abstract_field.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -290,6 +291,7 @@ fn Assign(ref a: Abstract) { // CHECK:STDOUT: --- fail_abstract_var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -342,6 +344,7 @@ fn Assign(ref a: Abstract) { // CHECK:STDOUT: --- fail_abstract_var_function_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -390,6 +393,7 @@ fn Assign(ref a: Abstract) { // CHECK:STDOUT: --- abstract_let.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -448,6 +452,7 @@ fn Assign(ref a: Abstract) { // CHECK:STDOUT: --- fail_abstract_adapter.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -494,6 +499,7 @@ fn Assign(ref a: Abstract) { // CHECK:STDOUT: --- define_and_call_abstract_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -564,6 +570,7 @@ fn Assign(ref a: Abstract) { // CHECK:STDOUT: --- return_nonabstract_derived.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] @@ -662,6 +669,7 @@ fn Assign(ref a: Abstract) { // CHECK:STDOUT: --- fail_return_abstract.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] @@ -749,6 +757,7 @@ fn Assign(ref a: Abstract) { // CHECK:STDOUT: --- access_abstract_subobject.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -885,6 +894,7 @@ fn Assign(ref a: Abstract) { // CHECK:STDOUT: --- fail_abstract_let_temporary_struct_literal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -945,6 +955,7 @@ fn Assign(ref a: Abstract) { // CHECK:STDOUT: --- fail_todo_abstract_let_temporary.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] @@ -1038,6 +1049,7 @@ fn Assign(ref a: Abstract) { // CHECK:STDOUT: --- fail_call_abstract_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -1099,6 +1111,7 @@ fn Assign(ref a: Abstract) { // CHECK:STDOUT: --- fail_assign_to_abstract_ref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/class/abstract/fail_abstract_in_struct.carbon b/toolchain/check/testdata/class/abstract/fail_abstract_in_struct.carbon index 6f044b2d1af8..0677d1879b5f 100644 --- a/toolchain/check/testdata/class/abstract/fail_abstract_in_struct.carbon +++ b/toolchain/check/testdata/class/abstract/fail_abstract_in_struct.carbon @@ -118,6 +118,7 @@ var v5: {.m: Abstract}; // CHECK:STDOUT: --- fail_abstract_field.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract1: type = class_type @Abstract1 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -159,6 +160,7 @@ var v5: {.m: Abstract}; // CHECK:STDOUT: --- fail_abstract_var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract2: type = class_type @Abstract2 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -200,6 +202,7 @@ var v5: {.m: Abstract}; // CHECK:STDOUT: --- abstract_let.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract3: type = class_type @Abstract3 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -257,6 +260,7 @@ var v5: {.m: Abstract}; // CHECK:STDOUT: --- fail_abstract_twice.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract4: type = class_type @Abstract4 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -310,6 +314,7 @@ var v5: {.m: Abstract}; // CHECK:STDOUT: --- fail_abstract_first.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract6: type = class_type @Abstract6 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -355,6 +360,7 @@ var v5: {.m: Abstract}; // CHECK:STDOUT: --- fail_abstract_second.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract7: type = class_type @Abstract7 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -400,6 +406,7 @@ var v5: {.m: Abstract}; // CHECK:STDOUT: --- lib.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -423,6 +430,7 @@ var v5: {.m: Abstract}; // CHECK:STDOUT: --- fail_import.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/class/abstract/fail_abstract_in_tuple.carbon b/toolchain/check/testdata/class/abstract/fail_abstract_in_tuple.carbon index ae98d53e1ef0..a7f9429920ab 100644 --- a/toolchain/check/testdata/class/abstract/fail_abstract_in_tuple.carbon +++ b/toolchain/check/testdata/class/abstract/fail_abstract_in_tuple.carbon @@ -128,12 +128,13 @@ fn Var5() { // CHECK:STDOUT: --- fail_abstract_field.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract1: type = class_type @Abstract1 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %Contains: type = class_type @Contains [concrete] -// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.85c = tuple_value (%Abstract1) [concrete] +// CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.135 = tuple_value (%Abstract1) [concrete] // CHECK:STDOUT: %tuple.type.b06: type = tuple_type (%Abstract1) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -166,7 +167,7 @@ fn Var5() { // CHECK:STDOUT: class @Contains { // CHECK:STDOUT: %field_decl: = field_decl a, element0, %.loc13_21.2 in [concrete] { // CHECK:STDOUT: %Abstract1.ref: type = name_ref Abstract1, file.%Abstract1.decl [concrete = constants.%Abstract1] -// CHECK:STDOUT: %.loc13_21.1: %tuple.type.85c = tuple_literal (%Abstract1.ref) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc13_21.1: %tuple.type.135 = tuple_literal (%Abstract1.ref) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc13_21.2: type = converted %.loc13_21.1, constants.%tuple.type.b06 [concrete = constants.%tuple.type.b06] // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness [concrete = ] @@ -181,13 +182,14 @@ fn Var5() { // CHECK:STDOUT: --- fail_abstract_var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract2: type = class_type @Abstract2 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %Var.type: type = fn_type @Var [concrete] // CHECK:STDOUT: %Var: %Var.type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.85c = tuple_value (%Abstract2) [concrete] +// CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.135 = tuple_value (%Abstract2) [concrete] // CHECK:STDOUT: %tuple.type.ea9: type = tuple_type (%Abstract2) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: } @@ -226,7 +228,7 @@ fn Var5() { // CHECK:STDOUT: assign %v.var, // CHECK:STDOUT: %.loc13_28.1: type = splice_block %.loc13_28.3 [concrete = constants.%tuple.type.ea9] { // CHECK:STDOUT: %Abstract2.ref: type = name_ref Abstract2, file.%Abstract2.decl [concrete = constants.%Abstract2] -// CHECK:STDOUT: %.loc13_28.2: %tuple.type.85c = tuple_literal (%Abstract2.ref) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc13_28.2: %tuple.type.135 = tuple_literal (%Abstract2.ref) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc13_28.3: type = converted %.loc13_28.2, constants.%tuple.type.ea9 [concrete = constants.%tuple.type.ea9] // CHECK:STDOUT: } // CHECK:STDOUT: %v: = wrapper_binding v, [concrete = ] @@ -240,6 +242,7 @@ fn Var5() { // CHECK:STDOUT: --- abstract_let.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract3: type = class_type @Abstract3 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -248,8 +251,8 @@ fn Var5() { // CHECK:STDOUT: %a.patt: %pattern_type.457 = wrapper_binding_pattern a, %a.param_patt [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.85c = tuple_value (%Abstract3) [concrete] +// CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.135 = tuple_value (%Abstract3) [concrete] // CHECK:STDOUT: %tuple.type.4cc: type = tuple_type (%Abstract3) [concrete] // CHECK:STDOUT: %pattern_type.ac0: type = pattern_type %tuple.type.4cc [concrete] // CHECK:STDOUT: %l.patt: %pattern_type.ac0 = value_binding_pattern l [concrete] @@ -296,7 +299,7 @@ fn Var5() { // CHECK:STDOUT: %.loc7_35.2: %tuple.type.4cc = converted %.loc7_35.1, %tuple // CHECK:STDOUT: %.loc7_28.1: type = splice_block %.loc7_28.3 [concrete = constants.%tuple.type.4cc] { // CHECK:STDOUT: %Abstract3.ref.loc7: type = name_ref Abstract3, file.%Abstract3.decl [concrete = constants.%Abstract3] -// CHECK:STDOUT: %.loc7_28.2: %tuple.type.85c = tuple_literal (%Abstract3.ref.loc7) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc7_28.2: %tuple.type.135 = tuple_literal (%Abstract3.ref.loc7) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc7_28.3: type = converted %.loc7_28.2, constants.%tuple.type.4cc [concrete = constants.%tuple.type.4cc] // CHECK:STDOUT: } // CHECK:STDOUT: %l: %tuple.type.4cc = wrapper_binding l, %.loc7_35.2 @@ -309,14 +312,15 @@ fn Var5() { // CHECK:STDOUT: --- fail_abstract_twice.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract4: type = class_type @Abstract4 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %Abstract5: type = class_type @Abstract5 [concrete] // CHECK:STDOUT: %Var2.type: type = fn_type @Var2 [concrete] // CHECK:STDOUT: %Var2: %Var2.type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%Abstract4, %Abstract5) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%Abstract4, %Abstract5) [concrete] // CHECK:STDOUT: %tuple.type.417: type = tuple_type (%Abstract4, %Abstract5) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: } @@ -366,7 +370,7 @@ fn Var5() { // CHECK:STDOUT: %.loc14_39.1: type = splice_block %.loc14_39.3 [concrete = constants.%tuple.type.417] { // CHECK:STDOUT: %Abstract4.ref: type = name_ref Abstract4, file.%Abstract4.decl [concrete = constants.%Abstract4] // CHECK:STDOUT: %Abstract5.ref: type = name_ref Abstract5, file.%Abstract5.decl [concrete = constants.%Abstract5] -// CHECK:STDOUT: %.loc14_39.2: %tuple.type.24b = tuple_literal (%Abstract4.ref, %Abstract5.ref) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc14_39.2: %tuple.type.693 = tuple_literal (%Abstract4.ref, %Abstract5.ref) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc14_39.3: type = converted %.loc14_39.2, constants.%tuple.type.417 [concrete = constants.%tuple.type.417] // CHECK:STDOUT: } // CHECK:STDOUT: %v2: = wrapper_binding v2, [concrete = ] @@ -380,14 +384,15 @@ fn Var5() { // CHECK:STDOUT: --- fail_abstract_first.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract6: type = class_type @Abstract6 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %Var3.type: type = fn_type @Var3 [concrete] // CHECK:STDOUT: %Var3: %Var3.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.159: type = tuple_type (type, %empty_struct_type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.159 = tuple_value (%Abstract6, %empty_struct) [concrete] +// CHECK:STDOUT: %tuple.type.4d1: type = tuple_type (type, %empty_struct_type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.4d1 = tuple_value (%Abstract6, %empty_struct) [concrete] // CHECK:STDOUT: %tuple.type.427: type = tuple_type (%Abstract6, %empty_struct_type) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: } @@ -427,7 +432,7 @@ fn Var5() { // CHECK:STDOUT: %.loc13_32.1: type = splice_block %.loc13_32.4 [concrete = constants.%tuple.type.427] { // CHECK:STDOUT: %Abstract6.ref: type = name_ref Abstract6, file.%Abstract6.decl [concrete = constants.%Abstract6] // CHECK:STDOUT: %.loc13_31: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] -// CHECK:STDOUT: %.loc13_32.2: %tuple.type.159 = tuple_literal (%Abstract6.ref, %.loc13_31) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc13_32.2: %tuple.type.4d1 = tuple_literal (%Abstract6.ref, %.loc13_31) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc13_32.3: type = converted constants.%empty_struct, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %.loc13_32.4: type = converted %.loc13_32.2, constants.%tuple.type.427 [concrete = constants.%tuple.type.427] // CHECK:STDOUT: } @@ -442,14 +447,15 @@ fn Var5() { // CHECK:STDOUT: --- fail_abstract_second.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract7: type = class_type @Abstract7 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %Var4.type: type = fn_type @Var4 [concrete] // CHECK:STDOUT: %Var4: %Var4.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.c8c: type = tuple_type (%empty_struct_type, type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.c8c = tuple_value (%empty_struct, %Abstract7) [concrete] +// CHECK:STDOUT: %tuple.type.12a: type = tuple_type (%empty_struct_type, type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.12a = tuple_value (%empty_struct, %Abstract7) [concrete] // CHECK:STDOUT: %tuple.type.9db: type = tuple_type (%empty_struct_type, %Abstract7) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: } @@ -489,7 +495,7 @@ fn Var5() { // CHECK:STDOUT: %.loc13_32.1: type = splice_block %.loc13_32.4 [concrete = constants.%tuple.type.9db] { // CHECK:STDOUT: %.loc13_20: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %Abstract7.ref: type = name_ref Abstract7, file.%Abstract7.decl [concrete = constants.%Abstract7] -// CHECK:STDOUT: %.loc13_32.2: %tuple.type.c8c = tuple_literal (%.loc13_20, %Abstract7.ref) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc13_32.2: %tuple.type.12a = tuple_literal (%.loc13_20, %Abstract7.ref) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc13_32.3: type = converted constants.%empty_struct, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %.loc13_32.4: type = converted %.loc13_32.2, constants.%tuple.type.9db [concrete = constants.%tuple.type.9db] // CHECK:STDOUT: } @@ -504,6 +510,7 @@ fn Var5() { // CHECK:STDOUT: --- lib.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -536,13 +543,14 @@ fn Var5() { // CHECK:STDOUT: --- fail_import.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Var5.type: type = fn_type @Var5 [concrete] // CHECK:STDOUT: %Var5: %Var5.type = struct_value () [concrete] // CHECK:STDOUT: %Abstract: type = class_type @Abstract [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.85c = tuple_value (%Abstract) [concrete] +// CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.135 = tuple_value (%Abstract) [concrete] // CHECK:STDOUT: %tuple.type.763: type = tuple_type (%Abstract) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: } @@ -583,7 +591,7 @@ fn Var5() { // CHECK:STDOUT: assign %v5.var, // CHECK:STDOUT: %.loc14_28.1: type = splice_block %.loc14_28.3 [concrete = constants.%tuple.type.763] { // CHECK:STDOUT: %Abstract.ref: type = name_ref Abstract, imports.%Main.Abstract [concrete = constants.%Abstract] -// CHECK:STDOUT: %.loc14_28.2: %tuple.type.85c = tuple_literal (%Abstract.ref) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc14_28.2: %tuple.type.135 = tuple_literal (%Abstract.ref) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc14_28.3: type = converted %.loc14_28.2, constants.%tuple.type.763 [concrete = constants.%tuple.type.763] // CHECK:STDOUT: } // CHECK:STDOUT: %v5: = wrapper_binding v5, [concrete = ] diff --git a/toolchain/check/testdata/class/access/access_modifiers.carbon b/toolchain/check/testdata/class/access/access_modifiers.carbon index ce254ac0c1c7..5a662f91ae8e 100644 --- a/toolchain/check/testdata/class/access/access_modifiers.carbon +++ b/toolchain/check/testdata/class/access/access_modifiers.carbon @@ -163,6 +163,7 @@ class A { // CHECK:STDOUT: --- fail_private_field_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Circle: type = class_type @Circle [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -284,6 +285,7 @@ class A { // CHECK:STDOUT: --- fail_protected_field_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -306,6 +308,7 @@ class A { // CHECK:STDOUT: --- instance_private_field_access_on_self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Circle: type = class_type @Circle [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -367,6 +370,7 @@ class A { // CHECK:STDOUT: --- public_global_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -392,6 +396,7 @@ class A { // CHECK:STDOUT: --- fail_global_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -425,6 +430,7 @@ class A { // CHECK:STDOUT: --- self_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %A.F.type: type = fn_type @A.F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/class/access/import_access.carbon b/toolchain/check/testdata/class/access/import_access.carbon index 2aae8db1a043..af86a8dc9f62 100644 --- a/toolchain/check/testdata/class/access/import_access.carbon +++ b/toolchain/check/testdata/class/access/import_access.carbon @@ -143,6 +143,7 @@ private class Redecl {} // CHECK:STDOUT: --- def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Def: type = class_type @Def [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -166,6 +167,7 @@ private class Redecl {} // CHECK:STDOUT: --- forward_with_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ForwardWithDef: type = class_type @ForwardWithDef [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -190,6 +192,7 @@ private class Redecl {} // CHECK:STDOUT: --- forward.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Forward: type = class_type @Forward [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -205,6 +208,7 @@ private class Redecl {} // CHECK:STDOUT: --- def.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Def: type = class_type @Def [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -256,6 +260,7 @@ private class Redecl {} // CHECK:STDOUT: --- fail_local_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: } @@ -285,6 +290,7 @@ private class Redecl {} // CHECK:STDOUT: --- fail_other_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: } @@ -324,6 +330,7 @@ private class Redecl {} // CHECK:STDOUT: --- forward_with_def.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ForwardWithDef: type = class_type @ForwardWithDef [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -375,6 +382,7 @@ private class Redecl {} // CHECK:STDOUT: --- fail_local_forward_with_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: } @@ -404,6 +412,7 @@ private class Redecl {} // CHECK:STDOUT: --- fail_other_forward_with_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: } @@ -443,6 +452,7 @@ private class Redecl {} // CHECK:STDOUT: --- forward.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Forward: type = class_type @Forward [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %Forward [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr [concrete] @@ -495,6 +505,7 @@ private class Redecl {} // CHECK:STDOUT: --- fail_local_forward.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -526,6 +537,7 @@ private class Redecl {} // CHECK:STDOUT: --- fail_other_forward.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -565,6 +577,7 @@ private class Redecl {} // CHECK:STDOUT: --- todo_fail_private_on_redecl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Redecl: type = class_type @Redecl [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/class/access/inheritance_access.carbon b/toolchain/check/testdata/class/access/inheritance_access.carbon index 94423d7a7c47..9a8d923572b1 100644 --- a/toolchain/check/testdata/class/access/inheritance_access.carbon +++ b/toolchain/check/testdata/class/access/inheritance_access.carbon @@ -287,6 +287,7 @@ class B { // CHECK:STDOUT: --- instance_protected_field_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Shape: type = class_type @Shape [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -301,8 +302,8 @@ class B { // CHECK:STDOUT: %pattern_type.f70: type = pattern_type %Circle [concrete] // CHECK:STDOUT: %self.param_patt.769: %pattern_type.f70 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.cc7: %pattern_type.f70 = wrapper_binding_pattern self, %self.param_patt.769 [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.b59: %tuple.type.24b = tuple_value (%i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.94e: %tuple.type.693 = tuple_value (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e55: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %.c11: Core.Form = init_form %tuple.type.e55 [concrete] // CHECK:STDOUT: %pattern_type.394: type = pattern_type %tuple.type.e55 [concrete] @@ -375,7 +376,7 @@ class B { // CHECK:STDOUT: } { // CHECK:STDOUT: %i32.loc12_28: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc12_33: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc12_36.1: %tuple.type.24b = tuple_literal (%i32.loc12_28, %i32.loc12_33) [concrete = constants.%tuple.b59] +// CHECK:STDOUT: %.loc12_36.1: %tuple.type.693 = tuple_literal (%i32.loc12_28, %i32.loc12_33) [concrete = constants.%tuple.94e] // CHECK:STDOUT: %.loc12_36.2: type = converted %.loc12_36.1, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: %.loc12_36.3: Core.Form = init_form %.loc12_36.2 [concrete = constants.%.c11] // CHECK:STDOUT: %self.param: %Circle = value_param call_param0 @@ -434,6 +435,7 @@ class B { // CHECK:STDOUT: --- shadowing_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %A.F.type: type = fn_type @A.F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -570,6 +572,7 @@ class B { // CHECK:STDOUT: --- inherited_member_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -751,6 +754,7 @@ class B { // CHECK:STDOUT: --- fail_inherited_private_field_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Shape: type = class_type @Shape [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -845,6 +849,7 @@ class B { // CHECK:STDOUT: --- noninstance_private_on_self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %C.F.type: type = fn_type @C.F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -901,6 +906,7 @@ class B { // CHECK:STDOUT: --- noninstance_protected_on_self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %C.F.type: type = fn_type @C.F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -957,6 +963,7 @@ class B { // CHECK:STDOUT: --- fail_noninstance_private_on_parent_qualified.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %B.F.type: type = fn_type @B.F [concrete] // CHECK:STDOUT: %B.F: %B.F.type = struct_value () [concrete] @@ -1029,6 +1036,7 @@ class B { // CHECK:STDOUT: --- fail_noninstance_private_on_parent_unqualified.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %A.Fa.type: type = fn_type @A.Fa [concrete] // CHECK:STDOUT: %A.Fa: %A.Fa.type = struct_value () [concrete] @@ -1207,6 +1215,7 @@ class B { // CHECK:STDOUT: --- noninstance_protected_on_parent.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %B.F.type: type = fn_type @B.F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1281,6 +1290,7 @@ class B { // CHECK:STDOUT: --- fail_non_inherited_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -1471,6 +1481,7 @@ class B { // CHECK:STDOUT: --- fail_compound_member_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -1556,6 +1567,7 @@ class B { // CHECK:STDOUT: --- inherited_compound_member_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/class/access/method_access.carbon b/toolchain/check/testdata/class/access/method_access.carbon index dcb78bb98afd..bc5036afff53 100644 --- a/toolchain/check/testdata/class/access/method_access.carbon +++ b/toolchain/check/testdata/class/access/method_access.carbon @@ -30,6 +30,7 @@ fn G(x: X) { // CHECK:STDOUT: --- fail_multiple_bindings.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %X [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type = value_param_pattern [concrete] diff --git a/toolchain/check/testdata/class/adapter/adapt.carbon b/toolchain/check/testdata/class/adapter/adapt.carbon index 9cb334aadfa1..d1b6cf951f13 100644 --- a/toolchain/check/testdata/class/adapter/adapt.carbon +++ b/toolchain/check/testdata/class/adapter/adapt.carbon @@ -73,6 +73,7 @@ interface I { // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %SomeClass: type = class_type @SomeClass [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -149,6 +150,7 @@ interface I { // CHECK:STDOUT: --- fail_not_extend.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Adapted: type = class_type @Adapted [concrete] // CHECK:STDOUT: %Adapted.F.type: type = fn_type @Adapted.F [concrete] // CHECK:STDOUT: %Adapted.F: %Adapted.F.type = struct_value () [concrete] @@ -223,6 +225,7 @@ interface I { // CHECK:STDOUT: --- fail_misplaced.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] diff --git a/toolchain/check/testdata/class/adapter/adapt_copy.carbon b/toolchain/check/testdata/class/adapter/adapt_copy.carbon index 812b7f6fecb4..e390a38b5cbd 100644 --- a/toolchain/check/testdata/class/adapter/adapt_copy.carbon +++ b/toolchain/check/testdata/class/adapter/adapt_copy.carbon @@ -168,6 +168,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: --- fail_adapt_copyable.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %AdaptCopyable: type = class_type @AdaptCopyable [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -193,8 +194,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %UInt.type: type = generic_class_type @UInt [concrete] // CHECK:STDOUT: %UInt.generic: %UInt.type = struct_value () [concrete] // CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.ca7: %tuple.type.24b = tuple_value (%AdaptCopyable, %u32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.04c: %tuple.type.693 = tuple_value (%AdaptCopyable, %u32) [concrete] // CHECK:STDOUT: %tuple.type.28f: type = tuple_type (%AdaptCopyable, %u32) [concrete] // CHECK:STDOUT: %pattern_type.c42: type = pattern_type %tuple.type.28f [concrete] // CHECK:STDOUT: %c.param_patt.ccf: %pattern_type.c42 = value_param_pattern [concrete] @@ -257,14 +258,14 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: } { // CHECK:STDOUT: %AdaptCopyable.ref.loc27_41: type = name_ref AdaptCopyable, file.%AdaptCopyable.decl [concrete = constants.%AdaptCopyable] // CHECK:STDOUT: %u32.loc27_56: type = type_literal constants.%u32 [concrete = constants.%u32] -// CHECK:STDOUT: %.loc27_59.1: %tuple.type.24b = tuple_literal (%AdaptCopyable.ref.loc27_41, %u32.loc27_56) [concrete = constants.%tuple.ca7] +// CHECK:STDOUT: %.loc27_59.1: %tuple.type.693 = tuple_literal (%AdaptCopyable.ref.loc27_41, %u32.loc27_56) [concrete = constants.%tuple.04c] // CHECK:STDOUT: %.loc27_59.2: type = converted %.loc27_59.1, constants.%tuple.type.28f [concrete = constants.%tuple.type.28f] // CHECK:STDOUT: %.loc27_59.3: Core.Form = init_form %.loc27_59.2 [concrete = constants.%.ac9] // CHECK:STDOUT: %c.param: %tuple.type.28f = value_param call_param0 // CHECK:STDOUT: %.loc27_34.1: type = splice_block %.loc27_34.3 [concrete = constants.%tuple.type.28f] { // CHECK:STDOUT: %AdaptCopyable.ref.loc27_16: type = name_ref AdaptCopyable, file.%AdaptCopyable.decl [concrete = constants.%AdaptCopyable] // CHECK:STDOUT: %u32.loc27_31: type = type_literal constants.%u32 [concrete = constants.%u32] -// CHECK:STDOUT: %.loc27_34.2: %tuple.type.24b = tuple_literal (%AdaptCopyable.ref.loc27_16, %u32.loc27_31) [concrete = constants.%tuple.ca7] +// CHECK:STDOUT: %.loc27_34.2: %tuple.type.693 = tuple_literal (%AdaptCopyable.ref.loc27_16, %u32.loc27_31) [concrete = constants.%tuple.04c] // CHECK:STDOUT: %.loc27_34.3: type = converted %.loc27_34.2, constants.%tuple.type.28f [concrete = constants.%tuple.type.28f] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %tuple.type.28f = wrapper_binding c, %c.param @@ -322,7 +323,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc35_29.1: type = splice_block %.loc35_29.3 [concrete = constants.%tuple.type.28f] { // CHECK:STDOUT: %AdaptCopyable.ref.loc35: type = name_ref AdaptCopyable, file.%AdaptCopyable.decl [concrete = constants.%AdaptCopyable] // CHECK:STDOUT: %u32.loc35: type = type_literal constants.%u32 [concrete = constants.%u32] -// CHECK:STDOUT: %.loc35_29.2: %tuple.type.24b = tuple_literal (%AdaptCopyable.ref.loc35, %u32.loc35) [concrete = constants.%tuple.ca7] +// CHECK:STDOUT: %.loc35_29.2: %tuple.type.693 = tuple_literal (%AdaptCopyable.ref.loc35, %u32.loc35) [concrete = constants.%tuple.04c] // CHECK:STDOUT: %.loc35_29.3: type = converted %.loc35_29.2, constants.%tuple.type.28f [concrete = constants.%tuple.type.28f] // CHECK:STDOUT: } // CHECK:STDOUT: %d: ref %tuple.type.28f = wrapper_binding d, %d.var @@ -353,6 +354,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: --- adapt_copyable_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %AdaptTuple: type = class_type @AdaptTuple [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -360,8 +362,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.b59: %tuple.type.24b = tuple_value (%i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.94e: %tuple.type.693 = tuple_value (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e55: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %i32.builtin: type = int_type signed, %int_32 [concrete] // CHECK:STDOUT: %complete_type.6c4: = complete_type_witness %tuple.type.e55 [concrete] @@ -391,7 +393,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %UInt.type: type = generic_class_type @UInt [concrete] // CHECK:STDOUT: %UInt.generic: %UInt.type = struct_value () [concrete] // CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete] -// CHECK:STDOUT: %tuple.9ca: %tuple.type.24b = tuple_value (%AdaptTuple, %u32) [concrete] +// CHECK:STDOUT: %tuple.e1b: %tuple.type.693 = tuple_value (%AdaptTuple, %u32) [concrete] // CHECK:STDOUT: %tuple.type.e88: type = tuple_type (%AdaptTuple, %u32) [concrete] // CHECK:STDOUT: %pattern_type.996: type = pattern_type %tuple.type.e88 [concrete] // CHECK:STDOUT: %c.param_patt.677: %pattern_type.996 = value_param_pattern [concrete] @@ -467,14 +469,14 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: } { // CHECK:STDOUT: %AdaptTuple.ref.loc13_38: type = name_ref AdaptTuple, file.%AdaptTuple.decl [concrete = constants.%AdaptTuple] // CHECK:STDOUT: %u32.loc13_50: type = type_literal constants.%u32 [concrete = constants.%u32] -// CHECK:STDOUT: %.loc13_53.1: %tuple.type.24b = tuple_literal (%AdaptTuple.ref.loc13_38, %u32.loc13_50) [concrete = constants.%tuple.9ca] +// CHECK:STDOUT: %.loc13_53.1: %tuple.type.693 = tuple_literal (%AdaptTuple.ref.loc13_38, %u32.loc13_50) [concrete = constants.%tuple.e1b] // CHECK:STDOUT: %.loc13_53.2: type = converted %.loc13_53.1, constants.%tuple.type.e88 [concrete = constants.%tuple.type.e88] // CHECK:STDOUT: %.loc13_53.3: Core.Form = init_form %.loc13_53.2 [concrete = constants.%.c2f] // CHECK:STDOUT: %c.param: %tuple.type.e88 = value_param call_param0 // CHECK:STDOUT: %.loc13_31.1: type = splice_block %.loc13_31.3 [concrete = constants.%tuple.type.e88] { // CHECK:STDOUT: %AdaptTuple.ref.loc13_16: type = name_ref AdaptTuple, file.%AdaptTuple.decl [concrete = constants.%AdaptTuple] // CHECK:STDOUT: %u32.loc13_28: type = type_literal constants.%u32 [concrete = constants.%u32] -// CHECK:STDOUT: %.loc13_31.2: %tuple.type.24b = tuple_literal (%AdaptTuple.ref.loc13_16, %u32.loc13_28) [concrete = constants.%tuple.9ca] +// CHECK:STDOUT: %.loc13_31.2: %tuple.type.693 = tuple_literal (%AdaptTuple.ref.loc13_16, %u32.loc13_28) [concrete = constants.%tuple.e1b] // CHECK:STDOUT: %.loc13_31.3: type = converted %.loc13_31.2, constants.%tuple.type.e88 [concrete = constants.%tuple.type.e88] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %tuple.type.e88 = wrapper_binding c, %c.param @@ -486,7 +488,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: class @AdaptTuple { // CHECK:STDOUT: %i32.loc5_10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc5_15: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc5_18: %tuple.type.24b = tuple_literal (%i32.loc5_10, %i32.loc5_15) [concrete = constants.%tuple.b59] +// CHECK:STDOUT: %.loc5_18: %tuple.type.693 = tuple_literal (%i32.loc5_10, %i32.loc5_15) [concrete = constants.%tuple.94e] // CHECK:STDOUT: %.loc5_19: type = converted %.loc5_18, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: adapt_decl %.loc5_19 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%tuple.type.e55 [concrete = constants.%complete_type.6c4] @@ -615,7 +617,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc14_26.1: type = splice_block %.loc14_26.3 [concrete = constants.%tuple.type.e88] { // CHECK:STDOUT: %AdaptTuple.ref.loc14: type = name_ref AdaptTuple, file.%AdaptTuple.decl [concrete = constants.%AdaptTuple] // CHECK:STDOUT: %u32.loc14: type = type_literal constants.%u32 [concrete = constants.%u32] -// CHECK:STDOUT: %.loc14_26.2: %tuple.type.24b = tuple_literal (%AdaptTuple.ref.loc14, %u32.loc14) [concrete = constants.%tuple.9ca] +// CHECK:STDOUT: %.loc14_26.2: %tuple.type.693 = tuple_literal (%AdaptTuple.ref.loc14, %u32.loc14) [concrete = constants.%tuple.e1b] // CHECK:STDOUT: %.loc14_26.3: type = converted %.loc14_26.2, constants.%tuple.type.e88 [concrete = constants.%tuple.type.e88] // CHECK:STDOUT: } // CHECK:STDOUT: %d: ref %tuple.type.e88 = wrapper_binding d, %d.var @@ -680,6 +682,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: --- fail_adapt_not_copyable.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Noncopyable: type = class_type @Noncopyable [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -790,6 +793,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: --- fail_adapt_not_copyable_indirect.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Noncopyable: type = class_type @Noncopyable [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] @@ -800,8 +804,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.ff9: type = tuple_type (type, type, type) [concrete] -// CHECK:STDOUT: %tuple.97d: %tuple.type.ff9 = tuple_value (%i32, %Noncopyable, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.531: type = tuple_type (type, type, type) [concrete] +// CHECK:STDOUT: %tuple.cda: %tuple.type.531 = tuple_value (%i32, %Noncopyable, %i32) [concrete] // CHECK:STDOUT: %tuple.type.227: type = tuple_type (%i32, %Noncopyable, %i32) [concrete] // CHECK:STDOUT: %i32.builtin: type = int_type signed, %int_32 [concrete] // CHECK:STDOUT: %complete_type.591: = complete_type_witness %tuple.type.227 [concrete] @@ -883,7 +887,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %i32.loc9_10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Noncopyable.ref: type = name_ref Noncopyable, file.%Noncopyable.decl [concrete = constants.%Noncopyable] // CHECK:STDOUT: %i32.loc9_28: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc9_31: %tuple.type.ff9 = tuple_literal (%i32.loc9_10, %Noncopyable.ref, %i32.loc9_28) [concrete = constants.%tuple.97d] +// CHECK:STDOUT: %.loc9_31: %tuple.type.531 = tuple_literal (%i32.loc9_10, %Noncopyable.ref, %i32.loc9_28) [concrete = constants.%tuple.cda] // CHECK:STDOUT: %.loc9_32: type = converted %.loc9_31, constants.%tuple.type.227 [concrete = constants.%tuple.type.227] // CHECK:STDOUT: adapt_decl %.loc9_32 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%tuple.type.227 [concrete = constants.%complete_type.591] @@ -962,6 +966,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: --- adapt_copyable_struct.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %AdaptStruct: type = class_type @AdaptStruct [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -998,8 +1003,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %UInt.type: type = generic_class_type @UInt [concrete] // CHECK:STDOUT: %UInt.generic: %UInt.type = struct_value () [concrete] // CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.f52: %tuple.type.24b = tuple_value (%AdaptStruct, %u32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.0e3: %tuple.type.693 = tuple_value (%AdaptStruct, %u32) [concrete] // CHECK:STDOUT: %tuple.type.e00: type = tuple_type (%AdaptStruct, %u32) [concrete] // CHECK:STDOUT: %pattern_type.418: type = pattern_type %tuple.type.e00 [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.418 = value_param_pattern [concrete] @@ -1075,14 +1080,14 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: } { // CHECK:STDOUT: %AdaptStruct.ref.loc13_39: type = name_ref AdaptStruct, file.%AdaptStruct.decl [concrete = constants.%AdaptStruct] // CHECK:STDOUT: %u32.loc13_52: type = type_literal constants.%u32 [concrete = constants.%u32] -// CHECK:STDOUT: %.loc13_55.1: %tuple.type.24b = tuple_literal (%AdaptStruct.ref.loc13_39, %u32.loc13_52) [concrete = constants.%tuple.f52] +// CHECK:STDOUT: %.loc13_55.1: %tuple.type.693 = tuple_literal (%AdaptStruct.ref.loc13_39, %u32.loc13_52) [concrete = constants.%tuple.0e3] // CHECK:STDOUT: %.loc13_55.2: type = converted %.loc13_55.1, constants.%tuple.type.e00 [concrete = constants.%tuple.type.e00] // CHECK:STDOUT: %.loc13_55.3: Core.Form = init_form %.loc13_55.2 [concrete = constants.%.70d] // CHECK:STDOUT: %c.param: %tuple.type.e00 = value_param call_param0 // CHECK:STDOUT: %.loc13_32.1: type = splice_block %.loc13_32.3 [concrete = constants.%tuple.type.e00] { // CHECK:STDOUT: %AdaptStruct.ref.loc13_16: type = name_ref AdaptStruct, file.%AdaptStruct.decl [concrete = constants.%AdaptStruct] // CHECK:STDOUT: %u32.loc13_29: type = type_literal constants.%u32 [concrete = constants.%u32] -// CHECK:STDOUT: %.loc13_32.2: %tuple.type.24b = tuple_literal (%AdaptStruct.ref.loc13_16, %u32.loc13_29) [concrete = constants.%tuple.f52] +// CHECK:STDOUT: %.loc13_32.2: %tuple.type.693 = tuple_literal (%AdaptStruct.ref.loc13_16, %u32.loc13_29) [concrete = constants.%tuple.0e3] // CHECK:STDOUT: %.loc13_32.3: type = converted %.loc13_32.2, constants.%tuple.type.e00 [concrete = constants.%tuple.type.e00] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %tuple.type.e00 = wrapper_binding c, %c.param @@ -1222,7 +1227,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc14_27.1: type = splice_block %.loc14_27.3 [concrete = constants.%tuple.type.e00] { // CHECK:STDOUT: %AdaptStruct.ref.loc14: type = name_ref AdaptStruct, file.%AdaptStruct.decl [concrete = constants.%AdaptStruct] // CHECK:STDOUT: %u32.loc14: type = type_literal constants.%u32 [concrete = constants.%u32] -// CHECK:STDOUT: %.loc14_27.2: %tuple.type.24b = tuple_literal (%AdaptStruct.ref.loc14, %u32.loc14) [concrete = constants.%tuple.f52] +// CHECK:STDOUT: %.loc14_27.2: %tuple.type.693 = tuple_literal (%AdaptStruct.ref.loc14, %u32.loc14) [concrete = constants.%tuple.0e3] // CHECK:STDOUT: %.loc14_27.3: type = converted %.loc14_27.2, constants.%tuple.type.e00 [concrete = constants.%tuple.type.e00] // CHECK:STDOUT: } // CHECK:STDOUT: %d: ref %tuple.type.e00 = wrapper_binding d, %d.var diff --git a/toolchain/check/testdata/class/adapter/extend_adapt.carbon b/toolchain/check/testdata/class/adapter/extend_adapt.carbon index 3c318d1e1daa..10305dea9f8c 100644 --- a/toolchain/check/testdata/class/adapter/extend_adapt.carbon +++ b/toolchain/check/testdata/class/adapter/extend_adapt.carbon @@ -145,6 +145,7 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %SomeClassAdapter: type = class_type @SomeClassAdapter [concrete] // CHECK:STDOUT: %SomeClass: type = class_type @SomeClass [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -275,6 +276,7 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: --- fail_todo_method_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %SomeClass: type = class_type @SomeClass [concrete] // CHECK:STDOUT: %pattern_type.b5d: type = pattern_type %SomeClass [concrete] // CHECK:STDOUT: %self.param_patt.1e7: %pattern_type.b5d = value_param_pattern [concrete] @@ -368,6 +370,7 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: --- fail_todo_field_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %SomeClass: type = class_type @SomeClass [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -468,6 +471,7 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: --- fail_todo_adapt_struct.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %StructAdapter: type = class_type @StructAdapter [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -543,13 +547,14 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: --- fail_todo_adapt_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %TupleAdapter: type = class_type @TupleAdapter [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e55: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %complete_type.6c4: = complete_type_witness %tuple.type.e55 [concrete] // CHECK:STDOUT: %pattern_type.59f: type = pattern_type %TupleAdapter [concrete] @@ -600,7 +605,7 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: class @TupleAdapter { // CHECK:STDOUT: %i32.loc5_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc5_22: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc5_25: %tuple.type.24b = tuple_literal (%i32.loc5_17, %i32.loc5_22) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc5_25: %tuple.type.693 = tuple_literal (%i32.loc5_17, %i32.loc5_22) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc5_26: type = converted %.loc5_25, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: adapt_decl %.loc5_26 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%tuple.type.e55 [concrete = constants.%complete_type.6c4] @@ -621,13 +626,14 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: --- fail_adapt_builtin.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] // CHECK:STDOUT: %N.param_patt: %pattern_type.dc0 = value_param_pattern [concrete] // CHECK:STDOUT: %N.patt.4a4: %pattern_type.dc0 = wrapper_binding_pattern N, %N.param_patt [concrete] -// CHECK:STDOUT: %.805: Core.Form = init_form type [concrete] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %return.param_patt.70e: %pattern_type.98f = out_param_pattern [concrete] -// CHECK:STDOUT: %return.patt.3ae: %pattern_type.98f = return_slot_pattern %return.param_patt.70e, type [concrete] +// CHECK:STDOUT: %.576: Core.Form = init_form type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %return.param_patt.90b: %pattern_type.9a5 = out_param_pattern [concrete] +// CHECK:STDOUT: %return.patt.718: %pattern_type.9a5 = return_slot_pattern %return.param_patt.90b, type [concrete] // CHECK:STDOUT: %MakeInt.type: type = fn_type @MakeInt [concrete] // CHECK:STDOUT: %MakeInt: %MakeInt.type = struct_value () [concrete] // CHECK:STDOUT: %IntAdapter: type = class_type @IntAdapter [concrete] @@ -670,11 +676,11 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: %MakeInt.decl: %MakeInt.type = fn_decl @MakeInt [concrete = constants.%MakeInt] { // CHECK:STDOUT: %N.param_patt: %pattern_type.dc0 = value_param_pattern [concrete = constants.%N.param_patt] // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = wrapper_binding_pattern N, %N.param_patt [concrete = constants.%N.patt.4a4] -// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete = constants.%return.param_patt.70e] -// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, %.loc4_35.1 [concrete = constants.%return.patt.3ae] +// CHECK:STDOUT: %return.param_patt: %pattern_type.9a5 = out_param_pattern [concrete = constants.%return.param_patt.90b] +// CHECK:STDOUT: %return.patt: %pattern_type.9a5 = return_slot_pattern %return.param_patt, %.loc4_35.1 [concrete = constants.%return.patt.718] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_35.1: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.loc4_35.2: Core.Form = init_form %.loc4_35.1 [concrete = constants.%.805] +// CHECK:STDOUT: %.loc4_35.2: Core.Form = init_form %.loc4_35.1 [concrete = constants.%.576] // CHECK:STDOUT: %N.param: Core.IntLiteral = value_param call_param0 // CHECK:STDOUT: %.loc4_19: type = splice_block %IntLiteral.ref [concrete = Core.IntLiteral] { // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] diff --git a/toolchain/check/testdata/class/adapter/fail_adapt_with_subobjects.carbon b/toolchain/check/testdata/class/adapter/fail_adapt_with_subobjects.carbon index 311324aa37a1..f8eb34090aed 100644 --- a/toolchain/check/testdata/class/adapter/fail_adapt_with_subobjects.carbon +++ b/toolchain/check/testdata/class/adapter/fail_adapt_with_subobjects.carbon @@ -82,6 +82,7 @@ class AdaptWithBaseAndFields { // CHECK:STDOUT: --- fail_adapt_with_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] @@ -138,6 +139,7 @@ class AdaptWithBaseAndFields { // CHECK:STDOUT: --- fail_adapt_with_fields.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %AdaptWithField: type = class_type @AdaptWithField [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -205,6 +207,7 @@ class AdaptWithBaseAndFields { // CHECK:STDOUT: --- fail_adapt_with_base_and_fields.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/class/adapter/init_adapt.carbon b/toolchain/check/testdata/class/adapter/init_adapt.carbon index 84efc58e0070..bf37f6363011 100644 --- a/toolchain/check/testdata/class/adapter/init_adapt.carbon +++ b/toolchain/check/testdata/class/adapter/init_adapt.carbon @@ -99,6 +99,7 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: --- init_adapt.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -317,6 +318,7 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: --- fail_not_implicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/class/basic.carbon b/toolchain/check/testdata/class/basic.carbon index d71beaba72aa..0e7f230ca0c8 100644 --- a/toolchain/check/testdata/class/basic.carbon +++ b/toolchain/check/testdata/class/basic.carbon @@ -33,6 +33,7 @@ fn Run() -> i32 { // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/class/complete_in_member_fn.carbon b/toolchain/check/testdata/class/complete_in_member_fn.carbon index 29636e464f9e..3ce1fa7af6df 100644 --- a/toolchain/check/testdata/class/complete_in_member_fn.carbon +++ b/toolchain/check/testdata/class/complete_in_member_fn.carbon @@ -21,6 +21,7 @@ class C { // CHECK:STDOUT: --- complete_in_member_fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.98b = value_param_pattern [concrete] diff --git a/toolchain/check/testdata/class/cross_package_import.carbon b/toolchain/check/testdata/class/cross_package_import.carbon index 45d5b9edec83..2a3c66e252a2 100644 --- a/toolchain/check/testdata/class/cross_package_import.carbon +++ b/toolchain/check/testdata/class/cross_package_import.carbon @@ -107,6 +107,7 @@ var c: Other.C = {}; // CHECK:STDOUT: --- other_define.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -139,6 +140,7 @@ var c: Other.C = {}; // CHECK:STDOUT: --- other_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -163,6 +165,7 @@ var c: Other.C = {}; // CHECK:STDOUT: --- other_conflict.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C.type: type = fn_type @C [concrete] // CHECK:STDOUT: %C: %C.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -191,6 +194,7 @@ var c: Other.C = {}; // CHECK:STDOUT: --- define.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -254,6 +258,7 @@ var c: Other.C = {}; // CHECK:STDOUT: --- fail_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -303,6 +308,7 @@ var c: Other.C = {}; // CHECK:STDOUT: --- fail_todo_merge_define_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -367,6 +373,7 @@ var c: Other.C = {}; // CHECK:STDOUT: --- fail_conflict.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/class/destroy_calls.carbon b/toolchain/check/testdata/class/destroy_calls.carbon index 6e342d117d27..35275e601caa 100644 --- a/toolchain/check/testdata/class/destroy_calls.carbon +++ b/toolchain/check/testdata/class/destroy_calls.carbon @@ -102,6 +102,7 @@ fn G() { F({}); } // CHECK:STDOUT: --- implicit_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] @@ -198,6 +199,7 @@ fn G() { F({}); } // CHECK:STDOUT: --- nested_scope.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] @@ -302,6 +304,7 @@ fn G() { F({}); } // CHECK:STDOUT: --- temp.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %A.Make.type: type = fn_type @A.Make [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -373,6 +376,7 @@ fn G() { F({}); } // CHECK:STDOUT: --- generic_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %D.type: type = generic_class_type @D [concrete] @@ -426,10 +430,10 @@ fn G() { F({}); } // CHECK:STDOUT: --- generic_use_inside_generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -467,10 +471,10 @@ fn G() { F({}); } // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc6_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_17.1: type = splice_block %.loc6_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_15.1 (constants.%T)] @@ -478,7 +482,7 @@ fn G() { F({}); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc6_15.2: type) { -// CHECK:STDOUT: %T.patt.loc6_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_15.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -559,10 +563,10 @@ fn G() { F({}); } // CHECK:STDOUT: --- generic_use_inside_template.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template] // CHECK:STDOUT: %T: type = symbolic_binding T, 0, template [template] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -573,33 +577,33 @@ fn G() { F({}); } // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %.c44: type = type_of_inst @F.%.loc7_20.5 [template] // CHECK:STDOUT: %.d24: %.c44 = splice_inst @F.%.loc7_20.5 [template] -// CHECK:STDOUT: %.44c: type = splice_inst @F.%.loc7_20.8 [template] -// CHECK:STDOUT: %require_complete: = require_complete_type %.44c [template] -// CHECK:STDOUT: %pattern_type.c25: type = pattern_type %.44c [template] -// CHECK:STDOUT: %v.patt.0c8: %pattern_type.c25 = ref_binding_pattern v [template] -// CHECK:STDOUT: %v.var_patt.7d8: %pattern_type.c25 = var_pattern %v.patt.0c8 [template] +// CHECK:STDOUT: %.8bb: type = splice_inst @F.%.loc7_20.8 [template] +// CHECK:STDOUT: %require_complete: = require_complete_type %.8bb [template] +// CHECK:STDOUT: %pattern_type.6b2: type = pattern_type %.8bb [template] +// CHECK:STDOUT: %v.patt.404: %pattern_type.6b2 = ref_binding_pattern v [template] +// CHECK:STDOUT: %v.var_patt.3f1: %pattern_type.6b2 = var_pattern %v.patt.404 [template] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] -// CHECK:STDOUT: %.8161a2.1: type = type_of_inst @F.%.loc7_3.15 [template] -// CHECK:STDOUT: %.d189f7.1: %.8161a2.1 = splice_inst @F.%.loc7_3.15 [template] -// CHECK:STDOUT: %.d9ece5.1: type = type_of_inst @F.%.loc7_3.18 [template] -// CHECK:STDOUT: %.269993.1: %.d9ece5.1 = splice_inst @F.%.loc7_3.18 [template] -// CHECK:STDOUT: %.be0: type = type_of_inst @F.%.loc7_3.21 [template] -// CHECK:STDOUT: %.0e8: %.be0 = splice_inst @F.%.loc7_3.21 [template] -// CHECK:STDOUT: %.b36: type = type_of_inst @F.%.loc7_3.24 [template] -// CHECK:STDOUT: %.820: %.b36 = splice_inst @F.%.loc7_3.24 [template] -// CHECK:STDOUT: %.daa: %.44c = splice_inst @F.%.loc7_3.27 [template] +// CHECK:STDOUT: %.f8059f.1: type = type_of_inst @F.%.loc7_3.15 [template] +// CHECK:STDOUT: %.03555b.1: %.f8059f.1 = splice_inst @F.%.loc7_3.15 [template] +// CHECK:STDOUT: %.9aee9e.1: type = type_of_inst @F.%.loc7_3.18 [template] +// CHECK:STDOUT: %.880b95.1: %.9aee9e.1 = splice_inst @F.%.loc7_3.18 [template] +// CHECK:STDOUT: %.4cb: type = type_of_inst @F.%.loc7_3.21 [template] +// CHECK:STDOUT: %.315: %.4cb = splice_inst @F.%.loc7_3.21 [template] +// CHECK:STDOUT: %.d5b: type = type_of_inst @F.%.loc7_3.24 [template] +// CHECK:STDOUT: %.b20: %.d5b = splice_inst @F.%.loc7_3.24 [template] +// CHECK:STDOUT: %.d6d: %.8bb = splice_inst @F.%.loc7_3.27 [template] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Self.0e7: %Destroy.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.d3e: type = fn_type @Destroy.WithSelf.Op.1, @Destroy.WithSelf(%Self.0e7) [symbolic] // CHECK:STDOUT: %Destroy.WithSelf.Op.42b: %Destroy.WithSelf.Op.type.d3e = struct_value () [symbolic] // CHECK:STDOUT: %Destroy.assoc_type: type = assoc_entity_type @Destroy [concrete] // CHECK:STDOUT: %assoc0.ae8: %Destroy.assoc_type = assoc_entity element0, imports.%Core.import_ref.918 [concrete] -// CHECK:STDOUT: %.db2: type = type_of_inst @F.%.loc7_3.29 [template] -// CHECK:STDOUT: %.12f: %.db2 = splice_inst @F.%.loc7_3.29 [template] -// CHECK:STDOUT: %.8bd: type = type_of_inst @F.%.loc7_3.32 [template] -// CHECK:STDOUT: %.c524: %.8bd = splice_inst @F.%.loc7_3.32 [template] +// CHECK:STDOUT: %.a04: type = type_of_inst @F.%.loc7_3.29 [template] +// CHECK:STDOUT: %.84d: %.a04 = splice_inst @F.%.loc7_3.29 [template] +// CHECK:STDOUT: %.ecf: type = type_of_inst @F.%.loc7_3.32 [template] +// CHECK:STDOUT: %.8b8: %.ecf = splice_inst @F.%.loc7_3.32 [template] // CHECK:STDOUT: %C.d8efcc.1: type = class_type @C, @C(%empty_struct_type) [concrete] // CHECK:STDOUT: %inst.class_type: = inst_value [concrete] { // CHECK:STDOUT: %C.d8efcc.2: type = class_type @C, @C(%empty_struct_type) [concrete = %C.d8efcc.1] @@ -610,35 +614,35 @@ fn G() { F({}); } // CHECK:STDOUT: %pattern_type.2fd: type = pattern_type %C.d8efcc.1 [concrete] // CHECK:STDOUT: %v.patt.0e7: %pattern_type.2fd = ref_binding_pattern v [concrete] // CHECK:STDOUT: %v.var_patt.259: %pattern_type.2fd = var_pattern %v.patt.0e7 [concrete] -// CHECK:STDOUT: %.690: = call_action (%ImplicitAs.generic, %.44c), false [template] -// CHECK:STDOUT: %.8161a2.2: type = type_of_inst %.690 [template] -// CHECK:STDOUT: %.d189f7.2: %.8161a2.2 = splice_inst %.690 [template] -// CHECK:STDOUT: %.7f1: = access_member_action %.d189f7.2, Convert [template] -// CHECK:STDOUT: %.d9ece5.2: type = type_of_inst %.7f1 [template] -// CHECK:STDOUT: %.269993.2: %.d9ece5.2 = splice_inst %.7f1 [template] -// CHECK:STDOUT: %.190: = compound_member_access_action %empty_struct, %.269993.2 [template] -// CHECK:STDOUT: %.46e: type = type_of_inst %.190 [template] -// CHECK:STDOUT: %.27f: %.46e = splice_inst %.190 [template] -// CHECK:STDOUT: %.f03: = call_action (%.27f), true [template] -// CHECK:STDOUT: %.c525: type = type_of_inst %.f03 [template] -// CHECK:STDOUT: %.94d: %.c525 = splice_inst %.f03 [template] -// CHECK:STDOUT: %.85e: = convert_to_category_action %.94d, element10 [template] -// CHECK:STDOUT: %.9fb: %C.d8efcc.1 = splice_inst %.85e [template] +// CHECK:STDOUT: %.9bd: = call_action (%ImplicitAs.generic, %.8bb), false [template] +// CHECK:STDOUT: %.f8059f.2: type = type_of_inst %.9bd [template] +// CHECK:STDOUT: %.03555b.2: %.f8059f.2 = splice_inst %.9bd [template] +// CHECK:STDOUT: %.139: = access_member_action %.03555b.2, Convert [template] +// CHECK:STDOUT: %.9aee9e.2: type = type_of_inst %.139 [template] +// CHECK:STDOUT: %.880b95.2: %.9aee9e.2 = splice_inst %.139 [template] +// CHECK:STDOUT: %.143: = compound_member_access_action %empty_struct, %.880b95.2 [template] +// CHECK:STDOUT: %.4e6: type = type_of_inst %.143 [template] +// CHECK:STDOUT: %.398: %.4e6 = splice_inst %.143 [template] +// CHECK:STDOUT: %.37a: = call_action (%.398), true [template] +// CHECK:STDOUT: %.e10: type = type_of_inst %.37a [template] +// CHECK:STDOUT: %.0f6: %.e10 = splice_inst %.37a [template] +// CHECK:STDOUT: %.afa: = convert_to_category_action %.0f6, element10 [template] +// CHECK:STDOUT: %.610: %C.d8efcc.1 = splice_inst %.afa [template] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.ef016f.2: type = fn_type @Destroy.WithSelf.Op.loc7_3.2 [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.403171.2: %Destroy.WithSelf.Op.type.ef016f.2 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.6c4ec3.2: = custom_witness (%Destroy.WithSelf.Op.403171.2), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.492: %Destroy.type = facet_value %C.d8efcc.1, (%custom_witness.6c4ec3.2) [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.e51: type = fn_type @Destroy.WithSelf.Op.1, @Destroy.WithSelf(%Destroy.facet.492) [concrete] // CHECK:STDOUT: %.441: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.e51, %Destroy.facet.492 [concrete] -// CHECK:STDOUT: %inst.splice_block.118: = inst_value [concrete] { -// CHECK:STDOUT: %.ec6: = splice_block %bound_method { -// CHECK:STDOUT: %.d5b: ref %C.d8efcc.1 = specific_inst @F.%v.var, @F(%empty_struct_type) +// CHECK:STDOUT: %inst.splice_block.ff7: = inst_value [concrete] { +// CHECK:STDOUT: %.e85: = splice_block %bound_method { +// CHECK:STDOUT: %.464: ref %C.d8efcc.1 = specific_inst @F.%v.var, @F(%empty_struct_type) // CHECK:STDOUT: %impl.elem0: %.441 = impl_witness_access %custom_witness.6c4ec3.2, element0 [concrete = %Destroy.WithSelf.Op.403171.2] -// CHECK:STDOUT: %bound_method: = bound_method %.d5b, %impl.elem0 +// CHECK:STDOUT: %bound_method: = bound_method %.464, %impl.elem0 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: %inst.call: = inst_value [concrete] { -// CHECK:STDOUT: %Destroy.WithSelf.Op.call: init %empty_tuple.type = call %.ec6(%.d5b) +// CHECK:STDOUT: %Destroy.WithSelf.Op.call: init %empty_tuple.type = call %.e85(%.464) // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -648,10 +652,10 @@ fn G() { F({}); } // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc6_16.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc6_16.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_16.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc6_16.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_18.1: type = splice_block %.loc6_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_16.2: type = symbolic_binding T, 0, template [template = %T.loc6_16.1 (constants.%T)] @@ -659,7 +663,7 @@ fn G() { F({}); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc6_16.2: type) { -// CHECK:STDOUT: %T.patt.loc6_16.2: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc6_16.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_16.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc6_16.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_16.1: type = symbolic_binding T, 0, template [template = %T.loc6_16.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -667,63 +671,63 @@ fn G() { F({}); } // CHECK:STDOUT: %.loc7_20.6: type = type_of_inst %.loc7_20.5 [template = %.loc7_20.6 (constants.%.c44)] // CHECK:STDOUT: %.loc7_20.7: @F.%.loc7_20.6 (%.c44) = splice_inst %.loc7_20.5 [template = %.loc7_20.7 (constants.%.d24)] // CHECK:STDOUT: %.loc7_20.8: = convert_to_value_action %.loc7_20.3, type [template] -// CHECK:STDOUT: %.loc7_20.9: type = splice_inst %.loc7_20.8 [template = %.loc7_20.9 (constants.%.44c)] +// CHECK:STDOUT: %.loc7_20.9: type = splice_inst %.loc7_20.8 [template = %.loc7_20.9 (constants.%.8bb)] // CHECK:STDOUT: %require_complete: = require_complete_type %.loc7_20.9 [template = %require_complete (constants.%require_complete)] -// CHECK:STDOUT: %pattern_type: type = pattern_type %.loc7_20.9 [template = %pattern_type (constants.%pattern_type.c25)] -// CHECK:STDOUT: %v.patt.loc7_15.2: @F.%pattern_type (%pattern_type.c25) = ref_binding_pattern v [template = %v.patt.loc7_15.2 (constants.%v.patt.0c8)] -// CHECK:STDOUT: %v.var_patt.loc7_3.2: @F.%pattern_type (%pattern_type.c25) = var_pattern %v.patt.loc7_15.2 [template = %v.var_patt.loc7_3.2 (constants.%v.var_patt.7d8)] -// CHECK:STDOUT: %.loc7_3.15: = call_action (constants.%ImplicitAs.generic, constants.%.44c), false [template] -// CHECK:STDOUT: %.loc7_3.16: type = type_of_inst %.loc7_3.15 [template = %.loc7_3.16 (constants.%.8161a2.1)] -// CHECK:STDOUT: %.loc7_3.17: @F.%.loc7_3.16 (%.8161a2.1) = splice_inst %.loc7_3.15 [template = %.loc7_3.17 (constants.%.d189f7.1)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %.loc7_20.9 [template = %pattern_type (constants.%pattern_type.6b2)] +// CHECK:STDOUT: %v.patt.loc7_15.2: @F.%pattern_type (%pattern_type.6b2) = ref_binding_pattern v [template = %v.patt.loc7_15.2 (constants.%v.patt.404)] +// CHECK:STDOUT: %v.var_patt.loc7_3.2: @F.%pattern_type (%pattern_type.6b2) = var_pattern %v.patt.loc7_15.2 [template = %v.var_patt.loc7_3.2 (constants.%v.var_patt.3f1)] +// CHECK:STDOUT: %.loc7_3.15: = call_action (constants.%ImplicitAs.generic, constants.%.8bb), false [template] +// CHECK:STDOUT: %.loc7_3.16: type = type_of_inst %.loc7_3.15 [template = %.loc7_3.16 (constants.%.f8059f.1)] +// CHECK:STDOUT: %.loc7_3.17: @F.%.loc7_3.16 (%.f8059f.1) = splice_inst %.loc7_3.15 [template = %.loc7_3.17 (constants.%.03555b.1)] // CHECK:STDOUT: %.loc7_3.18: = access_member_action %.loc7_3.2, Convert [template] -// CHECK:STDOUT: %.loc7_3.19: type = type_of_inst %.loc7_3.18 [template = %.loc7_3.19 (constants.%.d9ece5.1)] -// CHECK:STDOUT: %.loc7_3.20: @F.%.loc7_3.19 (%.d9ece5.1) = splice_inst %.loc7_3.18 [template = %.loc7_3.20 (constants.%.269993.1)] +// CHECK:STDOUT: %.loc7_3.19: type = type_of_inst %.loc7_3.18 [template = %.loc7_3.19 (constants.%.9aee9e.1)] +// CHECK:STDOUT: %.loc7_3.20: @F.%.loc7_3.19 (%.9aee9e.1) = splice_inst %.loc7_3.18 [template = %.loc7_3.20 (constants.%.880b95.1)] // CHECK:STDOUT: %.loc7_3.21: = compound_member_access_action %.loc7_25, %.loc7_3.4 [template] -// CHECK:STDOUT: %.loc7_3.22: type = type_of_inst %.loc7_3.21 [template = %.loc7_3.22 (constants.%.be0)] -// CHECK:STDOUT: %.loc7_3.23: @F.%.loc7_3.22 (%.be0) = splice_inst %.loc7_3.21 [template = %.loc7_3.23 (constants.%.0e8)] +// CHECK:STDOUT: %.loc7_3.22: type = type_of_inst %.loc7_3.21 [template = %.loc7_3.22 (constants.%.4cb)] +// CHECK:STDOUT: %.loc7_3.23: @F.%.loc7_3.22 (%.4cb) = splice_inst %.loc7_3.21 [template = %.loc7_3.23 (constants.%.315)] // CHECK:STDOUT: %.loc7_3.24: = call_action (%.loc7_3.6), true [template] -// CHECK:STDOUT: %.loc7_3.25: type = type_of_inst %.loc7_3.24 [template = %.loc7_3.25 (constants.%.b36)] -// CHECK:STDOUT: %.loc7_3.26: @F.%.loc7_3.25 (%.b36) = splice_inst %.loc7_3.24 [template = %.loc7_3.26 (constants.%.820)] +// CHECK:STDOUT: %.loc7_3.25: type = type_of_inst %.loc7_3.24 [template = %.loc7_3.25 (constants.%.d5b)] +// CHECK:STDOUT: %.loc7_3.26: @F.%.loc7_3.25 (%.d5b) = splice_inst %.loc7_3.24 [template = %.loc7_3.26 (constants.%.b20)] // CHECK:STDOUT: %.loc7_3.27: = convert_to_category_action %.loc7_3.9, element10 [template] -// CHECK:STDOUT: %.loc7_3.28: @F.%.loc7_20.9 (%.44c) = splice_inst %.loc7_3.27 [template = %.loc7_3.28 (constants.%.daa)] +// CHECK:STDOUT: %.loc7_3.28: @F.%.loc7_20.9 (%.8bb) = splice_inst %.loc7_3.27 [template = %.loc7_3.28 (constants.%.d6d)] // CHECK:STDOUT: %.loc7_3.29: = compound_member_access_action %v.var, constants.%assoc0.ae8 [template] -// CHECK:STDOUT: %.loc7_3.30: type = type_of_inst %.loc7_3.29 [template = %.loc7_3.30 (constants.%.db2)] -// CHECK:STDOUT: %.loc7_3.31: @F.%.loc7_3.30 (%.db2) = splice_inst %.loc7_3.29 [template = %.loc7_3.31 (constants.%.12f)] +// CHECK:STDOUT: %.loc7_3.30: type = type_of_inst %.loc7_3.29 [template = %.loc7_3.30 (constants.%.a04)] +// CHECK:STDOUT: %.loc7_3.31: @F.%.loc7_3.30 (%.a04) = splice_inst %.loc7_3.29 [template = %.loc7_3.31 (constants.%.84d)] // CHECK:STDOUT: %.loc7_3.32: = call_action (%.loc7_3.12), true [template] -// CHECK:STDOUT: %.loc7_3.33: type = type_of_inst %.loc7_3.32 [template = %.loc7_3.33 (constants.%.8bd)] -// CHECK:STDOUT: %.loc7_3.34: @F.%.loc7_3.33 (%.8bd) = splice_inst %.loc7_3.32 [template = %.loc7_3.34 (constants.%.c524)] +// CHECK:STDOUT: %.loc7_3.33: type = type_of_inst %.loc7_3.32 [template = %.loc7_3.33 (constants.%.ecf)] +// CHECK:STDOUT: %.loc7_3.34: @F.%.loc7_3.33 (%.ecf) = splice_inst %.loc7_3.32 [template = %.loc7_3.34 (constants.%.8b8)] // CHECK:STDOUT: // CHECK:STDOUT: fn() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %v.var: ref @F.%.loc7_20.9 (%.44c) = var_storage %v.var_patt.loc7_3.1 +// CHECK:STDOUT: %v.var: ref @F.%.loc7_20.9 (%.8bb) = var_storage %v.var_patt.loc7_3.1 // CHECK:STDOUT: %.loc7_25: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] -// CHECK:STDOUT: %.loc7_3.1: type = type_of_inst %.loc7_3.15 [template = %.loc7_3.16 (constants.%.8161a2.1)] -// CHECK:STDOUT: %.loc7_3.2: @F.%.loc7_3.16 (%.8161a2.1) = splice_inst %.loc7_3.15 [template = %.loc7_3.17 (constants.%.d189f7.1)] -// CHECK:STDOUT: %.loc7_3.3: type = type_of_inst %.loc7_3.18 [template = %.loc7_3.19 (constants.%.d9ece5.1)] -// CHECK:STDOUT: %.loc7_3.4: @F.%.loc7_3.19 (%.d9ece5.1) = splice_inst %.loc7_3.18 [template = %.loc7_3.20 (constants.%.269993.1)] -// CHECK:STDOUT: %.loc7_3.5: type = type_of_inst %.loc7_3.21 [template = %.loc7_3.22 (constants.%.be0)] -// CHECK:STDOUT: %.loc7_3.6: @F.%.loc7_3.22 (%.be0) = splice_inst %.loc7_3.21 [template = %.loc7_3.23 (constants.%.0e8)] -// CHECK:STDOUT: %.loc7_3.7: type = type_of_inst %.loc7_3.24 [template = %.loc7_3.25 (constants.%.b36)] -// CHECK:STDOUT: %.loc7_3.8: @F.%.loc7_3.25 (%.b36) = splice_inst %.loc7_3.24 [template = %.loc7_3.26 (constants.%.820)] -// CHECK:STDOUT: %.loc7_3.9: @F.%.loc7_20.9 (%.44c) = converted %.loc7_25, %.loc7_3.8 [template = %.loc7_3.26 (constants.%.820)] -// CHECK:STDOUT: %.loc7_3.10: @F.%.loc7_20.9 (%.44c) = splice_inst %.loc7_3.27 [template = %.loc7_3.28 (constants.%.daa)] +// CHECK:STDOUT: %.loc7_3.1: type = type_of_inst %.loc7_3.15 [template = %.loc7_3.16 (constants.%.f8059f.1)] +// CHECK:STDOUT: %.loc7_3.2: @F.%.loc7_3.16 (%.f8059f.1) = splice_inst %.loc7_3.15 [template = %.loc7_3.17 (constants.%.03555b.1)] +// CHECK:STDOUT: %.loc7_3.3: type = type_of_inst %.loc7_3.18 [template = %.loc7_3.19 (constants.%.9aee9e.1)] +// CHECK:STDOUT: %.loc7_3.4: @F.%.loc7_3.19 (%.9aee9e.1) = splice_inst %.loc7_3.18 [template = %.loc7_3.20 (constants.%.880b95.1)] +// CHECK:STDOUT: %.loc7_3.5: type = type_of_inst %.loc7_3.21 [template = %.loc7_3.22 (constants.%.4cb)] +// CHECK:STDOUT: %.loc7_3.6: @F.%.loc7_3.22 (%.4cb) = splice_inst %.loc7_3.21 [template = %.loc7_3.23 (constants.%.315)] +// CHECK:STDOUT: %.loc7_3.7: type = type_of_inst %.loc7_3.24 [template = %.loc7_3.25 (constants.%.d5b)] +// CHECK:STDOUT: %.loc7_3.8: @F.%.loc7_3.25 (%.d5b) = splice_inst %.loc7_3.24 [template = %.loc7_3.26 (constants.%.b20)] +// CHECK:STDOUT: %.loc7_3.9: @F.%.loc7_20.9 (%.8bb) = converted %.loc7_25, %.loc7_3.8 [template = %.loc7_3.26 (constants.%.b20)] +// CHECK:STDOUT: %.loc7_3.10: @F.%.loc7_20.9 (%.8bb) = splice_inst %.loc7_3.27 [template = %.loc7_3.28 (constants.%.d6d)] // CHECK:STDOUT: assign %v.var, %.loc7_3.10 -// CHECK:STDOUT: %.loc7_20.1: type = splice_block %.loc7_20.4 [template = %.loc7_20.9 (constants.%.44c)] { +// CHECK:STDOUT: %.loc7_20.1: type = splice_block %.loc7_20.4 [template = %.loc7_20.9 (constants.%.8bb)] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc6_16.2 [template = %T.loc6_16.1 (constants.%T)] // CHECK:STDOUT: %.loc7_20.2: type = type_of_inst %.loc7_20.5 [template = %.loc7_20.6 (constants.%.c44)] // CHECK:STDOUT: %.loc7_20.3: @F.%.loc7_20.6 (%.c44) = splice_inst %.loc7_20.5 [template = %.loc7_20.7 (constants.%.d24)] -// CHECK:STDOUT: %.loc7_20.4: type = splice_inst %.loc7_20.8 [template = %.loc7_20.9 (constants.%.44c)] +// CHECK:STDOUT: %.loc7_20.4: type = splice_inst %.loc7_20.8 [template = %.loc7_20.9 (constants.%.8bb)] // CHECK:STDOUT: } -// CHECK:STDOUT: %v: ref @F.%.loc7_20.9 (%.44c) = wrapper_binding v, %v.var +// CHECK:STDOUT: %v: ref @F.%.loc7_20.9 (%.8bb) = wrapper_binding v, %v.var // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %v.patt.loc7_15.1: @F.%pattern_type (%pattern_type.c25) = ref_binding_pattern v [template = %v.patt.loc7_15.2 (constants.%v.patt.0c8)] -// CHECK:STDOUT: %v.var_patt.loc7_3.1: @F.%pattern_type (%pattern_type.c25) = var_pattern %v.patt.loc7_15.1 [template = %v.var_patt.loc7_3.2 (constants.%v.var_patt.7d8)] +// CHECK:STDOUT: %v.patt.loc7_15.1: @F.%pattern_type (%pattern_type.6b2) = ref_binding_pattern v [template = %v.patt.loc7_15.2 (constants.%v.patt.404)] +// CHECK:STDOUT: %v.var_patt.loc7_3.1: @F.%pattern_type (%pattern_type.6b2) = var_pattern %v.patt.loc7_15.1 [template = %v.var_patt.loc7_3.2 (constants.%v.var_patt.3f1)] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc7_3.11: type = type_of_inst %.loc7_3.29 [template = %.loc7_3.30 (constants.%.db2)] -// CHECK:STDOUT: %.loc7_3.12: @F.%.loc7_3.30 (%.db2) = splice_inst %.loc7_3.29 [template = %.loc7_3.31 (constants.%.12f)] -// CHECK:STDOUT: %.loc7_3.13: type = type_of_inst %.loc7_3.32 [template = %.loc7_3.33 (constants.%.8bd)] -// CHECK:STDOUT: %.loc7_3.14: @F.%.loc7_3.33 (%.8bd) = splice_inst %.loc7_3.32 [template = %.loc7_3.34 (constants.%.c524)] +// CHECK:STDOUT: %.loc7_3.11: type = type_of_inst %.loc7_3.29 [template = %.loc7_3.30 (constants.%.a04)] +// CHECK:STDOUT: %.loc7_3.12: @F.%.loc7_3.30 (%.a04) = splice_inst %.loc7_3.29 [template = %.loc7_3.31 (constants.%.84d)] +// CHECK:STDOUT: %.loc7_3.13: type = type_of_inst %.loc7_3.32 [template = %.loc7_3.33 (constants.%.ecf)] +// CHECK:STDOUT: %.loc7_3.14: @F.%.loc7_3.33 (%.ecf) = splice_inst %.loc7_3.32 [template = %.loc7_3.34 (constants.%.8b8)] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -754,21 +758,21 @@ fn G() { F({}); } // CHECK:STDOUT: %pattern_type => constants.%pattern_type.2fd // CHECK:STDOUT: %v.patt.loc7_15.2 => constants.%v.patt.0e7 // CHECK:STDOUT: %v.var_patt.loc7_3.2 => constants.%v.var_patt.259 -// CHECK:STDOUT: %.loc7_3.15 => constants.%.690 -// CHECK:STDOUT: %.loc7_3.16 => constants.%.8161a2.2 -// CHECK:STDOUT: %.loc7_3.17 => constants.%.d189f7.2 -// CHECK:STDOUT: %.loc7_3.18 => constants.%.7f1 -// CHECK:STDOUT: %.loc7_3.19 => constants.%.d9ece5.2 -// CHECK:STDOUT: %.loc7_3.20 => constants.%.269993.2 -// CHECK:STDOUT: %.loc7_3.21 => constants.%.190 -// CHECK:STDOUT: %.loc7_3.22 => constants.%.46e -// CHECK:STDOUT: %.loc7_3.23 => constants.%.27f -// CHECK:STDOUT: %.loc7_3.24 => constants.%.f03 -// CHECK:STDOUT: %.loc7_3.25 => constants.%.c525 -// CHECK:STDOUT: %.loc7_3.26 => constants.%.94d -// CHECK:STDOUT: %.loc7_3.27 => constants.%.85e -// CHECK:STDOUT: %.loc7_3.28 => constants.%.9fb -// CHECK:STDOUT: %.loc7_3.29 => constants.%inst.splice_block.118 +// CHECK:STDOUT: %.loc7_3.15 => constants.%.9bd +// CHECK:STDOUT: %.loc7_3.16 => constants.%.f8059f.2 +// CHECK:STDOUT: %.loc7_3.17 => constants.%.03555b.2 +// CHECK:STDOUT: %.loc7_3.18 => constants.%.139 +// CHECK:STDOUT: %.loc7_3.19 => constants.%.9aee9e.2 +// CHECK:STDOUT: %.loc7_3.20 => constants.%.880b95.2 +// CHECK:STDOUT: %.loc7_3.21 => constants.%.143 +// CHECK:STDOUT: %.loc7_3.22 => constants.%.4e6 +// CHECK:STDOUT: %.loc7_3.23 => constants.%.398 +// CHECK:STDOUT: %.loc7_3.24 => constants.%.37a +// CHECK:STDOUT: %.loc7_3.25 => constants.%.e10 +// CHECK:STDOUT: %.loc7_3.26 => constants.%.0f6 +// CHECK:STDOUT: %.loc7_3.27 => constants.%.afa +// CHECK:STDOUT: %.loc7_3.28 => constants.%.610 +// CHECK:STDOUT: %.loc7_3.29 => constants.%inst.splice_block.ff7 // CHECK:STDOUT: %.loc7_3.30 => // CHECK:STDOUT: %.loc7_3.31 => invalid // CHECK:STDOUT: %.loc7_3.32 => constants.%inst.call diff --git a/toolchain/check/testdata/class/export_name.carbon b/toolchain/check/testdata/class/export_name.carbon index 8ce67c89cab9..1d62b9530935 100644 --- a/toolchain/check/testdata/class/export_name.carbon +++ b/toolchain/check/testdata/class/export_name.carbon @@ -45,6 +45,7 @@ var c: C = {}; // CHECK:STDOUT: --- base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -68,6 +69,7 @@ var c: C = {}; // CHECK:STDOUT: --- export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -97,6 +99,7 @@ var c: C = {}; // CHECK:STDOUT: --- use_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/class/extern.carbon b/toolchain/check/testdata/class/extern.carbon index 98603c6afc7b..cd2ff10dccdd 100644 --- a/toolchain/check/testdata/class/extern.carbon +++ b/toolchain/check/testdata/class/extern.carbon @@ -289,6 +289,7 @@ extern class C; // CHECK:STDOUT: --- decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -304,6 +305,7 @@ extern class C; // CHECK:STDOUT: --- extern_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -319,6 +321,7 @@ extern class C; // CHECK:STDOUT: --- extern_decl_copy.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -334,6 +337,7 @@ extern class C; // CHECK:STDOUT: --- def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -357,6 +361,7 @@ extern class C; // CHECK:STDOUT: --- fail_decl_fn_in_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -377,6 +382,7 @@ extern class C; // CHECK:STDOUT: --- extern_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -400,6 +406,7 @@ extern class C; // CHECK:STDOUT: --- fail_extern_decl_after_extern_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -416,6 +423,7 @@ extern class C; // CHECK:STDOUT: --- fail_decl_after_extern_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -432,6 +440,7 @@ extern class C; // CHECK:STDOUT: --- fail_extern_member_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -460,6 +469,7 @@ extern class C; // CHECK:STDOUT: --- fail_def_after_extern_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -484,6 +494,7 @@ extern class C; // CHECK:STDOUT: --- fail_extern_decl_after_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -565,6 +576,7 @@ extern class C; // CHECK:STDOUT: --- fail_extern_decl_after_import_extern_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -581,6 +593,7 @@ extern class C; // CHECK:STDOUT: --- fail_decl_after_import_extern_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -597,6 +610,7 @@ extern class C; // CHECK:STDOUT: --- fail_def_after_import_extern_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -625,6 +639,7 @@ extern class C; // CHECK:STDOUT: --- fail_extern_decl_after_import_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/class/extern_library.carbon b/toolchain/check/testdata/class/extern_library.carbon index cbde3c11f650..f7cad79f6371 100644 --- a/toolchain/check/testdata/class/extern_library.carbon +++ b/toolchain/check/testdata/class/extern_library.carbon @@ -23,6 +23,7 @@ extern library "foo" class C; // CHECK:STDOUT: --- fail_todo.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/field/comp_time_field.carbon b/toolchain/check/testdata/class/field/comp_time_field.carbon index 0274990d7a43..9fc6ea40dc25 100644 --- a/toolchain/check/testdata/class/field/comp_time_field.carbon +++ b/toolchain/check/testdata/class/field/comp_time_field.carbon @@ -57,9 +57,9 @@ var x: Class = {}; // CHECK:STDOUT: --- fail_let.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %A.patt: %pattern_type = value_binding_pattern A [concrete] // CHECK:STDOUT: %B.patt: %pattern_type = value_binding_pattern B [concrete] @@ -77,7 +77,7 @@ var x: Class = {}; // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %Class.ref.loc9: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] // CHECK:STDOUT: %.loc9_18.1: type = splice_block %.loc9_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc9: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc9: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %A: type = wrapper_binding A, %Class.ref.loc9 @@ -86,7 +86,7 @@ var x: Class = {}; // CHECK:STDOUT: } // CHECK:STDOUT: %Class.ref.loc15: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] // CHECK:STDOUT: %.loc15_19.1: type = splice_block %.loc15_19.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_19.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %B: type = wrapper_binding B, %Class.ref.loc15 @@ -106,6 +106,7 @@ var x: Class = {}; // CHECK:STDOUT: --- fail_var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/field/compound_field.carbon b/toolchain/check/testdata/class/field/compound_field.carbon index b29eddf01923..f96c93be5d2c 100644 --- a/toolchain/check/testdata/class/field/compound_field.carbon +++ b/toolchain/check/testdata/class/field/compound_field.carbon @@ -44,6 +44,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: --- compound_field.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/class/field/field_access.carbon b/toolchain/check/testdata/class/field/field_access.carbon index 767637e4a355..1c7d99e02d97 100644 --- a/toolchain/check/testdata/class/field/field_access.carbon +++ b/toolchain/check/testdata/class/field/field_access.carbon @@ -28,6 +28,7 @@ fn Run() { // CHECK:STDOUT: --- field_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [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 533a7399ef5f..44d66241fd08 100644 --- a/toolchain/check/testdata/class/field/field_access_in_value.carbon +++ b/toolchain/check/testdata/class/field/field_access_in_value.carbon @@ -29,6 +29,7 @@ fn Test() { // CHECK:STDOUT: --- field_access_in_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/class/field/field_initializer.carbon b/toolchain/check/testdata/class/field/field_initializer.carbon index e4389246b819..0f9077d631f4 100644 --- a/toolchain/check/testdata/class/field/field_initializer.carbon +++ b/toolchain/check/testdata/class/field/field_initializer.carbon @@ -87,6 +87,7 @@ var C: Class = {}; // CHECK:STDOUT: --- field_initializer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/class/field/static.carbon b/toolchain/check/testdata/class/field/static.carbon index 32291eb7280c..0dad46238dfe 100644 --- a/toolchain/check/testdata/class/field/static.carbon +++ b/toolchain/check/testdata/class/field/static.carbon @@ -56,6 +56,7 @@ fn F() { // CHECK:STDOUT: --- static_field.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/class/forward_declared.carbon b/toolchain/check/testdata/class/forward_declared.carbon index 138d848d2488..029fd5518358 100644 --- a/toolchain/check/testdata/class/forward_declared.carbon +++ b/toolchain/check/testdata/class/forward_declared.carbon @@ -19,6 +19,7 @@ fn F(p: Class*) -> Class* { return p; } // CHECK:STDOUT: --- forward_declared.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %ptr.7ee: type = ptr_type %Class [concrete] // CHECK:STDOUT: %pattern_type.8c5: type = pattern_type %ptr.7ee [concrete] diff --git a/toolchain/check/testdata/class/generic/adapt.carbon b/toolchain/check/testdata/class/generic/adapt.carbon index 6c9596bde8b4..6dbfe7ffc846 100644 --- a/toolchain/check/testdata/class/generic/adapt.carbon +++ b/toolchain/check/testdata/class/generic/adapt.carbon @@ -128,10 +128,10 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: --- adapt_specific_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -195,10 +195,10 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { -// CHECK:STDOUT: %T.patt.loc4_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_12.1: type = splice_block %.loc4_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_10.1 (constants.%T.67d)] @@ -221,7 +221,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(%T.loc4_10.2: type) { -// CHECK:STDOUT: %T.patt.loc4_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc4_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_10.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -278,12 +278,12 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc4_10.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_10.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_10.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C(constants.%i32) { -// CHECK:STDOUT: %T.patt.loc4_10.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_10.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_10.1 => constants.%i32 // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -297,6 +297,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: --- import_adapt_specific_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Adapter: type = class_type @Adapter [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -311,8 +312,8 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %struct_type.x.0c5: type = struct_type {.x: %T.67d} [symbolic] // CHECK:STDOUT: %complete_type.735: = complete_type_witness %struct_type.x.0c5 [symbolic] // CHECK:STDOUT: %C.1d0: type = class_type @C, @C(%T.67d) [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// 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: %C.elem.4d5: type = unbound_element_type %C.1d0, %T.67d [symbolic] // CHECK:STDOUT: %require_complete.944: = require_complete_type %T.67d [symbolic] // CHECK:STDOUT: %C.3b7: type = class_type @C, @C(%i32) [concrete] @@ -398,7 +399,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(imports.%Main.import_ref.b3b: type) [from "adapt_specific_type.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt.3a0)] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -437,12 +438,12 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C(constants.%T.67d) { -// CHECK:STDOUT: %T.patt => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt => constants.%T.patt.3a0 // CHECK:STDOUT: %T => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C(constants.%i32) { -// CHECK:STDOUT: %T.patt => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt => constants.%T.patt.3a0 // CHECK:STDOUT: %T => constants.%i32 // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -456,10 +457,10 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: --- fail_todo_extend_adapt_specific_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -512,10 +513,10 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { -// CHECK:STDOUT: %T.patt.loc4_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_12.1: type = splice_block %.loc4_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_10.1 (constants.%T)] @@ -538,7 +539,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(%T.loc4_10.2: type) { -// CHECK:STDOUT: %T.patt.loc4_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_10.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -606,10 +607,10 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: --- extend_adapt_specific_type_library.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -648,10 +649,10 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { -// CHECK:STDOUT: %T.patt.loc7_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc7_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_12.1: type = splice_block %.loc7_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc7_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_10.1 (constants.%T)] @@ -660,7 +661,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(%T.loc7_10.2: type) { -// CHECK:STDOUT: %T.patt.loc7_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc7_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc7_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_10.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -718,6 +719,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: --- fail_todo_import_extend_adapt_specific_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Adapter: type = class_type @Adapter [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -729,8 +731,8 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %struct_type.x.0c5: type = struct_type {.x: %T} [symbolic] // CHECK:STDOUT: %complete_type.735: = complete_type_witness %struct_type.x.0c5 [symbolic] // CHECK:STDOUT: %C.1d0: type = class_type @C, @C(%T) [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %C.elem.4d5: type = unbound_element_type %C.1d0, %T [symbolic] // CHECK:STDOUT: %require_complete.944: = require_complete_type %T [symbolic] // CHECK:STDOUT: %C.3b7: type = class_type @C, @C(%i32) [concrete] @@ -807,7 +809,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(imports.%Main.import_ref.b3b: type) [from "extend_adapt_specific_type_library.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -855,10 +857,10 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: --- adapt_generic_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Adapter.type: type = generic_class_type @Adapter [concrete] // CHECK:STDOUT: %Adapter.generic: %Adapter.type = struct_value () [concrete] @@ -916,10 +918,10 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Adapter.decl: %Adapter.type = class_decl @Adapter [concrete = constants.%Adapter.generic] { -// CHECK:STDOUT: %T.patt.loc4_16.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_16.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_16.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_16.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_18.1: type = splice_block %.loc4_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_16.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_16.1 (constants.%T.67d)] @@ -945,7 +947,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Adapter(%T.loc4_16.2: type) { -// CHECK:STDOUT: %T.patt.loc4_16.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_16.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_16.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_16.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc4_16.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_16.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -979,12 +981,12 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Adapter(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc4_16.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_16.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_16.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Adapter(constants.%i32) { -// CHECK:STDOUT: %T.patt.loc4_16.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_16.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_16.1 => constants.%i32 // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -995,12 +997,13 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: --- import_adapt_generic_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Adapter.type: type = generic_class_type @Adapter [concrete] // CHECK:STDOUT: %Adapter.generic: %Adapter.type = struct_value () [concrete] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %complete_type.1aa: = complete_type_witness %T.67d [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// 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: %require_complete.944: = require_complete_type %T.67d [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -1112,7 +1115,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Adapter(imports.%Main.import_ref.b3b: type) [from "adapt_generic_type.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt.3a0)] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -1171,12 +1174,12 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Adapter(constants.%T.67d) { -// CHECK:STDOUT: %T.patt => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt => constants.%T.patt.3a0 // CHECK:STDOUT: %T => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Adapter(constants.%i32) { -// CHECK:STDOUT: %T.patt => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt => constants.%T.patt.3a0 // CHECK:STDOUT: %T => constants.%i32 // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -1185,7 +1188,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Adapter(constants.%C) { -// CHECK:STDOUT: %T.patt => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt => constants.%T.patt.3a0 // CHECK:STDOUT: %T => constants.%C // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/class/generic/base_is_generic.carbon b/toolchain/check/testdata/class/generic/base_is_generic.carbon index 29d6b95793f7..4ff3c295e8c1 100644 --- a/toolchain/check/testdata/class/generic/base_is_generic.carbon +++ b/toolchain/check/testdata/class/generic/base_is_generic.carbon @@ -92,10 +92,10 @@ fn H() { // CHECK:STDOUT: --- extend_generic_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Base.type: type = generic_class_type @Base [concrete] // CHECK:STDOUT: %Base.generic: %Base.type = struct_value () [concrete] @@ -165,10 +165,10 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Base.decl: %Base.type = class_decl @Base [concrete = constants.%Base.generic] { -// CHECK:STDOUT: %T.patt.loc4_18.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_18.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_20.1: type = splice_block %.loc4_20.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_20.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_18.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_18.1 (constants.%T.67d)] @@ -192,7 +192,7 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Base(%T.loc4_18.2: type) { -// CHECK:STDOUT: %T.patt.loc4_18.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_18.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc4_18.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_18.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -264,12 +264,12 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Base(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc4_18.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_18.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_18.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Base(constants.%Param) { -// CHECK:STDOUT: %T.patt.loc4_18.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_18.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_18.1 => constants.%Param // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -283,6 +283,7 @@ fn H() { // CHECK:STDOUT: --- import.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %Param: type = class_type @Param [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -296,8 +297,8 @@ fn H() { // CHECK:STDOUT: %struct_type.x.0c5: type = struct_type {.x: %T.67d} [symbolic] // CHECK:STDOUT: %complete_type.735: = complete_type_witness %struct_type.x.0c5 [symbolic] // CHECK:STDOUT: %Base.798: type = class_type @Base, @Base(%T.67d) [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// 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: %Base.elem.a3c: type = unbound_element_type %Base.798, %T.67d [symbolic] // CHECK:STDOUT: %require_complete.944: = require_complete_type %T.67d [symbolic] // CHECK:STDOUT: %Base.947: type = class_type @Base, @Base(%Param) [concrete] @@ -406,7 +407,7 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Base(imports.%Main.import_ref.b3b: type) [from "extend_generic_base.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt.3a0)] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -444,12 +445,12 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Base(constants.%T.67d) { -// CHECK:STDOUT: %T.patt => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt => constants.%T.patt.3a0 // CHECK:STDOUT: %T => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Base(constants.%Param) { -// CHECK:STDOUT: %T.patt => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt => constants.%T.patt.3a0 // CHECK:STDOUT: %T => constants.%Param // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -463,8 +464,8 @@ fn H() { // CHECK:STDOUT: --- fail_todo_extend_symbolic_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -501,7 +502,7 @@ fn H() { // CHECK:STDOUT: %T.patt.loc4_10.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_12.1: type = splice_block %.loc4_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_10.1 (constants.%T)] @@ -572,10 +573,10 @@ fn H() { // CHECK:STDOUT: --- extend_generic_symbolic_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %X.type: type = generic_class_type @X [concrete] // CHECK:STDOUT: %X.generic: %X.type = struct_value () [concrete] @@ -590,7 +591,7 @@ fn H() { // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %require_complete.944: = require_complete_type %U [symbolic] // CHECK:STDOUT: %X.G.specific_fn.196: = specific_function %X.G.ff3d53.1, @X.G(%U) [symbolic] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -643,19 +644,19 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %X.decl: %X.type = class_decl @X [concrete = constants.%X.generic] { -// CHECK:STDOUT: %U.patt.loc4_15.1: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc4_15.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc4_15.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc4_15.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc4_15.2: type = symbolic_binding U, 0 [symbolic = %U.loc4_15.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { -// CHECK:STDOUT: %T.patt.loc8_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_12.1: type = splice_block %.loc8_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_10.1 (constants.%T)] @@ -664,7 +665,7 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @X(%U.loc4_15.2: type) { -// CHECK:STDOUT: %U.patt.loc4_15.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc4_15.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc4_15.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc4_15.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc4_15.1: type = symbolic_binding U, 0 [symbolic = %U.loc4_15.1 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -692,7 +693,7 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(%T.loc8_10.2: type) { -// CHECK:STDOUT: %T.patt.loc8_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc8_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_10.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -840,6 +841,7 @@ fn H() { // CHECK:STDOUT: --- import_extend_generic_symbolic_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %H.type: type = fn_type @H [concrete] // CHECK:STDOUT: %H: %H.type = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -860,8 +862,8 @@ fn H() { // CHECK:STDOUT: %X.G.ff3d53.1: %X.G.type.4063b8.1 = struct_value () [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %U [symbolic] // CHECK:STDOUT: %return.param_patt.41d: %pattern_type.51d = out_param_pattern [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %return.patt.c39: %pattern_type.51d = return_slot_pattern %return.param_patt.41d, invalid [symbolic] // CHECK:STDOUT: %.184: Core.Form = init_form %U [symbolic] // CHECK:STDOUT: %X.G.specific_fn.196: = specific_function %X.G.ff3d53.1, @X.G(%U) [symbolic] @@ -870,7 +872,7 @@ fn H() { // CHECK:STDOUT: %X.G.type.4063b8.2: type = fn_type @X.G, @X(%T) [symbolic] // CHECK:STDOUT: %X.G.ff3d53.2: %X.G.type.4063b8.2 = struct_value () [symbolic] // CHECK:STDOUT: %C.1d0: type = class_type @C, @C(%T) [symbolic] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %C.elem.bbb: type = unbound_element_type %C.1d0, %X.da69a4.2 [symbolic] // CHECK:STDOUT: %struct_type.base.8ee: type = struct_type {.base: %X.da69a4.2} [symbolic] // CHECK:STDOUT: %complete_type.584: = complete_type_witness %struct_type.base.8ee [symbolic] @@ -924,7 +926,7 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(imports.%Main.import_ref.b3bc94.3: type) [from "extend_generic_symbolic_base.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -947,7 +949,7 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @X(imports.%Main.import_ref.b3bc94.2: type) [from "extend_generic_symbolic_base.carbon"] { -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt (constants.%U.patt)] +// 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: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/class/generic/basic.carbon b/toolchain/check/testdata/class/generic/basic.carbon index 07f039528962..4058f216586c 100644 --- a/toolchain/check/testdata/class/generic/basic.carbon +++ b/toolchain/check/testdata/class/generic/basic.carbon @@ -34,8 +34,8 @@ class Declaration(T: type); // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %pattern_type.e81: type = pattern_type %Copy.type [concrete] // CHECK:STDOUT: %T.patt.fe6: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic] @@ -74,8 +74,8 @@ class Declaration(T: type); // CHECK:STDOUT: %impl.elem0.bd2: %.c29 = impl_witness_access %Copy.lookup_impl_witness.d9c, element0 [symbolic] // CHECK:STDOUT: %specific_impl_fn.e2a: = specific_impl_function %impl.elem0.bd2, @Copy.WithSelf.Op(%T.f84) [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// 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: %.a33: 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] @@ -101,17 +101,17 @@ class Declaration(T: type); // CHECK:STDOUT: %T.patt.loc5_14.1: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.fe6)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5: type = splice_block %Copy.ref [concrete = constants.%Copy.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_14.2: %Copy.type = symbolic_binding T, 0 [symbolic = %T.loc5_14.1 (constants.%T.f84)] // CHECK:STDOUT: } // CHECK:STDOUT: %Declaration.decl: %Declaration.type = class_decl @Declaration [concrete = constants.%Declaration.generic] { -// CHECK:STDOUT: %T.patt.loc17_20.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc17_20.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc17_20.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc17_20.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17_22.1: type = splice_block %.loc17_22.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc17_22.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc17_20.2: type = symbolic_binding T, 0 [symbolic = %T.loc17_20.1 (constants.%T.67d)] @@ -192,7 +192,7 @@ class Declaration(T: type); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Declaration(%T.loc17_20.2: type) { -// CHECK:STDOUT: %T.patt.loc17_20.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc17_20.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc17_20.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc17_20.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc17_20.1: type = symbolic_binding T, 0 [symbolic = %T.loc17_20.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: class; @@ -327,7 +327,7 @@ class Declaration(T: type); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Declaration(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc17_20.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc17_20.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc17_20.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/generic/call.carbon b/toolchain/check/testdata/class/generic/call.carbon index 68af43449131..f4605fc947f3 100644 --- a/toolchain/check/testdata/class/generic/call.carbon +++ b/toolchain/check/testdata/class/generic/call.carbon @@ -93,10 +93,10 @@ class Outer(T: type) { // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -183,16 +183,16 @@ class Outer(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { -// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %N.patt.loc4_23.1: %pattern_type.6b6 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc4_23.2 (constants.%N.patt.a76)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: type = splice_block %.loc4_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4_14: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_14: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T.67d)] // CHECK:STDOUT: %.loc4_25: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen.loc4_23: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_23: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_23.2: %i32 = symbolic_binding N, 1 [symbolic = %N.loc4_23.1 (constants.%N.ce9)] @@ -240,7 +240,7 @@ class Outer(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class(%T.loc4_14.2: type, %N.loc4_23.2: %i32) { -// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc4_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T.67d)] // CHECK:STDOUT: %N.patt.loc4_23.2: %pattern_type.6b6 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc4_23.2 (constants.%N.patt.a76)] // CHECK:STDOUT: %N.loc4_23.1: %i32 = symbolic_binding N, 1 [symbolic = %N.loc4_23.1 (constants.%N.ce9)] @@ -278,14 +278,14 @@ class Outer(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Class(constants.%T.67d, constants.%N.ce9) { -// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_14.1 => constants.%T.67d // CHECK:STDOUT: %N.patt.loc4_23.2 => constants.%N.patt.a76 // CHECK:STDOUT: %N.loc4_23.1 => constants.%N.ce9 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Class(constants.%ptr.d08, constants.%int_5.eef) { -// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_14.1 => constants.%ptr.d08 // CHECK:STDOUT: %N.patt.loc4_23.2 => constants.%N.patt.a76 // CHECK:STDOUT: %N.loc4_23.1 => constants.%int_5.eef @@ -294,7 +294,7 @@ class Outer(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Class(constants.%empty_tuple.type, constants.%int_0.3c0) { -// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_14.1 => constants.%empty_tuple.type // CHECK:STDOUT: %N.patt.loc4_23.2 => constants.%N.patt.a76 // CHECK:STDOUT: %N.loc4_23.1 => constants.%int_0.3c0 @@ -305,10 +305,10 @@ class Outer(T: type) { // CHECK:STDOUT: --- fail_too_few.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -342,16 +342,16 @@ class Outer(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { -// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: %N.patt.loc4_23.1: %pattern_type.6b6 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc4_23.2 (constants.%N.patt.a76)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: type = splice_block %.loc4_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4_14: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_14: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: %.loc4_25: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen.loc4_23: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_23: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_23.2: %i32 = symbolic_binding N, 1 [symbolic = %N.loc4_23.1 (constants.%N.ce9)] @@ -370,7 +370,7 @@ class Outer(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class(%T.loc4_14.2: type, %N.loc4_23.2: %i32) { -// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: %N.patt.loc4_23.2: %pattern_type.6b6 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc4_23.2 (constants.%N.patt.a76)] // CHECK:STDOUT: %N.loc4_23.1: %i32 = symbolic_binding N, 1 [symbolic = %N.loc4_23.1 (constants.%N.ce9)] @@ -402,10 +402,10 @@ class Outer(T: type) { // CHECK:STDOUT: --- fail_too_many.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -441,16 +441,16 @@ class Outer(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { -// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: %N.patt.loc4_23.1: %pattern_type.6b6 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc4_23.2 (constants.%N.patt.a76)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: type = splice_block %.loc4_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4_14: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_14: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: %.loc4_25: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen.loc4_23: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_23: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_23.2: %i32 = symbolic_binding N, 1 [symbolic = %N.loc4_23.1 (constants.%N.ce9)] @@ -471,7 +471,7 @@ class Outer(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class(%T.loc4_14.2: type, %N.loc4_23.2: %i32) { -// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: %N.patt.loc4_23.2: %pattern_type.6b6 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc4_23.2 (constants.%N.patt.a76)] // CHECK:STDOUT: %N.loc4_23.1: %i32 = symbolic_binding N, 1 [symbolic = %N.loc4_23.1 (constants.%N.ce9)] @@ -503,10 +503,10 @@ class Outer(T: type) { // CHECK:STDOUT: --- fail_no_conversion.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -545,16 +545,16 @@ class Outer(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { -// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: %N.patt.loc4_23.1: %pattern_type.6b6 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc4_23.2 (constants.%N.patt.a76)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: type = splice_block %.loc4_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4_14: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_14: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: %.loc4_25: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen.loc4_23: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_23: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_23.2: %i32 = symbolic_binding N, 1 [symbolic = %N.loc4_23.1 (constants.%N.ce9)] @@ -575,7 +575,7 @@ class Outer(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class(%T.loc4_14.2: type, %N.loc4_23.2: %i32) { -// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: %N.patt.loc4_23.2: %pattern_type.6b6 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc4_23.2 (constants.%N.patt.a76)] // CHECK:STDOUT: %N.loc4_23.1: %i32 = symbolic_binding N, 1 [symbolic = %N.loc4_23.1 (constants.%N.ce9)] @@ -607,15 +607,15 @@ class Outer(T: type) { // CHECK:STDOUT: --- call_in_nested_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Outer.type: type = generic_class_type @Outer [concrete] // CHECK:STDOUT: %Outer.generic: %Outer.type = struct_value () [concrete] // CHECK:STDOUT: %Outer.dee: type = class_type @Outer, @Outer(%T) [symbolic] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %Inner.type.8f7: type = generic_class_type @Inner, @Outer(%T) [symbolic] // CHECK:STDOUT: %Inner.generic.b3a: %Inner.type.8f7 = struct_value () [symbolic] @@ -683,10 +683,10 @@ class Outer(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Outer.decl: %Outer.type = class_decl @Outer [concrete = constants.%Outer.generic] { -// CHECK:STDOUT: %T.patt.loc2_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc2_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc2_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc2_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc2_16.1: type = splice_block %.loc2_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc2_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc2_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc2_14.1 (constants.%T)] @@ -694,7 +694,7 @@ class Outer(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Outer(%T.loc2_14.2: type) { -// CHECK:STDOUT: %T.patt.loc2_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc2_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc2_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc2_14.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc2_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc2_14.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -703,10 +703,10 @@ class Outer(T: type) { // CHECK:STDOUT: // CHECK:STDOUT: class { // CHECK:STDOUT: %Inner.decl: @Outer.%Inner.type (%Inner.type.8f7) = class_decl @Inner [symbolic = @Outer.%Inner.generic (constants.%Inner.generic.b3a)] { -// CHECK:STDOUT: %U.patt.loc3_16.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc3_16.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc3_16.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc3_16.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_18.1: type = splice_block %.loc3_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc3_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc3_16.2: type = symbolic_binding U, 1 [symbolic = %U.loc3_16.1 (constants.%U)] @@ -723,7 +723,7 @@ class Outer(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Inner(@Outer.%T.loc2_14.2: type, %U.loc3_16.2: type) { -// CHECK:STDOUT: %U.patt.loc3_16.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc3_16.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc3_16.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc3_16.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc3_16.1: type = symbolic_binding U, 1 [symbolic = %U.loc3_16.1 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/class/generic/complete_in_conversion.carbon b/toolchain/check/testdata/class/generic/complete_in_conversion.carbon index ace76a2cc71f..44f34ac9b2e0 100644 --- a/toolchain/check/testdata/class/generic/complete_in_conversion.carbon +++ b/toolchain/check/testdata/class/generic/complete_in_conversion.carbon @@ -38,20 +38,20 @@ fn F(a: A(0)*) { // CHECK:STDOUT: --- fail_derived_to_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] // CHECK:STDOUT: %N.param_patt: %pattern_type.dc0 = value_param_pattern [concrete] // CHECK:STDOUT: %N.patt.4a4: %pattern_type.dc0 = wrapper_binding_pattern N, %N.param_patt [concrete] -// CHECK:STDOUT: %.805: Core.Form = init_form type [concrete] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %return.param_patt.70e: %pattern_type.98f = out_param_pattern [concrete] -// CHECK:STDOUT: %return.patt.3ae: %pattern_type.98f = return_slot_pattern %return.param_patt.70e, type [concrete] +// CHECK:STDOUT: %.576: Core.Form = init_form type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %return.param_patt.90b: %pattern_type.9a5 = out_param_pattern [concrete] +// CHECK:STDOUT: %return.patt.718: %pattern_type.9a5 = return_slot_pattern %return.param_patt.90b, type [concrete] // CHECK:STDOUT: %Int.type.9c0: type = fn_type @Int.loc2 [concrete] // CHECK:STDOUT: %Int.c4a: %Int.type.9c0 = struct_value () [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type.6c1: type = generic_class_type @Int.1 [concrete] // CHECK:STDOUT: %Int.generic: %Int.type.6c1 = struct_value () [concrete] @@ -143,11 +143,11 @@ fn F(a: A(0)*) { // CHECK:STDOUT: %Int.decl: %Int.type.9c0 = fn_decl @Int.loc2 [concrete = constants.%Int.c4a] { // CHECK:STDOUT: %N.param_patt: %pattern_type.dc0 = value_param_pattern [concrete = constants.%N.param_patt] // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = wrapper_binding_pattern N, %N.param_patt [concrete = constants.%N.patt.4a4] -// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete = constants.%return.param_patt.70e] -// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, %.loc2_31.1 [concrete = constants.%return.patt.3ae] +// CHECK:STDOUT: %return.param_patt: %pattern_type.9a5 = out_param_pattern [concrete = constants.%return.param_patt.90b] +// CHECK:STDOUT: %return.patt: %pattern_type.9a5 = return_slot_pattern %return.param_patt, %.loc2_31.1 [concrete = constants.%return.patt.718] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc2_31.1: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.loc2_31.2: Core.Form = init_form %.loc2_31.1 [concrete = constants.%.805] +// CHECK:STDOUT: %.loc2_31.2: Core.Form = init_form %.loc2_31.1 [concrete = constants.%.576] // CHECK:STDOUT: %N.param: Core.IntLiteral = value_param call_param0 // CHECK:STDOUT: %.loc2_15: type = splice_block %IntLiteral.ref [concrete = Core.IntLiteral] { // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] @@ -162,7 +162,7 @@ fn F(a: A(0)*) { // CHECK:STDOUT: %N.patt.loc6_10.1: %pattern_type.6b6 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc6_10.2 (constants.%N.patt.38a)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc6_10.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc6_10.1 (constants.%N.37f)] diff --git a/toolchain/check/testdata/class/generic/empty_params.carbon b/toolchain/check/testdata/class/generic/empty_params.carbon index ee3973dad590..ed7e56a30877 100644 --- a/toolchain/check/testdata/class/generic/empty_params.carbon +++ b/toolchain/check/testdata/class/generic/empty_params.carbon @@ -17,6 +17,7 @@ class C[](); // CHECK:STDOUT: --- empty_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/field.carbon b/toolchain/check/testdata/class/generic/field.carbon index e5c45a92a66d..2bc28d9a84cd 100644 --- a/toolchain/check/testdata/class/generic/field.carbon +++ b/toolchain/check/testdata/class/generic/field.carbon @@ -36,10 +36,10 @@ fn H(generic U: Core.Copy, c: Class(U)) -> U { // CHECK:STDOUT: --- field.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Class.type: type = generic_class_type @Class [concrete] // CHECK:STDOUT: %Class.generic: %Class.type = struct_value () [concrete] @@ -142,10 +142,10 @@ fn H(generic U: Core.Copy, c: Class(U)) -> U { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { -// CHECK:STDOUT: %T.patt.loc5_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc5_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_16.1: type = splice_block %.loc5_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_14.1 (constants.%T.67d)] @@ -180,7 +180,7 @@ fn H(generic U: Core.Copy, c: Class(U)) -> U { // CHECK:STDOUT: %.loc13_44.3: type = converted %T.ref.loc13_44, %T.as_type.loc13_44 [symbolic = %T.as_type.loc13_38.1 (constants.%T.as_type)] // CHECK:STDOUT: %.loc13_44.4: Core.Form = init_form %.loc13_44.3 [symbolic = %.loc13_44.2 (constants.%.1ce700.2)] // CHECK:STDOUT: %.loc13_21: type = splice_block %Copy.ref [concrete = constants.%Copy.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: } @@ -209,7 +209,7 @@ fn H(generic U: Core.Copy, c: Class(U)) -> U { // CHECK:STDOUT: %.loc17_44.3: type = converted %U.ref.loc17_44, %U.as_type.loc17_44 [symbolic = %U.as_type.loc17_38.1 (constants.%U.as_type.c1c)] // CHECK:STDOUT: %.loc17_44.4: Core.Form = init_form %.loc17_44.3 [symbolic = %.loc17_44.2 (constants.%.1ce700.3)] // CHECK:STDOUT: %.loc17_21: type = splice_block %Copy.ref [concrete = constants.%Copy.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: } @@ -229,7 +229,7 @@ fn H(generic U: Core.Copy, c: Class(U)) -> U { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class(%T.loc5_14.2: type) { -// CHECK:STDOUT: %T.patt.loc5_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc5_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc5_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc5_14.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -350,12 +350,12 @@ fn H(generic U: Core.Copy, c: Class(U)) -> U { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Class(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc5_14.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Class(constants.%i32) { -// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc5_14.1 => constants.%i32 // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -367,7 +367,7 @@ fn H(generic U: Core.Copy, c: Class(U)) -> U { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Class(constants.%T.as_type) { -// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc5_14.1 => constants.%T.as_type // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -393,7 +393,7 @@ fn H(generic U: Core.Copy, c: Class(U)) -> U { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Class(constants.%U.as_type.c1c) { -// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc5_14.1 => constants.%U.as_type.c1c // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/class/generic/generic_vs_params.carbon b/toolchain/check/testdata/class/generic/generic_vs_params.carbon index 1ae950de77ff..3e660739ae42 100644 --- a/toolchain/check/testdata/class/generic/generic_vs_params.carbon +++ b/toolchain/check/testdata/class/generic/generic_vs_params.carbon @@ -81,16 +81,16 @@ class Foo[T: type]; // CHECK:STDOUT: --- params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NotGenericNoParams: type = class_type @NotGenericNoParams [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %NotGenericButParams.type: type = generic_class_type @NotGenericButParams [concrete] // CHECK:STDOUT: %NotGenericButParams.generic: %NotGenericButParams.type = struct_value () [concrete] // CHECK:STDOUT: %NotGenericButParams: type = class_type @NotGenericButParams [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %GenericAndParams.type.aa5: type = generic_class_type @GenericAndParams.loc6 [concrete] // CHECK:STDOUT: %GenericAndParams.generic.128: %GenericAndParams.type.aa5 = struct_value () [concrete] @@ -99,7 +99,7 @@ class Foo[T: type]; // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] // CHECK:STDOUT: %C.1d0: type = class_type @C, @C(%T) [symbolic] // CHECK:STDOUT: %GenericNoParams.8d1: type = class_type @GenericNoParams, @GenericNoParams(%T) [symbolic] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %GenericAndParams.type.c37: type = generic_class_type @GenericAndParams.loc10, @C(%T) [symbolic] // CHECK:STDOUT: %GenericAndParams.generic.6c8: %GenericAndParams.type.c37 = struct_value () [symbolic] @@ -150,19 +150,19 @@ class Foo[T: type]; // CHECK:STDOUT: %NotGenericNoParams.decl: type = class_decl @NotGenericNoParams [concrete = constants.%NotGenericNoParams] {} {} // CHECK:STDOUT: %NotGenericButParams.decl: %NotGenericButParams.type = class_decl @NotGenericButParams [concrete = constants.%NotGenericButParams.generic] {} {} // CHECK:STDOUT: %GenericAndParams.decl: %GenericAndParams.type.aa5 = class_decl @GenericAndParams.loc6 [concrete = constants.%GenericAndParams.generic.128] { -// CHECK:STDOUT: %T.patt.loc6_25.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_25.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_25.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_25.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_27.1: type = splice_block %.loc6_27.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_27.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_25.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_25.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { -// CHECK:STDOUT: %T.patt.loc8_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_12.1: type = splice_block %.loc8_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_10.1 (constants.%T)] @@ -243,7 +243,7 @@ class Foo[T: type]; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @GenericAndParams.loc6(%T.loc6_25.2: type) { -// CHECK:STDOUT: %T.patt.loc6_25.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_25.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_25.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_25.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_25.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_25.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -258,7 +258,7 @@ class Foo[T: type]; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(%T.loc8_10.2: type) { -// CHECK:STDOUT: %T.patt.loc8_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc8_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_10.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -269,10 +269,10 @@ class Foo[T: type]; // CHECK:STDOUT: class { // CHECK:STDOUT: %GenericNoParams.decl: type = class_decl @GenericNoParams [symbolic = @C.%GenericNoParams (constants.%GenericNoParams.8d1)] {} {} // CHECK:STDOUT: %GenericAndParams.decl: @C.%GenericAndParams.type (%GenericAndParams.type.c37) = class_decl @GenericAndParams.loc10 [symbolic = @C.%GenericAndParams.generic (constants.%GenericAndParams.generic.6c8)] { -// CHECK:STDOUT: %U.patt.loc10_27.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc10_27.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc10_27.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc10_27.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10_29.1: type = splice_block %.loc10_29.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc10_29.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc10_27.2: type = symbolic_binding U, 1 [symbolic = %U.loc10_27.1 (constants.%U)] @@ -300,7 +300,7 @@ class Foo[T: type]; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @GenericAndParams.loc10(@C.%T.loc8_10.2: type, %U.loc10_27.2: type) { -// CHECK:STDOUT: %U.patt.loc10_27.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc10_27.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc10_27.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc10_27.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc10_27.1: type = symbolic_binding U, 1 [symbolic = %U.loc10_27.1 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -395,6 +395,7 @@ class Foo[T: type]; // CHECK:STDOUT: --- fail_non_generic_implicit_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = generic_class_type @A [concrete] // CHECK:STDOUT: %A.generic: %A.type = struct_value () [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] @@ -420,13 +421,13 @@ class Foo[T: type]; // CHECK:STDOUT: --- fail_non_generic_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = generic_class_type @A [concrete] // CHECK:STDOUT: %A.generic: %A.type = struct_value () [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -444,7 +445,7 @@ class Foo[T: type]; // CHECK:STDOUT: %T.patt.loc11_15.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_17.1: type = splice_block %.loc11_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc11_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc11_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc11_15.1 (constants.%T)] @@ -482,6 +483,7 @@ class Foo[T: type]; // CHECK:STDOUT: --- fail_implicit_params_only_empty.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Foo.type: type = generic_class_type @Foo [concrete] // CHECK:STDOUT: %Foo.generic: %Foo.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -498,8 +500,8 @@ class Foo[T: type]; // CHECK:STDOUT: --- fail_implicit_params_only.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -515,7 +517,7 @@ class Foo[T: type]; // CHECK:STDOUT: %T.patt.loc8_12.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_12.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_14.1: type = splice_block %.loc8_14.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_14.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_12.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_12.1 (constants.%T)] diff --git a/toolchain/check/testdata/class/generic/import.carbon b/toolchain/check/testdata/class/generic/import.carbon index 2e609899444c..7e8c94bac5d1 100644 --- a/toolchain/check/testdata/class/generic/import.carbon +++ b/toolchain/check/testdata/class/generic/import.carbon @@ -91,10 +91,10 @@ class Class(U: type) { // CHECK:STDOUT: --- foo.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Class.type: type = generic_class_type @Class [concrete] // CHECK:STDOUT: %Class.generic: %Class.type = struct_value () [concrete] @@ -162,19 +162,19 @@ class Class(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { -// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: type = splice_block %.loc4_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %CompleteClass.decl: %CompleteClass.type = class_decl @CompleteClass [concrete = constants.%CompleteClass.generic] { -// CHECK:STDOUT: %T.patt.loc6_22.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_22.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_22.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_22.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_24.1: type = splice_block %.loc6_24.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_24.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_22.1 (constants.%T)] @@ -193,14 +193,14 @@ class Class(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class(%T.loc4_14.2: type) { -// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: class; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @CompleteClass(%T.loc6_22.2: type) { -// CHECK:STDOUT: %T.patt.loc6_22.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_22.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_22.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_22.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_22.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_22.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -276,17 +276,17 @@ class Class(U: type) { // CHECK:STDOUT: --- foo.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Class.type: type = generic_class_type @Class [concrete] // CHECK:STDOUT: %Class.generic: %Class.type = struct_value () [concrete] @@ -364,10 +364,10 @@ class Class(U: type) { // CHECK:STDOUT: %default.import.loc2_19.2 = import // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { -// CHECK:STDOUT: %T.patt.loc4: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.1 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.1 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: type = splice_block %.loc4_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4: type = symbolic_binding T, 0 [symbolic = %T.1 (constants.%T)] @@ -386,7 +386,7 @@ class Class(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class(imports.%Main.import_ref.b3bc94.1: type) [from "foo.carbon"] { -// CHECK:STDOUT: %T.patt.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.1 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.1 (constants.%T.patt)] // CHECK:STDOUT: %T.1: type = symbolic_binding T, 0 [symbolic = %T.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -411,7 +411,7 @@ class Class(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @CompleteClass(imports.%Main.import_ref.b3bc94.3: type) [from "foo.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -485,6 +485,7 @@ class Class(U: type) { // CHECK:STDOUT: --- use_foo.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -507,8 +508,8 @@ class Class(U: type) { // CHECK:STDOUT: %CompleteClass.F.type.4ea: type = fn_type @CompleteClass.F, @CompleteClass(%T.67d) [symbolic] // CHECK:STDOUT: %CompleteClass.F.c7a: %CompleteClass.F.type.4ea = struct_value () [symbolic] // CHECK:STDOUT: %CompleteClass.elem.c1f: type = unbound_element_type %CompleteClass.bae, %i32 [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// 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: %CompleteClass.d55: type = class_type @CompleteClass, @CompleteClass(%i32) [concrete] // CHECK:STDOUT: %CompleteClass.elem.2cc: type = unbound_element_type %CompleteClass.d55, %i32 [concrete] // CHECK:STDOUT: %CompleteClass.F.type.dac: type = fn_type @CompleteClass.F, @CompleteClass(%i32) [concrete] @@ -594,7 +595,7 @@ class Class(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @CompleteClass(imports.%Main.import_ref.b3bc94.2: type) [from "foo.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt.3a0)] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -697,7 +698,7 @@ class Class(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @CompleteClass(constants.%T.67d) { -// CHECK:STDOUT: %T.patt => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt => constants.%T.patt.3a0 // CHECK:STDOUT: %T => constants.%T.67d // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -710,7 +711,7 @@ class Class(U: type) { // CHECK:STDOUT: specific @CompleteClass.F(constants.%T.67d) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @CompleteClass(constants.%i32) { -// CHECK:STDOUT: %T.patt => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt => constants.%T.patt.3a0 // CHECK:STDOUT: %T => constants.%i32 // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -727,6 +728,7 @@ class Class(U: type) { // CHECK:STDOUT: --- fail_generic_arg_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Use.type: type = fn_type @Use [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Use: %Use.type = struct_value () [concrete] @@ -744,8 +746,8 @@ class Class(U: type) { // CHECK:STDOUT: %CompleteClass.F.type.4ea: type = fn_type @CompleteClass.F, @CompleteClass(%T) [symbolic] // CHECK:STDOUT: %CompleteClass.F.c7a: %CompleteClass.F.type.4ea = struct_value () [symbolic] // CHECK:STDOUT: %CompleteClass.elem.c1f: type = unbound_element_type %CompleteClass.bae, %i32 [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %ptr.d08: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %CompleteClass.22b: type = class_type @CompleteClass, @CompleteClass(%ptr.d08) [concrete] // CHECK:STDOUT: %CompleteClass.elem.014: type = unbound_element_type %CompleteClass.22b, %i32 [concrete] @@ -803,7 +805,7 @@ class Class(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @CompleteClass(imports.%Main.import_ref.b3bc94.2: type) [from "foo.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -909,15 +911,15 @@ class Class(U: type) { // CHECK:STDOUT: --- fail_foo.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %Class.type.3256be.1: type = generic_class_type @Class.1 [concrete] // CHECK:STDOUT: %Class.generic.4154f7.1: %Class.type.3256be.1 = struct_value () [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %Class.type.3256be.2: type = generic_class_type @Class.loc12 [concrete] // CHECK:STDOUT: %Class.generic.4154f7.2: %Class.type.3256be.2 = struct_value () [concrete] // CHECK:STDOUT: %Class.7bcfd6.2: type = class_type @Class.loc12, @Class.loc12(%U) [symbolic] @@ -946,10 +948,10 @@ class Class(U: type) { // CHECK:STDOUT: %default.import.loc2_19.2 = import // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type.3256be.2 = class_decl @Class.loc12 [concrete = constants.%Class.generic.4154f7.2] { -// CHECK:STDOUT: %U.patt.loc12_14.1: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc12_14.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc12_14.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc12_14.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_16.1: type = splice_block %.loc12_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc12_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc12_14.2: type = symbolic_binding U, 0 [symbolic = %U.loc12_14.1 (constants.%U)] @@ -957,14 +959,14 @@ class Class(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class.1(imports.%Main.import_ref.b3b: type) [from "foo.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: class; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class.loc12(%U.loc12_14.2: type) { -// CHECK:STDOUT: %U.patt.loc12_14.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc12_14.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc12_14.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc12_14.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc12_14.1: type = symbolic_binding U, 0 [symbolic = %U.loc12_14.1 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/class/generic/init.carbon b/toolchain/check/testdata/class/generic/init.carbon index db501ac7c8c1..82c02b8ddd9b 100644 --- a/toolchain/check/testdata/class/generic/init.carbon +++ b/toolchain/check/testdata/class/generic/init.carbon @@ -52,8 +52,8 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: --- from_struct.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Class.type: type = generic_class_type @Class [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -61,11 +61,11 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %Copy.type, %type.as.BitAndWith.impl.Op [concrete] @@ -173,12 +173,12 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %.loc9_72.3: type = converted %T.ref.loc9_72, %T.as_type.loc9_72 [symbolic = %T.as_type.loc9_66.1 (constants.%T.as_type.74b)] // CHECK:STDOUT: %.loc9_72.4: Core.Form = init_form %.loc9_72.3 [symbolic = %.loc9_72.2 (constants.%.2b9)] // CHECK:STDOUT: %.loc9_47.1: type = splice_block %.loc9_47.3 [concrete = constants.%facet_type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref.loc9_37: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.ref.loc9_49: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Destroy.ref: type = name_ref Destroy, imports.%Core.Destroy [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %impl.elem0.loc9: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc9: = bound_method %Copy.ref, %impl.elem0.loc9 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method.loc9(%Copy.ref, %Destroy.ref) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc9_47.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type] @@ -378,8 +378,8 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: --- adapt.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %Adapt.type: type = generic_class_type @Adapt [concrete] // CHECK:STDOUT: %Adapt.generic: %Adapt.type = struct_value () [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] @@ -454,7 +454,7 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %.loc9_58.3: type = converted %T.ref.loc9_58, %T.as_type.loc9_58 [symbolic = %T.as_type.loc9_52.1 (constants.%T.as_type)] // CHECK:STDOUT: %.loc9_58.4: Core.Form = init_form %.loc9_58.3 [symbolic = %.loc9_58.2 (constants.%.1ce700.2)] // CHECK:STDOUT: %.loc9_42: type = splice_block %Copy.ref [concrete = constants.%Copy.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/member_access.carbon b/toolchain/check/testdata/class/generic/member_access.carbon index 40a76b82d1a2..a2167544fe2f 100644 --- a/toolchain/check/testdata/class/generic/member_access.carbon +++ b/toolchain/check/testdata/class/generic/member_access.carbon @@ -88,6 +88,7 @@ class C { // CHECK:STDOUT: --- member_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %pattern_type.e81: type = pattern_type %Copy.type [concrete] // CHECK:STDOUT: %T.patt.fe6: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic] @@ -432,8 +433,9 @@ class C { // CHECK:STDOUT: --- static_member_fn_call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Class.type: type = generic_class_type @Class [concrete] // CHECK:STDOUT: %Class.generic: %Class.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/class/generic/member_inline.carbon b/toolchain/check/testdata/class/generic/member_inline.carbon index 916182ef3c43..2d3838bc3fc3 100644 --- a/toolchain/check/testdata/class/generic/member_inline.carbon +++ b/toolchain/check/testdata/class/generic/member_inline.carbon @@ -49,8 +49,8 @@ class C(T: Core.Copy) { // CHECK:STDOUT: --- member_inline.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %pattern_type.e81: type = pattern_type %Copy.type [concrete] // CHECK:STDOUT: %T.patt.fe6: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic] @@ -98,7 +98,7 @@ class C(T: Core.Copy) { // CHECK:STDOUT: %T.patt.loc5_14.1: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.fe6)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5: type = splice_block %Copy.ref [concrete = constants.%Copy.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: } @@ -296,8 +296,8 @@ class C(T: Core.Copy) { // CHECK:STDOUT: --- fail_member_inline_missing_self_dot.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %pattern_type.e81: type = pattern_type %Copy.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic] @@ -328,7 +328,7 @@ class C(T: Core.Copy) { // CHECK:STDOUT: %T.patt.loc5_10.1: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5: type = splice_block %Copy.ref [concrete = constants.%Copy.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/member_lookup.carbon b/toolchain/check/testdata/class/generic/member_lookup.carbon index 3323f4aae233..cfd7c2c0767a 100644 --- a/toolchain/check/testdata/class/generic/member_lookup.carbon +++ b/toolchain/check/testdata/class/generic/member_lookup.carbon @@ -80,6 +80,7 @@ fn AccessMissingConcrete(x: Derived(i32)) -> i32 { // CHECK:STDOUT: --- member_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %pattern_type.e81: type = pattern_type %Copy.type [concrete] // CHECK:STDOUT: %T.patt.fe6: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic] diff --git a/toolchain/check/testdata/class/generic/member_out_of_line.carbon b/toolchain/check/testdata/class/generic/member_out_of_line.carbon index de7246ea8c29..4b7f2de84071 100644 --- a/toolchain/check/testdata/class/generic/member_out_of_line.carbon +++ b/toolchain/check/testdata/class/generic/member_out_of_line.carbon @@ -116,8 +116,8 @@ fn Generic(unused T: ()).WrongType() {} // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %pattern_type.e81: type = pattern_type %Copy.type [concrete] // CHECK:STDOUT: %T.patt.fe6: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic] @@ -165,7 +165,7 @@ fn Generic(unused T: ()).WrongType() {} // CHECK:STDOUT: %T.patt.loc5_14.1: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.fe6)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5: type = splice_block %Copy.ref [concrete = constants.%Copy.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: } @@ -178,7 +178,7 @@ fn Generic(unused T: ()).WrongType() {} // CHECK:STDOUT: %return.patt.loc11: @Class.F.%pattern_type (%pattern_type.2c66b4.2) = return_slot_pattern %return.param_patt.loc11, %.loc11_35.2 [symbolic = %return.patt.loc6 (constants.%return.patt.f44)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_17: type = splice_block %Copy.ref [concrete = constants.%Copy.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: } @@ -204,7 +204,7 @@ fn Generic(unused T: ()).WrongType() {} // CHECK:STDOUT: %return.patt.loc15: @Class.G.%pattern_type.loc7_17 (%pattern_type.2c66b4.2) = return_slot_pattern %return.param_patt.loc15, %.loc15_35.2 [symbolic = %return.patt.loc7 (constants.%return.patt.f44)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_17: type = splice_block %Copy.ref [concrete = constants.%Copy.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: } @@ -414,10 +414,10 @@ fn Generic(unused T: ()).WrongType() {} // CHECK:STDOUT: --- nested.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %A.type: type = generic_class_type @A [concrete] // CHECK:STDOUT: %A.generic: %A.type = struct_value () [concrete] @@ -443,10 +443,10 @@ fn Generic(unused T: ()).WrongType() {} // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %A.decl: %A.type = class_decl @A [concrete = constants.%A.generic] { -// CHECK:STDOUT: %T.patt.loc5_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc5_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_12.1: type = splice_block %.loc5_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_10.1 (constants.%T)] @@ -458,12 +458,12 @@ fn Generic(unused T: ()).WrongType() {} // CHECK:STDOUT: %a.patt.loc11: @B.F.%pattern_type.loc7_17 (%pattern_type.51d) = wrapper_binding_pattern a, %a.param_patt.loc11 [symbolic = %a.patt.loc7 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_9.1: type = splice_block %.loc11_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc11_7: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc11_7: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc11_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc11: type = symbolic_binding T, 0 [symbolic = @A.%T.loc5_10.1 (constants.%T)] // CHECK:STDOUT: %.loc11_20: type = splice_block %T.ref.loc11_20 [symbolic = @B.%T (constants.%T)] { -// CHECK:STDOUT: %.Self.frozen.loc11_18: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc11_18: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %T.ref.loc11_20: type = name_ref T, %T.loc11 [symbolic = @B.%T (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %_.loc11: @B.%T (%T) = symbolic_binding _, 1 [symbolic = @B.%_.loc6_12.1 (constants.%_)] @@ -480,7 +480,7 @@ fn Generic(unused T: ()).WrongType() {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @A(%T.loc5_10.2: type) { -// CHECK:STDOUT: %T.patt.loc5_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc5_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc5_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc5_10.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -492,7 +492,7 @@ fn Generic(unused T: ()).WrongType() {} // CHECK:STDOUT: %_.patt.loc6_12.1: @B.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern _, 1 [symbolic = %_.patt.loc6_12.2 (constants.%_.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %T.ref [symbolic = %T (constants.%T)] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %T.ref: type = name_ref T, @A.%T.loc5_10.2 [symbolic = %T (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %_.loc6_12.2: @B.%T (%T) = symbolic_binding _, 1 [symbolic = %_.loc6_12.1 (constants.%_)] diff --git a/toolchain/check/testdata/class/generic/member_type.carbon b/toolchain/check/testdata/class/generic/member_type.carbon index e9ac3063090a..3c62fd9e900d 100644 --- a/toolchain/check/testdata/class/generic/member_type.carbon +++ b/toolchain/check/testdata/class/generic/member_type.carbon @@ -60,8 +60,8 @@ fn Test() -> i32 { // CHECK:STDOUT: --- class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %pattern_type.e81: type = pattern_type %Copy.type [concrete] // CHECK:STDOUT: %T.patt.fe6: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic] @@ -187,7 +187,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt.fe6)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %Copy.ref [concrete = constants.%Copy.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: } @@ -464,10 +464,10 @@ fn Test() -> i32 { // CHECK:STDOUT: --- interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Outer.type: type = generic_class_type @Outer [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -585,10 +585,10 @@ fn Test() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Outer.decl: %Outer.type = class_decl @Outer [concrete = constants.%Outer.generic] { -// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: type = splice_block %.loc4_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] @@ -720,7 +720,7 @@ fn Test() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Outer(%T.loc4_14.2: type) { -// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/class/generic/method_deduce.carbon b/toolchain/check/testdata/class/generic/method_deduce.carbon index ba6a1b1465e0..8f663c772cf3 100644 --- a/toolchain/check/testdata/class/generic/method_deduce.carbon +++ b/toolchain/check/testdata/class/generic/method_deduce.carbon @@ -37,23 +37,23 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: --- method_deduce.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Class.type: type = generic_class_type @Class [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Class.generic: %Class.type = struct_value () [concrete] // CHECK:STDOUT: %Class.7bc: type = class_type @Class, @Class(%T) [symbolic] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 1 [symbolic] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.4b9: %tuple.type.24b = tuple_value (%T, %U) [symbolic] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.fa2: %tuple.type.693 = tuple_value (%T, %U) [symbolic] // CHECK:STDOUT: %tuple.type.a5e: type = tuple_type (%T, %U) [symbolic] // CHECK:STDOUT: %.f18: Core.Form = init_form %tuple.type.a5e [symbolic] // CHECK:STDOUT: %pattern_type.eee: type = pattern_type %tuple.type.a5e [symbolic] @@ -92,7 +92,7 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: %pattern_type.89e: type = pattern_type %Class.30a [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.89e = value_param_pattern [concrete] // CHECK:STDOUT: %c.patt: %pattern_type.89e = wrapper_binding_pattern c, %c.param_patt [concrete] -// CHECK:STDOUT: %tuple.9aa: %tuple.type.24b = tuple_value (%A, %B) [concrete] +// CHECK:STDOUT: %tuple.98f: %tuple.type.693 = tuple_value (%A, %B) [concrete] // CHECK:STDOUT: %tuple.type.1e7: type = tuple_type (%A, %B) [concrete] // CHECK:STDOUT: %.7f5: Core.Form = init_form %tuple.type.1e7 [concrete] // CHECK:STDOUT: %pattern_type.7c6: type = pattern_type %tuple.type.1e7 [concrete] @@ -154,10 +154,10 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} // CHECK:STDOUT: %B.decl: type = class_decl @B [concrete = constants.%B] {} {} // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { -// CHECK:STDOUT: %T.patt.loc18_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc18_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc18_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc18_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18_16.1: type = splice_block %.loc18_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc18_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc18_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc18_14.1 (constants.%T)] @@ -170,7 +170,7 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref.loc24_39: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %B.ref.loc24: type = name_ref B, file.%B.decl [concrete = constants.%B] -// CHECK:STDOUT: %.loc24_43.2: %tuple.type.24b = tuple_literal (%A.ref.loc24_39, %B.ref.loc24) [concrete = constants.%tuple.9aa] +// CHECK:STDOUT: %.loc24_43.2: %tuple.type.693 = tuple_literal (%A.ref.loc24_39, %B.ref.loc24) [concrete = constants.%tuple.98f] // CHECK:STDOUT: %.loc24_43.3: type = converted %.loc24_43.2, constants.%tuple.type.1e7 [concrete = constants.%tuple.type.1e7] // CHECK:STDOUT: %.loc24_43.4: Core.Form = init_form %.loc24_43.3 [concrete = constants.%.7f5] // CHECK:STDOUT: %c.param: %Class.30a = value_param call_param0 @@ -191,7 +191,7 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref.loc28_58: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %B.ref.loc28: type = name_ref B, file.%B.decl [concrete = constants.%B] -// CHECK:STDOUT: %.loc28_62.2: %tuple.type.24b = tuple_literal (%A.ref.loc28_58, %B.ref.loc28) [concrete = constants.%tuple.9aa] +// CHECK:STDOUT: %.loc28_62.2: %tuple.type.693 = tuple_literal (%A.ref.loc28_58, %B.ref.loc28) [concrete = constants.%tuple.98f] // CHECK:STDOUT: %.loc28_62.3: type = converted %.loc28_62.2, constants.%tuple.type.1e7 [concrete = constants.%tuple.type.1e7] // CHECK:STDOUT: %.loc28_62.4: Core.Form = init_form %.loc28_62.3 [concrete = constants.%.7f5] // CHECK:STDOUT: %c.param: %Class.30a = value_param call_param0 @@ -241,7 +241,7 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class(%T.loc18_14.2: type) { -// CHECK:STDOUT: %T.patt.loc18_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc18_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc18_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc18_14.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc18_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc18_14.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -254,17 +254,17 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: // CHECK:STDOUT: class { // CHECK:STDOUT: %Class.Get.decl: @Class.%Class.Get.type (%Class.Get.type.49d) = fn_decl @Class.Get [symbolic = @Class.%Class.Get (constants.%Class.Get.ceb)] { -// CHECK:STDOUT: %U.patt.loc19_19.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc19_19.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc19_19.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc19_19.2 (constants.%U.patt)] // CHECK:STDOUT: %return.param_patt.loc19_35.1: @Class.Get.%pattern_type (%pattern_type.eee) = out_param_pattern [symbolic = %return.param_patt.loc19_35.2 (constants.%return.param_patt.a41)] // CHECK:STDOUT: %return.patt.loc19_27.1: @Class.Get.%pattern_type (%pattern_type.eee) = return_slot_pattern %return.param_patt.loc19_35.1, %.loc19_35.4 [symbolic = %return.patt.loc19_27.2 (constants.%return.patt.453)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @Class.%T.loc18_14.2 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %U.ref.loc19_34: type = name_ref U, %U.loc19_19.2 [symbolic = %U.loc19_19.1 (constants.%U)] -// CHECK:STDOUT: %.loc19_35.3: %tuple.type.24b = tuple_literal (%T.ref, %U.ref.loc19_34) [symbolic = %tuple (constants.%tuple.4b9)] +// CHECK:STDOUT: %.loc19_35.3: %tuple.type.693 = tuple_literal (%T.ref, %U.ref.loc19_34) [symbolic = %tuple (constants.%tuple.fa2)] // CHECK:STDOUT: %.loc19_35.4: type = converted %.loc19_35.3, constants.%tuple.type.a5e [symbolic = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %.loc19_35.5: Core.Form = init_form %.loc19_35.4 [symbolic = %.loc19_35.2 (constants.%.f18)] // CHECK:STDOUT: %.loc19_21.1: type = splice_block %.loc19_21.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc19_21.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc19_19.2: type = symbolic_binding U, 1 [symbolic = %U.loc19_19.1 (constants.%U)] @@ -274,20 +274,20 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: %Class.GetNoDeduce.decl: @Class.%Class.GetNoDeduce.type (%Class.GetNoDeduce.type.83e) = fn_decl @Class.GetNoDeduce [symbolic = @Class.%Class.GetNoDeduce (constants.%Class.GetNoDeduce.a04)] { // CHECK:STDOUT: %x.param_patt.loc20_19.1: @Class.GetNoDeduce.%pattern_type.loc20_19 (%pattern_type.51d) = value_param_pattern [symbolic = %x.param_patt.loc20_19.2 (constants.%x.param_patt.91d)] // CHECK:STDOUT: %x.patt.loc20_19.1: @Class.GetNoDeduce.%pattern_type.loc20_19 (%pattern_type.51d) = wrapper_binding_pattern x, %x.param_patt.loc20_19.1 [symbolic = %x.patt.loc20_19.2 (constants.%x.patt.260)] -// CHECK:STDOUT: %U.patt.loc20_33.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc20_33.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc20_33.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc20_33.2 (constants.%U.patt)] // CHECK:STDOUT: %return.param_patt.loc20_49.1: @Class.GetNoDeduce.%pattern_type.loc20_49 (%pattern_type.eee) = out_param_pattern [symbolic = %return.param_patt.loc20_49.2 (constants.%return.param_patt.a41)] // CHECK:STDOUT: %return.patt.loc20_41.1: @Class.GetNoDeduce.%pattern_type.loc20_49 (%pattern_type.eee) = return_slot_pattern %return.param_patt.loc20_49.1, %.loc20_49.4 [symbolic = %return.patt.loc20_41.2 (constants.%return.patt.453)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc20_45: type = name_ref T, @Class.%T.loc18_14.2 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %U.ref.loc20_48: type = name_ref U, %U.loc20_33.2 [symbolic = %U.loc20_33.1 (constants.%U)] -// CHECK:STDOUT: %.loc20_49.3: %tuple.type.24b = tuple_literal (%T.ref.loc20_45, %U.ref.loc20_48) [symbolic = %tuple (constants.%tuple.4b9)] +// CHECK:STDOUT: %.loc20_49.3: %tuple.type.693 = tuple_literal (%T.ref.loc20_45, %U.ref.loc20_48) [symbolic = %tuple (constants.%tuple.fa2)] // CHECK:STDOUT: %.loc20_49.4: type = converted %.loc20_49.3, constants.%tuple.type.a5e [symbolic = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %.loc20_49.5: Core.Form = init_form %.loc20_49.4 [symbolic = %.loc20_49.2 (constants.%.f18)] // CHECK:STDOUT: %x.param: @Class.GetNoDeduce.%T (%T) = value_param call_param0 // CHECK:STDOUT: %T.ref.loc20_21: type = name_ref T, @Class.%T.loc18_14.2 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %x: @Class.GetNoDeduce.%T (%T) = wrapper_binding x, %x.param // CHECK:STDOUT: %.loc20_35.1: type = splice_block %.loc20_35.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc20_35.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc20_33.2: type = symbolic_binding U, 1 [symbolic = %U.loc20_33.1 (constants.%U)] @@ -295,7 +295,7 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: %return: ref @Class.GetNoDeduce.%tuple.type (%tuple.type.a5e) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Class.F.decl: @Class.%Class.F.type (%Class.F.type.982) = fn_decl @Class.F [symbolic = @Class.%Class.F (constants.%Class.F.c63)] { -// CHECK:STDOUT: %U.patt.loc21_9.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc21_9.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc21_9.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc21_9.2 (constants.%U.patt)] // CHECK:STDOUT: %self.param_patt.loc21_21.1: @Class.F.%pattern_type.loc21_21 (%pattern_type.cc0) = value_param_pattern [symbolic = %self.param_patt.loc21_21.2 (constants.%self.param_patt.814)] // CHECK:STDOUT: %self.patt.loc21_21.1: @Class.F.%pattern_type.loc21_21 (%pattern_type.cc0) = wrapper_binding_pattern self, %self.param_patt.loc21_21.1 [symbolic = %self.patt.loc21_21.2 (constants.%self.patt.788)] // CHECK:STDOUT: %return.param_patt.loc21_36.1: @Class.F.%pattern_type.loc21_36 (%pattern_type.946) = out_param_pattern [symbolic = %return.param_patt.loc21_36.2 (constants.%return.param_patt.6dd)] @@ -304,7 +304,7 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: %U.ref.loc21_36: type = name_ref U, %U.loc21_9.2 [symbolic = %U.loc21_9.1 (constants.%U)] // CHECK:STDOUT: %.loc21_36.3: Core.Form = init_form %U.ref.loc21_36 [symbolic = %.loc21_36.2 (constants.%.822)] // CHECK:STDOUT: %.loc21_11.1: type = splice_block %.loc21_11.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc21_11.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc21_9.2: type = symbolic_binding U, 1 [symbolic = %U.loc21_9.1 (constants.%U)] @@ -332,10 +332,10 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @Class.Get(@Class.%T.loc18_14.2: type, %U.loc19_19.2: type) { -// CHECK:STDOUT: %U.patt.loc19_19.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc19_19.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc19_19.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc19_19.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc19_19.1: type = symbolic_binding U, 1 [symbolic = %U.loc19_19.1 (constants.%U)] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%T, %U.loc19_19.1) [symbolic = %tuple (constants.%tuple.4b9)] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%T, %U.loc19_19.1) [symbolic = %tuple (constants.%tuple.fa2)] // CHECK:STDOUT: %tuple.type: type = tuple_type (%T, %U.loc19_19.1) [symbolic = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %.loc19_35.2: Core.Form = init_form %tuple.type [symbolic = %.loc19_35.2 (constants.%.f18)] // CHECK:STDOUT: %pattern_type: type = pattern_type %tuple.type [symbolic = %pattern_type (constants.%pattern_type.eee)] @@ -365,9 +365,9 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: %pattern_type.loc20_19: type = pattern_type %T [symbolic = %pattern_type.loc20_19 (constants.%pattern_type.51d)] // CHECK:STDOUT: %x.param_patt.loc20_19.2: @Class.GetNoDeduce.%pattern_type.loc20_19 (%pattern_type.51d) = value_param_pattern [symbolic = %x.param_patt.loc20_19.2 (constants.%x.param_patt.91d)] // CHECK:STDOUT: %x.patt.loc20_19.2: @Class.GetNoDeduce.%pattern_type.loc20_19 (%pattern_type.51d) = wrapper_binding_pattern x, %x.param_patt.loc20_19.2 [symbolic = %x.patt.loc20_19.2 (constants.%x.patt.260)] -// CHECK:STDOUT: %U.patt.loc20_33.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc20_33.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc20_33.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc20_33.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc20_33.1: type = symbolic_binding U, 1 [symbolic = %U.loc20_33.1 (constants.%U)] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%T, %U.loc20_33.1) [symbolic = %tuple (constants.%tuple.4b9)] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%T, %U.loc20_33.1) [symbolic = %tuple (constants.%tuple.fa2)] // CHECK:STDOUT: %tuple.type: type = tuple_type (%T, %U.loc20_33.1) [symbolic = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %.loc20_49.2: Core.Form = init_form %tuple.type [symbolic = %.loc20_49.2 (constants.%.f18)] // CHECK:STDOUT: %pattern_type.loc20_49: type = pattern_type %tuple.type [symbolic = %pattern_type.loc20_49 (constants.%pattern_type.eee)] @@ -394,7 +394,7 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @Class.F(@Class.%T.loc18_14.2: type, %U.loc21_9.2: type) { -// CHECK:STDOUT: %U.patt.loc21_9.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc21_9.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc21_9.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc21_9.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc21_9.1: type = symbolic_binding U, 1 [symbolic = %U.loc21_9.1 (constants.%U)] // CHECK:STDOUT: %Class.loc21_30.1: type = class_type @Class, @Class(%U.loc21_9.1) [symbolic = %Class.loc21_30.1 (constants.%Class.d74)] // CHECK:STDOUT: %pattern_type.loc21_21: type = pattern_type %Class.loc21_30.1 [symbolic = %pattern_type.loc21_21 (constants.%pattern_type.cc0)] @@ -493,7 +493,7 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: %U.patt.loc19_19.2 => constants.%U.patt // CHECK:STDOUT: %U.loc19_19.1 => constants.%U // CHECK:STDOUT: %T => constants.%T -// CHECK:STDOUT: %tuple => constants.%tuple.4b9 +// CHECK:STDOUT: %tuple => constants.%tuple.fa2 // CHECK:STDOUT: %tuple.type => constants.%tuple.type.a5e // CHECK:STDOUT: %.loc19_35.2 => constants.%.f18 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.eee @@ -514,7 +514,7 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: %x.patt.loc20_19.2 => constants.%x.patt.260 // CHECK:STDOUT: %U.patt.loc20_33.2 => constants.%U.patt // CHECK:STDOUT: %U.loc20_33.1 => constants.%U -// CHECK:STDOUT: %tuple => constants.%tuple.4b9 +// CHECK:STDOUT: %tuple => constants.%tuple.fa2 // CHECK:STDOUT: %tuple.type => constants.%tuple.type.a5e // CHECK:STDOUT: %.loc20_49.2 => constants.%.f18 // CHECK:STDOUT: %pattern_type.loc20_49 => constants.%pattern_type.eee @@ -590,7 +590,7 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: %U.patt.loc19_19.2 => constants.%U.patt // CHECK:STDOUT: %U.loc19_19.1 => constants.%B // CHECK:STDOUT: %T => constants.%A -// CHECK:STDOUT: %tuple => constants.%tuple.9aa +// CHECK:STDOUT: %tuple => constants.%tuple.98f // CHECK:STDOUT: %tuple.type => constants.%tuple.type.1e7 // CHECK:STDOUT: %.loc19_35.2 => constants.%.7f5 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.7c6 @@ -611,7 +611,7 @@ fn CallMethodSelfDeduce(c: Class(A)) -> A { // CHECK:STDOUT: %x.patt.loc20_19.2 => constants.%x.patt.e63 // CHECK:STDOUT: %U.patt.loc20_33.2 => constants.%U.patt // CHECK:STDOUT: %U.loc20_33.1 => constants.%B -// CHECK:STDOUT: %tuple => constants.%tuple.9aa +// CHECK:STDOUT: %tuple => constants.%tuple.98f // CHECK:STDOUT: %tuple.type => constants.%tuple.type.1e7 // CHECK:STDOUT: %.loc20_49.2 => constants.%.7f5 // CHECK:STDOUT: %pattern_type.loc20_49 => constants.%pattern_type.7c6 diff --git a/toolchain/check/testdata/class/generic/redeclare.carbon b/toolchain/check/testdata/class/generic/redeclare.carbon index 040e921bc043..52cbae5e89e4 100644 --- a/toolchain/check/testdata/class/generic/redeclare.carbon +++ b/toolchain/check/testdata/class/generic/redeclare.carbon @@ -100,8 +100,8 @@ class E(U: type) {} // CHECK:STDOUT: --- valid.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -129,7 +129,7 @@ class E(U: type) {} // CHECK:STDOUT: %T.patt.loc6: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_18.1: type = splice_block %.loc4_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_16.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_16.1 (constants.%T)] @@ -138,7 +138,7 @@ class E(U: type) {} // CHECK:STDOUT: %T.patt.loc6: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_18.1: type = splice_block %.loc6_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc6: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6: type = symbolic_binding T, 0 [symbolic = %T.loc4_16.1 (constants.%T)] @@ -168,9 +168,9 @@ class E(U: type) {} // CHECK:STDOUT: --- fail_mismatch_param_list.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.5a2: type = class_type @A.loc4 [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -199,7 +199,7 @@ class E(U: type) {} // CHECK:STDOUT: %T.patt.loc12_10.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_12.1: type = splice_block %.loc12_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc12_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc12_10.1 (constants.%T)] @@ -231,18 +231,18 @@ class E(U: type) {} // CHECK:STDOUT: --- fail_mismatch_implicit_param_list.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.9ef: type = pattern_type %A [concrete] // CHECK:STDOUT: %N.patt.3a1: %pattern_type.9ef = symbolic_binding_pattern N, 0 [symbolic] // CHECK:STDOUT: %N.37f: %A = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %B.type.7937a9.1: type = generic_class_type @B.loc6 [concrete] // CHECK:STDOUT: %B.generic.60ca48.1: %B.type.7937a9.1 = struct_value () [concrete] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] // CHECK:STDOUT: %N.patt.9f0: %pattern_type.51d = symbolic_binding_pattern N, 1 [symbolic] @@ -271,22 +271,22 @@ class E(U: type) {} // CHECK:STDOUT: %N.patt.loc6_10.1: %pattern_type.9ef = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc6_10.2 (constants.%N.patt.3a1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %A.ref [concrete = constants.%A] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc6_10.2: %A = symbolic_binding N, 0 [symbolic = %N.loc6_10.1 (constants.%N.37f)] // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl.loc14: %B.type.7937a9.2 = class_decl @B.loc14 [concrete = constants.%B.generic.60ca48.2] { -// CHECK:STDOUT: %T.patt.loc14_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc14_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_10.2 (constants.%T.patt)] // CHECK:STDOUT: %N.patt.loc14_19.1: @B.loc14.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc14_19.2 (constants.%N.patt.9f0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14_12.1: type = splice_block %.loc14_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc14_10: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc14_10: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc14_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc14_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc14_10.1 (constants.%T)] // CHECK:STDOUT: %.loc14_21: type = splice_block %T.ref [symbolic = %T.loc14_10.1 (constants.%T)] { -// CHECK:STDOUT: %.Self.frozen.loc14_19: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc14_19: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc14_10.2 [symbolic = %T.loc14_10.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc14_19.2: @B.loc14.%T.loc14_10.1 (%T) = symbolic_binding N, 1 [symbolic = %N.loc14_19.1 (constants.%N.bd9)] @@ -309,7 +309,7 @@ class E(U: type) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @B.loc14(%T.loc14_10.2: type, %N.loc14_19.2: @B.loc14.%T.loc14_10.1 (%T)) { -// CHECK:STDOUT: %T.patt.loc14_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc14_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc14_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc14_10.1 (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc14_10.1 [symbolic = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: %N.patt.loc14_19.2: @B.loc14.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc14_19.2 (constants.%N.patt.9f0)] @@ -342,13 +342,13 @@ class E(U: type) {} // CHECK:STDOUT: --- fail_mismatch_param_count.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %C.type.a601fe.1: type = generic_class_type @C.loc6 [concrete] // CHECK:STDOUT: %C.generic.4b4597.1: %C.type.a601fe.1 = struct_value () [concrete] @@ -376,25 +376,25 @@ class E(U: type) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} // CHECK:STDOUT: %C.decl.loc6: %C.type.a601fe.1 = class_decl @C.loc6 [concrete = constants.%C.generic.4b4597.1] { -// CHECK:STDOUT: %T.patt.loc6_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_12.1: type = splice_block %.loc6_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_10.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl.loc14: %C.type.a601fe.2 = class_decl @C.loc14 [concrete = constants.%C.generic.4b4597.2] { -// CHECK:STDOUT: %T.patt.loc14_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc14_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_10.2 (constants.%T.patt)] // CHECK:STDOUT: %U.patt.loc14_19.1: %pattern_type.9ef = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc14_19.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14_12.1: type = splice_block %.loc14_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc14_10: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc14_10: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc14_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc14_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc14_10.1 (constants.%T)] // CHECK:STDOUT: %.loc14_21: type = splice_block %A.ref [concrete = constants.%A] { -// CHECK:STDOUT: %.Self.frozen.loc14_19: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc14_19: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc14_19.2: %A = symbolic_binding U, 1 [symbolic = %U.loc14_19.1 (constants.%U)] @@ -410,14 +410,14 @@ class E(U: type) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C.loc6(%T.loc6_10.2: type) { -// CHECK:STDOUT: %T.patt.loc6_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_10.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: class; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C.loc14(%T.loc14_10.2: type, %U.loc14_19.2: %A) { -// CHECK:STDOUT: %T.patt.loc14_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc14_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc14_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc14_10.1 (constants.%T)] // CHECK:STDOUT: %U.patt.loc14_19.2: %pattern_type.9ef = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc14_19.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc14_19.1: %A = symbolic_binding U, 1 [symbolic = %U.loc14_19.1 (constants.%U)] @@ -448,13 +448,13 @@ class E(U: type) {} // CHECK:STDOUT: --- fail_mismatch_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %D.type.ff75f2.1: type = generic_class_type @D.loc6 [concrete] // CHECK:STDOUT: %D.generic.7223e9.1: %D.type.ff75f2.1 = struct_value () [concrete] @@ -482,10 +482,10 @@ class E(U: type) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} // CHECK:STDOUT: %D.decl.loc6: %D.type.ff75f2.1 = class_decl @D.loc6 [concrete = constants.%D.generic.7223e9.1] { -// CHECK:STDOUT: %T.patt.loc6_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_10.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc6_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_10.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_12.1: type = splice_block %.loc6_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_10.1 (constants.%T.67d)] @@ -494,7 +494,7 @@ class E(U: type) {} // CHECK:STDOUT: %T.patt.loc14_10.1: %pattern_type.9ef = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_10.2 (constants.%T.patt.3a1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14: type = splice_block %A.ref [concrete = constants.%A] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc14_10.2: %A = symbolic_binding T, 0 [symbolic = %T.loc14_10.1 (constants.%T.37f)] @@ -510,7 +510,7 @@ class E(U: type) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @D.loc6(%T.loc6_10.2: type) { -// CHECK:STDOUT: %T.patt.loc6_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_10.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc6_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_10.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc6_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_10.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: class; @@ -532,7 +532,7 @@ class E(U: type) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @D.loc6(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc6_10.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc6_10.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc6_10.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: @@ -544,8 +544,8 @@ class E(U: type) {} // CHECK:STDOUT: --- fail_mismatch_param_name.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -577,7 +577,7 @@ class E(U: type) {} // CHECK:STDOUT: %T.patt.loc4_10.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_12.1: type = splice_block %.loc4_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_10.1 (constants.%T)] @@ -586,7 +586,7 @@ class E(U: type) {} // CHECK:STDOUT: %U.patt.loc12_10.1: %pattern_type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc12_10.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_12.1: type = splice_block %.loc12_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc12_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc12_10.2: type = symbolic_binding U, 0 [symbolic = %U.loc12_10.1 (constants.%U)] diff --git a/toolchain/check/testdata/class/generic/self.carbon b/toolchain/check/testdata/class/generic/self.carbon index f57ae7d0cb95..b8a007c9d91a 100644 --- a/toolchain/check/testdata/class/generic/self.carbon +++ b/toolchain/check/testdata/class/generic/self.carbon @@ -27,10 +27,10 @@ class Class(T: type) { // CHECK:STDOUT: --- self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Class.type: type = generic_class_type @Class [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -82,10 +82,10 @@ class Class(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { -// CHECK:STDOUT: %T.patt.loc15_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_16.1: type = splice_block %.loc15_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_14.1 (constants.%T)] @@ -93,7 +93,7 @@ class Class(T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class(%T.loc15_14.2: type) { -// CHECK:STDOUT: %T.patt.loc15_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc15_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc15_14.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/class/generic/stringify.carbon b/toolchain/check/testdata/class/generic/stringify.carbon index d4c875febc20..e0bfc34e6abc 100644 --- a/toolchain/check/testdata/class/generic/stringify.carbon +++ b/toolchain/check/testdata/class/generic/stringify.carbon @@ -88,6 +88,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: --- fail_empty_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NoParams: type = class_type @NoParams [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -191,15 +192,15 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: --- fail_nested.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Outer.type: type = generic_class_type @Outer [concrete] // CHECK:STDOUT: %Outer.generic: %Outer.type = struct_value () [concrete] // CHECK:STDOUT: %Outer.dee: type = class_type @Outer, @Outer(%T.67d) [symbolic] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %Inner.type.8f7: type = generic_class_type @Inner, @Outer(%T.67d) [symbolic] // CHECK:STDOUT: %Inner.generic.b3a: %Inner.type.8f7 = struct_value () [symbolic] @@ -260,10 +261,10 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Outer.decl: %Outer.type = class_decl @Outer [concrete = constants.%Outer.generic] { -// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: type = splice_block %.loc4_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T.67d)] @@ -303,7 +304,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Outer(%T.loc4_14.2: type) { -// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc4_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -312,10 +313,10 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: // CHECK:STDOUT: class { // CHECK:STDOUT: %Inner.decl: @Outer.%Inner.type (%Inner.type.8f7) = class_decl @Inner [symbolic = @Outer.%Inner.generic (constants.%Inner.generic.b3a)] { -// CHECK:STDOUT: %U.patt.loc5_16.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc5_16.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc5_16.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc5_16.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_18.1: type = splice_block %.loc5_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc5_16.2: type = symbolic_binding U, 1 [symbolic = %U.loc5_16.1 (constants.%U)] @@ -330,7 +331,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Inner(@Outer.%T.loc4_14.2: type, %U.loc5_16.2: type) { -// CHECK:STDOUT: %U.patt.loc5_16.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc5_16.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc5_16.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc5_16.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc5_16.1: type = symbolic_binding U, 1 [symbolic = %U.loc5_16.1 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -361,7 +362,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Outer(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_14.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: @@ -371,7 +372,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Outer(constants.%ptr.c28) { -// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_14.1 => constants.%ptr.c28 // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -389,8 +390,8 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: --- fail_int_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -452,7 +453,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %N.patt.loc4_10.1: %pattern_type.6b6 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc4_10.2 (constants.%N.patt.38a)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_10.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc4_10.1 (constants.%N.37f)] @@ -515,6 +516,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: --- fail_class_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -523,8 +525,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %D.elem: type = unbound_element_type %D, %i32 [concrete] // CHECK:STDOUT: %struct_type.a.b.b4c: type = struct_type {.a: %i32, .b: %i32} [concrete] // CHECK:STDOUT: %complete_type.7b9: = complete_type_witness %struct_type.a.b.b4c [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.d8d: type = pattern_type %D [concrete] // CHECK:STDOUT: %F.patt: %pattern_type.d8d = symbolic_binding_pattern F, 0 [symbolic] // CHECK:STDOUT: %F: %D = symbolic_binding F, 0 [symbolic] @@ -604,7 +605,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %F.patt.loc9_10.1: %pattern_type.d8d = symbolic_binding_pattern F, 0 [symbolic = %F.patt.loc9_10.2 (constants.%F.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9: type = splice_block %D.ref [concrete = constants.%D] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: } // CHECK:STDOUT: %F.loc9_10.2: %D = symbolic_binding F, 0 [symbolic = %F.loc9_10.1 (constants.%F)] diff --git a/toolchain/check/testdata/class/implicit_import.carbon b/toolchain/check/testdata/class/implicit_import.carbon index 568dba064417..6fb79942efac 100644 --- a/toolchain/check/testdata/class/implicit_import.carbon +++ b/toolchain/check/testdata/class/implicit_import.carbon @@ -88,6 +88,7 @@ class B {} // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -103,6 +104,7 @@ class B {} // CHECK:STDOUT: --- basic.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -128,6 +130,7 @@ class B {} // CHECK:STDOUT: --- redecl_after_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -151,6 +154,7 @@ class B {} // CHECK:STDOUT: --- fail_redecl_after_def.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -180,6 +184,7 @@ class B {} // CHECK:STDOUT: --- redef_after_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -203,6 +208,7 @@ class B {} // CHECK:STDOUT: --- fail_redef_after_def.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C.08d9e3.1: type = class_type @C.1 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -242,6 +248,7 @@ class B {} // CHECK:STDOUT: --- def_alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -260,6 +267,7 @@ class B {} // CHECK:STDOUT: --- fail_def_alias.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] diff --git a/toolchain/check/testdata/class/import.carbon b/toolchain/check/testdata/class/import.carbon index 52b7ef8fb864..4ef0ad2ebcb7 100644 --- a/toolchain/check/testdata/class/import.carbon +++ b/toolchain/check/testdata/class/import.carbon @@ -57,6 +57,7 @@ fn Run() { // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Empty: type = class_type @Empty [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] @@ -161,6 +162,7 @@ fn Run() { // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Run.type: type = fn_type @Run [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Run: %Run.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/class/import_forward_decl.carbon b/toolchain/check/testdata/class/import_forward_decl.carbon index 5c91e01d8573..60741c4a0d94 100644 --- a/toolchain/check/testdata/class/import_forward_decl.carbon +++ b/toolchain/check/testdata/class/import_forward_decl.carbon @@ -28,6 +28,7 @@ class ForwardDecl { // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ForwardDecl: type = class_type @ForwardDecl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -52,6 +53,7 @@ class ForwardDecl { // CHECK:STDOUT: --- a.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ForwardDecl: type = class_type @ForwardDecl [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/class/import_indirect.carbon b/toolchain/check/testdata/class/import_indirect.carbon index ded81e90e8a8..65ffc779e666 100644 --- a/toolchain/check/testdata/class/import_indirect.carbon +++ b/toolchain/check/testdata/class/import_indirect.carbon @@ -107,6 +107,7 @@ var ptr: E* = &value; // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -139,6 +140,7 @@ var ptr: E* = &value; // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -239,6 +241,7 @@ var ptr: E* = &value; // CHECK:STDOUT: --- c.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -339,6 +342,7 @@ var ptr: E* = &value; // CHECK:STDOUT: --- triangle.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -442,6 +446,7 @@ var ptr: E* = &value; // CHECK:STDOUT: --- triangle_reverse.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -545,6 +550,7 @@ var ptr: E* = &value; // CHECK:STDOUT: --- diamond.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -652,6 +658,7 @@ var ptr: E* = &value; // CHECK:STDOUT: --- diamond_reverse.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] diff --git a/toolchain/check/testdata/class/import_member_cycle.carbon b/toolchain/check/testdata/class/import_member_cycle.carbon index ecb42d886a35..6a139cec1c39 100644 --- a/toolchain/check/testdata/class/import_member_cycle.carbon +++ b/toolchain/check/testdata/class/import_member_cycle.carbon @@ -33,6 +33,7 @@ fn Run() { // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Cycle: type = class_type @Cycle [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %Cycle [concrete] // CHECK:STDOUT: %Cycle.elem: type = unbound_element_type %Cycle, %ptr [concrete] @@ -73,6 +74,7 @@ fn Run() { // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Run.type: type = fn_type @Run [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Run: %Run.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 263cb2d71a01..fe433a94c732 100644 --- a/toolchain/check/testdata/class/import_struct_cycle.carbon +++ b/toolchain/check/testdata/class/import_struct_cycle.carbon @@ -38,6 +38,7 @@ fn Run() { // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Cycle: type = class_type @Cycle [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %Cycle [concrete] // CHECK:STDOUT: %struct_type.b: type = struct_type {.b: %ptr} [concrete] @@ -121,6 +122,7 @@ fn Run() { // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Run.type: type = fn_type @Run [concrete] // CHECK:STDOUT: %Run: %Run.type = struct_value () [concrete] // CHECK:STDOUT: %Cycle: type = class_type @Cycle [concrete] diff --git a/toolchain/check/testdata/class/indirect_import_member.carbon b/toolchain/check/testdata/class/indirect_import_member.carbon index 7b43477e5429..ef762e706c13 100644 --- a/toolchain/check/testdata/class/indirect_import_member.carbon +++ b/toolchain/check/testdata/class/indirect_import_member.carbon @@ -107,6 +107,7 @@ var x: () = D.C.F(); // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %C.F.type: type = fn_type @C.F [concrete] // CHECK:STDOUT: %C.F: %C.F.type = struct_value () [concrete] @@ -152,6 +153,7 @@ var x: () = D.C.F(); // CHECK:STDOUT: --- c.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -196,6 +198,7 @@ var x: () = D.C.F(); // CHECK:STDOUT: --- e.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -254,6 +257,7 @@ var x: () = D.C.F(); // CHECK:STDOUT: --- use_b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -313,6 +317,7 @@ var x: () = D.C.F(); // CHECK:STDOUT: --- use_c.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -372,6 +377,7 @@ var x: () = D.C.F(); // CHECK:STDOUT: --- use_d.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -431,6 +437,7 @@ var x: () = D.C.F(); // CHECK:STDOUT: --- use_e.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -503,6 +510,7 @@ var x: () = D.C.F(); // CHECK:STDOUT: --- use_f.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/class/inheritance/base.carbon b/toolchain/check/testdata/class/inheritance/base.carbon index 61a44ab2fa89..946022753609 100644 --- a/toolchain/check/testdata/class/inheritance/base.carbon +++ b/toolchain/check/testdata/class/inheritance/base.carbon @@ -52,6 +52,7 @@ class Derived { // CHECK:STDOUT: --- base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -103,8 +104,8 @@ class Derived { // CHECK:STDOUT: %Derived.val: %Derived = struct_value (%Base.val, %int_7.690) [concrete] // CHECK:STDOUT: %d.param_patt: %pattern_type.4fd = value_param_pattern [concrete] // CHECK:STDOUT: %d.patt: %pattern_type.4fd = wrapper_binding_pattern d, %d.param_patt [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.b59: %tuple.type.24b = tuple_value (%i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.94e: %tuple.type.693 = tuple_value (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e55: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %.c11: Core.Form = init_form %tuple.type.e55 [concrete] // CHECK:STDOUT: %pattern_type.394: type = pattern_type %tuple.type.e55 [concrete] @@ -169,7 +170,7 @@ class Derived { // CHECK:STDOUT: } { // CHECK:STDOUT: %i32.loc17_27: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc17_32: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc17_35.1: %tuple.type.24b = tuple_literal (%i32.loc17_27, %i32.loc17_32) [concrete = constants.%tuple.b59] +// CHECK:STDOUT: %.loc17_35.1: %tuple.type.693 = tuple_literal (%i32.loc17_27, %i32.loc17_32) [concrete = constants.%tuple.94e] // CHECK:STDOUT: %.loc17_35.2: type = converted %.loc17_35.1, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: %.loc17_35.3: Core.Form = init_form %.loc17_35.2 [concrete = constants.%.c11] // CHECK:STDOUT: %d.param: %Derived = value_param call_param0 @@ -276,6 +277,7 @@ class Derived { // CHECK:STDOUT: --- fail_base_after_field.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/class/inheritance/base_field.carbon b/toolchain/check/testdata/class/inheritance/base_field.carbon index 62b771be91c7..6f35658d2edf 100644 --- a/toolchain/check/testdata/class/inheritance/base_field.carbon +++ b/toolchain/check/testdata/class/inheritance/base_field.carbon @@ -32,6 +32,7 @@ fn Access(p: Derived*) -> i32* { // CHECK:STDOUT: --- base_field.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/class/inheritance/base_function_unqualified.carbon b/toolchain/check/testdata/class/inheritance/base_function_unqualified.carbon index 51271b25d5a7..ad5324ef0942 100644 --- a/toolchain/check/testdata/class/inheritance/base_function_unqualified.carbon +++ b/toolchain/check/testdata/class/inheritance/base_function_unqualified.carbon @@ -30,6 +30,7 @@ fn Derived.H() { // CHECK:STDOUT: --- base_function_unqualified.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %Base.F.type: type = fn_type @Base.F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/class/inheritance/base_method.carbon b/toolchain/check/testdata/class/inheritance/base_method.carbon index f06f372961ad..fb0490c11c97 100644 --- a/toolchain/check/testdata/class/inheritance/base_method.carbon +++ b/toolchain/check/testdata/class/inheritance/base_method.carbon @@ -33,6 +33,7 @@ fn Call(p: Derived*) { // CHECK:STDOUT: --- base_method.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/class/inheritance/base_method_qualified.carbon b/toolchain/check/testdata/class/inheritance/base_method_qualified.carbon index 3d5952a8ddfa..ce94f485fc67 100644 --- a/toolchain/check/testdata/class/inheritance/base_method_qualified.carbon +++ b/toolchain/check/testdata/class/inheritance/base_method_qualified.carbon @@ -45,6 +45,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: --- base_method_qualified.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %pattern_type.912: type = pattern_type %Base [concrete] diff --git a/toolchain/check/testdata/class/inheritance/base_method_shadow.carbon b/toolchain/check/testdata/class/inheritance/base_method_shadow.carbon index 0466d1bdcfcc..8f471f7511d7 100644 --- a/toolchain/check/testdata/class/inheritance/base_method_shadow.carbon +++ b/toolchain/check/testdata/class/inheritance/base_method_shadow.carbon @@ -40,6 +40,7 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: --- base_method_shadow.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %pattern_type.9ef: type = pattern_type %A [concrete] // CHECK:STDOUT: %self.param_patt.8fb: %pattern_type.9ef = ref_param_pattern [concrete] diff --git a/toolchain/check/testdata/class/inheritance/derived_to_base.carbon b/toolchain/check/testdata/class/inheritance/derived_to_base.carbon index e1afd600e2e0..ad7d6c195090 100644 --- a/toolchain/check/testdata/class/inheritance/derived_to_base.carbon +++ b/toolchain/check/testdata/class/inheritance/derived_to_base.carbon @@ -124,6 +124,7 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -499,6 +500,7 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: --- qualified.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -539,6 +541,7 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: --- const_qualified_non_ptr.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -574,6 +577,7 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: --- partial_qualified_non_ptr.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/class/inheritance/import_base.carbon b/toolchain/check/testdata/class/inheritance/import_base.carbon index d044177a2fe4..3f8585dad40b 100644 --- a/toolchain/check/testdata/class/inheritance/import_base.carbon +++ b/toolchain/check/testdata/class/inheritance/import_base.carbon @@ -44,6 +44,7 @@ fn Run() { // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %pattern_type.912: type = pattern_type %Base [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.912 = value_param_pattern [concrete] @@ -139,6 +140,7 @@ fn Run() { // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Run.type: type = fn_type @Run [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Run: %Run.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/class/inheritance/self_conversion.carbon b/toolchain/check/testdata/class/inheritance/self_conversion.carbon index 817859f3a6d5..d586a65494f9 100644 --- a/toolchain/check/testdata/class/inheritance/self_conversion.carbon +++ b/toolchain/check/testdata/class/inheritance/self_conversion.carbon @@ -39,6 +39,7 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: --- self_conversion.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/class/init.carbon b/toolchain/check/testdata/class/init.carbon index 45e833a045cd..6a8963b384b4 100644 --- a/toolchain/check/testdata/class/init.carbon +++ b/toolchain/check/testdata/class/init.carbon @@ -28,6 +28,7 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: --- init.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/class/init_as.carbon b/toolchain/check/testdata/class/init_as.carbon index 868a10424320..83523c477394 100644 --- a/toolchain/check/testdata/class/init_as.carbon +++ b/toolchain/check/testdata/class/init_as.carbon @@ -31,6 +31,7 @@ fn G() -> i32 { // CHECK:STDOUT: --- init_as.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/class/init_nested.carbon b/toolchain/check/testdata/class/init_nested.carbon index 99a42e75dc65..e14a66f162b3 100644 --- a/toolchain/check/testdata/class/init_nested.carbon +++ b/toolchain/check/testdata/class/init_nested.carbon @@ -31,6 +31,7 @@ fn MakeOuter() -> Outer { // CHECK:STDOUT: --- init_nested.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Inner: type = class_type @Inner [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/class/local.carbon b/toolchain/check/testdata/class/local.carbon index fcec0f022d5b..9998c13824ca 100644 --- a/toolchain/check/testdata/class/local.carbon +++ b/toolchain/check/testdata/class/local.carbon @@ -30,6 +30,7 @@ class A { // CHECK:STDOUT: --- local.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [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 c58c27287e58..bee6adffdddc 100644 --- a/toolchain/check/testdata/class/method/call_without_method_syntax.carbon +++ b/toolchain/check/testdata/class/method/call_without_method_syntax.carbon @@ -43,6 +43,7 @@ fn CallViaAlias(p: Point) -> i32 { // CHECK:STDOUT: --- call_without_method_syntax.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Point: type = class_type @Point [concrete] // CHECK:STDOUT: %pattern_type.9d8: type = pattern_type %Point [concrete] // CHECK:STDOUT: %self.param_patt.b38: %pattern_type.9d8 = value_param_pattern [concrete] diff --git a/toolchain/check/testdata/class/method/generic_method.carbon b/toolchain/check/testdata/class/method/generic_method.carbon index 57f184c361da..ae3776ad6752 100644 --- a/toolchain/check/testdata/class/method/generic_method.carbon +++ b/toolchain/check/testdata/class/method/generic_method.carbon @@ -23,10 +23,10 @@ fn Class(T: type).F(unused self, unused n: T) {} // CHECK:STDOUT: --- generic_method.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Class.type: type = generic_class_type @Class [concrete] // CHECK:STDOUT: %Class.generic: %Class.type = struct_value () [concrete] @@ -60,10 +60,10 @@ fn Class(T: type).F(unused self, unused n: T) {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { -// CHECK:STDOUT: %T.patt.loc15_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_16.1: type = splice_block %.loc15_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_14.1 (constants.%T)] @@ -75,7 +75,7 @@ fn Class(T: type).F(unused self, unused n: T) {} // CHECK:STDOUT: %n.patt.loc20: @Class.F.%pattern_type.loc17_15 (%pattern_type.51d) = wrapper_binding_pattern n, %n.param_patt.loc20 [symbolic = %n.patt.loc17 (constants.%n.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc20_13.1: type = splice_block %.loc20_13.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc20_13.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc20: type = symbolic_binding T, 0 [symbolic = @Class.%T.loc15_14.1 (constants.%T)] @@ -92,7 +92,7 @@ fn Class(T: type).F(unused self, unused n: T) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class(%T.loc15_14.2: type) { -// CHECK:STDOUT: %T.patt.loc15_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc15_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc15_14.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/class/method/method.carbon b/toolchain/check/testdata/class/method/method.carbon index 23337d5dcc1f..5735ba92e3f1 100644 --- a/toolchain/check/testdata/class/method/method.carbon +++ b/toolchain/check/testdata/class/method/method.carbon @@ -65,6 +65,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: --- method.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %pattern_type.f15: type = pattern_type %Class [concrete] // CHECK:STDOUT: %self.param_patt.c01: %pattern_type.f15 = value_param_pattern [concrete] diff --git a/toolchain/check/testdata/class/method/static_method.carbon b/toolchain/check/testdata/class/method/static_method.carbon index 5f36b6c23d79..a995d620b8a1 100644 --- a/toolchain/check/testdata/class/method/static_method.carbon +++ b/toolchain/check/testdata/class/method/static_method.carbon @@ -24,6 +24,7 @@ fn Run() -> i32 { // CHECK:STDOUT: --- static_method.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/class/method/virtual.carbon b/toolchain/check/testdata/class/method/virtual.carbon index e5f80d976595..3c7b50519a4c 100644 --- a/toolchain/check/testdata/class/method/virtual.carbon +++ b/toolchain/check/testdata/class/method/virtual.carbon @@ -545,6 +545,7 @@ class T2(G2: type) { // CHECK:STDOUT: --- modifiers.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %pattern_type.b8d: type = pattern_type %Base [concrete] // CHECK:STDOUT: %self.param_patt.d44: %pattern_type.b8d = value_param_pattern [concrete] @@ -636,6 +637,7 @@ class T2(G2: type) { // CHECK:STDOUT: --- override_import.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %ptr.454: type = ptr_type [concrete] @@ -790,6 +792,7 @@ class T2(G2: type) { // CHECK:STDOUT: --- init.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %ptr.454: type = ptr_type [concrete] @@ -858,6 +861,7 @@ class T2(G2: type) { // CHECK:STDOUT: --- init_members.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1017,6 +1021,7 @@ class T2(G2: type) { // CHECK:STDOUT: --- abstract_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %AbstractBase: type = class_type @AbstractBase [concrete] // CHECK:STDOUT: %AbstractBase.F.type: type = fn_type @AbstractBase.F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1088,6 +1093,7 @@ class T2(G2: type) { // CHECK:STDOUT: --- virtual_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %VirtualBase: type = class_type @VirtualBase [concrete] // CHECK:STDOUT: %VirtualBase.F.type: type = fn_type @VirtualBase.F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1159,6 +1165,7 @@ class T2(G2: type) { // CHECK:STDOUT: --- impl_conversion.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %T1: type = class_type @T1 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %T2: type = class_type @T2 [concrete] @@ -1252,8 +1259,9 @@ class T2(G2: type) { // CHECK:STDOUT: --- generic_with_virtual.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T1: type = class_type @T1, @T1(%T) [symbolic] // CHECK:STDOUT: %pattern_type.c79: type = pattern_type %T1 [symbolic] @@ -1339,8 +1347,9 @@ class T2(G2: type) { // CHECK:STDOUT: --- with_dependent_arg.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T1: type = class_type @T1, @T1(%T) [symbolic] // CHECK:STDOUT: %pattern_type.c79: type = pattern_type %T1 [symbolic] @@ -1444,6 +1453,7 @@ class T2(G2: type) { // CHECK:STDOUT: --- impl_generic_specifically.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base.type: type = generic_class_type @Base [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Base.generic: %Base.type = struct_value () [concrete] @@ -1528,8 +1538,9 @@ class T2(G2: type) { // CHECK:STDOUT: --- impl_generic_generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived, @Derived(%T) [symbolic] diff --git a/toolchain/check/testdata/class/nested.carbon b/toolchain/check/testdata/class/nested.carbon index 5a389e7fe825..81e9fb44546a 100644 --- a/toolchain/check/testdata/class/nested.carbon +++ b/toolchain/check/testdata/class/nested.carbon @@ -56,6 +56,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: --- nested.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Outer: type = class_type @Outer [concrete] // CHECK:STDOUT: %Outer.F.type: type = fn_type @Outer.F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/class/nested_name.carbon b/toolchain/check/testdata/class/nested_name.carbon index ee37bafd60dc..1023a00c86b2 100644 --- a/toolchain/check/testdata/class/nested_name.carbon +++ b/toolchain/check/testdata/class/nested_name.carbon @@ -29,6 +29,7 @@ fn G(o: Outer) { // CHECK:STDOUT: --- nested_name.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Outer: type = class_type @Outer [concrete] // CHECK:STDOUT: %Inner: type = class_type @Inner [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] diff --git a/toolchain/check/testdata/class/partial/init.carbon b/toolchain/check/testdata/class/partial/init.carbon index 2e7ad64af705..65c811ef59a2 100644 --- a/toolchain/check/testdata/class/partial/init.carbon +++ b/toolchain/check/testdata/class/partial/init.carbon @@ -32,6 +32,7 @@ class Derived { // CHECK:STDOUT: --- base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %.edf: type = partial_type %Base [concrete] // CHECK:STDOUT: %Base.Make.type: type = fn_type @Base.Make [concrete] diff --git a/toolchain/check/testdata/class/partial/qualifier.carbon b/toolchain/check/testdata/class/partial/qualifier.carbon index 04929a3ec53b..13864c5944a2 100644 --- a/toolchain/check/testdata/class/partial/qualifier.carbon +++ b/toolchain/check/testdata/class/partial/qualifier.carbon @@ -178,6 +178,7 @@ fn F[T: type](p: partial T*); // CHECK:STDOUT: --- base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %.331: type = partial_type %C [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %.331 [concrete] @@ -206,6 +207,7 @@ fn F[T: type](p: partial T*); // CHECK:STDOUT: --- abstract.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %.331: type = partial_type %C [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %.331 [concrete] @@ -234,6 +236,7 @@ fn F[T: type](p: partial T*); // CHECK:STDOUT: --- abstract_var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %.331: type = partial_type %C [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %.331 [concrete] @@ -262,6 +265,7 @@ fn F[T: type](p: partial T*); // CHECK:STDOUT: --- fail_partial_nondynamic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %.331: type = partial_type %C [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %.331 [concrete] @@ -290,6 +294,7 @@ fn F[T: type](p: partial T*); // CHECK:STDOUT: --- fail_partial_final.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %.546: type = partial_type %Derived [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %.546 [concrete] @@ -318,6 +323,7 @@ fn F[T: type](p: partial T*); // CHECK:STDOUT: --- fail_partial_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %.331: type = partial_type %C [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %.331 [concrete] @@ -346,9 +352,10 @@ fn F[T: type](p: partial T*); // CHECK:STDOUT: --- fail_partial_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%C, %C) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%C, %C) [concrete] // CHECK:STDOUT: %tuple.type.748: type = tuple_type (%C, %C) [concrete] // CHECK:STDOUT: %.8dc: type = partial_type %tuple.type.748 [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %.8dc [concrete] @@ -367,7 +374,7 @@ fn F[T: type](p: partial T*); // CHECK:STDOUT: %.loc10_9.1: type = splice_block %.loc10_9.3 [concrete = constants.%.8dc] { // CHECK:STDOUT: %C.ref.loc10_18: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %C.ref.loc10_21: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %.loc10_22: %tuple.type.24b = tuple_literal (%C.ref.loc10_18, %C.ref.loc10_21) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc10_22: %tuple.type.693 = tuple_literal (%C.ref.loc10_18, %C.ref.loc10_21) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc10_9.2: type = converted %.loc10_22, constants.%tuple.type.748 [concrete = constants.%tuple.type.748] // CHECK:STDOUT: %.loc10_9.3: type = partial_type %.loc10_9.2 [concrete = constants.%.8dc] // CHECK:STDOUT: } @@ -380,6 +387,7 @@ fn F[T: type](p: partial T*); // CHECK:STDOUT: --- fail_partial_struct.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %C} [concrete] // CHECK:STDOUT: %.91f: type = partial_type %struct_type.x [concrete] @@ -410,6 +418,7 @@ fn F[T: type](p: partial T*); // CHECK:STDOUT: --- fail_duplicate.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %.331: type = partial_type %C [concrete] // CHECK:STDOUT: %.d52: type = partial_type %.331 [concrete] diff --git a/toolchain/check/testdata/class/redeclaration.carbon b/toolchain/check/testdata/class/redeclaration.carbon index 1c10f34fea76..15b1b0be7ca7 100644 --- a/toolchain/check/testdata/class/redeclaration.carbon +++ b/toolchain/check/testdata/class/redeclaration.carbon @@ -23,6 +23,7 @@ fn Class.F(unused self, unused b: ()) {} // CHECK:STDOUT: --- redeclaration.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %pattern_type.f15: type = pattern_type %Class [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.f15 = value_param_pattern [concrete] diff --git a/toolchain/check/testdata/class/redeclaration_introducer.carbon b/toolchain/check/testdata/class/redeclaration_introducer.carbon index e83906bd7eb9..044c4afeb2b0 100644 --- a/toolchain/check/testdata/class/redeclaration_introducer.carbon +++ b/toolchain/check/testdata/class/redeclaration_introducer.carbon @@ -23,6 +23,7 @@ abstract class C {} // CHECK:STDOUT: --- redeclaration_introducer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] diff --git a/toolchain/check/testdata/class/reenter_scope.carbon b/toolchain/check/testdata/class/reenter_scope.carbon index 28a79e81296c..31f2157b525f 100644 --- a/toolchain/check/testdata/class/reenter_scope.carbon +++ b/toolchain/check/testdata/class/reenter_scope.carbon @@ -25,6 +25,7 @@ fn Class.F() -> i32 { // CHECK:STDOUT: --- reenter_scope.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/class/reorder.carbon b/toolchain/check/testdata/class/reorder.carbon index 53e917ac4881..5c933b738be4 100644 --- a/toolchain/check/testdata/class/reorder.carbon +++ b/toolchain/check/testdata/class/reorder.carbon @@ -25,6 +25,7 @@ class Class { // CHECK:STDOUT: --- reorder.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/class/reorder_qualified.carbon b/toolchain/check/testdata/class/reorder_qualified.carbon index 05093199b781..4c957ef3f13d 100644 --- a/toolchain/check/testdata/class/reorder_qualified.carbon +++ b/toolchain/check/testdata/class/reorder_qualified.carbon @@ -53,6 +53,7 @@ class A { // CHECK:STDOUT: --- reorder_qualified.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] diff --git a/toolchain/check/testdata/class/scope.carbon b/toolchain/check/testdata/class/scope.carbon index 326891f5529f..e35cc885e341 100644 --- a/toolchain/check/testdata/class/scope.carbon +++ b/toolchain/check/testdata/class/scope.carbon @@ -34,6 +34,7 @@ fn Run() { // CHECK:STDOUT: --- scope.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/class/self/fail_ref_self.carbon b/toolchain/check/testdata/class/self/fail_ref_self.carbon index 53f2f795b513..47a3d09e5ac8 100644 --- a/toolchain/check/testdata/class/self/fail_ref_self.carbon +++ b/toolchain/check/testdata/class/self/fail_ref_self.carbon @@ -38,6 +38,7 @@ fn F(c: Class, p: Class*) { // CHECK:STDOUT: --- fail_ref_self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %pattern_type.f15: type = pattern_type %Class [concrete] // CHECK:STDOUT: %self.param_patt.b2b: %pattern_type.f15 = ref_param_pattern [concrete] diff --git a/toolchain/check/testdata/class/self/raw_self.carbon b/toolchain/check/testdata/class/self/raw_self.carbon index 51874d97db97..963d92278fe5 100644 --- a/toolchain/check/testdata/class/self/raw_self.carbon +++ b/toolchain/check/testdata/class/self/raw_self.carbon @@ -30,6 +30,7 @@ fn Class.G(self, r#self: i32) -> (i32, i32) { // CHECK:STDOUT: --- raw_self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %pattern_type.f15: type = pattern_type %Class [concrete] // CHECK:STDOUT: %self.param_patt.b2b: %pattern_type.f15 = ref_param_pattern [concrete] @@ -46,8 +47,8 @@ fn Class.G(self, r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %Class.F: %Class.F.type = struct_value () [concrete] // CHECK:STDOUT: %self.param_patt.c01: %pattern_type.f15 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.1f6: %pattern_type.f15 = wrapper_binding_pattern self, %self.param_patt.c01 [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.b59: %tuple.type.24b = tuple_value (%i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.94e: %tuple.type.693 = tuple_value (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e55: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %.c11: Core.Form = init_form %tuple.type.e55 [concrete] // CHECK:STDOUT: %pattern_type.394: type = pattern_type %tuple.type.e55 [concrete] @@ -113,7 +114,7 @@ fn Class.G(self, r#self: i32) -> (i32, i32) { // CHECK:STDOUT: } { // CHECK:STDOUT: %i32.loc25_35: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc25_40: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc25_43.1: %tuple.type.24b = tuple_literal (%i32.loc25_35, %i32.loc25_40) [concrete = constants.%tuple.b59] +// CHECK:STDOUT: %.loc25_43.1: %tuple.type.693 = tuple_literal (%i32.loc25_35, %i32.loc25_40) [concrete = constants.%tuple.94e] // CHECK:STDOUT: %.loc25_43.2: type = converted %.loc25_43.1, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: %.loc25_43.3: Core.Form = init_form %.loc25_43.2 [concrete = constants.%.c11] // CHECK:STDOUT: %self.param.loc25_12: %Class = value_param call_param0 @@ -151,7 +152,7 @@ fn Class.G(self, r#self: i32) -> (i32, i32) { // CHECK:STDOUT: } { // CHECK:STDOUT: %i32.loc17_31: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc17_36: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc17_39.1: %tuple.type.24b = tuple_literal (%i32.loc17_31, %i32.loc17_36) [concrete = constants.%tuple.b59] +// CHECK:STDOUT: %.loc17_39.1: %tuple.type.693 = tuple_literal (%i32.loc17_31, %i32.loc17_36) [concrete = constants.%tuple.94e] // CHECK:STDOUT: %.loc17_39.2: type = converted %.loc17_39.1, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: %.loc17_39.3: Core.Form = init_form %.loc17_39.2 [concrete = constants.%.c11] // CHECK:STDOUT: %self.param.loc17_8: %Class = value_param call_param0 diff --git a/toolchain/check/testdata/class/self/raw_self_type.carbon b/toolchain/check/testdata/class/self/raw_self_type.carbon index 4b79e44e2bcc..5cd44393098f 100644 --- a/toolchain/check/testdata/class/self/raw_self_type.carbon +++ b/toolchain/check/testdata/class/self/raw_self_type.carbon @@ -30,6 +30,7 @@ fn MemberNamedSelf.F(unused x: Self, unused y: r#Self) {} // CHECK:STDOUT: --- raw_self_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %Class.F.type: type = fn_type @Class.F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/class/self/self.carbon b/toolchain/check/testdata/class/self/self.carbon index 9000947510d3..da1c93b52d56 100644 --- a/toolchain/check/testdata/class/self/self.carbon +++ b/toolchain/check/testdata/class/self/self.carbon @@ -96,6 +96,7 @@ class Class { // CHECK:STDOUT: --- self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %pattern_type.f15: type = pattern_type %Class [concrete] // CHECK:STDOUT: %self.param_patt.c01: %pattern_type.f15 = value_param_pattern [concrete] @@ -253,6 +254,7 @@ class Class { // CHECK:STDOUT: --- fail_self_syntax_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %Class [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type = value_param_pattern [concrete] @@ -344,6 +346,7 @@ class Class { // CHECK:STDOUT: --- fail_self_type_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %Class [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type = value_param_pattern [concrete] @@ -408,6 +411,7 @@ class Class { // CHECK:STDOUT: --- fail_return_self_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %pattern_type.f15: type = pattern_type %Class [concrete] // CHECK:STDOUT: %self.param_patt.c01: %pattern_type.f15 = value_param_pattern [concrete] diff --git a/toolchain/check/testdata/class/self/self_type.carbon b/toolchain/check/testdata/class/self/self_type.carbon index 55a629fa0a8e..77ebd090d302 100644 --- a/toolchain/check/testdata/class/self/self_type.carbon +++ b/toolchain/check/testdata/class/self/self_type.carbon @@ -29,6 +29,7 @@ fn Class.F(self) -> i32 { // CHECK:STDOUT: --- self_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %pattern_type.f15: type = pattern_type %Class [concrete] // CHECK:STDOUT: %self.param_patt.c01: %pattern_type.f15 = value_param_pattern [concrete] diff --git a/toolchain/check/testdata/class/syntactic_merge.carbon b/toolchain/check/testdata/class/syntactic_merge.carbon index 91af6527056b..7cf599471e92 100644 --- a/toolchain/check/testdata/class/syntactic_merge.carbon +++ b/toolchain/check/testdata/class/syntactic_merge.carbon @@ -194,11 +194,11 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -224,7 +224,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc8: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %C.ref.loc7 [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen.loc7: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc7: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc7_12.2: %C = symbolic_binding a, 0 [symbolic = %a.loc7_12.1 (constants.%a)] @@ -233,7 +233,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc8: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8: type = splice_block %C.ref.loc8 [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen.loc8: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc8: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref.loc8: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc8: %C = symbolic_binding a, 0 [symbolic = %a.loc7_12.1 (constants.%a)] @@ -242,7 +242,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc11: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc10 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10: type = splice_block %D.ref.loc10 [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen.loc10: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc10: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref.loc10: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc10_12.2: %C = symbolic_binding a, 0 [symbolic = %a.loc10_12.1 (constants.%a)] @@ -251,7 +251,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc11: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc10 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11: type = splice_block %D.ref.loc11 [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen.loc11: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc11: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref.loc11: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc11: %C = symbolic_binding a, 0 [symbolic = %a.loc10_12.1 (constants.%a)] @@ -309,11 +309,11 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: --- spacing.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -332,7 +332,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc7: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %C.ref.loc6 [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen.loc6: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref.loc6: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc6_19.2: %C = symbolic_binding a, 0 [symbolic = %a.loc6_19.1 (constants.%a)] @@ -341,7 +341,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc7: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %C.ref.loc7 [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen.loc7: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc7: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc7: %C = symbolic_binding a, 0 [symbolic = %a.loc6_19.1 (constants.%a)] @@ -379,11 +379,11 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: --- fail_parens.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -404,7 +404,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc6_12.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_12.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc6_12.2: %C = symbolic_binding a, 0 [symbolic = %a.loc6_12.1 (constants.%a)] @@ -413,7 +413,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc14_12.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc14_12.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc14_12.2: %C = symbolic_binding a, 0 [symbolic = %a.loc14_12.1 (constants.%a)] @@ -463,11 +463,11 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: --- fail_raw_identifier.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -488,7 +488,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc6_12.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_12.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc6_12.2: %C = symbolic_binding a, 0 [symbolic = %a.loc6_12.1 (constants.%a)] @@ -497,7 +497,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc14_12.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc14_12.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc14_12.2: %C = symbolic_binding a, 0 [symbolic = %a.loc14_12.1 (constants.%a)] @@ -547,11 +547,11 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: --- two_file.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -575,7 +575,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc7_12.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_12.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc7_12.2: %C = symbolic_binding a, 0 [symbolic = %a.loc7_12.1 (constants.%a)] @@ -584,7 +584,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc8_12.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc8_12.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8: type = splice_block %D.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc8_12.2: %C = symbolic_binding a, 0 [symbolic = %a.loc8_12.1 (constants.%a)] @@ -626,8 +626,8 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: --- two_file.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -664,7 +664,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc4: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.1 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc4: %C = symbolic_binding a, 0 [symbolic = %a.1 (constants.%a)] @@ -673,7 +673,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc5: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.1 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5: type = splice_block %D.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc5: %C = symbolic_binding a, 0 [symbolic = %a.1 (constants.%a)] @@ -730,11 +730,11 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: --- fail_name_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -760,7 +760,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc7_12.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_12.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc7_12.2: %C = symbolic_binding a, 0 [symbolic = %a.loc7_12.1 (constants.%a)] @@ -769,7 +769,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %b.patt.loc15_12.1: %pattern_type = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc15_12.2 (constants.%b.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15: type = splice_block %D.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %b.loc15_12.2: %C = symbolic_binding b, 0 [symbolic = %b.loc15_12.1 (constants.%b)] @@ -819,11 +819,11 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: --- fail_alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -847,7 +847,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc7_12.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_12.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc7_12.2: %C = symbolic_binding a, 0 [symbolic = %a.loc7_12.1 (constants.%a)] @@ -856,7 +856,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc15_12.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc15_12.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15: type = splice_block %D.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc15_12.2: %C = symbolic_binding a, 0 [symbolic = %a.loc15_12.1 (constants.%a)] @@ -906,11 +906,11 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: --- fail_deduced_alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -934,7 +934,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc7_12.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_12.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc7_12.2: %C = symbolic_binding a, 0 [symbolic = %a.loc7_12.1 (constants.%a)] @@ -943,7 +943,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc15_12.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc15_12.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15: type = splice_block %D.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc15_12.2: %C = symbolic_binding a, 0 [symbolic = %a.loc15_12.1 (constants.%a)] @@ -993,11 +993,11 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: --- alias_two_file.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -1015,7 +1015,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc6_12.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_12.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc6_12.2: %C = symbolic_binding a, 0 [symbolic = %a.loc6_12.1 (constants.%a)] @@ -1045,11 +1045,11 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: --- todo_fail_alias_two_file.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -1079,7 +1079,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc6: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.1 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %D.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc6: %C = symbolic_binding a, 0 [symbolic = %a.1 (constants.%a)] @@ -1116,11 +1116,11 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: --- fail_repeat_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %const: type = const_type %C [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %const [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] @@ -1142,7 +1142,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc6_12.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_12.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %const [concrete = constants.%const] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %const: type = const_type %C.ref [concrete = constants.%const] // CHECK:STDOUT: } @@ -1152,7 +1152,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: %a.patt.loc18_12.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc18_12.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18: type = splice_block %const.loc18_14 [concrete = constants.%const] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %const.loc18_21: type = const_type %C.ref [concrete = constants.%const] // CHECK:STDOUT: %const.loc18_14: type = const_type %const.loc18_21 [concrete = constants.%const] @@ -1204,6 +1204,7 @@ fn Base.F(ref self: Base) { // CHECK:STDOUT: --- fail_self_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] diff --git a/toolchain/check/testdata/class/syntactic_merge_literal.carbon b/toolchain/check/testdata/class/syntactic_merge_literal.carbon index 9eff3dc64273..c66dfb4f9121 100644 --- a/toolchain/check/testdata/class/syntactic_merge_literal.carbon +++ b/toolchain/check/testdata/class/syntactic_merge_literal.carbon @@ -38,8 +38,8 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: --- int_match.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -102,7 +102,7 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %a.patt.loc4_10.1: %pattern_type.6b6 = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc4_10.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc4_10.2: %i32 = symbolic_binding a, 0 [symbolic = %a.loc4_10.1 (constants.%a)] @@ -111,7 +111,7 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %b.patt.loc6: %pattern_type.053 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc5 (constants.%b.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_19.1: type = splice_block %C.loc5 [concrete = constants.%C.847] { -// CHECK:STDOUT: %.Self.frozen.loc5: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc5: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref.loc5: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_1000.loc5: Core.IntLiteral = int_value 1000 [concrete = constants.%int_1000.ff9] // CHECK:STDOUT: %impl.elem0.loc5: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] @@ -129,7 +129,7 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %b.patt.loc6: %pattern_type.053 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc5 (constants.%b.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_19.1: type = splice_block %C.loc6 [concrete = constants.%C.847] { -// CHECK:STDOUT: %.Self.frozen.loc6: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref.loc6: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_1000.loc6: Core.IntLiteral = int_value 1000 [concrete = constants.%int_1000.ff9] // CHECK:STDOUT: %impl.elem0.loc6: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] @@ -193,8 +193,8 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: --- fail_int_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -259,7 +259,7 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %a.patt.loc4_10.1: %pattern_type.6b6 = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc4_10.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc4_10.2: %i32 = symbolic_binding a, 0 [symbolic = %a.loc4_10.1 (constants.%a)] @@ -268,7 +268,7 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %b.patt.loc5_10.1: %pattern_type.053 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc5_10.2 (constants.%b.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_18.1: type = splice_block %C [concrete = constants.%C.847] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_1000: Core.IntLiteral = int_value 1000 [concrete = constants.%int_1000.ff9] // CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] @@ -286,7 +286,7 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %b.patt.loc13_10.1: %pattern_type.053 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc13_10.2 (constants.%b.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_19.1: type = splice_block %C [concrete = constants.%C.847] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_1000: Core.IntLiteral = int_value 1000 [concrete = constants.%int_1000.ff9] // CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] diff --git a/toolchain/check/testdata/const/basics.carbon b/toolchain/check/testdata/const/basics.carbon index 241dc6916b89..ae45324a465c 100644 --- a/toolchain/check/testdata/const/basics.carbon +++ b/toolchain/check/testdata/const/basics.carbon @@ -131,6 +131,7 @@ fn PassConstReferenceToReference(p: const X*) { // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %const.13f: type = const_type %C [concrete] // CHECK:STDOUT: %ptr.77f: type = ptr_type %const.13f [concrete] @@ -259,6 +260,7 @@ fn PassConstReferenceToReference(p: const X*) { // CHECK:STDOUT: --- collapse.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %const.13f: type = const_type %C [concrete] // CHECK:STDOUT: %ptr.77f: type = ptr_type %const.13f [concrete] diff --git a/toolchain/check/testdata/const/import.carbon b/toolchain/check/testdata/const/import.carbon index 6f9adbf75bee..ff7c2c8c1dad 100644 --- a/toolchain/check/testdata/const/import.carbon +++ b/toolchain/check/testdata/const/import.carbon @@ -33,6 +33,7 @@ var a_ptr: const C* = a_ptr_ref; // CHECK:STDOUT: --- implicit.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] diff --git a/toolchain/check/testdata/deduce/array.carbon b/toolchain/check/testdata/deduce/array.carbon index 715d9b1010d4..a6c4a0656427 100644 --- a/toolchain/check/testdata/deduce/array.carbon +++ b/toolchain/check/testdata/deduce/array.carbon @@ -148,13 +148,13 @@ fn G() { // CHECK:STDOUT: --- type_only.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete] // CHECK:STDOUT: %array_type.3ec: type = array_type %int_3, %T [symbolic] @@ -216,7 +216,7 @@ fn G() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc6_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] // CHECK:STDOUT: %a.param_patt.loc6_16.1: @F.%pattern_type.loc6_16 (%pattern_type.b3f) = value_param_pattern [symbolic = %a.param_patt.loc6_16.2 (constants.%a.param_patt.480)] // CHECK:STDOUT: %a.patt.loc6_16.1: @F.%pattern_type.loc6_16 (%pattern_type.b3f) = wrapper_binding_pattern a, %a.param_patt.loc6_16.1 [symbolic = %a.patt.loc6_16.2 (constants.%a.patt.bde)] // CHECK:STDOUT: %return.param_patt.loc6_34.1: @F.%pattern_type.loc6_34 (%pattern_type.51d) = out_param_pattern [symbolic = %return.param_patt.loc6_34.2 (constants.%return.param_patt.41d)] @@ -225,7 +225,7 @@ fn G() { // CHECK:STDOUT: %T.ref.loc6_34: type = name_ref T, %T.loc6_7.2 [symbolic = %T.loc6_7.1 (constants.%T)] // CHECK:STDOUT: %.loc6_34.3: Core.Form = init_form %T.ref.loc6_34 [symbolic = %.loc6_34.2 (constants.%.184)] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_7.1 (constants.%T)] @@ -259,7 +259,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc6_7.2: type) { -// CHECK:STDOUT: %T.patt.loc6_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_7.1 (constants.%T)] // CHECK:STDOUT: %array_type.loc6_28.1: type = array_type constants.%int_3, %T.loc6_7.1 [symbolic = %array_type.loc6_28.1 (constants.%array_type.3ec)] // CHECK:STDOUT: %pattern_type.loc6_16: type = pattern_type %array_type.loc6_28.1 [symbolic = %pattern_type.loc6_16 (constants.%pattern_type.b3f)] @@ -377,11 +377,11 @@ fn G() { // CHECK:STDOUT: --- bound_only.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = symbolic_binding_pattern N, 0 [symbolic] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -480,7 +480,7 @@ fn G() { // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_52: Core.Form = init_form %i32 [concrete = constants.%.795f] // CHECK:STDOUT: %.loc6_13: type = splice_block %IntLiteral.ref [concrete = Core.IntLiteral] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %IntLiteral.ref: type = name_ref IntLiteral, imports.%Core.IntLiteral [concrete = Core.IntLiteral] // CHECK:STDOUT: } @@ -622,13 +622,13 @@ fn G() { // CHECK:STDOUT: --- type_and_bound.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = symbolic_binding_pattern N, 1 [symbolic] @@ -686,18 +686,18 @@ fn G() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc6_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] // CHECK:STDOUT: %N.patt.loc6_16.1: %pattern_type.dc0 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc6_16.2 (constants.%N.patt)] // CHECK:STDOUT: %a.param_patt.loc6_43.1: @F.%pattern_type (%pattern_type.4d8) = value_param_pattern [symbolic = %a.param_patt.loc6_43.2 (constants.%a.param_patt.0e1)] // CHECK:STDOUT: %a.patt.loc6_43.1: @F.%pattern_type (%pattern_type.4d8) = wrapper_binding_pattern a, %a.param_patt.loc6_43.1 [symbolic = %a.patt.loc6_43.2 (constants.%a.patt.f10)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc6_7: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6_7: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_7.1 (constants.%T)] // CHECK:STDOUT: %.loc6_22: type = splice_block %IntLiteral.ref [concrete = Core.IntLiteral] { -// CHECK:STDOUT: %.Self.frozen.loc6_16: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6_16: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %IntLiteral.ref: type = name_ref IntLiteral, imports.%Core.IntLiteral [concrete = Core.IntLiteral] // CHECK:STDOUT: } @@ -722,7 +722,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc6_7.2: type, %N.loc6_16.2: Core.IntLiteral) { -// CHECK:STDOUT: %T.patt.loc6_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_7.1 (constants.%T)] // CHECK:STDOUT: %N.patt.loc6_16.2: %pattern_type.dc0 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc6_16.2 (constants.%N.patt)] // CHECK:STDOUT: %N.loc6_16.1: Core.IntLiteral = symbolic_binding N, 1 [symbolic = %N.loc6_16.1 (constants.%N)] @@ -822,13 +822,13 @@ fn G() { // CHECK:STDOUT: --- fail_bound_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %array_type.a0b: type = array_type %int_2, %T [symbolic] @@ -896,7 +896,7 @@ fn G() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc6_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] // CHECK:STDOUT: %a.param_patt.loc6_16.1: @F.%pattern_type.loc6_16 (%pattern_type.b42) = value_param_pattern [symbolic = %a.param_patt.loc6_16.2 (constants.%a.param_patt.9b5)] // CHECK:STDOUT: %a.patt.loc6_16.1: @F.%pattern_type.loc6_16 (%pattern_type.b42) = wrapper_binding_pattern a, %a.param_patt.loc6_16.1 [symbolic = %a.patt.loc6_16.2 (constants.%a.patt.c20)] // CHECK:STDOUT: %return.param_patt.loc6_34.1: @F.%pattern_type.loc6_34 (%pattern_type.51d1c4.1) = out_param_pattern [symbolic = %return.param_patt.loc6_34.2 (constants.%return.param_patt.41d2d9.1)] @@ -905,7 +905,7 @@ fn G() { // CHECK:STDOUT: %T.ref.loc6_34: type = name_ref T, %T.loc6_7.2 [symbolic = %T.loc6_7.1 (constants.%T)] // CHECK:STDOUT: %.loc6_34.3: Core.Form = init_form %T.ref.loc6_34 [symbolic = %.loc6_34.2 (constants.%.184347.1)] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_7.1 (constants.%T)] @@ -939,7 +939,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc6_7.2: type) { -// CHECK:STDOUT: %T.patt.loc6_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_7.1 (constants.%T)] // CHECK:STDOUT: %array_type.loc6_28.1: type = array_type constants.%int_2, %T.loc6_7.1 [symbolic = %array_type.loc6_28.1 (constants.%array_type.a0b)] // CHECK:STDOUT: %pattern_type.loc6_16: type = pattern_type %array_type.loc6_28.1 [symbolic = %pattern_type.loc6_16 (constants.%pattern_type.b42)] @@ -1057,12 +1057,12 @@ fn G() { // CHECK:STDOUT: --- fail_type_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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: %D: type = class_type @D [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = symbolic_binding_pattern N, 0 [symbolic] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -1165,7 +1165,7 @@ fn G() { // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc7_52: Core.Form = init_form %i32 [concrete = constants.%.795f] // CHECK:STDOUT: %.loc7_13: type = splice_block %IntLiteral.ref [concrete = Core.IntLiteral] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %IntLiteral.ref: type = name_ref IntLiteral, imports.%Core.IntLiteral [concrete = Core.IntLiteral] // CHECK:STDOUT: } @@ -1315,11 +1315,11 @@ fn G() { // CHECK:STDOUT: --- fail_bound_type_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1425,7 +1425,7 @@ fn G() { // CHECK:STDOUT: %i32.loc6_40: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_40: Core.Form = init_form %i32.loc6_40 [concrete = constants.%.795f] // CHECK:STDOUT: %.loc6_9: type = splice_block %i32.loc6_9 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32.loc6_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc6_7.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc6_7.1 (constants.%N.37f)] @@ -1559,11 +1559,11 @@ fn G() { // CHECK:STDOUT: --- fail_todo_array_length_from_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -1629,7 +1629,7 @@ fn G() { // CHECK:STDOUT: %a.patt.loc5_22.1: @F.%pattern_type (%pattern_type.f28) = wrapper_binding_pattern a, %a.param_patt.loc5_22.1 [symbolic = %a.patt.loc5_22.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_9: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc5_7.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc5_7.1 (constants.%N.37f)] diff --git a/toolchain/check/testdata/deduce/conversion.carbon b/toolchain/check/testdata/deduce/conversion.carbon index 060356351044..236ad5912986 100644 --- a/toolchain/check/testdata/deduce/conversion.carbon +++ b/toolchain/check/testdata/deduce/conversion.carbon @@ -70,13 +70,14 @@ fn G(a: A) { // CHECK:STDOUT: --- need_conversion.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%A, %B) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%A, %B) [concrete] // CHECK:STDOUT: %tuple.type.1e7: type = tuple_type (%A, %B) [concrete] // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%tuple.type.1e7) [concrete] // CHECK:STDOUT: } @@ -86,7 +87,7 @@ fn G(a: A) { // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B] -// CHECK:STDOUT: %.loc12_10: %tuple.type.24b = tuple_literal (%A.ref, %B.ref) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc12_10: %tuple.type.693 = tuple_literal (%A.ref, %B.ref) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc12_11: type = converted %.loc12_10, constants.%tuple.type.1e7 [concrete = constants.%tuple.type.1e7] // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%tuple.type.1e7) [concrete = constants.%F.specific_fn] // CHECK:STDOUT: %F.call: init %empty_tuple.type = call %F.specific_fn() @@ -96,23 +97,24 @@ fn G(a: A) { // CHECK:STDOUT: --- need_user_conversion.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] -// CHECK:STDOUT: %ImplicitAs.type.5f1: type = facet_type <@ImplicitAs, @ImplicitAs(type)> [concrete] +// CHECK:STDOUT: %ImplicitAs.type.a5e: type = facet_type <@ImplicitAs, @ImplicitAs(type)> [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness @A.as.ImplicitAs.impl.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert.type.572c06.1: type = fn_type @A.as.ImplicitAs.impl.Convert.loc7_40.1 [concrete] // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert.dbe75c.1: %A.as.ImplicitAs.impl.Convert.type.572c06.1 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.5f1 = facet_value %A, (%ImplicitAs.impl_witness) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.474: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(type, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.a5e = facet_value %A, (%ImplicitAs.impl_witness) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.225: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(type, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert.type.572c06.2: type = fn_type @A.as.ImplicitAs.impl.Convert.loc7_40.2 [concrete] // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert.dbe75c.2: %A.as.ImplicitAs.impl.Convert.type.572c06.2 = struct_value () [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %A.val: %A = struct_value () [concrete] -// CHECK:STDOUT: %.787: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.474, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %.71a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.225, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert.bound.5ecf75.1: = bound_method %A.val, %A.as.ImplicitAs.impl.Convert.dbe75c.2 [concrete] // CHECK:STDOUT: %.367: ref %A = temporary invalid, %A.val [concrete] // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert.bound.5ecf75.2: = bound_method %A.val, %A.as.ImplicitAs.impl.Convert.dbe75c.1 [concrete] @@ -130,7 +132,7 @@ fn G(a: A) { // CHECK:STDOUT: %.loc16_6.2: ref %A = temporary_storage // CHECK:STDOUT: %.loc16_6.3: init %A to %.loc16_6.2 = class_init () [concrete = constants.%A.val] // CHECK:STDOUT: %.loc16_8.1: init %A = converted %.loc16_6.1, %.loc16_6.3 [concrete = constants.%A.val] -// CHECK:STDOUT: %impl.elem0: %.787 = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%A.as.ImplicitAs.impl.Convert.dbe75c.2] +// CHECK:STDOUT: %impl.elem0: %.71a = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%A.as.ImplicitAs.impl.Convert.dbe75c.2] // CHECK:STDOUT: %bound_method: = bound_method %.loc16_8.1, %impl.elem0 [concrete = constants.%A.as.ImplicitAs.impl.Convert.bound.5ecf75.1] // CHECK:STDOUT: %.loc16_8.2: ref %A = temporary %.loc16_6.2, %.loc16_8.1 [concrete = constants.%.367] // CHECK:STDOUT: %.loc16_8.3: %A = acquire_value %.loc16_8.2 [concrete = constants.%A.val] @@ -155,6 +157,7 @@ fn G(a: A) { // CHECK:STDOUT: --- no_conversion_during_deduction.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] diff --git a/toolchain/check/testdata/deduce/generic_type.carbon b/toolchain/check/testdata/deduce/generic_type.carbon index ca72981cdeae..b0ba4884c6f6 100644 --- a/toolchain/check/testdata/deduce/generic_type.carbon +++ b/toolchain/check/testdata/deduce/generic_type.carbon @@ -72,10 +72,10 @@ fn G() -> i32 { // CHECK:STDOUT: --- class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -125,17 +125,17 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { -// CHECK:STDOUT: %T.patt.loc4_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_12.1: type = splice_block %.loc4_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_10.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc7_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc7_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] // CHECK:STDOUT: %p.param_patt.loc7_16.1: @F.%pattern_type.loc7_16 (%pattern_type.ebe) = value_param_pattern [symbolic = %p.param_patt.loc7_16.2 (constants.%p.param_patt.f49)] // CHECK:STDOUT: %p.patt.loc7_16.1: @F.%pattern_type.loc7_16 (%pattern_type.ebe) = wrapper_binding_pattern p, %p.param_patt.loc7_16.1 [symbolic = %p.patt.loc7_16.2 (constants.%p.patt.efb)] // CHECK:STDOUT: %return.param_patt.loc7_27.1: @F.%pattern_type.loc7_27 (%pattern_type.51d) = out_param_pattern [symbolic = %return.param_patt.loc7_27.2 (constants.%return.param_patt.41d)] @@ -144,7 +144,7 @@ fn G() -> i32 { // CHECK:STDOUT: %T.ref.loc7_27: type = name_ref T, %T.loc7_7.2 [symbolic = %T.loc7_7.1 (constants.%T)] // CHECK:STDOUT: %.loc7_27.3: Core.Form = init_form %T.ref.loc7_27 [symbolic = %.loc7_27.2 (constants.%.184)] // CHECK:STDOUT: %.loc7_9.1: type = splice_block %.loc7_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc7_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_7.1 (constants.%T)] @@ -179,7 +179,7 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(%T.loc4_10.2: type) { -// CHECK:STDOUT: %T.patt.loc4_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_10.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -202,7 +202,7 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc7_7.2: type) { -// CHECK:STDOUT: %T.patt.loc7_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc7_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc7_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_7.1 (constants.%T)] // CHECK:STDOUT: %C.loc7_21.1: type = class_type @C, @C(%T.loc7_7.1) [symbolic = %C.loc7_21.1 (constants.%C.1d0)] // CHECK:STDOUT: %pattern_type.loc7_16: type = pattern_type %C.loc7_21.1 [symbolic = %pattern_type.loc7_16 (constants.%pattern_type.ebe)] @@ -292,10 +292,10 @@ fn G() -> i32 { // CHECK:STDOUT: --- interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %I.type: type = generic_class_type @I [concrete] // CHECK:STDOUT: %I.generic: %I.type = struct_value () [concrete] @@ -340,17 +340,17 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: %I.type = class_decl @I [concrete = constants.%I.generic] { -// CHECK:STDOUT: %T.patt.loc4_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_12.1: type = splice_block %.loc4_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_10.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc7_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc7_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] // CHECK:STDOUT: %p.param_patt.loc7_16.1: @F.%pattern_type (%pattern_type.477) = value_param_pattern [symbolic = %p.param_patt.loc7_16.2 (constants.%p.param_patt.4f4)] // CHECK:STDOUT: %p.patt.loc7_16.1: @F.%pattern_type (%pattern_type.477) = wrapper_binding_pattern p, %p.param_patt.loc7_16.1 [symbolic = %p.patt.loc7_16.2 (constants.%p.patt.dc4)] // CHECK:STDOUT: %return.param_patt: %pattern_type.98b = out_param_pattern [concrete = constants.%return.param_patt] @@ -359,7 +359,7 @@ fn G() -> i32 { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %.loc7_27.2: Core.Form = init_form %C.ref [concrete = constants.%.a44] // CHECK:STDOUT: %.loc7_9.1: type = splice_block %.loc7_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc7_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_7.1 (constants.%T)] @@ -394,7 +394,7 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @I(%T.loc4_10.2: type) { -// CHECK:STDOUT: %T.patt.loc4_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_10.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -417,7 +417,7 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc7_7.2: type) { -// CHECK:STDOUT: %T.patt.loc7_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc7_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc7_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_7.1 (constants.%T)] // CHECK:STDOUT: %I.loc7_21.1: type = class_type @I, @I(%T.loc7_7.1) [symbolic = %I.loc7_21.1 (constants.%I.76e)] // CHECK:STDOUT: %pattern_type: type = pattern_type %I.loc7_21.1 [symbolic = %pattern_type (constants.%pattern_type.477)] @@ -492,15 +492,15 @@ fn G() -> i32 { // CHECK:STDOUT: --- nested.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Outer.type: type = generic_class_type @Outer [concrete] // CHECK:STDOUT: %Outer.generic: %Outer.type = struct_value () [concrete] // CHECK:STDOUT: %Outer.dee: type = class_type @Outer, @Outer(%T) [symbolic] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %Inner.type.8f7: type = generic_class_type @Inner, @Outer(%T) [symbolic] // CHECK:STDOUT: %Inner.generic.b3a: %Inner.type.8f7 = struct_value () [symbolic] @@ -513,8 +513,8 @@ fn G() -> i32 { // CHECK:STDOUT: %pattern_type.f00: type = pattern_type %Inner.34b [symbolic] // CHECK:STDOUT: %p.param_patt.785: %pattern_type.f00 = value_param_pattern [symbolic] // CHECK:STDOUT: %p.patt.a33: %pattern_type.f00 = wrapper_binding_pattern p, %p.param_patt.785 [symbolic] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.4b9: %tuple.type.24b = tuple_value (%T, %U) [symbolic] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.fa2: %tuple.type.693 = tuple_value (%T, %U) [symbolic] // CHECK:STDOUT: %tuple.type.a5e: type = tuple_type (%T, %U) [symbolic] // CHECK:STDOUT: %.f18: Core.Form = init_form %tuple.type.a5e [symbolic] // CHECK:STDOUT: %pattern_type.eee: type = pattern_type %tuple.type.a5e [symbolic] @@ -532,7 +532,7 @@ fn G() -> i32 { // CHECK:STDOUT: %pattern_type.0d8: type = pattern_type %Inner.3ff [concrete] // CHECK:STDOUT: %p.param_patt.f58: %pattern_type.0d8 = value_param_pattern [concrete] // CHECK:STDOUT: %p.patt.b2b: %pattern_type.0d8 = wrapper_binding_pattern p, %p.param_patt.f58 [concrete] -// CHECK:STDOUT: %tuple.b04: %tuple.type.24b = tuple_value (%C, %D) [concrete] +// CHECK:STDOUT: %tuple.919: %tuple.type.693 = tuple_value (%C, %D) [concrete] // CHECK:STDOUT: %tuple.type.af1: type = tuple_type (%C, %D) [concrete] // CHECK:STDOUT: %.71f: Core.Form = init_form %tuple.type.af1 [concrete] // CHECK:STDOUT: %pattern_type.c66: type = pattern_type %tuple.type.af1 [concrete] @@ -562,10 +562,10 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Outer.decl: %Outer.type = class_decl @Outer [concrete = constants.%Outer.generic] { -// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: type = splice_block %.loc4_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] @@ -573,8 +573,8 @@ fn G() -> i32 { // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc13_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_7.2 (constants.%T.patt)] -// CHECK:STDOUT: %U.patt.loc13_16.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc13_16.2 (constants.%U.patt)] +// CHECK:STDOUT: %T.patt.loc13_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %U.patt.loc13_16.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc13_16.2 (constants.%U.patt)] // CHECK:STDOUT: %p.param_patt.loc13_25.1: @F.%pattern_type.loc13_25 (%pattern_type.f00) = value_param_pattern [symbolic = %p.param_patt.loc13_25.2 (constants.%p.param_patt.785)] // CHECK:STDOUT: %p.patt.loc13_25.1: @F.%pattern_type.loc13_25 (%pattern_type.f00) = wrapper_binding_pattern p, %p.param_patt.loc13_25.1 [symbolic = %p.patt.loc13_25.2 (constants.%p.patt.a33)] // CHECK:STDOUT: %return.param_patt.loc13_54.1: @F.%pattern_type.loc13_54 (%pattern_type.eee) = out_param_pattern [symbolic = %return.param_patt.loc13_54.2 (constants.%return.param_patt.a41)] @@ -582,16 +582,16 @@ fn G() -> i32 { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc13_50: type = name_ref T, %T.loc13_7.2 [symbolic = %T.loc13_7.1 (constants.%T)] // CHECK:STDOUT: %U.ref.loc13_53: type = name_ref U, %U.loc13_16.2 [symbolic = %U.loc13_16.1 (constants.%U)] -// CHECK:STDOUT: %.loc13_54.3: %tuple.type.24b = tuple_literal (%T.ref.loc13_50, %U.ref.loc13_53) [symbolic = %tuple (constants.%tuple.4b9)] +// CHECK:STDOUT: %.loc13_54.3: %tuple.type.693 = tuple_literal (%T.ref.loc13_50, %U.ref.loc13_53) [symbolic = %tuple (constants.%tuple.fa2)] // CHECK:STDOUT: %.loc13_54.4: type = converted %.loc13_54.3, constants.%tuple.type.a5e [symbolic = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %.loc13_54.5: Core.Form = init_form %.loc13_54.4 [symbolic = %.loc13_54.2 (constants.%.f18)] // CHECK:STDOUT: %.loc13_9.1: type = splice_block %.loc13_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc13_7: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc13_7: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc13_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc13_7.1 (constants.%T)] // CHECK:STDOUT: %.loc13_18.1: type = splice_block %.loc13_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc13_16: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc13_16: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc13_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc13_16.2: type = symbolic_binding U, 1 [symbolic = %U.loc13_16.1 (constants.%U)] @@ -617,7 +617,7 @@ fn G() -> i32 { // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc15_32: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %D.ref.loc15_35: type = name_ref D, file.%D.decl [concrete = constants.%D] -// CHECK:STDOUT: %.loc15_36.2: %tuple.type.24b = tuple_literal (%C.ref.loc15_32, %D.ref.loc15_35) [concrete = constants.%tuple.b04] +// CHECK:STDOUT: %.loc15_36.2: %tuple.type.693 = tuple_literal (%C.ref.loc15_32, %D.ref.loc15_35) [concrete = constants.%tuple.919] // CHECK:STDOUT: %.loc15_36.3: type = converted %.loc15_36.2, constants.%tuple.type.af1 [concrete = constants.%tuple.type.af1] // CHECK:STDOUT: %.loc15_36.4: Core.Form = init_form %.loc15_36.3 [concrete = constants.%.71f] // CHECK:STDOUT: %p.param: %Inner.3ff = value_param call_param0 @@ -637,7 +637,7 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Outer(%T.loc4_14.2: type) { -// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -646,10 +646,10 @@ fn G() -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: class { // CHECK:STDOUT: %Inner.decl: @Outer.%Inner.type (%Inner.type.8f7) = class_decl @Inner [symbolic = @Outer.%Inner.generic (constants.%Inner.generic.b3a)] { -// CHECK:STDOUT: %U.patt.loc5_16.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc5_16.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc5_16.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc5_16.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_18.1: type = splice_block %.loc5_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc5_16.2: type = symbolic_binding U, 1 [symbolic = %U.loc5_16.1 (constants.%U)] @@ -664,7 +664,7 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Inner(@Outer.%T.loc4_14.2: type, %U.loc5_16.2: type) { -// CHECK:STDOUT: %U.patt.loc5_16.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc5_16.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc5_16.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc5_16.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc5_16.1: type = symbolic_binding U, 1 [symbolic = %U.loc5_16.1 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -695,9 +695,9 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc13_7.2: type, %U.loc13_16.2: type) { -// CHECK:STDOUT: %T.patt.loc13_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc13_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc13_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc13_7.1 (constants.%T)] -// CHECK:STDOUT: %U.patt.loc13_16.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc13_16.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc13_16.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc13_16.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc13_16.1: type = symbolic_binding U, 1 [symbolic = %U.loc13_16.1 (constants.%U)] // CHECK:STDOUT: %Outer.loc13_34.1: type = class_type @Outer, @Outer(%T.loc13_7.1) [symbolic = %Outer.loc13_34.1 (constants.%Outer.dee)] // CHECK:STDOUT: %require_complete.loc13_35: = require_complete_type %Outer.loc13_34.1 [symbolic = %require_complete.loc13_35 (constants.%require_complete.dae)] @@ -707,7 +707,7 @@ fn G() -> i32 { // CHECK:STDOUT: %pattern_type.loc13_25: type = pattern_type %Inner.loc13_43.1 [symbolic = %pattern_type.loc13_25 (constants.%pattern_type.f00)] // CHECK:STDOUT: %p.param_patt.loc13_25.2: @F.%pattern_type.loc13_25 (%pattern_type.f00) = value_param_pattern [symbolic = %p.param_patt.loc13_25.2 (constants.%p.param_patt.785)] // CHECK:STDOUT: %p.patt.loc13_25.2: @F.%pattern_type.loc13_25 (%pattern_type.f00) = wrapper_binding_pattern p, %p.param_patt.loc13_25.2 [symbolic = %p.patt.loc13_25.2 (constants.%p.patt.a33)] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%T.loc13_7.1, %U.loc13_16.1) [symbolic = %tuple (constants.%tuple.4b9)] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%T.loc13_7.1, %U.loc13_16.1) [symbolic = %tuple (constants.%tuple.fa2)] // CHECK:STDOUT: %tuple.type: type = tuple_type (%T.loc13_7.1, %U.loc13_16.1) [symbolic = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %.loc13_54.2: Core.Form = init_form %tuple.type [symbolic = %.loc13_54.2 (constants.%.f18)] // CHECK:STDOUT: %pattern_type.loc13_54: type = pattern_type %tuple.type [symbolic = %pattern_type.loc13_54 (constants.%pattern_type.eee)] @@ -769,7 +769,7 @@ fn G() -> i32 { // CHECK:STDOUT: %pattern_type.loc13_25 => constants.%pattern_type.f00 // CHECK:STDOUT: %p.param_patt.loc13_25.2 => constants.%p.param_patt.785 // CHECK:STDOUT: %p.patt.loc13_25.2 => constants.%p.patt.a33 -// CHECK:STDOUT: %tuple => constants.%tuple.4b9 +// CHECK:STDOUT: %tuple => constants.%tuple.fa2 // CHECK:STDOUT: %tuple.type => constants.%tuple.type.a5e // CHECK:STDOUT: %.loc13_54.2 => constants.%.f18 // CHECK:STDOUT: %pattern_type.loc13_54 => constants.%pattern_type.eee @@ -811,7 +811,7 @@ fn G() -> i32 { // CHECK:STDOUT: %pattern_type.loc13_25 => constants.%pattern_type.0d8 // CHECK:STDOUT: %p.param_patt.loc13_25.2 => constants.%p.param_patt.f58 // CHECK:STDOUT: %p.patt.loc13_25.2 => constants.%p.patt.b2b -// CHECK:STDOUT: %tuple => constants.%tuple.b04 +// CHECK:STDOUT: %tuple => constants.%tuple.919 // CHECK:STDOUT: %tuple.type => constants.%tuple.type.af1 // CHECK:STDOUT: %.loc13_54.2 => constants.%.71f // CHECK:STDOUT: %pattern_type.loc13_54 => constants.%pattern_type.c66 @@ -827,8 +827,8 @@ fn G() -> i32 { // CHECK:STDOUT: --- nontype.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -930,7 +930,7 @@ fn G() -> i32 { // CHECK:STDOUT: %N.patt.loc4_20.1: %pattern_type.6b6 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc4_20.2 (constants.%N.patt.38a)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_20.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc4_20.1 (constants.%N.37f)] @@ -945,7 +945,7 @@ fn G() -> i32 { // CHECK:STDOUT: %i32.loc6_43: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_43: Core.Form = init_form %i32.loc6_43 [concrete = constants.%.795f] // CHECK:STDOUT: %.loc6_9: type = splice_block %i32.loc6_9 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32.loc6_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc6_7.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc6_7.1 (constants.%N.37f)] diff --git a/toolchain/check/testdata/deduce/int_float.carbon b/toolchain/check/testdata/deduce/int_float.carbon index 24a277697413..cbc1cc2eb539 100644 --- a/toolchain/check/testdata/deduce/int_float.carbon +++ b/toolchain/check/testdata/deduce/int_float.carbon @@ -39,8 +39,8 @@ fn G(a: f64) -> Core.IntLiteral { // CHECK:STDOUT: --- int.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = symbolic_binding_pattern N, 0 [symbolic] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -112,7 +112,7 @@ fn G(a: f64) -> Core.IntLiteral { // CHECK:STDOUT: %IntLiteral.ref.loc4_56: type = name_ref IntLiteral, imports.%Core.IntLiteral [concrete = Core.IntLiteral] // CHECK:STDOUT: %.loc4_56: Core.Form = init_form %IntLiteral.ref.loc4_56 [concrete = constants.%.f7d] // CHECK:STDOUT: %.loc4_13: type = splice_block %IntLiteral.ref.loc4_13 [concrete = Core.IntLiteral] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref.loc4_9: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %IntLiteral.ref.loc4_13: type = name_ref IntLiteral, imports.%Core.IntLiteral [concrete = Core.IntLiteral] // CHECK:STDOUT: } @@ -201,8 +201,8 @@ fn G(a: f64) -> Core.IntLiteral { // CHECK:STDOUT: --- float.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = symbolic_binding_pattern N, 0 [symbolic] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -274,7 +274,7 @@ fn G(a: f64) -> Core.IntLiteral { // CHECK:STDOUT: %IntLiteral.ref.loc4_58: type = name_ref IntLiteral, imports.%Core.IntLiteral [concrete = Core.IntLiteral] // CHECK:STDOUT: %.loc4_58: Core.Form = init_form %IntLiteral.ref.loc4_58 [concrete = constants.%.f7d] // CHECK:STDOUT: %.loc4_13: type = splice_block %IntLiteral.ref.loc4_13 [concrete = Core.IntLiteral] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref.loc4_9: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %IntLiteral.ref.loc4_13: type = name_ref IntLiteral, imports.%Core.IntLiteral [concrete = Core.IntLiteral] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/deduce/tuple.carbon b/toolchain/check/testdata/deduce/tuple.carbon index 71317c50fd77..88d7f54c4715 100644 --- a/toolchain/check/testdata/deduce/tuple.carbon +++ b/toolchain/check/testdata/deduce/tuple.carbon @@ -60,19 +60,19 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: --- tuple_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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: %D: type = class_type @D [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 1 [symbolic] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.4b9: %tuple.type.24b = tuple_value (%T, %U) [symbolic] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.fa2: %tuple.type.693 = tuple_value (%T, %U) [symbolic] // CHECK:STDOUT: %tuple.type.a5e: type = tuple_type (%T, %U) [symbolic] // CHECK:STDOUT: %pattern_type.eee: type = pattern_type %tuple.type.a5e [symbolic] // CHECK:STDOUT: %pair.param_patt.185: %pattern_type.eee = value_param_pattern [symbolic] @@ -85,7 +85,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %require_complete: = require_complete_type %tuple.type.a5e [symbolic] // CHECK:STDOUT: %F.specific_fn.19a: = specific_function %F, @F(%T, %U) [symbolic] -// CHECK:STDOUT: %tuple.b04: %tuple.type.24b = tuple_value (%C, %D) [concrete] +// CHECK:STDOUT: %tuple.919: %tuple.type.693 = tuple_value (%C, %D) [concrete] // CHECK:STDOUT: %tuple.type.af1: type = tuple_type (%C, %D) [concrete] // CHECK:STDOUT: %pattern_type.c66: type = pattern_type %tuple.type.af1 [concrete] // CHECK:STDOUT: %pair.param_patt.f67: %pattern_type.c66 = value_param_pattern [concrete] @@ -119,8 +119,8 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc7_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] -// CHECK:STDOUT: %U.patt.loc7_16.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc7_16.2 (constants.%U.patt)] +// CHECK:STDOUT: %T.patt.loc7_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %U.patt.loc7_16.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc7_16.2 (constants.%U.patt)] // CHECK:STDOUT: %pair.param_patt.loc7_28.1: @F.%pattern_type.loc7_28 (%pattern_type.eee) = value_param_pattern [symbolic = %pair.param_patt.loc7_28.2 (constants.%pair.param_patt.185)] // CHECK:STDOUT: %pair.patt.loc7_28.1: @F.%pattern_type.loc7_28 (%pattern_type.eee) = wrapper_binding_pattern pair, %pair.param_patt.loc7_28.1 [symbolic = %pair.patt.loc7_28.2 (constants.%pair.patt.c37)] // CHECK:STDOUT: %return.param_patt.loc7_41.1: @F.%pattern_type.loc7_41 (%pattern_type.946) = out_param_pattern [symbolic = %return.param_patt.loc7_41.2 (constants.%return.param_patt.6dd)] @@ -129,12 +129,12 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %U.ref.loc7_41: type = name_ref U, %U.loc7_16.2 [symbolic = %U.loc7_16.1 (constants.%U)] // CHECK:STDOUT: %.loc7_41.3: Core.Form = init_form %U.ref.loc7_41 [symbolic = %.loc7_41.2 (constants.%.822)] // CHECK:STDOUT: %.loc7_9.1: type = splice_block %.loc7_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc7_7: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc7_7: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc7_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_7.1 (constants.%T)] // CHECK:STDOUT: %.loc7_18.1: type = splice_block %.loc7_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc7_16: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc7_16: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc7_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc7_16.2: type = symbolic_binding U, 1 [symbolic = %U.loc7_16.1 (constants.%U)] @@ -142,7 +142,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %.loc7_35.1: type = splice_block %.loc7_35.3 [symbolic = %tuple.type (constants.%tuple.type.a5e)] { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc7_7.2 [symbolic = %T.loc7_7.1 (constants.%T)] // CHECK:STDOUT: %U.ref.loc7_34: type = name_ref U, %U.loc7_16.2 [symbolic = %U.loc7_16.1 (constants.%U)] -// CHECK:STDOUT: %.loc7_35.2: %tuple.type.24b = tuple_literal (%T.ref, %U.ref.loc7_34) [symbolic = %tuple (constants.%tuple.4b9)] +// CHECK:STDOUT: %.loc7_35.2: %tuple.type.693 = tuple_literal (%T.ref, %U.ref.loc7_34) [symbolic = %tuple (constants.%tuple.fa2)] // CHECK:STDOUT: %.loc7_35.3: type = converted %.loc7_35.2, constants.%tuple.type.a5e [symbolic = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: } // CHECK:STDOUT: %pair: @F.%tuple.type (%tuple.type.a5e) = wrapper_binding pair, %pair.param @@ -161,7 +161,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %.loc9_17.1: type = splice_block %.loc9_17.3 [concrete = constants.%tuple.type.af1] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %D.ref.loc9_16: type = name_ref D, file.%D.decl [concrete = constants.%D] -// CHECK:STDOUT: %.loc9_17.2: %tuple.type.24b = tuple_literal (%C.ref, %D.ref.loc9_16) [concrete = constants.%tuple.b04] +// CHECK:STDOUT: %.loc9_17.2: %tuple.type.693 = tuple_literal (%C.ref, %D.ref.loc9_16) [concrete = constants.%tuple.919] // CHECK:STDOUT: %.loc9_17.3: type = converted %.loc9_17.2, constants.%tuple.type.af1 [concrete = constants.%tuple.type.af1] // CHECK:STDOUT: } // CHECK:STDOUT: %pair: %tuple.type.af1 = wrapper_binding pair, %pair.param @@ -187,11 +187,11 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc7_7.2: type, %U.loc7_16.2: type) { -// CHECK:STDOUT: %T.patt.loc7_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc7_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc7_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_7.1 (constants.%T)] -// CHECK:STDOUT: %U.patt.loc7_16.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc7_16.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc7_16.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc7_16.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc7_16.1: type = symbolic_binding U, 1 [symbolic = %U.loc7_16.1 (constants.%U)] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%T.loc7_7.1, %U.loc7_16.1) [symbolic = %tuple (constants.%tuple.4b9)] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%T.loc7_7.1, %U.loc7_16.1) [symbolic = %tuple (constants.%tuple.fa2)] // CHECK:STDOUT: %tuple.type: type = tuple_type (%T.loc7_7.1, %U.loc7_16.1) [symbolic = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %pattern_type.loc7_28: type = pattern_type %tuple.type [symbolic = %pattern_type.loc7_28 (constants.%pattern_type.eee)] // CHECK:STDOUT: %pair.param_patt.loc7_28.2: @F.%pattern_type.loc7_28 (%pattern_type.eee) = value_param_pattern [symbolic = %pair.param_patt.loc7_28.2 (constants.%pair.param_patt.185)] @@ -231,7 +231,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %T.loc7_7.1 => constants.%T // CHECK:STDOUT: %U.patt.loc7_16.2 => constants.%U.patt // CHECK:STDOUT: %U.loc7_16.1 => constants.%U -// CHECK:STDOUT: %tuple => constants.%tuple.4b9 +// CHECK:STDOUT: %tuple => constants.%tuple.fa2 // CHECK:STDOUT: %tuple.type => constants.%tuple.type.a5e // CHECK:STDOUT: %pattern_type.loc7_28 => constants.%pattern_type.eee // CHECK:STDOUT: %pair.param_patt.loc7_28.2 => constants.%pair.param_patt.185 @@ -251,7 +251,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %T.loc7_7.1 => constants.%C // CHECK:STDOUT: %U.patt.loc7_16.2 => constants.%U.patt // CHECK:STDOUT: %U.loc7_16.1 => constants.%D -// CHECK:STDOUT: %tuple => constants.%tuple.b04 +// CHECK:STDOUT: %tuple => constants.%tuple.919 // CHECK:STDOUT: %tuple.type => constants.%tuple.type.af1 // CHECK:STDOUT: %pattern_type.loc7_28 => constants.%pattern_type.c66 // CHECK:STDOUT: %pair.param_patt.loc7_28.2 => constants.%pair.param_patt.f67 @@ -269,15 +269,15 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: --- tuple_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.b59: %tuple.type.24b = tuple_value (%i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.94e: %tuple.type.693 = tuple_value (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e55: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %pattern_type.394: type = pattern_type %tuple.type.e55 [concrete] // CHECK:STDOUT: %Pair.patt: %pattern_type.394 = symbolic_binding_pattern Pair, 0 [symbolic] @@ -380,10 +380,10 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %Pair.patt.loc4_19.1: %pattern_type.394 = symbolic_binding_pattern Pair, 0 [symbolic = %Pair.patt.loc4_19.2 (constants.%Pair.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_30.1: type = splice_block %.loc4_30.3 [concrete = constants.%tuple.type.e55] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32.loc4_22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc4_27: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc4_30.2: %tuple.type.24b = tuple_literal (%i32.loc4_22, %i32.loc4_27) [concrete = constants.%tuple.b59] +// CHECK:STDOUT: %.loc4_30.2: %tuple.type.693 = tuple_literal (%i32.loc4_22, %i32.loc4_27) [concrete = constants.%tuple.94e] // CHECK:STDOUT: %.loc4_30.3: type = converted %.loc4_30.2, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: } // CHECK:STDOUT: %Pair.loc4_19.2: %tuple.type.e55 = symbolic_binding Pair, 0 [symbolic = %Pair.loc4_19.1 (constants.%Pair)] @@ -399,12 +399,12 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %i32.loc6_52: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_52: Core.Form = init_form %i32.loc6_52 [concrete = constants.%.795f] // CHECK:STDOUT: %.loc6_9: type = splice_block %i32.loc6_9 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen.loc6_7: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6_7: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32.loc6_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %A.loc6_7.2: %i32 = symbolic_binding A, 0 [symbolic = %A.loc6_7.1 (constants.%A)] // CHECK:STDOUT: %.loc6_17: type = splice_block %i32.loc6_17 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen.loc6_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32.loc6_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %B.loc6_15.2: %i32 = symbolic_binding B, 1 [symbolic = %B.loc6_15.1 (constants.%B)] @@ -563,17 +563,17 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: --- fail_inconsistent.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.11e: %tuple.type.24b = tuple_value (%T, %T) [symbolic] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.3df: %tuple.type.693 = tuple_value (%T, %T) [symbolic] // CHECK:STDOUT: %tuple.type.07a: type = tuple_type (%T, %T) [symbolic] // CHECK:STDOUT: %pattern_type.c3f: type = pattern_type %tuple.type.07a [symbolic] // CHECK:STDOUT: %pair.param_patt.5a3: %pattern_type.c3f = value_param_pattern [symbolic] @@ -584,7 +584,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %return.patt.b39: %pattern_type.51d = return_slot_pattern %return.param_patt.41d, %T [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.b04: %tuple.type.24b = tuple_value (%C, %D) [concrete] +// CHECK:STDOUT: %tuple.919: %tuple.type.693 = tuple_value (%C, %D) [concrete] // CHECK:STDOUT: %tuple.type.af1: type = tuple_type (%C, %D) [concrete] // CHECK:STDOUT: %pattern_type.c66: type = pattern_type %tuple.type.af1 [concrete] // CHECK:STDOUT: %pair.param_patt.f67: %pattern_type.c66 = value_param_pattern [concrete] @@ -616,7 +616,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc7_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc7_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] // CHECK:STDOUT: %pair.param_patt.loc7_19.1: @F.%pattern_type.loc7_19 (%pattern_type.c3f) = value_param_pattern [symbolic = %pair.param_patt.loc7_19.2 (constants.%pair.param_patt.5a3)] // CHECK:STDOUT: %pair.patt.loc7_19.1: @F.%pattern_type.loc7_19 (%pattern_type.c3f) = wrapper_binding_pattern pair, %pair.param_patt.loc7_19.1 [symbolic = %pair.patt.loc7_19.2 (constants.%pair.patt.2b4)] // CHECK:STDOUT: %return.param_patt.loc7_32.1: @F.%pattern_type.loc7_32 (%pattern_type.51d) = out_param_pattern [symbolic = %return.param_patt.loc7_32.2 (constants.%return.param_patt.41d)] @@ -625,7 +625,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %T.ref.loc7_32: type = name_ref T, %T.loc7_7.2 [symbolic = %T.loc7_7.1 (constants.%T)] // CHECK:STDOUT: %.loc7_32.2: Core.Form = init_form %T.ref.loc7_32 [symbolic = %.loc7_32.1 (constants.%.184)] // CHECK:STDOUT: %.loc7_9.1: type = splice_block %.loc7_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc7_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_7.1 (constants.%T)] @@ -633,7 +633,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %.loc7_26.1: type = splice_block %.loc7_26.3 [symbolic = %tuple.type (constants.%tuple.type.07a)] { // CHECK:STDOUT: %T.ref.loc7_22: type = name_ref T, %T.loc7_7.2 [symbolic = %T.loc7_7.1 (constants.%T)] // CHECK:STDOUT: %T.ref.loc7_25: type = name_ref T, %T.loc7_7.2 [symbolic = %T.loc7_7.1 (constants.%T)] -// CHECK:STDOUT: %.loc7_26.2: %tuple.type.24b = tuple_literal (%T.ref.loc7_22, %T.ref.loc7_25) [symbolic = %tuple (constants.%tuple.11e)] +// CHECK:STDOUT: %.loc7_26.2: %tuple.type.693 = tuple_literal (%T.ref.loc7_22, %T.ref.loc7_25) [symbolic = %tuple (constants.%tuple.3df)] // CHECK:STDOUT: %.loc7_26.3: type = converted %.loc7_26.2, constants.%tuple.type.07a [symbolic = %tuple.type (constants.%tuple.type.07a)] // CHECK:STDOUT: } // CHECK:STDOUT: %pair: @F.%tuple.type (%tuple.type.07a) = wrapper_binding pair, %pair.param @@ -652,7 +652,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %.loc9_17.1: type = splice_block %.loc9_17.3 [concrete = constants.%tuple.type.af1] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %D.ref.loc9_16: type = name_ref D, file.%D.decl [concrete = constants.%D] -// CHECK:STDOUT: %.loc9_17.2: %tuple.type.24b = tuple_literal (%C.ref, %D.ref.loc9_16) [concrete = constants.%tuple.b04] +// CHECK:STDOUT: %.loc9_17.2: %tuple.type.693 = tuple_literal (%C.ref, %D.ref.loc9_16) [concrete = constants.%tuple.919] // CHECK:STDOUT: %.loc9_17.3: type = converted %.loc9_17.2, constants.%tuple.type.af1 [concrete = constants.%tuple.type.af1] // CHECK:STDOUT: } // CHECK:STDOUT: %pair: %tuple.type.af1 = wrapper_binding pair, %pair.param @@ -678,9 +678,9 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc7_7.2: type) { -// CHECK:STDOUT: %T.patt.loc7_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc7_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc7_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_7.1 (constants.%T)] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%T.loc7_7.1, %T.loc7_7.1) [symbolic = %tuple (constants.%tuple.11e)] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%T.loc7_7.1, %T.loc7_7.1) [symbolic = %tuple (constants.%tuple.3df)] // CHECK:STDOUT: %tuple.type: type = tuple_type (%T.loc7_7.1, %T.loc7_7.1) [symbolic = %tuple.type (constants.%tuple.type.07a)] // CHECK:STDOUT: %pattern_type.loc7_19: type = pattern_type %tuple.type [symbolic = %pattern_type.loc7_19 (constants.%pattern_type.c3f)] // CHECK:STDOUT: %pair.param_patt.loc7_19.2: @F.%pattern_type.loc7_19 (%pattern_type.c3f) = value_param_pattern [symbolic = %pair.param_patt.loc7_19.2 (constants.%pair.param_patt.5a3)] @@ -703,7 +703,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: specific @F(constants.%T) { // CHECK:STDOUT: %T.patt.loc7_7.2 => constants.%T.patt // CHECK:STDOUT: %T.loc7_7.1 => constants.%T -// CHECK:STDOUT: %tuple => constants.%tuple.11e +// CHECK:STDOUT: %tuple => constants.%tuple.3df // CHECK:STDOUT: %tuple.type => constants.%tuple.type.07a // CHECK:STDOUT: %pattern_type.loc7_19 => constants.%pattern_type.c3f // CHECK:STDOUT: %pair.param_patt.loc7_19.2 => constants.%pair.param_patt.5a3 diff --git a/toolchain/check/testdata/deduce/type_operator.carbon b/toolchain/check/testdata/deduce/type_operator.carbon index 8a0e3c5f90a6..00a449ff0431 100644 --- a/toolchain/check/testdata/deduce/type_operator.carbon +++ b/toolchain/check/testdata/deduce/type_operator.carbon @@ -70,13 +70,13 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: --- pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T [symbolic] // CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr.e8f [symbolic] @@ -122,7 +122,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc6_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] // CHECK:STDOUT: %p.param_patt.loc6_16.1: @F.%pattern_type.loc6_16 (%pattern_type.4f4) = value_param_pattern [symbolic = %p.param_patt.loc6_16.2 (constants.%p.param_patt.a12)] // CHECK:STDOUT: %p.patt.loc6_16.1: @F.%pattern_type.loc6_16 (%pattern_type.4f4) = wrapper_binding_pattern p, %p.param_patt.loc6_16.1 [symbolic = %p.patt.loc6_16.2 (constants.%p.patt.b16)] // CHECK:STDOUT: %return.param_patt.loc6_25.1: @F.%pattern_type.loc6_25 (%pattern_type.51d) = out_param_pattern [symbolic = %return.param_patt.loc6_25.2 (constants.%return.param_patt.41d)] @@ -131,7 +131,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %T.ref.loc6_25: type = name_ref T, %T.loc6_7.2 [symbolic = %T.loc6_7.1 (constants.%T)] // CHECK:STDOUT: %.loc6_25.3: Core.Form = init_form %T.ref.loc6_25 [symbolic = %.loc6_25.2 (constants.%.184)] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_7.1 (constants.%T)] @@ -172,7 +172,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc6_7.2: type) { -// CHECK:STDOUT: %T.patt.loc6_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_7.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc6_19.1: type = ptr_type %T.loc6_7.1 [symbolic = %ptr.loc6_19.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %pattern_type.loc6_16: type = pattern_type %ptr.loc6_19.1 [symbolic = %pattern_type.loc6_16 (constants.%pattern_type.4f4)] @@ -248,13 +248,13 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: --- const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %const.4ff: type = const_type %T [symbolic] // CHECK:STDOUT: %ptr.a15: type = ptr_type %const.4ff [symbolic] @@ -302,7 +302,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc6_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] // CHECK:STDOUT: %p.param_patt.loc6_16.1: @F.%pattern_type.loc6_16 (%pattern_type.26f) = value_param_pattern [symbolic = %p.param_patt.loc6_16.2 (constants.%p.param_patt.b08)] // CHECK:STDOUT: %p.patt.loc6_16.1: @F.%pattern_type.loc6_16 (%pattern_type.26f) = wrapper_binding_pattern p, %p.param_patt.loc6_16.1 [symbolic = %p.patt.loc6_16.2 (constants.%p.patt.0f3)] // CHECK:STDOUT: %return.param_patt.loc6_31.1: @F.%pattern_type.loc6_31 (%pattern_type.51d) = out_param_pattern [symbolic = %return.param_patt.loc6_31.2 (constants.%return.param_patt.41d)] @@ -311,7 +311,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %T.ref.loc6_31: type = name_ref T, %T.loc6_7.2 [symbolic = %T.loc6_7.1 (constants.%T)] // CHECK:STDOUT: %.loc6_31.3: Core.Form = init_form %T.ref.loc6_31 [symbolic = %.loc6_31.2 (constants.%.184)] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_7.1 (constants.%T)] @@ -354,7 +354,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc6_7.2: type) { -// CHECK:STDOUT: %T.patt.loc6_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_7.1 (constants.%T)] // CHECK:STDOUT: %const.loc6_18.1: type = const_type %T.loc6_7.1 [symbolic = %const.loc6_18.1 (constants.%const.4ff)] // CHECK:STDOUT: %ptr.loc6_25.1: type = ptr_type %const.loc6_18.1 [symbolic = %ptr.loc6_25.1 (constants.%ptr.a15)] @@ -433,13 +433,13 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: --- nonconst_from_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T [symbolic] // CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr.e8f [symbolic] @@ -486,7 +486,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc6_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] // CHECK:STDOUT: %p.param_patt.loc6_16.1: @F.%pattern_type.loc6_16 (%pattern_type.4f4) = value_param_pattern [symbolic = %p.param_patt.loc6_16.2 (constants.%p.param_patt.a12)] // CHECK:STDOUT: %p.patt.loc6_16.1: @F.%pattern_type.loc6_16 (%pattern_type.4f4) = wrapper_binding_pattern p, %p.param_patt.loc6_16.1 [symbolic = %p.patt.loc6_16.2 (constants.%p.patt.b16)] // CHECK:STDOUT: %return.param_patt.loc6_25.1: @F.%pattern_type.loc6_25 (%pattern_type.51d) = out_param_pattern [symbolic = %return.param_patt.loc6_25.2 (constants.%return.param_patt.41d)] @@ -495,7 +495,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %T.ref.loc6_25: type = name_ref T, %T.loc6_7.2 [symbolic = %T.loc6_7.1 (constants.%T)] // CHECK:STDOUT: %.loc6_25.3: Core.Form = init_form %T.ref.loc6_25 [symbolic = %.loc6_25.2 (constants.%.184)] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_7.1 (constants.%T)] @@ -538,7 +538,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc6_7.2: type) { -// CHECK:STDOUT: %T.patt.loc6_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_7.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc6_19.1: type = ptr_type %T.loc6_7.1 [symbolic = %ptr.loc6_19.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %pattern_type.loc6_16: type = pattern_type %ptr.loc6_19.1 [symbolic = %pattern_type.loc6_16 (constants.%pattern_type.4f4)] @@ -614,13 +614,13 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: --- fail_const_from_nonconst.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %const.4ff: type = const_type %T [symbolic] // CHECK:STDOUT: %ptr.a15: type = ptr_type %const.4ff [symbolic] @@ -666,7 +666,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc6_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] // CHECK:STDOUT: %p.param_patt.loc6_16.1: @F.%pattern_type.loc6_16 (%pattern_type.26f) = value_param_pattern [symbolic = %p.param_patt.loc6_16.2 (constants.%p.param_patt.b08)] // CHECK:STDOUT: %p.patt.loc6_16.1: @F.%pattern_type.loc6_16 (%pattern_type.26f) = wrapper_binding_pattern p, %p.param_patt.loc6_16.1 [symbolic = %p.patt.loc6_16.2 (constants.%p.patt.0f3)] // CHECK:STDOUT: %return.param_patt.loc6_31.1: @F.%pattern_type.loc6_31 (%pattern_type.51d) = out_param_pattern [symbolic = %return.param_patt.loc6_31.2 (constants.%return.param_patt.41d)] @@ -675,7 +675,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %T.ref.loc6_31: type = name_ref T, %T.loc6_7.2 [symbolic = %T.loc6_7.1 (constants.%T)] // CHECK:STDOUT: %.loc6_31.3: Core.Form = init_form %T.ref.loc6_31 [symbolic = %.loc6_31.2 (constants.%.184)] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_7.1 (constants.%T)] @@ -718,7 +718,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc6_7.2: type) { -// CHECK:STDOUT: %T.patt.loc6_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_7.1 (constants.%T)] // CHECK:STDOUT: %const.loc6_18.1: type = const_type %T.loc6_7.1 [symbolic = %const.loc6_18.1 (constants.%const.4ff)] // CHECK:STDOUT: %ptr.loc6_25.1: type = ptr_type %const.loc6_18.1 [symbolic = %ptr.loc6_25.1 (constants.%ptr.a15)] 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 64a645c6a634..981ef9abd29e 100644 --- a/toolchain/check/testdata/deduce/value_with_type_through_access.carbon +++ b/toolchain/check/testdata/deduce/value_with_type_through_access.carbon @@ -102,46 +102,46 @@ fn G() { // CHECK:STDOUT: --- tuple_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %tuple.type: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple.0d2: %tuple.type = tuple_value (type) [concrete] -// CHECK:STDOUT: %pattern_type.f1e: type = pattern_type %tuple.type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.f1e = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %tuple.ad8: %tuple.type = tuple_value (type) [concrete] +// CHECK:STDOUT: %pattern_type.ddf: type = pattern_type %tuple.type [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.ddf = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %tuple.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %HoldsType.type: type = generic_class_type @HoldsType [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %HoldsType.generic: %HoldsType.type = struct_value () [concrete] -// CHECK:STDOUT: %HoldsType.a83: type = class_type @HoldsType, @HoldsType(%T) [symbolic] +// CHECK:STDOUT: %HoldsType.4fb: type = class_type @HoldsType, @HoldsType(%T) [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %pattern_type.b2f: type = pattern_type %HoldsType.a83 [symbolic] -// CHECK:STDOUT: %x.param_patt.321: %pattern_type.b2f = value_param_pattern [symbolic] -// CHECK:STDOUT: %x.patt.a1d: %pattern_type.b2f = wrapper_binding_pattern x, %x.param_patt.321 [symbolic] +// CHECK:STDOUT: %pattern_type.ec9: type = pattern_type %HoldsType.4fb [symbolic] +// CHECK:STDOUT: %x.param_patt.741: %pattern_type.ec9 = value_param_pattern [symbolic] +// CHECK:STDOUT: %x.patt.991: %pattern_type.ec9 = wrapper_binding_pattern x, %x.param_patt.741 [symbolic] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %tuple.elem0: type = tuple_access %T, element0 [symbolic] -// CHECK:STDOUT: %pattern_type.e66: type = pattern_type %tuple.elem0 [symbolic] -// CHECK:STDOUT: %a.param_patt.d7c: %pattern_type.e66 = value_param_pattern [symbolic] -// CHECK:STDOUT: %a.patt.dea: %pattern_type.e66 = wrapper_binding_pattern a, %a.param_patt.d7c [symbolic] +// CHECK:STDOUT: %pattern_type.251: type = pattern_type %tuple.elem0 [symbolic] +// CHECK:STDOUT: %a.param_patt.46f: %pattern_type.251 = value_param_pattern [symbolic] +// CHECK:STDOUT: %a.patt.634: %pattern_type.251 = wrapper_binding_pattern a, %a.param_patt.46f [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %require_complete.9de: = require_complete_type %HoldsType.a83 [symbolic] -// CHECK:STDOUT: %require_complete.e7a: = require_complete_type %tuple.elem0 [symbolic] +// CHECK:STDOUT: %require_complete.4d4: = require_complete_type %HoldsType.4fb [symbolic] +// CHECK:STDOUT: %require_complete.3a8: = require_complete_type %tuple.elem0 [symbolic] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.e45: %tuple.type = tuple_value (%C) [concrete] -// CHECK:STDOUT: %HoldsType.30f: type = class_type @HoldsType, @HoldsType(%tuple.e45) [concrete] -// CHECK:STDOUT: %HoldsType.val: %HoldsType.30f = struct_value () [concrete] -// CHECK:STDOUT: %pattern_type.ff4: type = pattern_type %HoldsType.30f [concrete] -// CHECK:STDOUT: %x.param_patt.995: %pattern_type.ff4 = value_param_pattern [concrete] -// CHECK:STDOUT: %x.patt.242: %pattern_type.ff4 = wrapper_binding_pattern x, %x.param_patt.995 [concrete] +// CHECK:STDOUT: %tuple.9e1: %tuple.type = tuple_value (%C) [concrete] +// CHECK:STDOUT: %HoldsType.210: type = class_type @HoldsType, @HoldsType(%tuple.9e1) [concrete] +// CHECK:STDOUT: %HoldsType.val: %HoldsType.210 = struct_value () [concrete] +// CHECK:STDOUT: %pattern_type.2e7: type = pattern_type %HoldsType.210 [concrete] +// CHECK:STDOUT: %x.param_patt.261: %pattern_type.2e7 = value_param_pattern [concrete] +// CHECK:STDOUT: %x.patt.c43: %pattern_type.2e7 = wrapper_binding_pattern x, %x.param_patt.261 [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.param_patt.c88: %pattern_type.98b = value_param_pattern [concrete] // CHECK:STDOUT: %a.patt.4cc: %pattern_type.98b = wrapper_binding_pattern a, %a.param_patt.c88 [concrete] -// CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%tuple.e45) [concrete] -// CHECK:STDOUT: %.eb0: ref %HoldsType.30f = temporary invalid, %HoldsType.val [concrete] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%tuple.9e1) [concrete] +// CHECK:STDOUT: %.533: ref %HoldsType.210 = temporary invalid, %HoldsType.val [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %.115: ref %C = temporary invalid, %C.val [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -150,7 +150,7 @@ fn G() { // CHECK:STDOUT: %Destroy.WithSelf.Op.bound.1a9: = bound_method %.115, %Destroy.WithSelf.Op.403171.2 [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.ef016f.3: type = fn_type @Destroy.WithSelf.Op.loc13_8 [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.403171.3: %Destroy.WithSelf.Op.type.ef016f.3 = struct_value () [concrete] -// CHECK:STDOUT: %Destroy.WithSelf.Op.bound.630: = bound_method %.eb0, %Destroy.WithSelf.Op.403171.3 [concrete] +// CHECK:STDOUT: %Destroy.WithSelf.Op.bound.eeb: = bound_method %.533, %Destroy.WithSelf.Op.403171.3 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -172,37 +172,37 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HoldsType.decl: %HoldsType.type = class_decl @HoldsType [concrete = constants.%HoldsType.generic] { -// CHECK:STDOUT: %T.patt.loc4_18.1: %pattern_type.f1e = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_18.1: %pattern_type.ddf = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_27.1: type = splice_block %.loc4_27.3 [concrete = constants.%tuple.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_21: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.loc4_27.2: %tuple.type = tuple_literal (%.loc4_21) [concrete = constants.%tuple.0d2] +// CHECK:STDOUT: %.loc4_27.2: %tuple.type = tuple_literal (%.loc4_21) [concrete = constants.%tuple.ad8] // CHECK:STDOUT: %.loc4_27.3: type = converted %.loc4_27.2, constants.%tuple.type [concrete = constants.%tuple.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_18.2: %tuple.type = symbolic_binding T, 0 [symbolic = %T.loc4_18.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc8_7.1: %pattern_type.f1e = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_7.2 (constants.%T.patt)] -// CHECK:STDOUT: %x.param_patt.loc8_27.1: @F.%pattern_type.loc8_27 (%pattern_type.b2f) = value_param_pattern [symbolic = %x.param_patt.loc8_27.2 (constants.%x.param_patt.321)] -// CHECK:STDOUT: %x.patt.loc8_27.1: @F.%pattern_type.loc8_27 (%pattern_type.b2f) = wrapper_binding_pattern x, %x.param_patt.loc8_27.1 [symbolic = %x.patt.loc8_27.2 (constants.%x.patt.a1d)] -// CHECK:STDOUT: %a.param_patt.loc8_51.1: @F.%pattern_type.loc8_51 (%pattern_type.e66) = value_param_pattern [symbolic = %a.param_patt.loc8_51.2 (constants.%a.param_patt.d7c)] -// CHECK:STDOUT: %a.patt.loc8_51.1: @F.%pattern_type.loc8_51 (%pattern_type.e66) = wrapper_binding_pattern a, %a.param_patt.loc8_51.1 [symbolic = %a.patt.loc8_51.2 (constants.%a.patt.dea)] +// CHECK:STDOUT: %T.patt.loc8_7.1: %pattern_type.ddf = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %x.param_patt.loc8_27.1: @F.%pattern_type.loc8_27 (%pattern_type.ec9) = value_param_pattern [symbolic = %x.param_patt.loc8_27.2 (constants.%x.param_patt.741)] +// CHECK:STDOUT: %x.patt.loc8_27.1: @F.%pattern_type.loc8_27 (%pattern_type.ec9) = wrapper_binding_pattern x, %x.param_patt.loc8_27.1 [symbolic = %x.patt.loc8_27.2 (constants.%x.patt.991)] +// CHECK:STDOUT: %a.param_patt.loc8_51.1: @F.%pattern_type.loc8_51 (%pattern_type.251) = value_param_pattern [symbolic = %a.param_patt.loc8_51.2 (constants.%a.param_patt.46f)] +// CHECK:STDOUT: %a.patt.loc8_51.1: @F.%pattern_type.loc8_51 (%pattern_type.251) = wrapper_binding_pattern a, %a.param_patt.loc8_51.1 [symbolic = %a.patt.loc8_51.2 (constants.%a.patt.634)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_16.1: type = splice_block %.loc8_16.3 [concrete = constants.%tuple.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_10: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.loc8_16.2: %tuple.type = tuple_literal (%.loc8_10) [concrete = constants.%tuple.0d2] +// CHECK:STDOUT: %.loc8_16.2: %tuple.type = tuple_literal (%.loc8_10) [concrete = constants.%tuple.ad8] // CHECK:STDOUT: %.loc8_16.3: type = converted %.loc8_16.2, constants.%tuple.type [concrete = constants.%tuple.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_7.2: %tuple.type = symbolic_binding T, 0 [symbolic = %T.loc8_7.1 (constants.%T)] -// CHECK:STDOUT: %x.param: @F.%HoldsType.loc8_40.1 (%HoldsType.a83) = value_param call_param0 -// CHECK:STDOUT: %.loc8_40: type = splice_block %HoldsType.loc8_40.2 [symbolic = %HoldsType.loc8_40.1 (constants.%HoldsType.a83)] { +// CHECK:STDOUT: %x.param: @F.%HoldsType.loc8_40.1 (%HoldsType.4fb) = value_param call_param0 +// CHECK:STDOUT: %.loc8_40: type = splice_block %HoldsType.loc8_40.2 [symbolic = %HoldsType.loc8_40.1 (constants.%HoldsType.4fb)] { // CHECK:STDOUT: %HoldsType.ref: %HoldsType.type = name_ref HoldsType, file.%HoldsType.decl [concrete = constants.%HoldsType.generic] // CHECK:STDOUT: %T.ref.loc8_39: %tuple.type = name_ref T, %T.loc8_7.2 [symbolic = %T.loc8_7.1 (constants.%T)] -// CHECK:STDOUT: %HoldsType.loc8_40.2: type = class_type @HoldsType, @HoldsType(constants.%T) [symbolic = %HoldsType.loc8_40.1 (constants.%HoldsType.a83)] +// CHECK:STDOUT: %HoldsType.loc8_40.2: type = class_type @HoldsType, @HoldsType(constants.%T) [symbolic = %HoldsType.loc8_40.1 (constants.%HoldsType.4fb)] // CHECK:STDOUT: } -// CHECK:STDOUT: %x: @F.%HoldsType.loc8_40.1 (%HoldsType.a83) = wrapper_binding x, %x.param +// CHECK:STDOUT: %x: @F.%HoldsType.loc8_40.1 (%HoldsType.4fb) = wrapper_binding x, %x.param // CHECK:STDOUT: %a.param: @F.%tuple.elem0.loc8_54.1 (%tuple.elem0) = value_param call_param1 // CHECK:STDOUT: %.loc8_54: type = splice_block %tuple.elem0.loc8_54.2 [symbolic = %tuple.elem0.loc8_54.1 (constants.%tuple.elem0)] { // CHECK:STDOUT: %T.ref.loc8_53: %tuple.type = name_ref T, %T.loc8_7.2 [symbolic = %T.loc8_7.1 (constants.%T)] @@ -216,7 +216,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @HoldsType(%T.loc4_18.2: %tuple.type) { -// CHECK:STDOUT: %T.patt.loc4_18.2: %pattern_type.f1e = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_18.2: %pattern_type.ddf = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_18.1: %tuple.type = symbolic_binding T, 0 [symbolic = %T.loc4_18.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -226,7 +226,7 @@ fn G() { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = constants.%HoldsType.a83 +// CHECK:STDOUT: .Self = constants.%HoldsType.4fb // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -239,22 +239,22 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc8_7.2: %tuple.type) { -// CHECK:STDOUT: %T.patt.loc8_7.2: %pattern_type.f1e = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_7.2: %pattern_type.ddf = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc8_7.1: %tuple.type = symbolic_binding T, 0 [symbolic = %T.loc8_7.1 (constants.%T)] -// CHECK:STDOUT: %HoldsType.loc8_40.1: type = class_type @HoldsType, @HoldsType(%T.loc8_7.1) [symbolic = %HoldsType.loc8_40.1 (constants.%HoldsType.a83)] -// CHECK:STDOUT: %pattern_type.loc8_27: type = pattern_type %HoldsType.loc8_40.1 [symbolic = %pattern_type.loc8_27 (constants.%pattern_type.b2f)] -// CHECK:STDOUT: %x.param_patt.loc8_27.2: @F.%pattern_type.loc8_27 (%pattern_type.b2f) = value_param_pattern [symbolic = %x.param_patt.loc8_27.2 (constants.%x.param_patt.321)] -// CHECK:STDOUT: %x.patt.loc8_27.2: @F.%pattern_type.loc8_27 (%pattern_type.b2f) = wrapper_binding_pattern x, %x.param_patt.loc8_27.2 [symbolic = %x.patt.loc8_27.2 (constants.%x.patt.a1d)] +// CHECK:STDOUT: %HoldsType.loc8_40.1: type = class_type @HoldsType, @HoldsType(%T.loc8_7.1) [symbolic = %HoldsType.loc8_40.1 (constants.%HoldsType.4fb)] +// CHECK:STDOUT: %pattern_type.loc8_27: type = pattern_type %HoldsType.loc8_40.1 [symbolic = %pattern_type.loc8_27 (constants.%pattern_type.ec9)] +// CHECK:STDOUT: %x.param_patt.loc8_27.2: @F.%pattern_type.loc8_27 (%pattern_type.ec9) = value_param_pattern [symbolic = %x.param_patt.loc8_27.2 (constants.%x.param_patt.741)] +// CHECK:STDOUT: %x.patt.loc8_27.2: @F.%pattern_type.loc8_27 (%pattern_type.ec9) = wrapper_binding_pattern x, %x.param_patt.loc8_27.2 [symbolic = %x.patt.loc8_27.2 (constants.%x.patt.991)] // CHECK:STDOUT: %tuple.elem0.loc8_54.1: type = tuple_access %T.loc8_7.1, element0 [symbolic = %tuple.elem0.loc8_54.1 (constants.%tuple.elem0)] -// CHECK:STDOUT: %pattern_type.loc8_51: type = pattern_type %tuple.elem0.loc8_54.1 [symbolic = %pattern_type.loc8_51 (constants.%pattern_type.e66)] -// CHECK:STDOUT: %a.param_patt.loc8_51.2: @F.%pattern_type.loc8_51 (%pattern_type.e66) = value_param_pattern [symbolic = %a.param_patt.loc8_51.2 (constants.%a.param_patt.d7c)] -// CHECK:STDOUT: %a.patt.loc8_51.2: @F.%pattern_type.loc8_51 (%pattern_type.e66) = wrapper_binding_pattern a, %a.param_patt.loc8_51.2 [symbolic = %a.patt.loc8_51.2 (constants.%a.patt.dea)] +// CHECK:STDOUT: %pattern_type.loc8_51: type = pattern_type %tuple.elem0.loc8_54.1 [symbolic = %pattern_type.loc8_51 (constants.%pattern_type.251)] +// CHECK:STDOUT: %a.param_patt.loc8_51.2: @F.%pattern_type.loc8_51 (%pattern_type.251) = value_param_pattern [symbolic = %a.param_patt.loc8_51.2 (constants.%a.param_patt.46f)] +// CHECK:STDOUT: %a.patt.loc8_51.2: @F.%pattern_type.loc8_51 (%pattern_type.251) = wrapper_binding_pattern a, %a.param_patt.loc8_51.2 [symbolic = %a.patt.loc8_51.2 (constants.%a.patt.634)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete.loc8_27: = require_complete_type %HoldsType.loc8_40.1 [symbolic = %require_complete.loc8_27 (constants.%require_complete.9de)] -// CHECK:STDOUT: %require_complete.loc8_51: = require_complete_type %tuple.elem0.loc8_54.1 [symbolic = %require_complete.loc8_51 (constants.%require_complete.e7a)] +// CHECK:STDOUT: %require_complete.loc8_27: = require_complete_type %HoldsType.loc8_40.1 [symbolic = %require_complete.loc8_27 (constants.%require_complete.4d4)] +// CHECK:STDOUT: %require_complete.loc8_51: = require_complete_type %tuple.elem0.loc8_54.1 [symbolic = %require_complete.loc8_51 (constants.%require_complete.3a8)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @F.%HoldsType.loc8_40.1 (%HoldsType.a83), %a.param: @F.%tuple.elem0.loc8_54.1 (%tuple.elem0)) { +// CHECK:STDOUT: fn(%x.param: @F.%HoldsType.loc8_40.1 (%HoldsType.4fb), %a.param: @F.%tuple.elem0.loc8_54.1 (%tuple.elem0)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -266,17 +266,17 @@ fn G() { // CHECK:STDOUT: %.loc13_6.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %HoldsType.ref: %HoldsType.type = name_ref HoldsType, file.%HoldsType.decl [concrete = constants.%HoldsType.generic] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %.loc13_25: %tuple.type = tuple_literal (%C.ref) [concrete = constants.%tuple.e45] -// CHECK:STDOUT: %tuple: %tuple.type = tuple_value (%C.ref) [concrete = constants.%tuple.e45] -// CHECK:STDOUT: %.loc13_26: %tuple.type = converted %.loc13_25, %tuple [concrete = constants.%tuple.e45] -// CHECK:STDOUT: %HoldsType: type = class_type @HoldsType, @HoldsType(constants.%tuple.e45) [concrete = constants.%HoldsType.30f] -// CHECK:STDOUT: %.loc13_6.2: ref %HoldsType.30f = temporary_storage -// CHECK:STDOUT: %.loc13_6.3: init %HoldsType.30f to %.loc13_6.2 = class_init () [concrete = constants.%HoldsType.val] -// CHECK:STDOUT: %.loc13_8.1: init %HoldsType.30f = converted %.loc13_6.1, %.loc13_6.3 [concrete = constants.%HoldsType.val] +// CHECK:STDOUT: %.loc13_25: %tuple.type = tuple_literal (%C.ref) [concrete = constants.%tuple.9e1] +// CHECK:STDOUT: %tuple: %tuple.type = tuple_value (%C.ref) [concrete = constants.%tuple.9e1] +// CHECK:STDOUT: %.loc13_26: %tuple.type = converted %.loc13_25, %tuple [concrete = constants.%tuple.9e1] +// CHECK:STDOUT: %HoldsType: type = class_type @HoldsType, @HoldsType(constants.%tuple.9e1) [concrete = constants.%HoldsType.210] +// CHECK:STDOUT: %.loc13_6.2: ref %HoldsType.210 = temporary_storage +// CHECK:STDOUT: %.loc13_6.3: init %HoldsType.210 to %.loc13_6.2 = class_init () [concrete = constants.%HoldsType.val] +// CHECK:STDOUT: %.loc13_8.1: init %HoldsType.210 = converted %.loc13_6.1, %.loc13_6.3 [concrete = constants.%HoldsType.val] // CHECK:STDOUT: %.loc13_30.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] -// CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%tuple.e45) [concrete = constants.%F.specific_fn] -// CHECK:STDOUT: %.loc13_8.2: ref %HoldsType.30f = temporary %.loc13_6.2, %.loc13_8.1 [concrete = constants.%.eb0] -// CHECK:STDOUT: %.loc13_8.3: %HoldsType.30f = acquire_value %.loc13_8.2 [concrete = constants.%HoldsType.val] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%tuple.9e1) [concrete = constants.%F.specific_fn] +// CHECK:STDOUT: %.loc13_8.2: ref %HoldsType.210 = temporary %.loc13_6.2, %.loc13_8.1 [concrete = constants.%.533] +// CHECK:STDOUT: %.loc13_8.3: %HoldsType.210 = acquire_value %.loc13_8.2 [concrete = constants.%HoldsType.val] // CHECK:STDOUT: %.loc13_30.2: ref %C = temporary_storage // CHECK:STDOUT: %.loc13_30.3: init %C to %.loc13_30.2 = class_init () [concrete = constants.%C.val] // CHECK:STDOUT: %.loc13_30.4: init %C = converted %.loc13_30.1, %.loc13_30.3 [concrete = constants.%C.val] @@ -284,7 +284,7 @@ fn G() { // CHECK:STDOUT: %.loc13_30.6: %C = acquire_value %.loc13_30.5 [concrete = constants.%C.val] // CHECK:STDOUT: %F.call: init %empty_tuple.type = call %F.specific_fn(%.loc13_8.3, %.loc13_30.6) // CHECK:STDOUT: %Destroy.WithSelf.Op.call.loc13_30: init %empty_tuple.type = call constants.%Destroy.WithSelf.Op.bound.1a9(constants.%.115) -// CHECK:STDOUT: %Destroy.WithSelf.Op.call.loc13_8: init %empty_tuple.type = call constants.%Destroy.WithSelf.Op.bound.630(constants.%.eb0) +// CHECK:STDOUT: %Destroy.WithSelf.Op.call.loc13_8: init %empty_tuple.type = call constants.%Destroy.WithSelf.Op.bound.eeb(constants.%.533) // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -295,7 +295,7 @@ fn G() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.WithSelf.Op.loc13_8(%self.param: ref %HoldsType.30f) { +// CHECK:STDOUT: fn @Destroy.WithSelf.Op.loc13_8(%self.param: ref %HoldsType.210) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -310,30 +310,30 @@ fn G() { // CHECK:STDOUT: specific @F(constants.%T) { // CHECK:STDOUT: %T.patt.loc8_7.2 => constants.%T.patt // CHECK:STDOUT: %T.loc8_7.1 => constants.%T -// CHECK:STDOUT: %HoldsType.loc8_40.1 => constants.%HoldsType.a83 -// CHECK:STDOUT: %pattern_type.loc8_27 => constants.%pattern_type.b2f -// CHECK:STDOUT: %x.param_patt.loc8_27.2 => constants.%x.param_patt.321 -// CHECK:STDOUT: %x.patt.loc8_27.2 => constants.%x.patt.a1d +// CHECK:STDOUT: %HoldsType.loc8_40.1 => constants.%HoldsType.4fb +// CHECK:STDOUT: %pattern_type.loc8_27 => constants.%pattern_type.ec9 +// CHECK:STDOUT: %x.param_patt.loc8_27.2 => constants.%x.param_patt.741 +// CHECK:STDOUT: %x.patt.loc8_27.2 => constants.%x.patt.991 // CHECK:STDOUT: %tuple.elem0.loc8_54.1 => constants.%tuple.elem0 -// CHECK:STDOUT: %pattern_type.loc8_51 => constants.%pattern_type.e66 -// CHECK:STDOUT: %a.param_patt.loc8_51.2 => constants.%a.param_patt.d7c -// CHECK:STDOUT: %a.patt.loc8_51.2 => constants.%a.patt.dea +// CHECK:STDOUT: %pattern_type.loc8_51 => constants.%pattern_type.251 +// CHECK:STDOUT: %a.param_patt.loc8_51.2 => constants.%a.param_patt.46f +// CHECK:STDOUT: %a.patt.loc8_51.2 => constants.%a.patt.634 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HoldsType(constants.%tuple.e45) { +// CHECK:STDOUT: specific @HoldsType(constants.%tuple.9e1) { // CHECK:STDOUT: %T.patt.loc4_18.2 => constants.%T.patt -// CHECK:STDOUT: %T.loc4_18.1 => constants.%tuple.e45 +// CHECK:STDOUT: %T.loc4_18.1 => constants.%tuple.9e1 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F(constants.%tuple.e45) { +// CHECK:STDOUT: specific @F(constants.%tuple.9e1) { // CHECK:STDOUT: %T.patt.loc8_7.2 => constants.%T.patt -// CHECK:STDOUT: %T.loc8_7.1 => constants.%tuple.e45 -// CHECK:STDOUT: %HoldsType.loc8_40.1 => constants.%HoldsType.30f -// CHECK:STDOUT: %pattern_type.loc8_27 => constants.%pattern_type.ff4 -// CHECK:STDOUT: %x.param_patt.loc8_27.2 => constants.%x.param_patt.995 -// CHECK:STDOUT: %x.patt.loc8_27.2 => constants.%x.patt.242 +// CHECK:STDOUT: %T.loc8_7.1 => constants.%tuple.9e1 +// CHECK:STDOUT: %HoldsType.loc8_40.1 => constants.%HoldsType.210 +// CHECK:STDOUT: %pattern_type.loc8_27 => constants.%pattern_type.2e7 +// CHECK:STDOUT: %x.param_patt.loc8_27.2 => constants.%x.param_patt.261 +// CHECK:STDOUT: %x.patt.loc8_27.2 => constants.%x.patt.c43 // CHECK:STDOUT: %tuple.elem0.loc8_54.1 => constants.%C // CHECK:STDOUT: %pattern_type.loc8_51 => constants.%pattern_type.98b // CHECK:STDOUT: %a.param_patt.loc8_51.2 => constants.%a.param_patt.c88 @@ -347,44 +347,44 @@ fn G() { // CHECK:STDOUT: --- struct_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %struct_type.t: type = struct_type {.t: type} [concrete] -// CHECK:STDOUT: %pattern_type.7f2: type = pattern_type %struct_type.t [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.7f2 = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %pattern_type.136: type = pattern_type %struct_type.t [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.136 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %struct_type.t = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %HoldsType.type: type = generic_class_type @HoldsType [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %HoldsType.generic: %HoldsType.type = struct_value () [concrete] -// CHECK:STDOUT: %HoldsType.07e: type = class_type @HoldsType, @HoldsType(%T) [symbolic] +// CHECK:STDOUT: %HoldsType.323: type = class_type @HoldsType, @HoldsType(%T) [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %pattern_type.ce7: type = pattern_type %HoldsType.07e [symbolic] -// CHECK:STDOUT: %x.param_patt.ade: %pattern_type.ce7 = value_param_pattern [symbolic] -// CHECK:STDOUT: %x.patt.76a: %pattern_type.ce7 = wrapper_binding_pattern x, %x.param_patt.ade [symbolic] -// CHECK:STDOUT: %.424: type = struct_access %T, element0 [symbolic] -// CHECK:STDOUT: %pattern_type.92c: type = pattern_type %.424 [symbolic] -// CHECK:STDOUT: %a.param_patt.314: %pattern_type.92c = value_param_pattern [symbolic] -// CHECK:STDOUT: %a.patt.62a: %pattern_type.92c = wrapper_binding_pattern a, %a.param_patt.314 [symbolic] +// CHECK:STDOUT: %pattern_type.9c1: type = pattern_type %HoldsType.323 [symbolic] +// CHECK:STDOUT: %x.param_patt.7e7: %pattern_type.9c1 = value_param_pattern [symbolic] +// CHECK:STDOUT: %x.patt.ebc: %pattern_type.9c1 = wrapper_binding_pattern x, %x.param_patt.7e7 [symbolic] +// CHECK:STDOUT: %.841: type = struct_access %T, element0 [symbolic] +// CHECK:STDOUT: %pattern_type.4ae: type = pattern_type %.841 [symbolic] +// CHECK:STDOUT: %a.param_patt.ad4: %pattern_type.4ae = value_param_pattern [symbolic] +// CHECK:STDOUT: %a.patt.68c: %pattern_type.4ae = wrapper_binding_pattern a, %a.param_patt.ad4 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %require_complete.d40: = require_complete_type %HoldsType.07e [symbolic] -// CHECK:STDOUT: %require_complete.ba0: = require_complete_type %.424 [symbolic] +// CHECK:STDOUT: %require_complete.868: = require_complete_type %HoldsType.323 [symbolic] +// CHECK:STDOUT: %require_complete.8fa: = require_complete_type %.841 [symbolic] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %struct: %struct_type.t = struct_value (%C) [concrete] -// CHECK:STDOUT: %HoldsType.53c: type = class_type @HoldsType, @HoldsType(%struct) [concrete] -// CHECK:STDOUT: %HoldsType.val: %HoldsType.53c = struct_value () [concrete] -// CHECK:STDOUT: %pattern_type.1fc: type = pattern_type %HoldsType.53c [concrete] -// CHECK:STDOUT: %x.param_patt.4a0: %pattern_type.1fc = value_param_pattern [concrete] -// CHECK:STDOUT: %x.patt.40f: %pattern_type.1fc = wrapper_binding_pattern x, %x.param_patt.4a0 [concrete] +// CHECK:STDOUT: %HoldsType.512: type = class_type @HoldsType, @HoldsType(%struct) [concrete] +// CHECK:STDOUT: %HoldsType.val: %HoldsType.512 = struct_value () [concrete] +// CHECK:STDOUT: %pattern_type.79a: type = pattern_type %HoldsType.512 [concrete] +// CHECK:STDOUT: %x.param_patt.20b: %pattern_type.79a = value_param_pattern [concrete] +// CHECK:STDOUT: %x.patt.d03: %pattern_type.79a = wrapper_binding_pattern x, %x.param_patt.20b [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.param_patt.c88: %pattern_type.98b = value_param_pattern [concrete] // CHECK:STDOUT: %a.patt.4cc: %pattern_type.98b = wrapper_binding_pattern a, %a.param_patt.c88 [concrete] // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%struct) [concrete] -// CHECK:STDOUT: %.344: ref %HoldsType.53c = temporary invalid, %HoldsType.val [concrete] +// CHECK:STDOUT: %.3e2: ref %HoldsType.512 = temporary invalid, %HoldsType.val [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %.115: ref %C = temporary invalid, %C.val [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -393,7 +393,7 @@ fn G() { // CHECK:STDOUT: %Destroy.WithSelf.Op.bound.1a9: = bound_method %.115, %Destroy.WithSelf.Op.403171.2 [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.ef016f.3: type = fn_type @Destroy.WithSelf.Op.loc13_8 [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.403171.3: %Destroy.WithSelf.Op.type.ef016f.3 = struct_value () [concrete] -// CHECK:STDOUT: %Destroy.WithSelf.Op.bound.cd1: = bound_method %.344, %Destroy.WithSelf.Op.403171.3 [concrete] +// CHECK:STDOUT: %Destroy.WithSelf.Op.bound.191: = bound_method %.3e2, %Destroy.WithSelf.Op.403171.3 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -415,48 +415,48 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HoldsType.decl: %HoldsType.type = class_decl @HoldsType [concrete = constants.%HoldsType.generic] { -// CHECK:STDOUT: %T.patt.loc4_18.1: %pattern_type.7f2 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_18.1: %pattern_type.136 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_29: type = splice_block %struct_type.t [concrete = constants.%struct_type.t] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_25: type = type_literal type [concrete = type] // CHECK:STDOUT: %struct_type.t: type = struct_type {.t: type} [concrete = constants.%struct_type.t] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_18.2: %struct_type.t = symbolic_binding T, 0 [symbolic = %T.loc4_18.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc8_7.1: %pattern_type.7f2 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_7.2 (constants.%T.patt)] -// CHECK:STDOUT: %x.param_patt.loc8_29.1: @F.%pattern_type.loc8_29 (%pattern_type.ce7) = value_param_pattern [symbolic = %x.param_patt.loc8_29.2 (constants.%x.param_patt.ade)] -// CHECK:STDOUT: %x.patt.loc8_29.1: @F.%pattern_type.loc8_29 (%pattern_type.ce7) = wrapper_binding_pattern x, %x.param_patt.loc8_29.1 [symbolic = %x.patt.loc8_29.2 (constants.%x.patt.76a)] -// CHECK:STDOUT: %a.param_patt.loc8_53.1: @F.%pattern_type.loc8_53 (%pattern_type.92c) = value_param_pattern [symbolic = %a.param_patt.loc8_53.2 (constants.%a.param_patt.314)] -// CHECK:STDOUT: %a.patt.loc8_53.1: @F.%pattern_type.loc8_53 (%pattern_type.92c) = wrapper_binding_pattern a, %a.param_patt.loc8_53.1 [symbolic = %a.patt.loc8_53.2 (constants.%a.patt.62a)] +// CHECK:STDOUT: %T.patt.loc8_7.1: %pattern_type.136 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %x.param_patt.loc8_29.1: @F.%pattern_type.loc8_29 (%pattern_type.9c1) = value_param_pattern [symbolic = %x.param_patt.loc8_29.2 (constants.%x.param_patt.7e7)] +// CHECK:STDOUT: %x.patt.loc8_29.1: @F.%pattern_type.loc8_29 (%pattern_type.9c1) = wrapper_binding_pattern x, %x.param_patt.loc8_29.1 [symbolic = %x.patt.loc8_29.2 (constants.%x.patt.ebc)] +// CHECK:STDOUT: %a.param_patt.loc8_53.1: @F.%pattern_type.loc8_53 (%pattern_type.4ae) = value_param_pattern [symbolic = %a.param_patt.loc8_53.2 (constants.%a.param_patt.ad4)] +// CHECK:STDOUT: %a.patt.loc8_53.1: @F.%pattern_type.loc8_53 (%pattern_type.4ae) = wrapper_binding_pattern a, %a.param_patt.loc8_53.1 [symbolic = %a.patt.loc8_53.2 (constants.%a.patt.68c)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_18: type = splice_block %struct_type.t [concrete = constants.%struct_type.t] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_14: type = type_literal type [concrete = type] // CHECK:STDOUT: %struct_type.t: type = struct_type {.t: type} [concrete = constants.%struct_type.t] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_7.2: %struct_type.t = symbolic_binding T, 0 [symbolic = %T.loc8_7.1 (constants.%T)] -// CHECK:STDOUT: %x.param: @F.%HoldsType.loc8_42.1 (%HoldsType.07e) = value_param call_param0 -// CHECK:STDOUT: %.loc8_42: type = splice_block %HoldsType.loc8_42.2 [symbolic = %HoldsType.loc8_42.1 (constants.%HoldsType.07e)] { +// CHECK:STDOUT: %x.param: @F.%HoldsType.loc8_42.1 (%HoldsType.323) = value_param call_param0 +// CHECK:STDOUT: %.loc8_42: type = splice_block %HoldsType.loc8_42.2 [symbolic = %HoldsType.loc8_42.1 (constants.%HoldsType.323)] { // CHECK:STDOUT: %HoldsType.ref: %HoldsType.type = name_ref HoldsType, file.%HoldsType.decl [concrete = constants.%HoldsType.generic] // CHECK:STDOUT: %T.ref.loc8_41: %struct_type.t = name_ref T, %T.loc8_7.2 [symbolic = %T.loc8_7.1 (constants.%T)] -// CHECK:STDOUT: %HoldsType.loc8_42.2: type = class_type @HoldsType, @HoldsType(constants.%T) [symbolic = %HoldsType.loc8_42.1 (constants.%HoldsType.07e)] +// CHECK:STDOUT: %HoldsType.loc8_42.2: type = class_type @HoldsType, @HoldsType(constants.%T) [symbolic = %HoldsType.loc8_42.1 (constants.%HoldsType.323)] // CHECK:STDOUT: } -// CHECK:STDOUT: %x: @F.%HoldsType.loc8_42.1 (%HoldsType.07e) = wrapper_binding x, %x.param -// CHECK:STDOUT: %a.param: @F.%.loc8_56.1 (%.424) = value_param call_param1 -// CHECK:STDOUT: %.loc8_56.2: type = splice_block %.loc8_56.3 [symbolic = %.loc8_56.1 (constants.%.424)] { +// CHECK:STDOUT: %x: @F.%HoldsType.loc8_42.1 (%HoldsType.323) = wrapper_binding x, %x.param +// CHECK:STDOUT: %a.param: @F.%.loc8_56.1 (%.841) = value_param call_param1 +// CHECK:STDOUT: %.loc8_56.2: type = splice_block %.loc8_56.3 [symbolic = %.loc8_56.1 (constants.%.841)] { // CHECK:STDOUT: %T.ref.loc8_55: %struct_type.t = name_ref T, %T.loc8_7.2 [symbolic = %T.loc8_7.1 (constants.%T)] -// CHECK:STDOUT: %.loc8_56.3: type = struct_access %T.ref.loc8_55, element0 [symbolic = %.loc8_56.1 (constants.%.424)] +// CHECK:STDOUT: %.loc8_56.3: type = struct_access %T.ref.loc8_55, element0 [symbolic = %.loc8_56.1 (constants.%.841)] // CHECK:STDOUT: } -// CHECK:STDOUT: %a: @F.%.loc8_56.1 (%.424) = wrapper_binding a, %a.param +// CHECK:STDOUT: %a: @F.%.loc8_56.1 (%.841) = wrapper_binding a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @HoldsType(%T.loc4_18.2: %struct_type.t) { -// CHECK:STDOUT: %T.patt.loc4_18.2: %pattern_type.7f2 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_18.2: %pattern_type.136 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_18.1: %struct_type.t = symbolic_binding T, 0 [symbolic = %T.loc4_18.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -466,7 +466,7 @@ fn G() { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = constants.%HoldsType.07e +// CHECK:STDOUT: .Self = constants.%HoldsType.323 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -479,22 +479,22 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc8_7.2: %struct_type.t) { -// CHECK:STDOUT: %T.patt.loc8_7.2: %pattern_type.7f2 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_7.2: %pattern_type.136 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc8_7.1: %struct_type.t = symbolic_binding T, 0 [symbolic = %T.loc8_7.1 (constants.%T)] -// CHECK:STDOUT: %HoldsType.loc8_42.1: type = class_type @HoldsType, @HoldsType(%T.loc8_7.1) [symbolic = %HoldsType.loc8_42.1 (constants.%HoldsType.07e)] -// CHECK:STDOUT: %pattern_type.loc8_29: type = pattern_type %HoldsType.loc8_42.1 [symbolic = %pattern_type.loc8_29 (constants.%pattern_type.ce7)] -// CHECK:STDOUT: %x.param_patt.loc8_29.2: @F.%pattern_type.loc8_29 (%pattern_type.ce7) = value_param_pattern [symbolic = %x.param_patt.loc8_29.2 (constants.%x.param_patt.ade)] -// CHECK:STDOUT: %x.patt.loc8_29.2: @F.%pattern_type.loc8_29 (%pattern_type.ce7) = wrapper_binding_pattern x, %x.param_patt.loc8_29.2 [symbolic = %x.patt.loc8_29.2 (constants.%x.patt.76a)] -// CHECK:STDOUT: %.loc8_56.1: type = struct_access %T.loc8_7.1, element0 [symbolic = %.loc8_56.1 (constants.%.424)] -// CHECK:STDOUT: %pattern_type.loc8_53: type = pattern_type %.loc8_56.1 [symbolic = %pattern_type.loc8_53 (constants.%pattern_type.92c)] -// CHECK:STDOUT: %a.param_patt.loc8_53.2: @F.%pattern_type.loc8_53 (%pattern_type.92c) = value_param_pattern [symbolic = %a.param_patt.loc8_53.2 (constants.%a.param_patt.314)] -// CHECK:STDOUT: %a.patt.loc8_53.2: @F.%pattern_type.loc8_53 (%pattern_type.92c) = wrapper_binding_pattern a, %a.param_patt.loc8_53.2 [symbolic = %a.patt.loc8_53.2 (constants.%a.patt.62a)] +// CHECK:STDOUT: %HoldsType.loc8_42.1: type = class_type @HoldsType, @HoldsType(%T.loc8_7.1) [symbolic = %HoldsType.loc8_42.1 (constants.%HoldsType.323)] +// CHECK:STDOUT: %pattern_type.loc8_29: type = pattern_type %HoldsType.loc8_42.1 [symbolic = %pattern_type.loc8_29 (constants.%pattern_type.9c1)] +// CHECK:STDOUT: %x.param_patt.loc8_29.2: @F.%pattern_type.loc8_29 (%pattern_type.9c1) = value_param_pattern [symbolic = %x.param_patt.loc8_29.2 (constants.%x.param_patt.7e7)] +// CHECK:STDOUT: %x.patt.loc8_29.2: @F.%pattern_type.loc8_29 (%pattern_type.9c1) = wrapper_binding_pattern x, %x.param_patt.loc8_29.2 [symbolic = %x.patt.loc8_29.2 (constants.%x.patt.ebc)] +// CHECK:STDOUT: %.loc8_56.1: type = struct_access %T.loc8_7.1, element0 [symbolic = %.loc8_56.1 (constants.%.841)] +// CHECK:STDOUT: %pattern_type.loc8_53: type = pattern_type %.loc8_56.1 [symbolic = %pattern_type.loc8_53 (constants.%pattern_type.4ae)] +// CHECK:STDOUT: %a.param_patt.loc8_53.2: @F.%pattern_type.loc8_53 (%pattern_type.4ae) = value_param_pattern [symbolic = %a.param_patt.loc8_53.2 (constants.%a.param_patt.ad4)] +// CHECK:STDOUT: %a.patt.loc8_53.2: @F.%pattern_type.loc8_53 (%pattern_type.4ae) = wrapper_binding_pattern a, %a.param_patt.loc8_53.2 [symbolic = %a.patt.loc8_53.2 (constants.%a.patt.68c)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete.loc8_29: = require_complete_type %HoldsType.loc8_42.1 [symbolic = %require_complete.loc8_29 (constants.%require_complete.d40)] -// CHECK:STDOUT: %require_complete.loc8_53: = require_complete_type %.loc8_56.1 [symbolic = %require_complete.loc8_53 (constants.%require_complete.ba0)] +// CHECK:STDOUT: %require_complete.loc8_29: = require_complete_type %HoldsType.loc8_42.1 [symbolic = %require_complete.loc8_29 (constants.%require_complete.868)] +// CHECK:STDOUT: %require_complete.loc8_53: = require_complete_type %.loc8_56.1 [symbolic = %require_complete.loc8_53 (constants.%require_complete.8fa)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @F.%HoldsType.loc8_42.1 (%HoldsType.07e), %a.param: @F.%.loc8_56.1 (%.424)) { +// CHECK:STDOUT: fn(%x.param: @F.%HoldsType.loc8_42.1 (%HoldsType.323), %a.param: @F.%.loc8_56.1 (%.841)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -509,14 +509,14 @@ fn G() { // CHECK:STDOUT: %.loc13_28: %struct_type.t = struct_literal (%C.ref) [concrete = constants.%struct] // CHECK:STDOUT: %struct: %struct_type.t = struct_value (%C.ref) [concrete = constants.%struct] // CHECK:STDOUT: %.loc13_29: %struct_type.t = converted %.loc13_28, %struct [concrete = constants.%struct] -// CHECK:STDOUT: %HoldsType: type = class_type @HoldsType, @HoldsType(constants.%struct) [concrete = constants.%HoldsType.53c] -// CHECK:STDOUT: %.loc13_6.2: ref %HoldsType.53c = temporary_storage -// CHECK:STDOUT: %.loc13_6.3: init %HoldsType.53c to %.loc13_6.2 = class_init () [concrete = constants.%HoldsType.val] -// CHECK:STDOUT: %.loc13_8.1: init %HoldsType.53c = converted %.loc13_6.1, %.loc13_6.3 [concrete = constants.%HoldsType.val] +// CHECK:STDOUT: %HoldsType: type = class_type @HoldsType, @HoldsType(constants.%struct) [concrete = constants.%HoldsType.512] +// CHECK:STDOUT: %.loc13_6.2: ref %HoldsType.512 = temporary_storage +// CHECK:STDOUT: %.loc13_6.3: init %HoldsType.512 to %.loc13_6.2 = class_init () [concrete = constants.%HoldsType.val] +// CHECK:STDOUT: %.loc13_8.1: init %HoldsType.512 = converted %.loc13_6.1, %.loc13_6.3 [concrete = constants.%HoldsType.val] // CHECK:STDOUT: %.loc13_33.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%struct) [concrete = constants.%F.specific_fn] -// CHECK:STDOUT: %.loc13_8.2: ref %HoldsType.53c = temporary %.loc13_6.2, %.loc13_8.1 [concrete = constants.%.344] -// CHECK:STDOUT: %.loc13_8.3: %HoldsType.53c = acquire_value %.loc13_8.2 [concrete = constants.%HoldsType.val] +// CHECK:STDOUT: %.loc13_8.2: ref %HoldsType.512 = temporary %.loc13_6.2, %.loc13_8.1 [concrete = constants.%.3e2] +// CHECK:STDOUT: %.loc13_8.3: %HoldsType.512 = acquire_value %.loc13_8.2 [concrete = constants.%HoldsType.val] // CHECK:STDOUT: %.loc13_33.2: ref %C = temporary_storage // CHECK:STDOUT: %.loc13_33.3: init %C to %.loc13_33.2 = class_init () [concrete = constants.%C.val] // CHECK:STDOUT: %.loc13_33.4: init %C = converted %.loc13_33.1, %.loc13_33.3 [concrete = constants.%C.val] @@ -524,7 +524,7 @@ fn G() { // CHECK:STDOUT: %.loc13_33.6: %C = acquire_value %.loc13_33.5 [concrete = constants.%C.val] // CHECK:STDOUT: %F.call: init %empty_tuple.type = call %F.specific_fn(%.loc13_8.3, %.loc13_33.6) // CHECK:STDOUT: %Destroy.WithSelf.Op.call.loc13_33: init %empty_tuple.type = call constants.%Destroy.WithSelf.Op.bound.1a9(constants.%.115) -// CHECK:STDOUT: %Destroy.WithSelf.Op.call.loc13_8: init %empty_tuple.type = call constants.%Destroy.WithSelf.Op.bound.cd1(constants.%.344) +// CHECK:STDOUT: %Destroy.WithSelf.Op.call.loc13_8: init %empty_tuple.type = call constants.%Destroy.WithSelf.Op.bound.191(constants.%.3e2) // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -535,7 +535,7 @@ fn G() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.WithSelf.Op.loc13_8(%self.param: ref %HoldsType.53c) { +// CHECK:STDOUT: fn @Destroy.WithSelf.Op.loc13_8(%self.param: ref %HoldsType.512) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -550,14 +550,14 @@ fn G() { // CHECK:STDOUT: specific @F(constants.%T) { // CHECK:STDOUT: %T.patt.loc8_7.2 => constants.%T.patt // CHECK:STDOUT: %T.loc8_7.1 => constants.%T -// CHECK:STDOUT: %HoldsType.loc8_42.1 => constants.%HoldsType.07e -// CHECK:STDOUT: %pattern_type.loc8_29 => constants.%pattern_type.ce7 -// CHECK:STDOUT: %x.param_patt.loc8_29.2 => constants.%x.param_patt.ade -// CHECK:STDOUT: %x.patt.loc8_29.2 => constants.%x.patt.76a -// CHECK:STDOUT: %.loc8_56.1 => constants.%.424 -// CHECK:STDOUT: %pattern_type.loc8_53 => constants.%pattern_type.92c -// CHECK:STDOUT: %a.param_patt.loc8_53.2 => constants.%a.param_patt.314 -// CHECK:STDOUT: %a.patt.loc8_53.2 => constants.%a.patt.62a +// CHECK:STDOUT: %HoldsType.loc8_42.1 => constants.%HoldsType.323 +// CHECK:STDOUT: %pattern_type.loc8_29 => constants.%pattern_type.9c1 +// CHECK:STDOUT: %x.param_patt.loc8_29.2 => constants.%x.param_patt.7e7 +// CHECK:STDOUT: %x.patt.loc8_29.2 => constants.%x.patt.ebc +// CHECK:STDOUT: %.loc8_56.1 => constants.%.841 +// CHECK:STDOUT: %pattern_type.loc8_53 => constants.%pattern_type.4ae +// CHECK:STDOUT: %a.param_patt.loc8_53.2 => constants.%a.param_patt.ad4 +// CHECK:STDOUT: %a.patt.loc8_53.2 => constants.%a.patt.68c // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HoldsType(constants.%struct) { @@ -570,10 +570,10 @@ fn G() { // CHECK:STDOUT: specific @F(constants.%struct) { // CHECK:STDOUT: %T.patt.loc8_7.2 => constants.%T.patt // CHECK:STDOUT: %T.loc8_7.1 => constants.%struct -// CHECK:STDOUT: %HoldsType.loc8_42.1 => constants.%HoldsType.53c -// CHECK:STDOUT: %pattern_type.loc8_29 => constants.%pattern_type.1fc -// CHECK:STDOUT: %x.param_patt.loc8_29.2 => constants.%x.param_patt.4a0 -// CHECK:STDOUT: %x.patt.loc8_29.2 => constants.%x.patt.40f +// CHECK:STDOUT: %HoldsType.loc8_42.1 => constants.%HoldsType.512 +// CHECK:STDOUT: %pattern_type.loc8_29 => constants.%pattern_type.79a +// CHECK:STDOUT: %x.param_patt.loc8_29.2 => constants.%x.param_patt.20b +// CHECK:STDOUT: %x.patt.loc8_29.2 => constants.%x.patt.d03 // CHECK:STDOUT: %.loc8_56.1 => constants.%C // CHECK:STDOUT: %pattern_type.loc8_53 => constants.%pattern_type.98b // CHECK:STDOUT: %a.param_patt.loc8_53.2 => constants.%a.param_patt.c88 @@ -587,12 +587,12 @@ fn G() { // CHECK:STDOUT: --- fail_todo_class_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class [concrete] // CHECK:STDOUT: %Class.elem: type = unbound_element_type %Class, type [concrete] // CHECK:STDOUT: %struct_type.t: type = struct_type {.t: type} [concrete] -// CHECK:STDOUT: %complete_type.509: = complete_type_witness %struct_type.t [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %complete_type.738: = complete_type_witness %struct_type.t [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.f15: type = pattern_type %Class [concrete] // CHECK:STDOUT: %T.patt.125: %pattern_type.f15 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.f25: %Class = symbolic_binding T, 0 [symbolic] @@ -622,10 +622,10 @@ fn G() { // CHECK:STDOUT: %H: %H.type = struct_value () [concrete] // CHECK:STDOUT: %struct: %struct_type.t = struct_value (%C) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness imports.%Copy.impl_witness_table.7b6 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.f3e: = impl_witness imports.%Copy.impl_witness_table.aa5 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.f3e) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.571: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.39e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.571, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.bound: = bound_method %C, %type.as.Copy.impl.Op [concrete] @@ -649,7 +649,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.9c3: %type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.7b6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.aa5 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -669,7 +669,7 @@ fn G() { // CHECK:STDOUT: %T.patt.loc8_18.1: %pattern_type.f15 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_18.2 (constants.%T.patt.125)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8: type = splice_block %Class.ref [concrete = constants.%Class] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_18.2: %Class = symbolic_binding T, 0 [symbolic = %T.loc8_18.1 (constants.%T.f25)] @@ -682,7 +682,7 @@ fn G() { // CHECK:STDOUT: %a.patt: = wrapper_binding_pattern a, %a.param_patt [concrete = ] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc21_9: type = splice_block %Class.ref [concrete = constants.%Class] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc21_7.2: %Class = symbolic_binding T, 0 [symbolic = %T.loc21_7.1 (constants.%T.f25)] @@ -707,7 +707,7 @@ fn G() { // CHECK:STDOUT: %c.patt.loc25_15.1: %pattern_type.f15 = symbolic_binding_pattern c, 0 [symbolic = %c.patt.loc25_15.2 (constants.%c.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc25: type = splice_block %Class.ref [concrete = constants.%Class] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] // CHECK:STDOUT: } // CHECK:STDOUT: %c.loc25_15.2: %Class = symbolic_binding c, 0 [symbolic = %c.loc25_15.1 (constants.%c)] @@ -719,7 +719,7 @@ fn G() { // CHECK:STDOUT: %field_decl: %Class.elem = field_decl t, element0, %.loc5 in [concrete] { // CHECK:STDOUT: %.loc5: type = type_literal type [concrete = type] // CHECK:STDOUT: } -// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.t [concrete = constants.%complete_type.509] +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.t [concrete = constants.%complete_type.738] // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -797,7 +797,7 @@ fn G() { // CHECK:STDOUT: %G.ref: %G.type = name_ref G, file.%G.decl [concrete = constants.%G] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %.loc30_12.1: %struct_type.t = struct_literal (%C.ref) [concrete = constants.%struct] -// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.39e = impl_witness_access constants.%Copy.impl_witness.f3e, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %C.ref, %impl.elem0 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%C.ref) [concrete = constants.%C] // CHECK:STDOUT: %.loc30_12.2: ref %Class = temporary_storage @@ -874,22 +874,22 @@ fn G() { // CHECK:STDOUT: --- fail_todo_array_index.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %array_type: type = array_type %int_1, type [concrete] -// CHECK:STDOUT: %pattern_type.dcb: type = pattern_type %array_type [concrete] -// CHECK:STDOUT: %T.patt.4c7: %pattern_type.dcb = symbolic_binding_pattern T, 0 [symbolic] -// CHECK:STDOUT: %T.9b7: %array_type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %pattern_type.4fd: type = pattern_type %array_type [concrete] +// CHECK:STDOUT: %T.patt.c49: %pattern_type.4fd = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.225: %array_type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %HoldsType.type: type = generic_class_type @HoldsType [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %HoldsType.generic: %HoldsType.type = struct_value () [concrete] -// CHECK:STDOUT: %HoldsType.881: type = class_type @HoldsType, @HoldsType(%T.9b7) [symbolic] +// CHECK:STDOUT: %HoldsType.b96: type = class_type @HoldsType, @HoldsType(%T.225) [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %pattern_type.d35: type = pattern_type %HoldsType.881 [symbolic] -// CHECK:STDOUT: %x.param_patt: %pattern_type.d35 = value_param_pattern [symbolic] -// CHECK:STDOUT: %x.patt: %pattern_type.d35 = wrapper_binding_pattern x, %x.param_patt [symbolic] +// CHECK:STDOUT: %pattern_type.a68: type = pattern_type %HoldsType.b96 [symbolic] +// CHECK:STDOUT: %x.param_patt: %pattern_type.a68 = value_param_pattern [symbolic] +// CHECK:STDOUT: %x.patt: %pattern_type.a68 = wrapper_binding_pattern x, %x.param_patt [symbolic] // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -913,29 +913,29 @@ fn G() { // CHECK:STDOUT: %int_0.3c0: %i32 = int_value 0 [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %require_complete.80d: = require_complete_type %HoldsType.881 [symbolic] +// CHECK:STDOUT: %require_complete.00e: = require_complete_type %HoldsType.b96 [symbolic] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple.e45: %tuple.type.85c = tuple_value (%C) [concrete] +// CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] +// CHECK:STDOUT: %tuple.9e1: %tuple.type.135 = tuple_value (%C) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness imports.%Copy.impl_witness_table.7b6 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.f3e: = impl_witness imports.%Copy.impl_witness_table.aa5 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.f3e) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.571: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.39e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.571, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.bound: = bound_method %C, %type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %array: %array_type = tuple_value (%C) [concrete] -// CHECK:STDOUT: %.1c6: ref %array_type = temporary invalid, %array [concrete] -// CHECK:STDOUT: %HoldsType.f11: type = class_type @HoldsType, @HoldsType(%array) [concrete] -// CHECK:STDOUT: %HoldsType.val: %HoldsType.f11 = struct_value () [concrete] +// CHECK:STDOUT: %.f9a: ref %array_type = temporary invalid, %array [concrete] +// CHECK:STDOUT: %HoldsType.d9e: type = class_type @HoldsType, @HoldsType(%array) [concrete] +// CHECK:STDOUT: %HoldsType.val: %HoldsType.d9e = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.ef016f.2: type = fn_type @Destroy.WithSelf.Op.loc17_27.2 [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.403171.2: %Destroy.WithSelf.Op.type.ef016f.2 = struct_value () [concrete] -// CHECK:STDOUT: %Destroy.WithSelf.Op.bound: = bound_method %.1c6, %Destroy.WithSelf.Op.403171.2 [concrete] +// CHECK:STDOUT: %Destroy.WithSelf.Op.bound: = bound_method %.f9a, %Destroy.WithSelf.Op.403171.2 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -953,7 +953,7 @@ fn G() { // CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.9c3: %type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.7b6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.aa5 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -967,40 +967,40 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HoldsType.decl: %HoldsType.type = class_decl @HoldsType [concrete = constants.%HoldsType.generic] { -// CHECK:STDOUT: %T.patt.loc4_18.1: %pattern_type.dcb = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt.4c7)] +// CHECK:STDOUT: %T.patt.loc4_18.1: %pattern_type.4fd = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt.c49)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_33: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_26: type = type_literal type [concrete = type] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: %array_type: type = array_type %int_1, %.loc4_26 [concrete = constants.%array_type] // CHECK:STDOUT: } -// CHECK:STDOUT: %T.loc4_18.2: %array_type = symbolic_binding T, 0 [symbolic = %T.loc4_18.1 (constants.%T.9b7)] +// CHECK:STDOUT: %T.loc4_18.2: %array_type = symbolic_binding T, 0 [symbolic = %T.loc4_18.1 (constants.%T.225)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc12_7.1: %pattern_type.dcb = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_7.2 (constants.%T.patt.4c7)] -// CHECK:STDOUT: %x.param_patt.loc12_33.1: @F.%pattern_type (%pattern_type.d35) = value_param_pattern [symbolic = %x.param_patt.loc12_33.2 (constants.%x.param_patt)] -// CHECK:STDOUT: %x.patt.loc12_33.1: @F.%pattern_type (%pattern_type.d35) = wrapper_binding_pattern x, %x.param_patt.loc12_33.1 [symbolic = %x.patt.loc12_33.2 (constants.%x.patt)] +// CHECK:STDOUT: %T.patt.loc12_7.1: %pattern_type.4fd = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_7.2 (constants.%T.patt.c49)] +// CHECK:STDOUT: %x.param_patt.loc12_33.1: @F.%pattern_type (%pattern_type.a68) = value_param_pattern [symbolic = %x.param_patt.loc12_33.2 (constants.%x.param_patt)] +// CHECK:STDOUT: %x.patt.loc12_33.1: @F.%pattern_type (%pattern_type.a68) = wrapper_binding_pattern x, %x.param_patt.loc12_33.1 [symbolic = %x.patt.loc12_33.2 (constants.%x.patt)] // CHECK:STDOUT: %a.param_patt: = value_param_pattern [concrete = ] // CHECK:STDOUT: %a.patt: = wrapper_binding_pattern a, %a.param_patt [concrete = ] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_22: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc12_15: type = type_literal type [concrete = type] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: %array_type: type = array_type %int_1, %.loc12_15 [concrete = constants.%array_type] // CHECK:STDOUT: } -// CHECK:STDOUT: %T.loc12_7.2: %array_type = symbolic_binding T, 0 [symbolic = %T.loc12_7.1 (constants.%T.9b7)] -// CHECK:STDOUT: %x.param: @F.%HoldsType.loc12_46.1 (%HoldsType.881) = value_param call_param0 -// CHECK:STDOUT: %.loc12_46: type = splice_block %HoldsType.loc12_46.2 [symbolic = %HoldsType.loc12_46.1 (constants.%HoldsType.881)] { +// CHECK:STDOUT: %T.loc12_7.2: %array_type = symbolic_binding T, 0 [symbolic = %T.loc12_7.1 (constants.%T.225)] +// CHECK:STDOUT: %x.param: @F.%HoldsType.loc12_46.1 (%HoldsType.b96) = value_param call_param0 +// CHECK:STDOUT: %.loc12_46: type = splice_block %HoldsType.loc12_46.2 [symbolic = %HoldsType.loc12_46.1 (constants.%HoldsType.b96)] { // CHECK:STDOUT: %HoldsType.ref: %HoldsType.type = name_ref HoldsType, file.%HoldsType.decl [concrete = constants.%HoldsType.generic] -// CHECK:STDOUT: %T.ref.loc12_45: %array_type = name_ref T, %T.loc12_7.2 [symbolic = %T.loc12_7.1 (constants.%T.9b7)] -// CHECK:STDOUT: %HoldsType.loc12_46.2: type = class_type @HoldsType, @HoldsType(constants.%T.9b7) [symbolic = %HoldsType.loc12_46.1 (constants.%HoldsType.881)] +// CHECK:STDOUT: %T.ref.loc12_45: %array_type = name_ref T, %T.loc12_7.2 [symbolic = %T.loc12_7.1 (constants.%T.225)] +// CHECK:STDOUT: %HoldsType.loc12_46.2: type = class_type @HoldsType, @HoldsType(constants.%T.225) [symbolic = %HoldsType.loc12_46.1 (constants.%HoldsType.b96)] // CHECK:STDOUT: } -// CHECK:STDOUT: %x: @F.%HoldsType.loc12_46.1 (%HoldsType.881) = wrapper_binding x, %x.param +// CHECK:STDOUT: %x: @F.%HoldsType.loc12_46.1 (%HoldsType.b96) = wrapper_binding x, %x.param // CHECK:STDOUT: %a.param: = value_param call_param1 // CHECK:STDOUT: %.1: = splice_block [concrete = ] { -// CHECK:STDOUT: %T.ref.loc12_59: %array_type = name_ref T, %T.loc12_7.2 [symbolic = %T.loc12_7.1 (constants.%T.9b7)] +// CHECK:STDOUT: %T.ref.loc12_59: %array_type = name_ref T, %T.loc12_7.2 [symbolic = %T.loc12_7.1 (constants.%T.225)] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_61.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] @@ -1020,8 +1020,8 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @HoldsType(%T.loc4_18.2: %array_type) { -// CHECK:STDOUT: %T.patt.loc4_18.2: %pattern_type.dcb = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt.4c7)] -// CHECK:STDOUT: %T.loc4_18.1: %array_type = symbolic_binding T, 0 [symbolic = %T.loc4_18.1 (constants.%T.9b7)] +// CHECK:STDOUT: %T.patt.loc4_18.2: %pattern_type.4fd = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt.c49)] +// CHECK:STDOUT: %T.loc4_18.1: %array_type = symbolic_binding T, 0 [symbolic = %T.loc4_18.1 (constants.%T.225)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -1030,7 +1030,7 @@ fn G() { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = constants.%HoldsType.881 +// CHECK:STDOUT: .Self = constants.%HoldsType.b96 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1043,17 +1043,17 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc12_7.2: %array_type) { -// CHECK:STDOUT: %T.patt.loc12_7.2: %pattern_type.dcb = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_7.2 (constants.%T.patt.4c7)] -// CHECK:STDOUT: %T.loc12_7.1: %array_type = symbolic_binding T, 0 [symbolic = %T.loc12_7.1 (constants.%T.9b7)] -// CHECK:STDOUT: %HoldsType.loc12_46.1: type = class_type @HoldsType, @HoldsType(%T.loc12_7.1) [symbolic = %HoldsType.loc12_46.1 (constants.%HoldsType.881)] -// CHECK:STDOUT: %pattern_type: type = pattern_type %HoldsType.loc12_46.1 [symbolic = %pattern_type (constants.%pattern_type.d35)] -// CHECK:STDOUT: %x.param_patt.loc12_33.2: @F.%pattern_type (%pattern_type.d35) = value_param_pattern [symbolic = %x.param_patt.loc12_33.2 (constants.%x.param_patt)] -// CHECK:STDOUT: %x.patt.loc12_33.2: @F.%pattern_type (%pattern_type.d35) = wrapper_binding_pattern x, %x.param_patt.loc12_33.2 [symbolic = %x.patt.loc12_33.2 (constants.%x.patt)] +// CHECK:STDOUT: %T.patt.loc12_7.2: %pattern_type.4fd = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_7.2 (constants.%T.patt.c49)] +// CHECK:STDOUT: %T.loc12_7.1: %array_type = symbolic_binding T, 0 [symbolic = %T.loc12_7.1 (constants.%T.225)] +// CHECK:STDOUT: %HoldsType.loc12_46.1: type = class_type @HoldsType, @HoldsType(%T.loc12_7.1) [symbolic = %HoldsType.loc12_46.1 (constants.%HoldsType.b96)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %HoldsType.loc12_46.1 [symbolic = %pattern_type (constants.%pattern_type.a68)] +// CHECK:STDOUT: %x.param_patt.loc12_33.2: @F.%pattern_type (%pattern_type.a68) = value_param_pattern [symbolic = %x.param_patt.loc12_33.2 (constants.%x.param_patt)] +// CHECK:STDOUT: %x.patt.loc12_33.2: @F.%pattern_type (%pattern_type.a68) = wrapper_binding_pattern x, %x.param_patt.loc12_33.2 [symbolic = %x.patt.loc12_33.2 (constants.%x.patt)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete: = require_complete_type %HoldsType.loc12_46.1 [symbolic = %require_complete (constants.%require_complete.80d)] +// CHECK:STDOUT: %require_complete: = require_complete_type %HoldsType.loc12_46.1 [symbolic = %require_complete (constants.%require_complete.00e)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @F.%HoldsType.loc12_46.1 (%HoldsType.881), %a.param: ) { +// CHECK:STDOUT: fn(%x.param: @F.%HoldsType.loc12_46.1 (%HoldsType.b96), %a.param: ) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1065,11 +1065,11 @@ fn G() { // CHECK:STDOUT: %.loc17_6.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %HoldsType.ref: %HoldsType.type = name_ref HoldsType, file.%HoldsType.decl [concrete = constants.%HoldsType.generic] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %.loc17_25.1: %tuple.type.85c = tuple_literal (%C.ref) [concrete = constants.%tuple.e45] +// CHECK:STDOUT: %.loc17_25.1: %tuple.type.135 = tuple_literal (%C.ref) [concrete = constants.%tuple.9e1] // CHECK:STDOUT: %.loc17_36: type = type_literal type [concrete = type] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: %array_type: type = array_type %int_1, %.loc17_36 [concrete = constants.%array_type] -// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.39e = impl_witness_access constants.%Copy.impl_witness.f3e, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %C.ref, %impl.elem0 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%C.ref) [concrete = constants.%C] // CHECK:STDOUT: %.loc17_25.2: ref %array_type = temporary_storage @@ -1078,14 +1078,14 @@ fn G() { // CHECK:STDOUT: %.loc17_25.4: init type to %.loc17_25.3 = in_place_init %type.as.Copy.impl.Op.call [concrete = constants.%C] // CHECK:STDOUT: %.loc17_25.5: init %array_type to %.loc17_25.2 = array_init (%.loc17_25.4) [concrete = constants.%array] // CHECK:STDOUT: %.loc17_27.1: init %array_type = converted %.loc17_25.1, %.loc17_25.5 [concrete = constants.%array] -// CHECK:STDOUT: %.loc17_27.2: ref %array_type = temporary %.loc17_25.2, %.loc17_27.1 [concrete = constants.%.1c6] +// CHECK:STDOUT: %.loc17_27.2: ref %array_type = temporary %.loc17_25.2, %.loc17_27.1 [concrete = constants.%.f9a] // CHECK:STDOUT: %.loc17_27.3: %array_type = acquire_value %.loc17_27.2 [concrete = constants.%array] -// CHECK:STDOUT: %HoldsType: type = class_type @HoldsType, @HoldsType(constants.%array) [concrete = constants.%HoldsType.f11] -// CHECK:STDOUT: %.loc17_6.2: ref %HoldsType.f11 = temporary_storage -// CHECK:STDOUT: %.loc17_6.3: init %HoldsType.f11 to %.loc17_6.2 = class_init () [concrete = constants.%HoldsType.val] -// CHECK:STDOUT: %.loc17_8: init %HoldsType.f11 = converted %.loc17_6.1, %.loc17_6.3 [concrete = constants.%HoldsType.val] +// CHECK:STDOUT: %HoldsType: type = class_type @HoldsType, @HoldsType(constants.%array) [concrete = constants.%HoldsType.d9e] +// CHECK:STDOUT: %.loc17_6.2: ref %HoldsType.d9e = temporary_storage +// CHECK:STDOUT: %.loc17_6.3: init %HoldsType.d9e to %.loc17_6.2 = class_init () [concrete = constants.%HoldsType.val] +// CHECK:STDOUT: %.loc17_8: init %HoldsType.d9e = converted %.loc17_6.1, %.loc17_6.3 [concrete = constants.%HoldsType.val] // CHECK:STDOUT: %.loc17_48: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] -// CHECK:STDOUT: %Destroy.WithSelf.Op.call: init %empty_tuple.type = call constants.%Destroy.WithSelf.Op.bound(constants.%.1c6) +// CHECK:STDOUT: %Destroy.WithSelf.Op.call: init %empty_tuple.type = call constants.%Destroy.WithSelf.Op.bound(constants.%.f9a) // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1096,24 +1096,24 @@ fn G() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HoldsType(constants.%T.9b7) { -// CHECK:STDOUT: %T.patt.loc4_18.2 => constants.%T.patt.4c7 -// CHECK:STDOUT: %T.loc4_18.1 => constants.%T.9b7 +// CHECK:STDOUT: specific @HoldsType(constants.%T.225) { +// CHECK:STDOUT: %T.patt.loc4_18.2 => constants.%T.patt.c49 +// CHECK:STDOUT: %T.loc4_18.1 => constants.%T.225 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F(constants.%T.9b7) { -// CHECK:STDOUT: %T.patt.loc12_7.2 => constants.%T.patt.4c7 -// CHECK:STDOUT: %T.loc12_7.1 => constants.%T.9b7 -// CHECK:STDOUT: %HoldsType.loc12_46.1 => constants.%HoldsType.881 -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.d35 +// CHECK:STDOUT: specific @F(constants.%T.225) { +// CHECK:STDOUT: %T.patt.loc12_7.2 => constants.%T.patt.c49 +// CHECK:STDOUT: %T.loc12_7.1 => constants.%T.225 +// CHECK:STDOUT: %HoldsType.loc12_46.1 => constants.%HoldsType.b96 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.a68 // CHECK:STDOUT: %x.param_patt.loc12_33.2 => constants.%x.param_patt // CHECK:STDOUT: %x.patt.loc12_33.2 => constants.%x.patt // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HoldsType(constants.%array) { -// CHECK:STDOUT: %T.patt.loc4_18.2 => constants.%T.patt.4c7 +// CHECK:STDOUT: %T.patt.loc4_18.2 => constants.%T.patt.c49 // CHECK:STDOUT: %T.loc4_18.1 => constants.%array // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/eval/aggregates.carbon b/toolchain/check/testdata/eval/aggregates.carbon index 2c5cecdef602..da3edfeaf50d 100644 --- a/toolchain/check/testdata/eval/aggregates.carbon +++ b/toolchain/check/testdata/eval/aggregates.carbon @@ -57,11 +57,12 @@ fn G(generic N: i32) { // CHECK:STDOUT: --- basics.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.b59: %tuple.type.24b = tuple_value (%i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.94e: %tuple.type.693 = tuple_value (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e55: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %pattern_type.394: type = pattern_type %tuple.type.e55 [concrete] // CHECK:STDOUT: %tuple_copy.patt: %pattern_type.394 = ref_binding_pattern tuple_copy [concrete] @@ -156,7 +157,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %.loc4_26.1: type = splice_block %.loc4_26.3 [concrete = constants.%tuple.type.e55] { // CHECK:STDOUT: %i32.loc4_18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc4_23: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc4_26.2: %tuple.type.24b = tuple_literal (%i32.loc4_18, %i32.loc4_23) [concrete = constants.%tuple.b59] +// CHECK:STDOUT: %.loc4_26.2: %tuple.type.693 = tuple_literal (%i32.loc4_18, %i32.loc4_23) [concrete = constants.%tuple.94e] // CHECK:STDOUT: %.loc4_26.3: type = converted %.loc4_26.2, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: } // CHECK:STDOUT: %tuple_copy: ref %tuple.type.e55 = wrapper_binding tuple_copy, %tuple_copy.var [concrete = %tuple_copy.var] @@ -207,7 +208,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %.loc4_35.1: %tuple.type.f94 = tuple_literal (%int_1.loc4, %int_2.loc4) [concrete = constants.%tuple.ad8] // CHECK:STDOUT: %i32.loc4_41: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc4_46: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc4_49.1: %tuple.type.24b = tuple_literal (%i32.loc4_41, %i32.loc4_46) [concrete = constants.%tuple.b59] +// CHECK:STDOUT: %.loc4_49.1: %tuple.type.693 = tuple_literal (%i32.loc4_41, %i32.loc4_46) [concrete = constants.%tuple.94e] // CHECK:STDOUT: %.loc4_49.2: type = converted %.loc4_49.1, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: %impl.elem0.loc4_35.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc4_35.1: = bound_method %int_1.loc4, %impl.elem0.loc4_35.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] @@ -357,6 +358,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: --- fail_todo_array_temporary.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] @@ -495,6 +497,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: --- symbolic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %pattern_type.429: type = pattern_type %Destroy.type [concrete] // CHECK:STDOUT: %T.patt.351: %pattern_type.429 = symbolic_binding_pattern T, 0 [symbolic] @@ -503,8 +506,8 @@ fn G(generic N: i32) { // CHECK:STDOUT: %T.as_type.700: type = facet_access_type %T.0e7 [symbolic] // CHECK:STDOUT: %ptr.b37: type = ptr_type %T.as_type.700 [symbolic] // CHECK:STDOUT: %const: type = const_type %T.as_type.700 [symbolic] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%ptr.b37, %const) [symbolic] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%ptr.b37, %const) [symbolic] // CHECK:STDOUT: %tuple.type.cd5: type = tuple_type (%ptr.b37, %const) [symbolic] // CHECK:STDOUT: %require_complete.3b6: = require_complete_type %tuple.type.cd5 [symbolic] // CHECK:STDOUT: %pattern_type.02b: type = pattern_type %tuple.type.cd5 [symbolic] @@ -612,7 +615,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %T.as_type.loc6_19.2: type = facet_access_type %T.loc4_15.1 [symbolic = %T.as_type.loc6_19.2 (constants.%T.as_type.700)] // CHECK:STDOUT: %ptr.loc6_19.2: type = ptr_type %T.as_type.loc6_19.2 [symbolic = %ptr.loc6_19.2 (constants.%ptr.b37)] // CHECK:STDOUT: %const.loc6_22.2: type = const_type %T.as_type.loc6_19.2 [symbolic = %const.loc6_22.2 (constants.%const)] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%ptr.loc6_19.2, %const.loc6_22.2) [symbolic = %tuple (constants.%tuple)] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%ptr.loc6_19.2, %const.loc6_22.2) [symbolic = %tuple (constants.%tuple)] // CHECK:STDOUT: %tuple.type: type = tuple_type (%ptr.loc6_19.2, %const.loc6_22.2) [symbolic = %tuple.type (constants.%tuple.type.cd5)] // CHECK:STDOUT: %require_complete.loc6: = require_complete_type %tuple.type [symbolic = %require_complete.loc6 (constants.%require_complete.3b6)] // CHECK:STDOUT: %pattern_type.loc6: type = pattern_type %tuple.type [symbolic = %pattern_type.loc6 (constants.%pattern_type.02b)] @@ -689,7 +692,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %T.as_type.loc6_22: type = facet_access_type %T.ref.loc6_28 [symbolic = %T.as_type.loc6_19.2 (constants.%T.as_type.700)] // CHECK:STDOUT: %.loc6_22: type = converted %T.ref.loc6_28, %T.as_type.loc6_22 [symbolic = %T.as_type.loc6_19.2 (constants.%T.as_type.700)] // CHECK:STDOUT: %const.loc6_22.1: type = const_type %.loc6_22 [symbolic = %const.loc6_22.2 (constants.%const)] -// CHECK:STDOUT: %.loc6_29.2: %tuple.type.24b = tuple_literal (%ptr.loc6_19.1, %const.loc6_22.1) [symbolic = %tuple (constants.%tuple)] +// CHECK:STDOUT: %.loc6_29.2: %tuple.type.693 = tuple_literal (%ptr.loc6_19.1, %const.loc6_22.1) [symbolic = %tuple (constants.%tuple)] // CHECK:STDOUT: %.loc6_29.3: type = converted %.loc6_29.2, constants.%tuple.type.cd5 [symbolic = %tuple.type (constants.%tuple.type.cd5)] // CHECK:STDOUT: } // CHECK:STDOUT: %u: ref @F.%tuple.type (%tuple.type.cd5) = wrapper_binding u, %u.var diff --git a/toolchain/check/testdata/eval/binding.carbon b/toolchain/check/testdata/eval/binding.carbon index 4315f55789bf..fea7ab8ff21b 100644 --- a/toolchain/check/testdata/eval/binding.carbon +++ b/toolchain/check/testdata/eval/binding.carbon @@ -69,6 +69,7 @@ let n: array(i32, G()) = (1, 2, 3); // CHECK:STDOUT: --- local.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] diff --git a/toolchain/check/testdata/eval/branch.carbon b/toolchain/check/testdata/eval/branch.carbon index 673da55460c2..027e07bb46d8 100644 --- a/toolchain/check/testdata/eval/branch.carbon +++ b/toolchain/check/testdata/eval/branch.carbon @@ -67,6 +67,7 @@ var b: if false then A else B = MakeB(); // CHECK:STDOUT: --- if_statement.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] @@ -135,6 +136,7 @@ var b: if false then A else B = MakeB(); // CHECK:STDOUT: --- if_expression_in_eval_fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] diff --git a/toolchain/check/testdata/eval/call.carbon b/toolchain/check/testdata/eval/call.carbon index 474853cc70d8..1ad352914e28 100644 --- a/toolchain/check/testdata/eval/call.carbon +++ b/toolchain/check/testdata/eval/call.carbon @@ -172,6 +172,7 @@ fn H() { // CHECK:STDOUT: --- fail_todo_dependent_call_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -181,8 +182,7 @@ fn H() { // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %X.patt: %pattern_type.6b6 = symbolic_binding_pattern X, 0 [symbolic] // CHECK:STDOUT: %X: %i32 = symbolic_binding X, 0 [symbolic] // CHECK:STDOUT: %UseFGenerically.type: type = fn_type @UseFGenerically [concrete] @@ -270,7 +270,7 @@ fn H() { // CHECK:STDOUT: %X.patt.loc10_29.1: %pattern_type.6b6 = symbolic_binding_pattern X, 0 [symbolic = %X.patt.loc10_29.2 (constants.%X.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %X.loc10_29.2: %i32 = symbolic_binding X, 0 [symbolic = %X.loc10_29.1 (constants.%X)] @@ -390,6 +390,7 @@ fn H() { // CHECK:STDOUT: --- return_in_place_discarded.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -432,11 +433,12 @@ fn H() { // CHECK:STDOUT: --- return_in_place_init.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.ff9: type = tuple_type (type, type, type) [concrete] -// CHECK:STDOUT: %tuple.04d: %tuple.type.ff9 = tuple_value (%i32, %i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.531: type = tuple_type (type, type, type) [concrete] +// CHECK:STDOUT: %tuple.276: %tuple.type.531 = tuple_value (%i32, %i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.555: type = tuple_type (%i32, %i32, %i32) [concrete] // CHECK:STDOUT: %pattern_type.777: type = pattern_type %tuple.type.555 [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] @@ -463,7 +465,7 @@ fn H() { // CHECK:STDOUT: %i32.loc8_18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc8_23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc8_28: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc8_31.2: %tuple.type.ff9 = tuple_literal (%i32.loc8_18, %i32.loc8_23, %i32.loc8_28) [concrete = constants.%tuple.04d] +// CHECK:STDOUT: %.loc8_31.2: %tuple.type.531 = tuple_literal (%i32.loc8_18, %i32.loc8_23, %i32.loc8_28) [concrete = constants.%tuple.276] // CHECK:STDOUT: %.loc8_31.3: type = converted %.loc8_31.2, constants.%tuple.type.555 [concrete = constants.%tuple.type.555] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %tuple.type.555 = wrapper_binding a, %a.var @@ -491,11 +493,12 @@ fn H() { // CHECK:STDOUT: --- fail_todo_return_in_place_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.ff9: type = tuple_type (type, type, type) [concrete] -// CHECK:STDOUT: %tuple.04d: %tuple.type.ff9 = tuple_value (%i32, %i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.531: type = tuple_type (type, type, type) [concrete] +// CHECK:STDOUT: %tuple.276: %tuple.type.531 = tuple_value (%i32, %i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.555: type = tuple_type (%i32, %i32, %i32) [concrete] // CHECK:STDOUT: %.718: Core.Form = init_form %tuple.type.555 [concrete] // CHECK:STDOUT: %pattern_type.777: type = pattern_type %tuple.type.555 [concrete] @@ -551,7 +554,7 @@ fn H() { // CHECK:STDOUT: %i32.loc5_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc5_22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc5_27: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc5_30.1: %tuple.type.ff9 = tuple_literal (%i32.loc5_17, %i32.loc5_22, %i32.loc5_27) [concrete = constants.%tuple.04d] +// CHECK:STDOUT: %.loc5_30.1: %tuple.type.531 = tuple_literal (%i32.loc5_17, %i32.loc5_22, %i32.loc5_27) [concrete = constants.%tuple.276] // CHECK:STDOUT: %.loc5_30.2: type = converted %.loc5_30.1, constants.%tuple.type.555 [concrete = constants.%tuple.type.555] // CHECK:STDOUT: %.loc5_30.3: Core.Form = init_form %.loc5_30.2 [concrete = constants.%.718] // CHECK:STDOUT: %return.param: ref %tuple.type.555 = out_param call_param0 @@ -626,6 +629,7 @@ fn H() { // CHECK:STDOUT: --- return_in_place_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %.a44: Core.Form = init_form %C [concrete] diff --git a/toolchain/check/testdata/eval/symbolic.carbon b/toolchain/check/testdata/eval/symbolic.carbon index c7622ce3482f..8e2fed938f64 100644 --- a/toolchain/check/testdata/eval/symbolic.carbon +++ b/toolchain/check/testdata/eval/symbolic.carbon @@ -71,6 +71,7 @@ fn F() { // CHECK:STDOUT: --- dependent_symbolic_instruction.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %Z.impl_witness: = impl_witness @empty_struct_type.as.Z.impl.%Z.impl_witness_table [concrete] @@ -80,10 +81,10 @@ fn F() { // CHECK:STDOUT: %U.013: %Z.type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %U.as_type.ff1: type = facet_access_type %U.013 [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness imports.%Copy.impl_witness_table.7b6 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.f3e: = impl_witness imports.%Copy.impl_witness_table.aa5 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.f3e) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.571: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.39e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.571, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.bound.05d: = bound_method %U.as_type.ff1, %type.as.Copy.impl.Op [symbolic] @@ -92,7 +93,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.9c3: %type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.7b6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.aa5 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @E(%U.loc6_20.2: %Z.type) { @@ -107,7 +108,7 @@ fn F() { // CHECK:STDOUT: %U.ref: %Z.type = name_ref U, %U.loc6_20.2 [symbolic = %U.loc6_20.1 (constants.%U.013)] // CHECK:STDOUT: %U.as_type.loc11_11.1: type = facet_access_type %U.ref [symbolic = %U.as_type.loc11_11.2 (constants.%U.as_type.ff1)] // CHECK:STDOUT: %.loc11: type = converted %U.ref, %U.as_type.loc11_11.1 [symbolic = %U.as_type.loc11_11.2 (constants.%U.as_type.ff1)] -// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.39e = impl_witness_access constants.%Copy.impl_witness.f3e, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc11, %impl.elem0 [symbolic = %type.as.Copy.impl.Op.bound (constants.%type.as.Copy.impl.Op.bound.05d)] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%.loc11) [symbolic = %U.as_type.loc11_11.2 (constants.%U.as_type.ff1)] // CHECK:STDOUT: return %type.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/facet/access.carbon b/toolchain/check/testdata/facet/access.carbon index 2c6b3d2183dc..6f67b53db49c 100644 --- a/toolchain/check/testdata/facet/access.carbon +++ b/toolchain/check/testdata/facet/access.carbon @@ -477,6 +477,7 @@ fn F(generic T: Z where C impls NY(.Self)) -> C.(Y(T).Y1) { // CHECK:STDOUT: --- access_assoc_fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] @@ -524,6 +525,7 @@ fn F(generic T: Z where C impls NY(.Self)) -> C.(Y(T).Y1) { // CHECK:STDOUT: --- assoc_fn_using_self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.WithSelf.%I.WithSelf.Make.decl [concrete] @@ -580,11 +582,11 @@ fn F(generic T: Z where C impls NY(.Self)) -> C.(Y(T).Y1) { // CHECK:STDOUT: --- access_assoc_method.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.WithSelf.%I.WithSelf.Copy.decl [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.6cb: type = pattern_type %I.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.6cb = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %I.type = symbolic_binding T, 0 [symbolic] @@ -618,7 +620,7 @@ fn F(generic T: Z where C impls NY(.Self)) -> C.(Y(T).Y1) { // CHECK:STDOUT: %.loc9_23.3: type = converted %T.ref.loc9_23, %T.as_type.loc9_23 [symbolic = %T.as_type.loc9_17.1 (constants.%T.as_type)] // CHECK:STDOUT: %.loc9_23.4: Core.Form = init_form %.loc9_23.3 [symbolic = %.loc9_23.2 (constants.%.0ce)] // CHECK:STDOUT: %.loc9_11: type = splice_block %I.ref [concrete = constants.%I.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// 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.loc9_9.2: %I.type = symbolic_binding T, 0 [symbolic = %T.loc9_9.1 (constants.%T)] @@ -684,6 +686,7 @@ fn F(generic T: Z where C impls NY(.Self)) -> C.(Y(T).Y1) { // CHECK:STDOUT: --- access_selfless_method.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] @@ -736,6 +739,7 @@ fn F(generic T: Z where C impls NY(.Self)) -> C.(Y(T).Y1) { // CHECK:STDOUT: --- access_assoc_method_indirect.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.WithSelf.%I.WithSelf.Copy.decl [concrete] diff --git a/toolchain/check/testdata/facet/aggregate_through_access.carbon b/toolchain/check/testdata/facet/aggregate_through_access.carbon index 280e30e9c06b..f9292742f8da 100644 --- a/toolchain/check/testdata/facet/aggregate_through_access.carbon +++ b/toolchain/check/testdata/facet/aggregate_through_access.carbon @@ -32,7 +32,7 @@ interface Z { let X: type; } -// CHECK:STDERR: fail_todo_struct_access_through_witness.carbon:[[@LINE+4]]:43: error: type `type` does not support qualified expressions [QualifiedExprUnsupported] +// CHECK:STDERR: fail_todo_struct_access_through_witness.carbon:[[@LINE+4]]:43: error: member name `t` not found [MemberNameNotFound] // CHECK:STDERR: fn F(generic T: Z where .X = {.t: ()}) -> T.X.t { // CHECK:STDERR: ^~~~~ // CHECK:STDERR: diff --git a/toolchain/check/testdata/facet/call_combined_impl_witness.carbon b/toolchain/check/testdata/facet/call_combined_impl_witness.carbon index 4994de85715c..d7366b42e776 100644 --- a/toolchain/check/testdata/facet/call_combined_impl_witness.carbon +++ b/toolchain/check/testdata/facet/call_combined_impl_witness.carbon @@ -48,6 +48,7 @@ fn F() { // CHECK:STDOUT: --- call_combined_impl_witness.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Empty.type: type = facet_type <@Empty> [concrete] // CHECK:STDOUT: %Self.d44: %Empty.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] @@ -83,15 +84,14 @@ fn F() { // CHECK:STDOUT: %B.facet.a13: %B.type = facet_value %C, (%B.impl_witness) [concrete] // CHECK:STDOUT: %B.WithSelf.BB.type.77e: type = fn_type @B.WithSelf.BB, @B.WithSelf(%B.facet.a13) [concrete] // CHECK:STDOUT: %B.WithSelf.BB.7f0: %B.WithSelf.BB.type.77e = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.36e: = bound_method %A.type, %type.as.BitAndWith.impl.Op [concrete] @@ -193,14 +193,14 @@ fn F() { // CHECK:STDOUT: %t.patt.loc33_25.1: @G.%pattern_type (%pattern_type.653) = wrapper_binding_pattern t, %t.param_patt.loc33_25.1 [symbolic = %t.patt.loc33_25.2 (constants.%t.patt.00d)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc33_19.1: type = splice_block %.loc33_19.3 [concrete = constants.%facet_type.22e] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %A.ref.loc33: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %Empty.ref: type = name_ref Empty, file.%Empty.decl [concrete = constants.%Empty.type] -// CHECK:STDOUT: %impl.elem0.loc33_11: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc33_11: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc33_11: = bound_method %A.ref.loc33, %impl.elem0.loc33_11 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.36e] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc33_11: init type = call %bound_method.loc33_11(%A.ref.loc33, %Empty.ref) [concrete = constants.%facet_type.b34] // CHECK:STDOUT: %B.ref.loc33: type = name_ref B, file.%B.decl [concrete = constants.%B.type] -// CHECK:STDOUT: %impl.elem0.loc33_19: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc33_19: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc33_19: = bound_method %type.as.BitAndWith.impl.Op.call.loc33_11, %impl.elem0.loc33_19 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.188] // CHECK:STDOUT: %.loc33_11.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc33_11 [concrete = constants.%facet_type.b34] // CHECK:STDOUT: %.loc33_11.2: type = converted %type.as.BitAndWith.impl.Op.call.loc33_11, %.loc33_11.1 [concrete = constants.%facet_type.b34] diff --git a/toolchain/check/testdata/facet/convert_class_type_to_facet_type.carbon b/toolchain/check/testdata/facet/convert_class_type_to_facet_type.carbon index 381beda63585..312421ac638c 100644 --- a/toolchain/check/testdata/facet/convert_class_type_to_facet_type.carbon +++ b/toolchain/check/testdata/facet/convert_class_type_to_facet_type.carbon @@ -26,6 +26,7 @@ fn F() { // CHECK:STDOUT: --- convert_class_type_to_facet_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete] // CHECK:STDOUT: %Self: %Animal.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Goat: type = class_type @Goat [concrete] @@ -34,8 +35,7 @@ fn F() { // CHECK:STDOUT: %.629: = impl_self_witness %Goat, @Animal [concrete] // CHECK:STDOUT: %Animal.impl_witness: = impl_witness @Goat.as.Animal.impl.%Animal.impl_witness_table [concrete] // CHECK:STDOUT: %Animal.facet: %Animal.type = facet_value %Goat, (%Animal.impl_witness) [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %Animal.type [concrete] // CHECK:STDOUT: %A.patt: %pattern_type = symbolic_binding_pattern A, 0 [symbolic] // CHECK:STDOUT: %A: %Animal.type = symbolic_binding A, 0 [symbolic] @@ -74,7 +74,7 @@ fn F() { // CHECK:STDOUT: %A.patt.loc20_31.1: %pattern_type = symbolic_binding_pattern A, 0 [symbolic = %A.patt.loc20_31.2 (constants.%A.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc20: type = splice_block %Animal.ref [concrete = constants.%Animal.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } // CHECK:STDOUT: %A.loc20_31.2: %Animal.type = symbolic_binding A, 0 [symbolic = %A.loc20_31.1 (constants.%A)] diff --git a/toolchain/check/testdata/facet/convert_class_type_to_generic_facet_value.carbon b/toolchain/check/testdata/facet/convert_class_type_to_generic_facet_value.carbon index 7c6f1583405b..0834602e1f46 100644 --- a/toolchain/check/testdata/facet/convert_class_type_to_generic_facet_value.carbon +++ b/toolchain/check/testdata/facet/convert_class_type_to_generic_facet_value.carbon @@ -65,10 +65,10 @@ fn G() { // CHECK:STDOUT: --- generic_facet_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %Scalar.patt: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %Scalar.patt: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic] // CHECK:STDOUT: %Scalar: type = symbolic_binding Scalar, 0 [symbolic] // CHECK:STDOUT: %Generic.type.30d: type = generic_interface_type @Generic [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -96,7 +96,7 @@ fn G() { // CHECK:STDOUT: %Generic.facet: %Generic.type.b40 = facet_value %ImplsGeneric, (%Generic.impl_witness) [concrete] // CHECK:STDOUT: %Generic.WithSelf.F.type.7ef: type = fn_type @Generic.WithSelf.F, @Generic.WithSelf(%GenericParam, %Generic.facet) [concrete] // CHECK:STDOUT: %Generic.WithSelf.F.e1b: %Generic.WithSelf.F.type.7ef = struct_value () [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Generic.type.ee14e9.2: type = facet_type <@Generic, @Generic(%T)> [symbolic] // CHECK:STDOUT: %pattern_type.4e0: type = pattern_type %Generic.type.ee14e9.2 [symbolic] @@ -140,10 +140,10 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Generic.decl: %Generic.type.30d = interface_decl @Generic [concrete = constants.%Generic.generic] { -// CHECK:STDOUT: %Scalar.patt.loc4_25.1: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc4_25.2 (constants.%Scalar.patt)] +// CHECK:STDOUT: %Scalar.patt.loc4_25.1: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc4_25.2 (constants.%Scalar.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_27.1: type = splice_block %.loc4_27.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_27.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %Scalar.loc4_25.2: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc4_25.1 (constants.%Scalar)] @@ -158,16 +158,16 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %.loc11: = impl_self_witness @ImplsGeneric.as.Generic.impl.%ImplsGeneric.ref, @Generic, @Generic(constants.%GenericParam) [concrete = constants.%.e53] // CHECK:STDOUT: %CallGenericMethod.decl: %CallGenericMethod.type = fn_decl @CallGenericMethod [concrete = constants.%CallGenericMethod] { -// CHECK:STDOUT: %T.patt.loc15_31.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_31.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_31.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_31.2 (constants.%T.patt)] // CHECK:STDOUT: %U.patt.loc15_55.1: @CallGenericMethod.%pattern_type (%pattern_type.4e0) = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc15_55.2 (constants.%U.patt.8a63c8.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_33.1: type = splice_block %.loc15_33.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc15_31: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc15_31: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_33.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_31.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_31.1 (constants.%T)] // CHECK:STDOUT: %.loc15_66: type = splice_block %Generic.type.loc15_66.2 [symbolic = %Generic.type.loc15_66.1 (constants.%Generic.type.ee14e9.2)] { -// CHECK:STDOUT: %.Self.frozen.loc15_55: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc15_55: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Generic.ref: %Generic.type.30d = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc15_31.2 [symbolic = %T.loc15_31.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc15_66.2: type = facet_type <@Generic, @Generic(constants.%T)> [symbolic = %Generic.type.loc15_66.1 (constants.%Generic.type.ee14e9.2)] @@ -176,16 +176,16 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {} {} // CHECK:STDOUT: %PassThroughToGenericMethod.decl: %PassThroughToGenericMethod.type = fn_decl @PassThroughToGenericMethod [concrete = constants.%PassThroughToGenericMethod] { -// CHECK:STDOUT: %T.patt.loc21_40.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc21_40.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc21_40.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc21_40.2 (constants.%T.patt)] // CHECK:STDOUT: %U.patt.loc21_57.1: @PassThroughToGenericMethod.%pattern_type (%pattern_type.4e0) = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc21_57.2 (constants.%U.patt.8a63c8.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc21_42.1: type = splice_block %.loc21_42.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc21_40: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc21_40: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc21_42.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc21_40.2: type = symbolic_binding T, 0 [symbolic = %T.loc21_40.1 (constants.%T)] // CHECK:STDOUT: %.loc21_68: type = splice_block %Generic.type.loc21_68.2 [symbolic = %Generic.type.loc21_68.1 (constants.%Generic.type.ee14e9.2)] { -// CHECK:STDOUT: %.Self.frozen.loc21_57: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc21_57: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Generic.ref: %Generic.type.30d = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %T.ref.loc21: type = name_ref T, %T.loc21_40.2 [symbolic = %T.loc21_40.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc21_68.2: type = facet_type <@Generic, @Generic(constants.%T)> [symbolic = %Generic.type.loc21_68.1 (constants.%Generic.type.ee14e9.2)] @@ -196,7 +196,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Generic(%Scalar.loc4_25.2: type) { -// CHECK:STDOUT: %Scalar.patt.loc4_25.2: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc4_25.2 (constants.%Scalar.patt)] +// CHECK:STDOUT: %Scalar.patt.loc4_25.2: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc4_25.2 (constants.%Scalar.patt)] // CHECK:STDOUT: %Scalar.loc4_25.1: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc4_25.1 (constants.%Scalar)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -257,7 +257,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @CallGenericMethod(%T.loc15_31.2: type, %U.loc15_55.2: @CallGenericMethod.%Generic.type.loc15_66.1 (%Generic.type.ee14e9.2)) { -// CHECK:STDOUT: %T.patt.loc15_31.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_31.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_31.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_31.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc15_31.1: type = symbolic_binding T, 0 [symbolic = %T.loc15_31.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc15_66.1: type = facet_type <@Generic, @Generic(%T.loc15_31.1)> [symbolic = %Generic.type.loc15_66.1 (constants.%Generic.type.ee14e9.2)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Generic.type.loc15_66.1 [symbolic = %pattern_type (constants.%pattern_type.4e0)] @@ -285,7 +285,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @PassThroughToGenericMethod(%T.loc21_40.2: type, %U.loc21_57.2: @PassThroughToGenericMethod.%Generic.type.loc21_68.1 (%Generic.type.ee14e9.2)) { -// CHECK:STDOUT: %T.patt.loc21_40.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc21_40.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc21_40.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc21_40.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc21_40.1: type = symbolic_binding T, 0 [symbolic = %T.loc21_40.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc21_68.1: type = facet_type <@Generic, @Generic(%T.loc21_40.1)> [symbolic = %Generic.type.loc21_68.1 (constants.%Generic.type.ee14e9.2)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Generic.type.loc21_68.1 [symbolic = %pattern_type (constants.%pattern_type.4e0)] @@ -420,10 +420,10 @@ fn G() { // CHECK:STDOUT: --- generic_facet_type_from_implicit_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %Scalar.patt: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %Scalar.patt: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic] // CHECK:STDOUT: %Scalar: type = symbolic_binding Scalar, 0 [symbolic] // CHECK:STDOUT: %Generic.type.30d: type = generic_interface_type @Generic [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -451,7 +451,7 @@ fn G() { // CHECK:STDOUT: %Generic.facet: %Generic.type.b40 = facet_value %ImplsGeneric, (%Generic.impl_witness) [concrete] // CHECK:STDOUT: %Generic.WithSelf.F.type.7ef: type = fn_type @Generic.WithSelf.F, @Generic.WithSelf(%GenericParam, %Generic.facet) [concrete] // CHECK:STDOUT: %Generic.WithSelf.F.e1b: %Generic.WithSelf.F.type.7ef = struct_value () [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Generic.type.ee14e9.2: type = facet_type <@Generic, @Generic(%T)> [symbolic] // CHECK:STDOUT: %pattern_type.4e0: type = pattern_type %Generic.type.ee14e9.2 [symbolic] @@ -500,10 +500,10 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Generic.decl: %Generic.type.30d = interface_decl @Generic [concrete = constants.%Generic.generic] { -// CHECK:STDOUT: %Scalar.patt.loc4_25.1: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc4_25.2 (constants.%Scalar.patt)] +// CHECK:STDOUT: %Scalar.patt.loc4_25.1: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc4_25.2 (constants.%Scalar.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_27.1: type = splice_block %.loc4_27.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_27.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %Scalar.loc4_25.2: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc4_25.1 (constants.%Scalar)] @@ -518,18 +518,18 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %.loc11: = impl_self_witness @ImplsGeneric.as.Generic.impl.%ImplsGeneric.ref, @Generic, @Generic(constants.%GenericParam) [concrete = constants.%.e53] // CHECK:STDOUT: %CallGenericMethod.decl: %CallGenericMethod.type = fn_decl @CallGenericMethod [concrete = constants.%CallGenericMethod] { -// CHECK:STDOUT: %T.patt.loc15_23.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_23.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_23.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_23.2 (constants.%T.patt)] // CHECK:STDOUT: %U.patt.loc15_47.1: @CallGenericMethod.%pattern_type.loc15_47 (%pattern_type.4e0) = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc15_47.2 (constants.%U.patt.8a6)] // CHECK:STDOUT: %t.param_patt.loc15_69.1: @CallGenericMethod.%pattern_type.loc15_69 (%pattern_type.51d) = value_param_pattern [symbolic = %t.param_patt.loc15_69.2 (constants.%t.param_patt.513)] // CHECK:STDOUT: %t.patt.loc15_69.1: @CallGenericMethod.%pattern_type.loc15_69 (%pattern_type.51d) = wrapper_binding_pattern t, %t.param_patt.loc15_69.1 [symbolic = %t.patt.loc15_69.2 (constants.%t.patt.c64)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_25.1: type = splice_block %.loc15_25.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc15_23: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc15_23: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_25.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_23.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_23.1 (constants.%T)] // CHECK:STDOUT: %.loc15_58: type = splice_block %Generic.type.loc15_58.2 [symbolic = %Generic.type.loc15_58.1 (constants.%Generic.type.ee14e9.2)] { -// CHECK:STDOUT: %.Self.frozen.loc15_47: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc15_47: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Generic.ref: %Generic.type.30d = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %T.ref.loc15_57: type = name_ref T, %T.loc15_23.2 [symbolic = %T.loc15_23.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc15_58.2: type = facet_type <@Generic, @Generic(constants.%T)> [symbolic = %Generic.type.loc15_58.1 (constants.%Generic.type.ee14e9.2)] @@ -543,7 +543,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Generic(%Scalar.loc4_25.2: type) { -// CHECK:STDOUT: %Scalar.patt.loc4_25.2: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc4_25.2 (constants.%Scalar.patt)] +// CHECK:STDOUT: %Scalar.patt.loc4_25.2: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc4_25.2 (constants.%Scalar.patt)] // CHECK:STDOUT: %Scalar.loc4_25.1: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc4_25.1 (constants.%Scalar)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -604,7 +604,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @CallGenericMethod(%T.loc15_23.2: type, %U.loc15_47.2: @CallGenericMethod.%Generic.type.loc15_58.1 (%Generic.type.ee14e9.2)) { -// CHECK:STDOUT: %T.patt.loc15_23.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_23.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_23.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_23.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc15_23.1: type = symbolic_binding T, 0 [symbolic = %T.loc15_23.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc15_58.1: type = facet_type <@Generic, @Generic(%T.loc15_23.1)> [symbolic = %Generic.type.loc15_58.1 (constants.%Generic.type.ee14e9.2)] // CHECK:STDOUT: %pattern_type.loc15_47: type = pattern_type %Generic.type.loc15_58.1 [symbolic = %pattern_type.loc15_47 (constants.%pattern_type.4e0)] diff --git a/toolchain/check/testdata/facet/convert_class_value_to_facet_value_value.carbon b/toolchain/check/testdata/facet/convert_class_value_to_facet_value_value.carbon index 8566be319ec2..9ee81b7f4660 100644 --- a/toolchain/check/testdata/facet/convert_class_value_to_facet_value_value.carbon +++ b/toolchain/check/testdata/facet/convert_class_value_to_facet_value_value.carbon @@ -26,10 +26,10 @@ fn F() { // CHECK:STDOUT: --- convert_class_value_to_facet_value_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete] // CHECK:STDOUT: %Self.f00: %Animal.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.333: type = pattern_type %Animal.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.333 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %Animal.type = symbolic_binding T, 0 [symbolic] @@ -87,7 +87,7 @@ fn F() { // CHECK:STDOUT: %a.patt.loc17_34.1: @WalkAnimal.%pattern_type (%pattern_type.e90) = wrapper_binding_pattern a, %a.param_patt.loc17_34.1 [symbolic = %a.patt.loc17_34.2 (constants.%a.patt.feb)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17_18: type = splice_block %Animal.ref [concrete = constants.%Animal.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc17_16.2: %Animal.type = symbolic_binding T, 0 [symbolic = %T.loc17_16.1 (constants.%T)] diff --git a/toolchain/check/testdata/facet/convert_class_value_to_generic_facet_value_value.carbon b/toolchain/check/testdata/facet/convert_class_value_to_generic_facet_value_value.carbon index 33f8e8656565..e9b303bbd88a 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 @@ -97,10 +97,10 @@ fn B() { // CHECK:STDOUT: --- convert_class_value_to_generic_facet_value_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %Scalar.patt: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %Scalar.patt: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic] // CHECK:STDOUT: %Scalar: type = symbolic_binding Scalar, 0 [symbolic] // CHECK:STDOUT: %Generic.type.30d: type = generic_interface_type @Generic [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -128,7 +128,7 @@ fn B() { // CHECK:STDOUT: %Generic.facet: %Generic.type.b40 = facet_value %ImplsGeneric, (%Generic.impl_witness) [concrete] // CHECK:STDOUT: %Generic.WithSelf.F.type.7ef: type = fn_type @Generic.WithSelf.F, @Generic.WithSelf(%GenericParam, %Generic.facet) [concrete] // CHECK:STDOUT: %Generic.WithSelf.F.e1b: %Generic.WithSelf.F.type.7ef = struct_value () [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Generic.type.ee14e9.2: type = facet_type <@Generic, @Generic(%T)> [symbolic] // CHECK:STDOUT: %pattern_type.4e0: type = pattern_type %Generic.type.ee14e9.2 [symbolic] @@ -204,10 +204,10 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Generic.decl: %Generic.type.30d = interface_decl @Generic [concrete = constants.%Generic.generic] { -// CHECK:STDOUT: %Scalar.patt.loc4_25.1: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc4_25.2 (constants.%Scalar.patt)] +// CHECK:STDOUT: %Scalar.patt.loc4_25.1: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc4_25.2 (constants.%Scalar.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_27.1: type = splice_block %.loc4_27.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_27.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %Scalar.loc4_25.2: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc4_25.1 (constants.%Scalar)] @@ -222,7 +222,7 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: %.loc11: = impl_self_witness @ImplsGeneric.as.Generic.impl.%ImplsGeneric.ref, @Generic, @Generic(constants.%GenericParam) [concrete = constants.%.e53] // CHECK:STDOUT: %CallGenericMethod.decl: %CallGenericMethod.type = fn_decl @CallGenericMethod [concrete = constants.%CallGenericMethod] { -// CHECK:STDOUT: %T.patt.loc15_23.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_23.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_23.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_23.2 (constants.%T.patt)] // CHECK:STDOUT: %U.patt.loc15_32.1: @CallGenericMethod.%pattern_type.loc15_32 (%pattern_type.4e0) = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc15_32.2 (constants.%U.patt.8a6)] // CHECK:STDOUT: %a.param_patt.loc15_54.1: @CallGenericMethod.%pattern_type.loc15_54 (%pattern_type.70f) = value_param_pattern [symbolic = %a.param_patt.loc15_54.2 (constants.%a.param_patt.98a)] // CHECK:STDOUT: %a.patt.loc15_54.1: @CallGenericMethod.%pattern_type.loc15_54 (%pattern_type.70f) = wrapper_binding_pattern a, %a.param_patt.loc15_54.1 [symbolic = %a.patt.loc15_54.2 (constants.%a.patt.593)] @@ -230,12 +230,12 @@ fn B() { // CHECK:STDOUT: %s.patt.loc15_67.1: @CallGenericMethod.%pattern_type.loc15_67 (%pattern_type.51d) = wrapper_binding_pattern s, %s.param_patt.loc15_67.1 [symbolic = %s.patt.loc15_67.2 (constants.%s.patt.9d4)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_25.1: type = splice_block %.loc15_25.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc15_23: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc15_23: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_25.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_23.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_23.1 (constants.%T)] // CHECK:STDOUT: %.loc15_43: type = splice_block %Generic.type.loc15_43.2 [symbolic = %Generic.type.loc15_43.1 (constants.%Generic.type.ee14e9.2)] { -// CHECK:STDOUT: %.Self.frozen.loc15_32: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc15_32: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Generic.ref: %Generic.type.30d = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %T.ref.loc15_42: type = name_ref T, %T.loc15_23.2 [symbolic = %T.loc15_23.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc15_43.2: type = facet_type <@Generic, @Generic(constants.%T)> [symbolic = %Generic.type.loc15_43.1 (constants.%Generic.type.ee14e9.2)] @@ -256,7 +256,7 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Generic(%Scalar.loc4_25.2: type) { -// CHECK:STDOUT: %Scalar.patt.loc4_25.2: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc4_25.2 (constants.%Scalar.patt)] +// CHECK:STDOUT: %Scalar.patt.loc4_25.2: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc4_25.2 (constants.%Scalar.patt)] // CHECK:STDOUT: %Scalar.loc4_25.1: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc4_25.1 (constants.%Scalar)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -317,7 +317,7 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @CallGenericMethod(%T.loc15_23.2: type, %U.loc15_32.2: @CallGenericMethod.%Generic.type.loc15_43.1 (%Generic.type.ee14e9.2)) { -// CHECK:STDOUT: %T.patt.loc15_23.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_23.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_23.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_23.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc15_23.1: type = symbolic_binding T, 0 [symbolic = %T.loc15_23.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc15_43.1: type = facet_type <@Generic, @Generic(%T.loc15_23.1)> [symbolic = %Generic.type.loc15_43.1 (constants.%Generic.type.ee14e9.2)] // CHECK:STDOUT: %pattern_type.loc15_32: type = pattern_type %Generic.type.loc15_43.1 [symbolic = %pattern_type.loc15_32 (constants.%pattern_type.4e0)] @@ -517,12 +517,12 @@ fn B() { // CHECK:STDOUT: --- multiple_generic_params_one_fixed_one_deduced.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %V.patt: %pattern_type.98f = symbolic_binding_pattern V, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %V.patt: %pattern_type.9a5 = symbolic_binding_pattern V, 0 [symbolic] // CHECK:STDOUT: %V: type = symbolic_binding V, 0 [symbolic] -// CHECK:STDOUT: %W.patt: %pattern_type.98f = symbolic_binding_pattern W, 1 [symbolic] +// CHECK:STDOUT: %W.patt: %pattern_type.9a5 = symbolic_binding_pattern W, 1 [symbolic] // CHECK:STDOUT: %W: type = symbolic_binding W, 1 [symbolic] // CHECK:STDOUT: %I.type.335: type = generic_interface_type @I [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -532,7 +532,7 @@ fn B() { // 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: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt.3a0: %pattern_type.9a5 = 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] // CHECK:STDOUT: %I.type.269: type = facet_type <@I, @I(%T.67d, %empty_tuple.type)> [symbolic] @@ -591,23 +591,23 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: %I.type.335 = interface_decl @I [concrete = constants.%I.generic] { -// CHECK:STDOUT: %V.patt.loc3_14.1: %pattern_type.98f = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc3_14.2 (constants.%V.patt)] -// CHECK:STDOUT: %W.patt.loc3_23.1: %pattern_type.98f = symbolic_binding_pattern W, 1 [symbolic = %W.patt.loc3_23.2 (constants.%W.patt)] +// CHECK:STDOUT: %V.patt.loc3_14.1: %pattern_type.9a5 = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc3_14.2 (constants.%V.patt)] +// CHECK:STDOUT: %W.patt.loc3_23.1: %pattern_type.9a5 = symbolic_binding_pattern W, 1 [symbolic = %W.patt.loc3_23.2 (constants.%W.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_16.1: type = splice_block %.loc3_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc3_14: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc3_14: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc3_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %V.loc3_14.2: type = symbolic_binding V, 0 [symbolic = %V.loc3_14.1 (constants.%V)] // CHECK:STDOUT: %.loc3_25.1: type = splice_block %.loc3_25.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc3_23: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc3_23: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc3_25.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %W.loc3_23.2: type = symbolic_binding W, 1 [symbolic = %W.loc3_23.1 (constants.%W)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: impl_decl @C.as.I.impl [concrete] { -// CHECK:STDOUT: %T.patt.loc7_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc7_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref: %I.type.335 = name_ref I, file.%I.decl [concrete = constants.%I.generic] @@ -616,7 +616,7 @@ fn B() { // CHECK:STDOUT: %.loc7_35: type = converted %.loc7_34, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %I.type.loc7_35.1: type = facet_type <@I, @I(constants.%T.67d, constants.%empty_tuple.type)> [symbolic = %I.type.loc7_35.2 (constants.%I.type.269)] // CHECK:STDOUT: %.loc7_17.1: type = splice_block %.loc7_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc7_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_15.2 (constants.%T.67d)] @@ -628,7 +628,7 @@ fn B() { // CHECK:STDOUT: %t.patt.loc9_28.1: @A.%pattern_type (%pattern_type.d7b) = wrapper_binding_pattern t, %t.param_patt.loc9_28.1 [symbolic = %t.patt.loc9_28.2 (constants.%t.patt.05d)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_17.1: type = splice_block %I.type [concrete = constants.%I.type.722] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %I.ref: %I.type.335 = name_ref I, file.%I.decl [concrete = constants.%I.generic] // CHECK:STDOUT: %.loc9_12: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc9_16: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -649,9 +649,9 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @I(%V.loc3_14.2: type, %W.loc3_23.2: type) { -// CHECK:STDOUT: %V.patt.loc3_14.2: %pattern_type.98f = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc3_14.2 (constants.%V.patt)] +// CHECK:STDOUT: %V.patt.loc3_14.2: %pattern_type.9a5 = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc3_14.2 (constants.%V.patt)] // CHECK:STDOUT: %V.loc3_14.1: type = symbolic_binding V, 0 [symbolic = %V.loc3_14.1 (constants.%V)] -// CHECK:STDOUT: %W.patt.loc3_23.2: %pattern_type.98f = symbolic_binding_pattern W, 1 [symbolic = %W.patt.loc3_23.2 (constants.%W.patt)] +// CHECK:STDOUT: %W.patt.loc3_23.2: %pattern_type.9a5 = symbolic_binding_pattern W, 1 [symbolic = %W.patt.loc3_23.2 (constants.%W.patt)] // CHECK:STDOUT: %W.loc3_23.1: type = symbolic_binding W, 1 [symbolic = %W.loc3_23.1 (constants.%W)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -671,7 +671,7 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @C.as.I.impl(%T.loc7_15.1: type) { -// CHECK:STDOUT: %T.patt.loc7_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc7_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc7_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_15.2 (constants.%T.67d)] // CHECK:STDOUT: %I.type.loc7_35.2: type = facet_type <@I, @I(%T.loc7_15.2, constants.%empty_tuple.type)> [symbolic = %I.type.loc7_35.2 (constants.%I.type.269)] // CHECK:STDOUT: %.loc7_37: = impl_self_witness constants.%C, @I, @I(%T.loc7_15.2, constants.%empty_tuple.type) [symbolic = %.loc7_37 (constants.%.78e)] @@ -763,7 +763,7 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C.as.I.impl(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc7_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc7_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc7_15.2 => constants.%T.67d // CHECK:STDOUT: %I.type.loc7_35.2 => constants.%I.type.269 // CHECK:STDOUT: %.loc7_37 => constants.%.78e @@ -799,7 +799,7 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C.as.I.impl(constants.%empty_struct_type) { -// CHECK:STDOUT: %T.patt.loc7_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc7_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc7_15.2 => constants.%empty_struct_type // CHECK:STDOUT: %I.type.loc7_35.2 => constants.%I.type.722 // CHECK:STDOUT: %.loc7_37 => constants.%.793 @@ -828,12 +828,12 @@ fn B() { // CHECK:STDOUT: --- fail_mismatch_impl_constraint_with_fixed_specific.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %V.patt: %pattern_type.98f = symbolic_binding_pattern V, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %V.patt: %pattern_type.9a5 = symbolic_binding_pattern V, 0 [symbolic] // CHECK:STDOUT: %V: type = symbolic_binding V, 0 [symbolic] -// CHECK:STDOUT: %W.patt: %pattern_type.98f = symbolic_binding_pattern W, 1 [symbolic] +// CHECK:STDOUT: %W.patt: %pattern_type.9a5 = symbolic_binding_pattern W, 1 [symbolic] // CHECK:STDOUT: %W: type = symbolic_binding W, 1 [symbolic] // CHECK:STDOUT: %I.type.335: type = generic_interface_type @I [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -843,7 +843,7 @@ fn B() { // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt.3a0: %pattern_type.9a5 = 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] // CHECK:STDOUT: %I.type.269: type = facet_type <@I, @I(%T.67d, %empty_tuple.type)> [symbolic] @@ -886,23 +886,23 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: %I.type.335 = interface_decl @I [concrete = constants.%I.generic] { -// CHECK:STDOUT: %V.patt.loc3_14.1: %pattern_type.98f = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc3_14.2 (constants.%V.patt)] -// CHECK:STDOUT: %W.patt.loc3_23.1: %pattern_type.98f = symbolic_binding_pattern W, 1 [symbolic = %W.patt.loc3_23.2 (constants.%W.patt)] +// CHECK:STDOUT: %V.patt.loc3_14.1: %pattern_type.9a5 = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc3_14.2 (constants.%V.patt)] +// CHECK:STDOUT: %W.patt.loc3_23.1: %pattern_type.9a5 = symbolic_binding_pattern W, 1 [symbolic = %W.patt.loc3_23.2 (constants.%W.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_16.1: type = splice_block %.loc3_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc3_14: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc3_14: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc3_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %V.loc3_14.2: type = symbolic_binding V, 0 [symbolic = %V.loc3_14.1 (constants.%V)] // CHECK:STDOUT: %.loc3_25.1: type = splice_block %.loc3_25.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc3_23: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc3_23: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc3_25.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %W.loc3_23.2: type = symbolic_binding W, 1 [symbolic = %W.loc3_23.1 (constants.%W)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: impl_decl @C.as.I.impl [concrete] { -// CHECK:STDOUT: %T.patt.loc7_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc7_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref: %I.type.335 = name_ref I, file.%I.decl [concrete = constants.%I.generic] @@ -911,7 +911,7 @@ fn B() { // CHECK:STDOUT: %.loc7_35: type = converted %.loc7_34, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %I.type.loc7_35.1: type = facet_type <@I, @I(constants.%T.67d, constants.%empty_tuple.type)> [symbolic = %I.type.loc7_35.2 (constants.%I.type.269)] // CHECK:STDOUT: %.loc7_17.1: type = splice_block %.loc7_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc7_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_15.2 (constants.%T.67d)] @@ -923,7 +923,7 @@ fn B() { // CHECK:STDOUT: %t.patt.loc9_28.1: @A.%pattern_type (%pattern_type.67d) = wrapper_binding_pattern t, %t.param_patt.loc9_28.1 [symbolic = %t.patt.loc9_28.2 (constants.%t.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_17.1: type = splice_block %I.type [concrete = constants.%I.type.6c0] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %I.ref: %I.type.335 = name_ref I, file.%I.decl [concrete = constants.%I.generic] // CHECK:STDOUT: %.loc9_12: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc9_16: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] @@ -944,9 +944,9 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @I(%V.loc3_14.2: type, %W.loc3_23.2: type) { -// CHECK:STDOUT: %V.patt.loc3_14.2: %pattern_type.98f = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc3_14.2 (constants.%V.patt)] +// CHECK:STDOUT: %V.patt.loc3_14.2: %pattern_type.9a5 = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc3_14.2 (constants.%V.patt)] // CHECK:STDOUT: %V.loc3_14.1: type = symbolic_binding V, 0 [symbolic = %V.loc3_14.1 (constants.%V)] -// CHECK:STDOUT: %W.patt.loc3_23.2: %pattern_type.98f = symbolic_binding_pattern W, 1 [symbolic = %W.patt.loc3_23.2 (constants.%W.patt)] +// CHECK:STDOUT: %W.patt.loc3_23.2: %pattern_type.9a5 = symbolic_binding_pattern W, 1 [symbolic = %W.patt.loc3_23.2 (constants.%W.patt)] // CHECK:STDOUT: %W.loc3_23.1: type = symbolic_binding W, 1 [symbolic = %W.loc3_23.1 (constants.%W)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -966,7 +966,7 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @C.as.I.impl(%T.loc7_15.1: type) { -// CHECK:STDOUT: %T.patt.loc7_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc7_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc7_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_15.2 (constants.%T.67d)] // CHECK:STDOUT: %I.type.loc7_35.2: type = facet_type <@I, @I(%T.loc7_15.2, constants.%empty_tuple.type)> [symbolic = %I.type.loc7_35.2 (constants.%I.type.269)] // CHECK:STDOUT: %.loc7_37: = impl_self_witness constants.%C, @I, @I(%T.loc7_15.2, constants.%empty_tuple.type) [symbolic = %.loc7_37 (constants.%.78e)] @@ -1042,7 +1042,7 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C.as.I.impl(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc7_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc7_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc7_15.2 => constants.%T.67d // CHECK:STDOUT: %I.type.loc7_35.2 => constants.%I.type.269 // CHECK:STDOUT: %.loc7_37 => constants.%.78e @@ -1076,14 +1076,14 @@ fn B() { // CHECK:STDOUT: --- fail_mismatch_impl_self_with_fixed_specific.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: %I.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %V.patt: %pattern_type.98f = symbolic_binding_pattern V, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %V.patt: %pattern_type.9a5 = symbolic_binding_pattern V, 0 [symbolic] // CHECK:STDOUT: %V: type = symbolic_binding V, 0 [symbolic] -// CHECK:STDOUT: %W.patt: %pattern_type.98f = symbolic_binding_pattern W, 1 [symbolic] +// CHECK:STDOUT: %W.patt: %pattern_type.9a5 = symbolic_binding_pattern W, 1 [symbolic] // CHECK:STDOUT: %W: type = symbolic_binding W, 1 [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1091,7 +1091,7 @@ fn B() { // CHECK:STDOUT: %C.47a: type = class_type @C, @C(%V, %W) [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.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt.3a0: %pattern_type.9a5 = 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] // CHECK:STDOUT: %C.ab0: type = class_type @C, @C(%T.67d, %empty_tuple.type) [symbolic] @@ -1133,22 +1133,22 @@ fn B() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { -// CHECK:STDOUT: %V.patt.loc5_10.1: %pattern_type.98f = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc5_10.2 (constants.%V.patt)] -// CHECK:STDOUT: %W.patt.loc5_19.1: %pattern_type.98f = symbolic_binding_pattern W, 1 [symbolic = %W.patt.loc5_19.2 (constants.%W.patt)] +// CHECK:STDOUT: %V.patt.loc5_10.1: %pattern_type.9a5 = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc5_10.2 (constants.%V.patt)] +// CHECK:STDOUT: %W.patt.loc5_19.1: %pattern_type.9a5 = symbolic_binding_pattern W, 1 [symbolic = %W.patt.loc5_19.2 (constants.%W.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_12.1: type = splice_block %.loc5_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc5_10: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc5_10: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %V.loc5_10.2: type = symbolic_binding V, 0 [symbolic = %V.loc5_10.1 (constants.%V)] // CHECK:STDOUT: %.loc5_21.1: type = splice_block %.loc5_21.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc5_19: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc5_19: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_21.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %W.loc5_19.2: type = symbolic_binding W, 1 [symbolic = %W.loc5_19.1 (constants.%W)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @C.as.I.impl [concrete] { -// CHECK:STDOUT: %T.patt.loc7_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc7_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc7_15.1 [symbolic = %T.loc7_15.2 (constants.%T.67d)] @@ -1157,7 +1157,7 @@ fn B() { // CHECK:STDOUT: %C.loc7_30.1: type = class_type @C, @C(constants.%T.67d, constants.%empty_tuple.type) [symbolic = %C.loc7_30.2 (constants.%C.ab0)] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.loc7_17.1: type = splice_block %.loc7_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc7_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_15.2 (constants.%T.67d)] @@ -1169,7 +1169,7 @@ fn B() { // CHECK:STDOUT: %t.patt.loc9_20.1: @A.%pattern_type (%pattern_type.b3a) = wrapper_binding_pattern t, %t.param_patt.loc9_20.1 [symbolic = %t.patt.loc9_20.2 (constants.%t.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_9: type = splice_block %I.ref [concrete = constants.%I.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// 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.loc9_7.2: %I.type = symbolic_binding T, 0 [symbolic = %T.loc9_7.1 (constants.%T.dda)] @@ -1196,7 +1196,7 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @C.as.I.impl(%T.loc7_15.1: type) { -// CHECK:STDOUT: %T.patt.loc7_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc7_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc7_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_15.2 (constants.%T.67d)] // CHECK:STDOUT: %C.loc7_30.2: type = class_type @C, @C(%T.loc7_15.2, constants.%empty_tuple.type) [symbolic = %C.loc7_30.2 (constants.%C.ab0)] // CHECK:STDOUT: %.loc7_37: = impl_self_witness %C.loc7_30.2, @I [symbolic = %.loc7_37 (constants.%.c42)] @@ -1215,9 +1215,9 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(%V.loc5_10.2: type, %W.loc5_19.2: type) { -// CHECK:STDOUT: %V.patt.loc5_10.2: %pattern_type.98f = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc5_10.2 (constants.%V.patt)] +// CHECK:STDOUT: %V.patt.loc5_10.2: %pattern_type.9a5 = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc5_10.2 (constants.%V.patt)] // CHECK:STDOUT: %V.loc5_10.1: type = symbolic_binding V, 0 [symbolic = %V.loc5_10.1 (constants.%V)] -// CHECK:STDOUT: %W.patt.loc5_19.2: %pattern_type.98f = symbolic_binding_pattern W, 1 [symbolic = %W.patt.loc5_19.2 (constants.%W.patt)] +// CHECK:STDOUT: %W.patt.loc5_19.2: %pattern_type.9a5 = symbolic_binding_pattern W, 1 [symbolic = %W.patt.loc5_19.2 (constants.%W.patt)] // CHECK:STDOUT: %W.loc5_19.1: type = symbolic_binding W, 1 [symbolic = %W.loc5_19.1 (constants.%W)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -1283,7 +1283,7 @@ fn B() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C.as.I.impl(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc7_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc7_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc7_15.2 => constants.%T.67d // CHECK:STDOUT: %C.loc7_30.2 => constants.%C.ab0 // CHECK:STDOUT: %.loc7_37 => constants.%.c42 diff --git a/toolchain/check/testdata/facet/convert_facet_value_as_type_knows_original_type.carbon b/toolchain/check/testdata/facet/convert_facet_value_as_type_knows_original_type.carbon index b8016b0b5bfc..158bcc6fc415 100644 --- a/toolchain/check/testdata/facet/convert_facet_value_as_type_knows_original_type.carbon +++ b/toolchain/check/testdata/facet/convert_facet_value_as_type_knows_original_type.carbon @@ -94,6 +94,7 @@ fn F[A: J, B: A](x: C(A, B)) { // CHECK:STDOUT: --- explicit_as_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Eats.type: type = facet_type <@Eats> [concrete] // CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete] // CHECK:STDOUT: %Goat: type = class_type @Goat [concrete] @@ -127,6 +128,7 @@ fn F[A: J, B: A](x: C(A, B)) { // CHECK:STDOUT: --- facet_type_in_type_position.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Eats.type: type = facet_type <@Eats> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Eats.assoc_type: type = assoc_entity_type @Eats [concrete] @@ -227,6 +229,7 @@ fn F[A: J, B: A](x: C(A, B)) { // CHECK:STDOUT: --- facet_access_type_converts_back_to_original_facet_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %pattern_type.2c5: type = pattern_type %J.type [concrete] // CHECK:STDOUT: %A.patt: %pattern_type.2c5 = symbolic_binding_pattern A, 0 [symbolic] diff --git a/toolchain/check/testdata/facet/convert_facet_value_to_itself.carbon b/toolchain/check/testdata/facet/convert_facet_value_to_itself.carbon index e4798fecb2bf..d3f4293665ff 100644 --- a/toolchain/check/testdata/facet/convert_facet_value_to_itself.carbon +++ b/toolchain/check/testdata/facet/convert_facet_value_to_itself.carbon @@ -28,10 +28,10 @@ fn F() { // CHECK:STDOUT: --- convert_facet_value_to_itself.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete] // CHECK:STDOUT: %Self: %Animal.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %Animal.type [concrete] // CHECK:STDOUT: %T.patt.e44e2f.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.443025.1: %Animal.type = symbolic_binding T, 0 [symbolic] @@ -77,7 +77,7 @@ fn F() { // CHECK:STDOUT: %T.patt.loc17_31.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc17_31.2 (constants.%T.patt.e44e2f.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17: type = splice_block %Animal.ref [concrete = constants.%Animal.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc17_31.2: %Animal.type = symbolic_binding T, 0 [symbolic = %T.loc17_31.1 (constants.%T.443025.1)] @@ -86,7 +86,7 @@ fn F() { // CHECK:STDOUT: %T.patt.loc19_26.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_26.2 (constants.%T.patt.e44e2f.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc19: type = splice_block %Animal.ref [concrete = constants.%Animal.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc19_26.2: %Animal.type = symbolic_binding T, 0 [symbolic = %T.loc19_26.1 (constants.%T.443025.2)] 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 e0b4f7cbfc3b..36cbe296c5c2 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 @@ -92,12 +92,12 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: --- convert_to_narrowed_facet_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Eats.type: type = facet_type <@Eats> [concrete] // CHECK:STDOUT: %Self.23e: %Eats.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete] // CHECK:STDOUT: %Self.f00: %Animal.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.880: type = pattern_type %Eats.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.880 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %Eats.type = symbolic_binding T, 0 [symbolic] @@ -111,11 +111,11 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %require_complete.c4d: = require_complete_type %T.as_type [symbolic] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %Animal.type, %type.as.BitAndWith.impl.Op [concrete] @@ -165,7 +165,7 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %e.patt.loc6_26.1: @Feed.%pattern_type (%pattern_type.aed) = wrapper_binding_pattern e, %e.param_patt.loc6_26.1 [symbolic = %e.patt.loc6_26.2 (constants.%e.patt.c5e)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_12: type = splice_block %Eats.ref [concrete = constants.%Eats.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_10.2: %Eats.type = symbolic_binding T, 0 [symbolic = %T.loc6_10.1 (constants.%T)] @@ -183,10 +183,10 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %a.patt.loc8_36.1: @HandleAnimal.%pattern_type (%pattern_type.c56) = wrapper_binding_pattern a, %a.param_patt.loc8_36.1 [symbolic = %a.patt.loc8_36.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_27.1: type = splice_block %.loc8_27.3 [concrete = constants.%facet_type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] -// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %Animal.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Animal.ref, %Eats.ref) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc8_27.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type] @@ -307,22 +307,22 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: --- bigger.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Eats.type: type = facet_type <@Eats> [concrete] // CHECK:STDOUT: %Self.23e: %Eats.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete] // CHECK:STDOUT: %Self.f00: %Animal.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Tame.type: type = facet_type <@Tame> [concrete] // CHECK:STDOUT: %Self.0f0: %Tame.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.73d: = bound_method %Tame.type, %type.as.BitAndWith.impl.Op [concrete] @@ -389,10 +389,10 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %v.patt.loc7_37.1: @FeedTame.%pattern_type (%pattern_type.7b2) = wrapper_binding_pattern v, %v.param_patt.loc7_37.1 [symbolic = %v.patt.loc7_37.2 (constants.%v.patt.941)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_21.1: type = splice_block %.loc7_21.3 [concrete = constants.%facet_type.bbb] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Tame.ref: type = name_ref Tame, file.%Tame.decl [concrete = constants.%Tame.type] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] -// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %Tame.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.73d] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Tame.ref, %Eats.ref) [concrete = constants.%facet_type.bbb] // CHECK:STDOUT: %.loc7_21.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type.bbb] @@ -413,14 +413,14 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %w.patt.loc9_47.1: @HandleTameAnimal.%pattern_type (%pattern_type.b23) = wrapper_binding_pattern w, %w.param_patt.loc9_47.1 [symbolic = %w.patt.loc9_47.2 (constants.%w.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_38.1: type = splice_block %.loc9_38.3 [concrete = constants.%facet_type.dd5] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] -// CHECK:STDOUT: %impl.elem0.loc9_29: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9_29: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc9_29: = bound_method %Eats.ref, %impl.elem0.loc9_29 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.93f] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc9_29: init type = call %bound_method.loc9_29(%Eats.ref, %Animal.ref) [concrete = constants.%facet_type.0b4] // CHECK:STDOUT: %Tame.ref: type = name_ref Tame, file.%Tame.decl [concrete = constants.%Tame.type] -// CHECK:STDOUT: %impl.elem0.loc9_38: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9_38: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc9_38: = bound_method %type.as.BitAndWith.impl.Op.call.loc9_29, %impl.elem0.loc9_38 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.07c] // CHECK:STDOUT: %.loc9_29.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc9_29 [concrete = constants.%facet_type.0b4] // CHECK:STDOUT: %.loc9_29.2: type = converted %type.as.BitAndWith.impl.Op.call.loc9_29, %.loc9_29.1 [concrete = constants.%facet_type.0b4] @@ -557,14 +557,14 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: --- with_blanket.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Eats.type: type = facet_type <@Eats> [concrete] // CHECK:STDOUT: %Self.23e: %Eats.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete] // CHECK:STDOUT: %Self.f00: %Animal.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Tame.type: type = facet_type <@Tame> [concrete] // CHECK:STDOUT: %Self.0f0: %Tame.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.333: type = pattern_type %Animal.type [concrete] // CHECK:STDOUT: %A.patt: %pattern_type.333 = symbolic_binding_pattern A, 0 [symbolic] // CHECK:STDOUT: %A: %Animal.type = symbolic_binding A, 0 [symbolic] @@ -575,11 +575,11 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.73d: = bound_method %Tame.type, %type.as.BitAndWith.impl.Op [concrete] @@ -651,7 +651,7 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %.loc7_25: type = converted %A.ref, %A.as_type.loc7_25.1 [symbolic = %A.as_type.loc7_25.2 (constants.%A.as_type)] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] // CHECK:STDOUT: %.loc7_17: type = splice_block %Animal.ref [concrete = constants.%Animal.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } // CHECK:STDOUT: %A.loc7_15.1: %Animal.type = symbolic_binding A, 0 [symbolic = %A.loc7_15.2 (constants.%A)] @@ -663,10 +663,10 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %v.patt.loc9_38.1: @FeedTame2.%pattern_type (%pattern_type.7b2) = wrapper_binding_pattern v, %v.param_patt.loc9_38.1 [symbolic = %v.patt.loc9_38.2 (constants.%v.patt.941)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_22.1: type = splice_block %.loc9_22.3 [concrete = constants.%facet_type.bbb] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Tame.ref: type = name_ref Tame, file.%Tame.decl [concrete = constants.%Tame.type] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] -// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %Tame.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.73d] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Tame.ref, %Eats.ref) [concrete = constants.%facet_type.bbb] // CHECK:STDOUT: %.loc9_22.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type.bbb] @@ -687,10 +687,10 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %w.patt.loc11_41.1: @HandleTameAnimal2.%pattern_type (%pattern_type.493) = wrapper_binding_pattern w, %w.param_patt.loc11_41.1 [symbolic = %w.patt.loc11_41.2 (constants.%w.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_32.1: type = splice_block %.loc11_32.3 [concrete = constants.%facet_type.83c] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: %Tame.ref: type = name_ref Tame, file.%Tame.decl [concrete = constants.%Tame.type] -// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %Animal.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.f7d] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Animal.ref, %Tame.ref) [concrete = constants.%facet_type.83c] // CHECK:STDOUT: %.loc11_32.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type.83c] @@ -871,10 +871,10 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: --- equivalent.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %Self: %A.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.029: type = pattern_type %A.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.029 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %A.type = symbolic_binding T, 0 [symbolic] @@ -926,7 +926,7 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %x.patt.loc7_25.1: @TakesA.%pattern_type (%pattern_type.a0e098.1) = wrapper_binding_pattern x, %x.param_patt.loc7_25.1 [symbolic = %x.patt.loc7_25.2 (constants.%x.patt.cd4828.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_14: type = splice_block %A.ref [concrete = constants.%A.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_12.2: %A.type = symbolic_binding T, 0 [symbolic = %T.loc7_12.1 (constants.%T)] @@ -944,7 +944,7 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %y.patt.loc9_49.1: @WithExtraWhere.%pattern_type (%pattern_type.a0e098.2) = wrapper_binding_pattern y, %y.param_patt.loc9_49.1 [symbolic = %y.patt.loc9_49.2 (constants.%y.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_24.1: type = splice_block %.loc9_24.2 [concrete = constants.%A.type] { -// CHECK:STDOUT: %.Self.frozen.loc9_20: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc9_20: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %.Self.frozen.loc9_24: %A.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.d4e] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %A.ref [concrete] @@ -1061,40 +1061,36 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: --- no_interfaces_success.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67db0b.1: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T.67db0b.1 [symbolic] -// CHECK:STDOUT: %x.param_patt.91d: %pattern_type.51d = value_param_pattern [symbolic] -// CHECK:STDOUT: %x.patt.260: %pattern_type.51d = wrapper_binding_pattern x, %x.param_patt.91d [symbolic] +// CHECK:STDOUT: %pattern_type.51d1c4.1: type = pattern_type %T.67db0b.1 [symbolic] +// CHECK:STDOUT: %x.param_patt.91de5a.1: %pattern_type.51d1c4.1 = value_param_pattern [symbolic] +// CHECK:STDOUT: %x.patt.26065e.1: %pattern_type.51d1c4.1 = wrapper_binding_pattern x, %x.param_patt.91de5a.1 [symbolic] // CHECK:STDOUT: %TakesTypeDeduced.type: type = fn_type @TakesTypeDeduced [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %TakesTypeDeduced: %TakesTypeDeduced.type = struct_value () [concrete] -// CHECK:STDOUT: %require_complete.944: = require_complete_type %T.67db0b.1 [symbolic] -// CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen [symbolic_self] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type %type [concrete] +// CHECK:STDOUT: %require_complete.9443dd.1: = require_complete_type %T.67db0b.1 [symbolic] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] -// CHECK:STDOUT: %U: %type = symbolic_binding U, 0 [symbolic] -// CHECK:STDOUT: %U.as_type: type = facet_access_type %U [symbolic] -// CHECK:STDOUT: %pattern_type.86a: type = pattern_type %U.as_type [symbolic] -// CHECK:STDOUT: %y.param_patt: %pattern_type.86a = value_param_pattern [symbolic] -// CHECK:STDOUT: %y.patt: %pattern_type.86a = wrapper_binding_pattern y, %y.param_patt [symbolic] +// CHECK:STDOUT: %U: type = symbolic_binding U, 0 [symbolic] +// CHECK:STDOUT: %pattern_type.51d1c4.2: type = pattern_type %U [symbolic] +// CHECK:STDOUT: %y.param_patt: %pattern_type.51d1c4.2 = value_param_pattern [symbolic] +// CHECK:STDOUT: %y.patt: %pattern_type.51d1c4.2 = wrapper_binding_pattern y, %y.param_patt [symbolic] // CHECK:STDOUT: %CallsWithExtraWhere.type: type = fn_type @CallsWithExtraWhere [concrete] // CHECK:STDOUT: %CallsWithExtraWhere: %CallsWithExtraWhere.type = struct_value () [concrete] -// CHECK:STDOUT: %require_complete.5ef: = require_complete_type %U.as_type [symbolic] -// CHECK:STDOUT: %x.param_patt.9a2: %pattern_type.86a = value_param_pattern [symbolic] -// CHECK:STDOUT: %x.patt.37f: %pattern_type.86a = wrapper_binding_pattern x, %x.param_patt.9a2 [symbolic] -// CHECK:STDOUT: %TakesTypeDeduced.specific_fn: = specific_function %TakesTypeDeduced, @TakesTypeDeduced(%U.as_type) [symbolic] +// CHECK:STDOUT: %require_complete.9443dd.2: = require_complete_type %U [symbolic] +// CHECK:STDOUT: %x.param_patt.91de5a.2: %pattern_type.51d1c4.2 = value_param_pattern [symbolic] +// CHECK:STDOUT: %x.patt.26065e.2: %pattern_type.51d1c4.2 = wrapper_binding_pattern x, %x.param_patt.91de5a.2 [symbolic] +// CHECK:STDOUT: %TakesTypeDeduced.specific_fn: = specific_function %TakesTypeDeduced, @TakesTypeDeduced(%U) [symbolic] // CHECK:STDOUT: %T.67db0b.2: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %TakesTypeExplicit.type: type = fn_type @TakesTypeExplicit [concrete] // CHECK:STDOUT: %TakesTypeExplicit: %TakesTypeExplicit.type = struct_value () [concrete] // CHECK:STDOUT: %CallsWithExtraWhereExplicit.type: type = fn_type @CallsWithExtraWhereExplicit [concrete] // CHECK:STDOUT: %CallsWithExtraWhereExplicit: %CallsWithExtraWhereExplicit.type = struct_value () [concrete] -// CHECK:STDOUT: %TakesTypeExplicit.specific_fn: = specific_function %TakesTypeExplicit, @TakesTypeExplicit(%U.as_type) [symbolic] +// CHECK:STDOUT: %TakesTypeExplicit.specific_fn: = specific_function %TakesTypeExplicit, @TakesTypeExplicit(%U) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1114,12 +1110,12 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %TakesTypeDeduced.decl: %TakesTypeDeduced.type = fn_decl @TakesTypeDeduced [concrete = constants.%TakesTypeDeduced] { -// CHECK:STDOUT: %T.patt.loc3_22.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_22.2 (constants.%T.patt)] -// CHECK:STDOUT: %x.param_patt.loc3_38.1: @TakesTypeDeduced.%pattern_type (%pattern_type.51d) = value_param_pattern [symbolic = %x.param_patt.loc3_38.2 (constants.%x.param_patt.91d)] -// CHECK:STDOUT: %x.patt.loc3_38.1: @TakesTypeDeduced.%pattern_type (%pattern_type.51d) = wrapper_binding_pattern x, %x.param_patt.loc3_38.1 [symbolic = %x.patt.loc3_38.2 (constants.%x.patt.260)] +// CHECK:STDOUT: %T.patt.loc3_22.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_22.2 (constants.%T.patt)] +// CHECK:STDOUT: %x.param_patt.loc3_38.1: @TakesTypeDeduced.%pattern_type (%pattern_type.51d1c4.1) = value_param_pattern [symbolic = %x.param_patt.loc3_38.2 (constants.%x.param_patt.91de5a.1)] +// CHECK:STDOUT: %x.patt.loc3_38.1: @TakesTypeDeduced.%pattern_type (%pattern_type.51d1c4.1) = wrapper_binding_pattern x, %x.param_patt.loc3_38.1 [symbolic = %x.patt.loc3_38.2 (constants.%x.patt.26065e.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_24.1: type = splice_block %.loc3_24.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc3_24.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_22.1 (constants.%T.67db0b.1)] @@ -1129,43 +1125,35 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %CallsWithExtraWhere.decl: %CallsWithExtraWhere.type = fn_decl @CallsWithExtraWhere [concrete = constants.%CallsWithExtraWhere] { // CHECK:STDOUT: %U.patt.loc4_25.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc4_25.2 (constants.%U.patt)] -// CHECK:STDOUT: %y.param_patt.loc4_57.1: @CallsWithExtraWhere.%pattern_type (%pattern_type.86a) = value_param_pattern [symbolic = %y.param_patt.loc4_57.2 (constants.%y.param_patt)] -// CHECK:STDOUT: %y.patt.loc4_57.1: @CallsWithExtraWhere.%pattern_type (%pattern_type.86a) = wrapper_binding_pattern y, %y.param_patt.loc4_57.1 [symbolic = %y.patt.loc4_57.2 (constants.%y.patt)] +// CHECK:STDOUT: %y.param_patt.loc4_57.1: @CallsWithExtraWhere.%pattern_type (%pattern_type.51d1c4.2) = value_param_pattern [symbolic = %y.param_patt.loc4_57.2 (constants.%y.param_patt)] +// CHECK:STDOUT: %y.patt.loc4_57.1: @CallsWithExtraWhere.%pattern_type (%pattern_type.51d1c4.2) = wrapper_binding_pattern y, %y.param_patt.loc4_57.1 [symbolic = %y.patt.loc4_57.2 (constants.%y.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc4_32.1: type = splice_block %.loc4_32.2 [concrete = constants.%type] { -// CHECK:STDOUT: %.Self.frozen.loc4_25: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.loc4_32.1: type = splice_block %.loc4_32.2 [concrete = type] { +// CHECK:STDOUT: %.Self.frozen.loc4_25: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_27: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.frozen.loc4_32: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_32: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc4_27 [concrete] -// CHECK:STDOUT: %.Self.ref.loc4_38.1: %type = name_ref .Self, %.Self.frozen.loc4_32 [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.ref.loc4_38.1: type = name_ref .Self, %.Self.frozen.loc4_32 [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_50: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.as_type.loc4_38.1: type = facet_access_type %.Self.ref.loc4_38.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %.loc4_38.1: type = converted %.Self.ref.loc4_38.1, %.Self.as_type.loc4_38.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %impls.loc4_44.1 = requirement_impls %.loc4_38.1, %.loc4_50 [concrete] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.ref.loc4_38.2: %type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.as_type.loc4_38.2: type = facet_access_type %.Self.ref.loc4_38.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %.loc4_38.2: type = converted %.Self.ref.loc4_38.1, %.Self.as_type.loc4_38.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %impls.loc4_44.2 = requirement_impls %.loc4_38.2, %.loc4_50 [concrete] -// CHECK:STDOUT: %.loc4_32.2: type = where_expr [concrete = constants.%type] { +// CHECK:STDOUT: %impls.loc4_44.1 = requirement_impls %.Self.ref.loc4_38.1, %.loc4_50 [concrete] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.Self.ref.loc4_38.2: type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %impls.loc4_44.2 = requirement_impls %.Self.ref.loc4_38.2, %.loc4_50 [concrete] +// CHECK:STDOUT: %.loc4_32.2: type = where_expr [concrete = type] { // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc4_27 [concrete] -// CHECK:STDOUT: %impls.loc4_44.2 = requirement_impls %.loc4_38.2, %.loc4_50 [concrete] +// CHECK:STDOUT: %impls.loc4_44.2 = requirement_impls %.Self.ref.loc4_38.2, %.loc4_50 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %U.loc4_25.2: %type = symbolic_binding U, 0 [symbolic = %U.loc4_25.1 (constants.%U)] -// CHECK:STDOUT: %y.param: @CallsWithExtraWhere.%U.as_type.loc4_59.1 (%U.as_type) = value_param call_param0 -// CHECK:STDOUT: %.loc4_59.1: type = splice_block %.loc4_59.2 [symbolic = %U.as_type.loc4_59.1 (constants.%U.as_type)] { -// CHECK:STDOUT: %U.ref: %type = name_ref U, %U.loc4_25.2 [symbolic = %U.loc4_25.1 (constants.%U)] -// CHECK:STDOUT: %U.as_type.loc4_59.2: type = facet_access_type %U.ref [symbolic = %U.as_type.loc4_59.1 (constants.%U.as_type)] -// CHECK:STDOUT: %.loc4_59.2: type = converted %U.ref, %U.as_type.loc4_59.2 [symbolic = %U.as_type.loc4_59.1 (constants.%U.as_type)] -// CHECK:STDOUT: } -// CHECK:STDOUT: %y: @CallsWithExtraWhere.%U.as_type.loc4_59.1 (%U.as_type) = wrapper_binding y, %y.param +// CHECK:STDOUT: %U.loc4_25.2: type = symbolic_binding U, 0 [symbolic = %U.loc4_25.1 (constants.%U)] +// CHECK:STDOUT: %y.param: @CallsWithExtraWhere.%U.loc4_25.1 (%U) = value_param call_param0 +// CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc4_25.2 [symbolic = %U.loc4_25.1 (constants.%U)] +// CHECK:STDOUT: %y: @CallsWithExtraWhere.%U.loc4_25.1 (%U) = wrapper_binding y, %y.param // CHECK:STDOUT: } // CHECK:STDOUT: %TakesTypeExplicit.decl: %TakesTypeExplicit.type = fn_decl @TakesTypeExplicit [concrete = constants.%TakesTypeExplicit] { -// CHECK:STDOUT: %T.patt.loc8_38.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_38.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_38.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_38.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_40.1: type = splice_block %.loc8_40.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_40.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_38.3: type = symbolic_binding T, 0 [symbolic = %T.loc8_38.2 (constants.%T.67db0b.2)] @@ -1173,39 +1161,35 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %CallsWithExtraWhereExplicit.decl: %CallsWithExtraWhereExplicit.type = fn_decl @CallsWithExtraWhereExplicit [concrete = constants.%CallsWithExtraWhereExplicit] { // CHECK:STDOUT: %U.patt.loc9_41.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_41.2 (constants.%U.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc9_48.1: type = splice_block %.loc9_48.2 [concrete = constants.%type] { -// CHECK:STDOUT: %.Self.frozen.loc9_41: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.loc9_48.1: type = splice_block %.loc9_48.2 [concrete = type] { +// CHECK:STDOUT: %.Self.frozen.loc9_41: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_43: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.frozen.loc9_48: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc9_48: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc9_43 [concrete] -// CHECK:STDOUT: %.Self.ref.loc9_54.1: %type = name_ref .Self, %.Self.frozen.loc9_48 [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.ref.loc9_54.1: type = name_ref .Self, %.Self.frozen.loc9_48 [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_66: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.as_type.loc9_54.1: type = facet_access_type %.Self.ref.loc9_54.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %.loc9_54.1: type = converted %.Self.ref.loc9_54.1, %.Self.as_type.loc9_54.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %impls.loc9_60.1 = requirement_impls %.loc9_54.1, %.loc9_66 [concrete] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.ref.loc9_54.2: %type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.as_type.loc9_54.2: type = facet_access_type %.Self.ref.loc9_54.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %.loc9_54.2: type = converted %.Self.ref.loc9_54.1, %.Self.as_type.loc9_54.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %impls.loc9_60.2 = requirement_impls %.loc9_54.2, %.loc9_66 [concrete] -// CHECK:STDOUT: %.loc9_48.2: type = where_expr [concrete = constants.%type] { +// CHECK:STDOUT: %impls.loc9_60.1 = requirement_impls %.Self.ref.loc9_54.1, %.loc9_66 [concrete] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.Self.ref.loc9_54.2: type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %impls.loc9_60.2 = requirement_impls %.Self.ref.loc9_54.2, %.loc9_66 [concrete] +// CHECK:STDOUT: %.loc9_48.2: type = where_expr [concrete = type] { // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc9_43 [concrete] -// CHECK:STDOUT: %impls.loc9_60.2 = requirement_impls %.loc9_54.2, %.loc9_66 [concrete] +// CHECK:STDOUT: %impls.loc9_60.2 = requirement_impls %.Self.ref.loc9_54.2, %.loc9_66 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %U.loc9_41.2: %type = symbolic_binding U, 0 [symbolic = %U.loc9_41.1 (constants.%U)] +// CHECK:STDOUT: %U.loc9_41.2: type = symbolic_binding U, 0 [symbolic = %U.loc9_41.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @TakesTypeDeduced(%T.loc3_22.2: type) { -// CHECK:STDOUT: %T.patt.loc3_22.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_22.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc3_22.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_22.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc3_22.1: type = symbolic_binding T, 0 [symbolic = %T.loc3_22.1 (constants.%T.67db0b.1)] -// CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc3_22.1 [symbolic = %pattern_type (constants.%pattern_type.51d)] -// CHECK:STDOUT: %x.param_patt.loc3_38.2: @TakesTypeDeduced.%pattern_type (%pattern_type.51d) = value_param_pattern [symbolic = %x.param_patt.loc3_38.2 (constants.%x.param_patt.91d)] -// CHECK:STDOUT: %x.patt.loc3_38.2: @TakesTypeDeduced.%pattern_type (%pattern_type.51d) = wrapper_binding_pattern x, %x.param_patt.loc3_38.2 [symbolic = %x.patt.loc3_38.2 (constants.%x.patt.260)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc3_22.1 [symbolic = %pattern_type (constants.%pattern_type.51d1c4.1)] +// CHECK:STDOUT: %x.param_patt.loc3_38.2: @TakesTypeDeduced.%pattern_type (%pattern_type.51d1c4.1) = value_param_pattern [symbolic = %x.param_patt.loc3_38.2 (constants.%x.param_patt.91de5a.1)] +// CHECK:STDOUT: %x.patt.loc3_38.2: @TakesTypeDeduced.%pattern_type (%pattern_type.51d1c4.1) = wrapper_binding_pattern x, %x.param_patt.loc3_38.2 [symbolic = %x.patt.loc3_38.2 (constants.%x.patt.26065e.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete: = require_complete_type %T.loc3_22.1 [symbolic = %require_complete (constants.%require_complete.944)] +// CHECK:STDOUT: %require_complete: = require_complete_type %T.loc3_22.1 [symbolic = %require_complete (constants.%require_complete.9443dd.1)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%x.param: @TakesTypeDeduced.%T.loc3_22.1 (%T.67db0b.1)) { // CHECK:STDOUT: !entry: @@ -1213,30 +1197,29 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @CallsWithExtraWhere(%U.loc4_25.2: %type) { +// CHECK:STDOUT: generic fn @CallsWithExtraWhere(%U.loc4_25.2: type) { // CHECK:STDOUT: %U.patt.loc4_25.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc4_25.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.loc4_25.1: %type = symbolic_binding U, 0 [symbolic = %U.loc4_25.1 (constants.%U)] -// CHECK:STDOUT: %U.as_type.loc4_59.1: type = facet_access_type %U.loc4_25.1 [symbolic = %U.as_type.loc4_59.1 (constants.%U.as_type)] -// CHECK:STDOUT: %pattern_type: type = pattern_type %U.as_type.loc4_59.1 [symbolic = %pattern_type (constants.%pattern_type.86a)] -// CHECK:STDOUT: %y.param_patt.loc4_57.2: @CallsWithExtraWhere.%pattern_type (%pattern_type.86a) = value_param_pattern [symbolic = %y.param_patt.loc4_57.2 (constants.%y.param_patt)] -// CHECK:STDOUT: %y.patt.loc4_57.2: @CallsWithExtraWhere.%pattern_type (%pattern_type.86a) = wrapper_binding_pattern y, %y.param_patt.loc4_57.2 [symbolic = %y.patt.loc4_57.2 (constants.%y.patt)] +// CHECK:STDOUT: %U.loc4_25.1: type = symbolic_binding U, 0 [symbolic = %U.loc4_25.1 (constants.%U)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %U.loc4_25.1 [symbolic = %pattern_type (constants.%pattern_type.51d1c4.2)] +// CHECK:STDOUT: %y.param_patt.loc4_57.2: @CallsWithExtraWhere.%pattern_type (%pattern_type.51d1c4.2) = value_param_pattern [symbolic = %y.param_patt.loc4_57.2 (constants.%y.param_patt)] +// CHECK:STDOUT: %y.patt.loc4_57.2: @CallsWithExtraWhere.%pattern_type (%pattern_type.51d1c4.2) = wrapper_binding_pattern y, %y.param_patt.loc4_57.2 [symbolic = %y.patt.loc4_57.2 (constants.%y.patt)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete: = require_complete_type %U.as_type.loc4_59.1 [symbolic = %require_complete (constants.%require_complete.5ef)] -// CHECK:STDOUT: %TakesTypeDeduced.specific_fn.loc5_3.2: = specific_function constants.%TakesTypeDeduced, @TakesTypeDeduced(%U.as_type.loc4_59.1) [symbolic = %TakesTypeDeduced.specific_fn.loc5_3.2 (constants.%TakesTypeDeduced.specific_fn)] +// CHECK:STDOUT: %require_complete: = require_complete_type %U.loc4_25.1 [symbolic = %require_complete (constants.%require_complete.9443dd.2)] +// CHECK:STDOUT: %TakesTypeDeduced.specific_fn.loc5_3.2: = specific_function constants.%TakesTypeDeduced, @TakesTypeDeduced(%U.loc4_25.1) [symbolic = %TakesTypeDeduced.specific_fn.loc5_3.2 (constants.%TakesTypeDeduced.specific_fn)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%y.param: @CallsWithExtraWhere.%U.as_type.loc4_59.1 (%U.as_type)) { +// CHECK:STDOUT: fn(%y.param: @CallsWithExtraWhere.%U.loc4_25.1 (%U)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %TakesTypeDeduced.ref: %TakesTypeDeduced.type = name_ref TakesTypeDeduced, file.%TakesTypeDeduced.decl [concrete = constants.%TakesTypeDeduced] -// CHECK:STDOUT: %y.ref: @CallsWithExtraWhere.%U.as_type.loc4_59.1 (%U.as_type) = name_ref y, %y -// CHECK:STDOUT: %TakesTypeDeduced.specific_fn.loc5_3.1: = specific_function %TakesTypeDeduced.ref, @TakesTypeDeduced(constants.%U.as_type) [symbolic = %TakesTypeDeduced.specific_fn.loc5_3.2 (constants.%TakesTypeDeduced.specific_fn)] +// CHECK:STDOUT: %y.ref: @CallsWithExtraWhere.%U.loc4_25.1 (%U) = name_ref y, %y +// CHECK:STDOUT: %TakesTypeDeduced.specific_fn.loc5_3.1: = specific_function %TakesTypeDeduced.ref, @TakesTypeDeduced(constants.%U) [symbolic = %TakesTypeDeduced.specific_fn.loc5_3.2 (constants.%TakesTypeDeduced.specific_fn)] // CHECK:STDOUT: %TakesTypeDeduced.call: init %empty_tuple.type = call %TakesTypeDeduced.specific_fn.loc5_3.1(%y.ref) // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @TakesTypeExplicit(%T.loc8_38.3: type) { -// CHECK:STDOUT: %T.patt.loc8_38.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_38.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_38.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_38.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc8_38.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_38.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %T.loc8_38.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_38.2 (constants.%T.67db0b.2)] // CHECK:STDOUT: @@ -1248,21 +1231,18 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @CallsWithExtraWhereExplicit(%U.loc9_41.2: %type) { +// CHECK:STDOUT: generic fn @CallsWithExtraWhereExplicit(%U.loc9_41.2: type) { // CHECK:STDOUT: %U.patt.loc9_41.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_41.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.loc9_41.1: %type = symbolic_binding U, 0 [symbolic = %U.loc9_41.1 (constants.%U)] +// CHECK:STDOUT: %U.loc9_41.1: type = symbolic_binding U, 0 [symbolic = %U.loc9_41.1 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %U.as_type.loc10_22.2: type = facet_access_type %U.loc9_41.1 [symbolic = %U.as_type.loc10_22.2 (constants.%U.as_type)] -// CHECK:STDOUT: %TakesTypeExplicit.specific_fn.loc10_3.2: = specific_function constants.%TakesTypeExplicit, @TakesTypeExplicit(%U.as_type.loc10_22.2) [symbolic = %TakesTypeExplicit.specific_fn.loc10_3.2 (constants.%TakesTypeExplicit.specific_fn)] +// CHECK:STDOUT: %TakesTypeExplicit.specific_fn.loc10_3.2: = specific_function constants.%TakesTypeExplicit, @TakesTypeExplicit(%U.loc9_41.1) [symbolic = %TakesTypeExplicit.specific_fn.loc10_3.2 (constants.%TakesTypeExplicit.specific_fn)] // CHECK:STDOUT: // CHECK:STDOUT: fn() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %TakesTypeExplicit.ref: %TakesTypeExplicit.type = name_ref TakesTypeExplicit, file.%TakesTypeExplicit.decl [concrete = constants.%TakesTypeExplicit] -// CHECK:STDOUT: %U.ref: %type = name_ref U, %U.loc9_41.2 [symbolic = %U.loc9_41.1 (constants.%U)] -// CHECK:STDOUT: %U.as_type.loc10_22.1: type = facet_access_type %U.ref [symbolic = %U.as_type.loc10_22.2 (constants.%U.as_type)] -// CHECK:STDOUT: %.loc10: type = converted %U.ref, %U.as_type.loc10_22.1 [symbolic = %U.as_type.loc10_22.2 (constants.%U.as_type)] -// CHECK:STDOUT: %TakesTypeExplicit.specific_fn.loc10_3.1: = specific_function %TakesTypeExplicit.ref, @TakesTypeExplicit(constants.%U.as_type) [symbolic = %TakesTypeExplicit.specific_fn.loc10_3.2 (constants.%TakesTypeExplicit.specific_fn)] +// CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc9_41.2 [symbolic = %U.loc9_41.1 (constants.%U)] +// CHECK:STDOUT: %TakesTypeExplicit.specific_fn.loc10_3.1: = specific_function %TakesTypeExplicit.ref, @TakesTypeExplicit(constants.%U) [symbolic = %TakesTypeExplicit.specific_fn.loc10_3.2 (constants.%TakesTypeExplicit.specific_fn)] // CHECK:STDOUT: %TakesTypeExplicit.call: init %empty_tuple.type = call %TakesTypeExplicit.specific_fn.loc10_3.1() // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1271,29 +1251,28 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: specific @TakesTypeDeduced(constants.%T.67db0b.1) { // CHECK:STDOUT: %T.patt.loc3_22.2 => constants.%T.patt // CHECK:STDOUT: %T.loc3_22.1 => constants.%T.67db0b.1 -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d -// CHECK:STDOUT: %x.param_patt.loc3_38.2 => constants.%x.param_patt.91d -// CHECK:STDOUT: %x.patt.loc3_38.2 => constants.%x.patt.260 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d1c4.1 +// CHECK:STDOUT: %x.param_patt.loc3_38.2 => constants.%x.param_patt.91de5a.1 +// CHECK:STDOUT: %x.patt.loc3_38.2 => constants.%x.patt.26065e.1 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @CallsWithExtraWhere(constants.%U) { // CHECK:STDOUT: %U.patt.loc4_25.2 => constants.%U.patt // CHECK:STDOUT: %U.loc4_25.1 => constants.%U -// CHECK:STDOUT: %U.as_type.loc4_59.1 => constants.%U.as_type -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.86a +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d1c4.2 // CHECK:STDOUT: %y.param_patt.loc4_57.2 => constants.%y.param_patt // CHECK:STDOUT: %y.patt.loc4_57.2 => constants.%y.patt // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TakesTypeDeduced(constants.%U.as_type) { +// CHECK:STDOUT: specific @TakesTypeDeduced(constants.%U) { // CHECK:STDOUT: %T.patt.loc3_22.2 => constants.%T.patt -// CHECK:STDOUT: %T.loc3_22.1 => constants.%U.as_type -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.86a -// CHECK:STDOUT: %x.param_patt.loc3_38.2 => constants.%x.param_patt.9a2 -// CHECK:STDOUT: %x.patt.loc3_38.2 => constants.%x.patt.37f +// CHECK:STDOUT: %T.loc3_22.1 => constants.%U +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d1c4.2 +// CHECK:STDOUT: %x.param_patt.loc3_38.2 => constants.%x.param_patt.91de5a.2 +// CHECK:STDOUT: %x.patt.loc3_38.2 => constants.%x.patt.26065e.2 // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete => constants.%require_complete.5ef +// CHECK:STDOUT: %require_complete => constants.%require_complete.9443dd.2 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @TakesTypeExplicit(constants.%T.67db0b.2) { @@ -1307,10 +1286,10 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %U.loc9_41.1 => constants.%U // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TakesTypeExplicit(constants.%U.as_type) { +// CHECK:STDOUT: specific @TakesTypeExplicit(constants.%U) { // CHECK:STDOUT: %T.patt.loc8_38.2 => constants.%T.patt -// CHECK:STDOUT: %T.loc8_38.1 => constants.%U.as_type -// CHECK:STDOUT: %T.loc8_38.2 => constants.%U.as_type +// CHECK:STDOUT: %T.loc8_38.1 => constants.%U +// CHECK:STDOUT: %T.loc8_38.2 => constants.%U // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } @@ -1318,41 +1297,36 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: --- no_interfaces.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen [symbolic_self] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type %type [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self] +// 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: %T.f45530.1: %type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %T.as_type: type = facet_access_type %T.f45530.1 [symbolic] -// CHECK:STDOUT: %pattern_type.86a: type = pattern_type %T.as_type [symbolic] -// CHECK:STDOUT: %x.param_patt.9a2: %pattern_type.86a = value_param_pattern [symbolic] -// CHECK:STDOUT: %x.patt.37f: %pattern_type.86a = wrapper_binding_pattern x, %x.param_patt.9a2 [symbolic] +// CHECK:STDOUT: %T.67db0b.1: type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %pattern_type.51d1c4.1: type = pattern_type %T.67db0b.1 [symbolic] +// CHECK:STDOUT: %x.param_patt.91de5a.1: %pattern_type.51d1c4.1 = value_param_pattern [symbolic] +// CHECK:STDOUT: %x.patt.26065e.1: %pattern_type.51d1c4.1 = wrapper_binding_pattern x, %x.param_patt.91de5a.1 [symbolic] // CHECK:STDOUT: %TakesExtraWhereDeduced.type: type = fn_type @TakesExtraWhereDeduced [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %TakesExtraWhereDeduced: %TakesExtraWhereDeduced.type = struct_value () [concrete] -// CHECK:STDOUT: %require_complete.5ef: = require_complete_type %T.as_type [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %require_complete.9443dd.1: = require_complete_type %T.67db0b.1 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 0 [symbolic] -// CHECK:STDOUT: %pattern_type.51d: type = pattern_type %U [symbolic] -// CHECK:STDOUT: %y.param_patt: %pattern_type.51d = value_param_pattern [symbolic] -// CHECK:STDOUT: %y.patt: %pattern_type.51d = wrapper_binding_pattern y, %y.param_patt [symbolic] +// CHECK:STDOUT: %pattern_type.51d1c4.2: type = pattern_type %U [symbolic] +// CHECK:STDOUT: %y.param_patt: %pattern_type.51d1c4.2 = value_param_pattern [symbolic] +// CHECK:STDOUT: %y.patt: %pattern_type.51d1c4.2 = wrapper_binding_pattern y, %y.param_patt [symbolic] // CHECK:STDOUT: %CallsWithType.type: type = fn_type @CallsWithType [concrete] // CHECK:STDOUT: %CallsWithType: %CallsWithType.type = struct_value () [concrete] -// CHECK:STDOUT: %require_complete.944: = require_complete_type %U [symbolic] -// CHECK:STDOUT: %facet_value: %type = facet_value %U, () [symbolic] -// CHECK:STDOUT: %x.param_patt.91d: %pattern_type.51d = value_param_pattern [symbolic] -// CHECK:STDOUT: %x.patt.260: %pattern_type.51d = wrapper_binding_pattern x, %x.param_patt.91d [symbolic] -// CHECK:STDOUT: %TakesExtraWhereDeduced.specific_fn: = specific_function %TakesExtraWhereDeduced, @TakesExtraWhereDeduced(%facet_value) [symbolic] -// CHECK:STDOUT: %T.f45530.2: %type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %require_complete.9443dd.2: = require_complete_type %U [symbolic] +// CHECK:STDOUT: %x.param_patt.91de5a.2: %pattern_type.51d1c4.2 = value_param_pattern [symbolic] +// CHECK:STDOUT: %x.patt.26065e.2: %pattern_type.51d1c4.2 = wrapper_binding_pattern x, %x.param_patt.91de5a.2 [symbolic] +// CHECK:STDOUT: %TakesExtraWhereDeduced.specific_fn: = specific_function %TakesExtraWhereDeduced, @TakesExtraWhereDeduced(%U) [symbolic] +// CHECK:STDOUT: %T.67db0b.2: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %TakesExtraWhereExplicit.type: type = fn_type @TakesExtraWhereExplicit [concrete] // CHECK:STDOUT: %TakesExtraWhereExplicit: %TakesExtraWhereExplicit.type = struct_value () [concrete] // CHECK:STDOUT: %CallsWithTypeExplicit.type: type = fn_type @CallsWithTypeExplicit [concrete] // CHECK:STDOUT: %CallsWithTypeExplicit: %CallsWithTypeExplicit.type = struct_value () [concrete] -// CHECK:STDOUT: %TakesExtraWhereExplicit.specific_fn: = specific_function %TakesExtraWhereExplicit, @TakesExtraWhereExplicit(%facet_value) [symbolic] +// CHECK:STDOUT: %TakesExtraWhereExplicit.specific_fn: = specific_function %TakesExtraWhereExplicit, @TakesExtraWhereExplicit(%U) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1373,45 +1347,37 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %TakesExtraWhereDeduced.decl: %TakesExtraWhereDeduced.type = fn_decl @TakesExtraWhereDeduced [concrete = constants.%TakesExtraWhereDeduced] { // CHECK:STDOUT: %T.patt.loc3_28.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_28.2 (constants.%T.patt)] -// CHECK:STDOUT: %x.param_patt.loc3_67.1: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.86a) = value_param_pattern [symbolic = %x.param_patt.loc3_67.2 (constants.%x.param_patt.9a2)] -// CHECK:STDOUT: %x.patt.loc3_67.1: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.86a) = wrapper_binding_pattern x, %x.param_patt.loc3_67.1 [symbolic = %x.patt.loc3_67.2 (constants.%x.patt.37f)] +// CHECK:STDOUT: %x.param_patt.loc3_67.1: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.51d1c4.1) = value_param_pattern [symbolic = %x.param_patt.loc3_67.2 (constants.%x.param_patt.91de5a.1)] +// CHECK:STDOUT: %x.patt.loc3_67.1: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.51d1c4.1) = wrapper_binding_pattern x, %x.param_patt.loc3_67.1 [symbolic = %x.patt.loc3_67.2 (constants.%x.patt.26065e.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc3_35.1: type = splice_block %.loc3_35.2 [concrete = constants.%type] { -// CHECK:STDOUT: %.Self.frozen.loc3_28: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.loc3_35.1: type = splice_block %.loc3_35.2 [concrete = type] { +// CHECK:STDOUT: %.Self.frozen.loc3_28: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc3_30: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.frozen.loc3_35: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc3_35: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc3_30 [concrete] -// CHECK:STDOUT: %.Self.ref.loc3_41.1: %type = name_ref .Self, %.Self.frozen.loc3_35 [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.ref.loc3_41.1: type = name_ref .Self, %.Self.frozen.loc3_35 [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc3_53: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.as_type.loc3_41.1: type = facet_access_type %.Self.ref.loc3_41.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %.loc3_41.1: type = converted %.Self.ref.loc3_41.1, %.Self.as_type.loc3_41.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %impls.loc3_47.1 = requirement_impls %.loc3_41.1, %.loc3_53 [concrete] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.ref.loc3_41.2: %type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.as_type.loc3_41.2: type = facet_access_type %.Self.ref.loc3_41.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %.loc3_41.2: type = converted %.Self.ref.loc3_41.1, %.Self.as_type.loc3_41.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %impls.loc3_47.2 = requirement_impls %.loc3_41.2, %.loc3_53 [concrete] -// CHECK:STDOUT: %.loc3_35.2: type = where_expr [concrete = constants.%type] { +// CHECK:STDOUT: %impls.loc3_47.1 = requirement_impls %.Self.ref.loc3_41.1, %.loc3_53 [concrete] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.Self.ref.loc3_41.2: type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %impls.loc3_47.2 = requirement_impls %.Self.ref.loc3_41.2, %.loc3_53 [concrete] +// CHECK:STDOUT: %.loc3_35.2: type = where_expr [concrete = type] { // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc3_30 [concrete] -// CHECK:STDOUT: %impls.loc3_47.2 = requirement_impls %.loc3_41.2, %.loc3_53 [concrete] +// CHECK:STDOUT: %impls.loc3_47.2 = requirement_impls %.Self.ref.loc3_41.2, %.loc3_53 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %T.loc3_28.2: %type = symbolic_binding T, 0 [symbolic = %T.loc3_28.1 (constants.%T.f45530.1)] -// CHECK:STDOUT: %x.param: @TakesExtraWhereDeduced.%T.as_type.loc3_69.1 (%T.as_type) = value_param call_param0 -// CHECK:STDOUT: %.loc3_69.1: type = splice_block %.loc3_69.2 [symbolic = %T.as_type.loc3_69.1 (constants.%T.as_type)] { -// CHECK:STDOUT: %T.ref: %type = name_ref T, %T.loc3_28.2 [symbolic = %T.loc3_28.1 (constants.%T.f45530.1)] -// CHECK:STDOUT: %T.as_type.loc3_69.2: type = facet_access_type %T.ref [symbolic = %T.as_type.loc3_69.1 (constants.%T.as_type)] -// CHECK:STDOUT: %.loc3_69.2: type = converted %T.ref, %T.as_type.loc3_69.2 [symbolic = %T.as_type.loc3_69.1 (constants.%T.as_type)] -// CHECK:STDOUT: } -// CHECK:STDOUT: %x: @TakesExtraWhereDeduced.%T.as_type.loc3_69.1 (%T.as_type) = wrapper_binding x, %x.param +// CHECK:STDOUT: %T.loc3_28.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_28.1 (constants.%T.67db0b.1)] +// CHECK:STDOUT: %x.param: @TakesExtraWhereDeduced.%T.loc3_28.1 (%T.67db0b.1) = value_param call_param0 +// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc3_28.2 [symbolic = %T.loc3_28.1 (constants.%T.67db0b.1)] +// CHECK:STDOUT: %x: @TakesExtraWhereDeduced.%T.loc3_28.1 (%T.67db0b.1) = wrapper_binding x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallsWithType.decl: %CallsWithType.type = fn_decl @CallsWithType [concrete = constants.%CallsWithType] { -// CHECK:STDOUT: %U.patt.loc4_19.1: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc4_19.2 (constants.%U.patt)] -// CHECK:STDOUT: %y.param_patt.loc4_28.1: @CallsWithType.%pattern_type (%pattern_type.51d) = value_param_pattern [symbolic = %y.param_patt.loc4_28.2 (constants.%y.param_patt)] -// CHECK:STDOUT: %y.patt.loc4_28.1: @CallsWithType.%pattern_type (%pattern_type.51d) = wrapper_binding_pattern y, %y.param_patt.loc4_28.1 [symbolic = %y.patt.loc4_28.2 (constants.%y.patt)] +// CHECK:STDOUT: %U.patt.loc4_19.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc4_19.2 (constants.%U.patt)] +// CHECK:STDOUT: %y.param_patt.loc4_28.1: @CallsWithType.%pattern_type (%pattern_type.51d1c4.2) = value_param_pattern [symbolic = %y.param_patt.loc4_28.2 (constants.%y.param_patt)] +// CHECK:STDOUT: %y.patt.loc4_28.1: @CallsWithType.%pattern_type (%pattern_type.51d1c4.2) = wrapper_binding_pattern y, %y.param_patt.loc4_28.1 [symbolic = %y.patt.loc4_28.2 (constants.%y.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_21.1: type = splice_block %.loc4_21.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_21.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc4_19.2: type = symbolic_binding U, 0 [symbolic = %U.loc4_19.1 (constants.%U)] @@ -1422,86 +1388,76 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %TakesExtraWhereExplicit.decl: %TakesExtraWhereExplicit.type = fn_decl @TakesExtraWhereExplicit [concrete = constants.%TakesExtraWhereExplicit] { // CHECK:STDOUT: %T.patt.loc8_44.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_44.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc8_51.1: type = splice_block %.loc8_51.2 [concrete = constants.%type] { -// CHECK:STDOUT: %.Self.frozen.loc8_44: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.loc8_51.1: type = splice_block %.loc8_51.2 [concrete = type] { +// CHECK:STDOUT: %.Self.frozen.loc8_44: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_46: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.frozen.loc8_51: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc8_51: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc8_46 [concrete] -// CHECK:STDOUT: %.Self.ref.loc8_57.1: %type = name_ref .Self, %.Self.frozen.loc8_51 [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.ref.loc8_57.1: type = name_ref .Self, %.Self.frozen.loc8_51 [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_69: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.as_type.loc8_57.1: type = facet_access_type %.Self.ref.loc8_57.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %.loc8_57.1: type = converted %.Self.ref.loc8_57.1, %.Self.as_type.loc8_57.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %impls.loc8_63.1 = requirement_impls %.loc8_57.1, %.loc8_69 [concrete] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.ref.loc8_57.2: %type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.as_type.loc8_57.2: type = facet_access_type %.Self.ref.loc8_57.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %.loc8_57.2: type = converted %.Self.ref.loc8_57.1, %.Self.as_type.loc8_57.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %impls.loc8_63.2 = requirement_impls %.loc8_57.2, %.loc8_69 [concrete] -// CHECK:STDOUT: %.loc8_51.2: type = where_expr [concrete = constants.%type] { +// CHECK:STDOUT: %impls.loc8_63.1 = requirement_impls %.Self.ref.loc8_57.1, %.loc8_69 [concrete] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.Self.ref.loc8_57.2: type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %impls.loc8_63.2 = requirement_impls %.Self.ref.loc8_57.2, %.loc8_69 [concrete] +// CHECK:STDOUT: %.loc8_51.2: type = where_expr [concrete = type] { // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc8_46 [concrete] -// CHECK:STDOUT: %impls.loc8_63.2 = requirement_impls %.loc8_57.2, %.loc8_69 [concrete] +// CHECK:STDOUT: %impls.loc8_63.2 = requirement_impls %.Self.ref.loc8_57.2, %.loc8_69 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %T.loc8_44.3: %type = symbolic_binding T, 0 [symbolic = %T.loc8_44.2 (constants.%T.f45530.2)] +// CHECK:STDOUT: %T.loc8_44.3: type = symbolic_binding T, 0 [symbolic = %T.loc8_44.2 (constants.%T.67db0b.2)] // CHECK:STDOUT: } // CHECK:STDOUT: %CallsWithTypeExplicit.decl: %CallsWithTypeExplicit.type = fn_decl @CallsWithTypeExplicit [concrete = constants.%CallsWithTypeExplicit] { -// CHECK:STDOUT: %U.patt.loc9_35.1: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_35.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc9_35.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_35.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_37.1: type = splice_block %.loc9_37.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_37.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc9_35.2: type = symbolic_binding U, 0 [symbolic = %U.loc9_35.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @TakesExtraWhereDeduced(%T.loc3_28.2: %type) { +// CHECK:STDOUT: generic fn @TakesExtraWhereDeduced(%T.loc3_28.2: type) { // CHECK:STDOUT: %T.patt.loc3_28.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_28.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.loc3_28.1: %type = symbolic_binding T, 0 [symbolic = %T.loc3_28.1 (constants.%T.f45530.1)] -// CHECK:STDOUT: %T.as_type.loc3_69.1: type = facet_access_type %T.loc3_28.1 [symbolic = %T.as_type.loc3_69.1 (constants.%T.as_type)] -// CHECK:STDOUT: %pattern_type: type = pattern_type %T.as_type.loc3_69.1 [symbolic = %pattern_type (constants.%pattern_type.86a)] -// CHECK:STDOUT: %x.param_patt.loc3_67.2: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.86a) = value_param_pattern [symbolic = %x.param_patt.loc3_67.2 (constants.%x.param_patt.9a2)] -// CHECK:STDOUT: %x.patt.loc3_67.2: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.86a) = wrapper_binding_pattern x, %x.param_patt.loc3_67.2 [symbolic = %x.patt.loc3_67.2 (constants.%x.patt.37f)] +// CHECK:STDOUT: %T.loc3_28.1: type = symbolic_binding T, 0 [symbolic = %T.loc3_28.1 (constants.%T.67db0b.1)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc3_28.1 [symbolic = %pattern_type (constants.%pattern_type.51d1c4.1)] +// CHECK:STDOUT: %x.param_patt.loc3_67.2: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.51d1c4.1) = value_param_pattern [symbolic = %x.param_patt.loc3_67.2 (constants.%x.param_patt.91de5a.1)] +// CHECK:STDOUT: %x.patt.loc3_67.2: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.51d1c4.1) = wrapper_binding_pattern x, %x.param_patt.loc3_67.2 [symbolic = %x.patt.loc3_67.2 (constants.%x.patt.26065e.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete: = require_complete_type %T.as_type.loc3_69.1 [symbolic = %require_complete (constants.%require_complete.5ef)] +// CHECK:STDOUT: %require_complete: = require_complete_type %T.loc3_28.1 [symbolic = %require_complete (constants.%require_complete.9443dd.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @TakesExtraWhereDeduced.%T.as_type.loc3_69.1 (%T.as_type)) { +// CHECK:STDOUT: fn(%x.param: @TakesExtraWhereDeduced.%T.loc3_28.1 (%T.67db0b.1)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @CallsWithType(%U.loc4_19.2: type) { -// CHECK:STDOUT: %U.patt.loc4_19.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc4_19.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc4_19.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc4_19.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc4_19.1: type = symbolic_binding U, 0 [symbolic = %U.loc4_19.1 (constants.%U)] -// CHECK:STDOUT: %pattern_type: type = pattern_type %U.loc4_19.1 [symbolic = %pattern_type (constants.%pattern_type.51d)] -// CHECK:STDOUT: %y.param_patt.loc4_28.2: @CallsWithType.%pattern_type (%pattern_type.51d) = value_param_pattern [symbolic = %y.param_patt.loc4_28.2 (constants.%y.param_patt)] -// CHECK:STDOUT: %y.patt.loc4_28.2: @CallsWithType.%pattern_type (%pattern_type.51d) = wrapper_binding_pattern y, %y.param_patt.loc4_28.2 [symbolic = %y.patt.loc4_28.2 (constants.%y.patt)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %U.loc4_19.1 [symbolic = %pattern_type (constants.%pattern_type.51d1c4.2)] +// CHECK:STDOUT: %y.param_patt.loc4_28.2: @CallsWithType.%pattern_type (%pattern_type.51d1c4.2) = value_param_pattern [symbolic = %y.param_patt.loc4_28.2 (constants.%y.param_patt)] +// CHECK:STDOUT: %y.patt.loc4_28.2: @CallsWithType.%pattern_type (%pattern_type.51d1c4.2) = wrapper_binding_pattern y, %y.param_patt.loc4_28.2 [symbolic = %y.patt.loc4_28.2 (constants.%y.patt)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete: = require_complete_type %U.loc4_19.1 [symbolic = %require_complete (constants.%require_complete.944)] -// CHECK:STDOUT: %facet_value.loc5_27.3: %type = facet_value %U.loc4_19.1, () [symbolic = %facet_value.loc5_27.3 (constants.%facet_value)] -// CHECK:STDOUT: %TakesExtraWhereDeduced.specific_fn.loc5_3.2: = specific_function constants.%TakesExtraWhereDeduced, @TakesExtraWhereDeduced(%facet_value.loc5_27.3) [symbolic = %TakesExtraWhereDeduced.specific_fn.loc5_3.2 (constants.%TakesExtraWhereDeduced.specific_fn)] +// CHECK:STDOUT: %require_complete: = require_complete_type %U.loc4_19.1 [symbolic = %require_complete (constants.%require_complete.9443dd.2)] +// CHECK:STDOUT: %TakesExtraWhereDeduced.specific_fn.loc5_3.2: = specific_function constants.%TakesExtraWhereDeduced, @TakesExtraWhereDeduced(%U.loc4_19.1) [symbolic = %TakesExtraWhereDeduced.specific_fn.loc5_3.2 (constants.%TakesExtraWhereDeduced.specific_fn)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%y.param: @CallsWithType.%U.loc4_19.1 (%U)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %TakesExtraWhereDeduced.ref: %TakesExtraWhereDeduced.type = name_ref TakesExtraWhereDeduced, file.%TakesExtraWhereDeduced.decl [concrete = constants.%TakesExtraWhereDeduced] // CHECK:STDOUT: %y.ref: @CallsWithType.%U.loc4_19.1 (%U) = name_ref y, %y -// CHECK:STDOUT: %facet_value.loc5_27.1: %type = facet_value constants.%U, () [symbolic = %facet_value.loc5_27.3 (constants.%facet_value)] -// CHECK:STDOUT: %.loc5_27.1: %type = converted constants.%U, %facet_value.loc5_27.1 [symbolic = %facet_value.loc5_27.3 (constants.%facet_value)] -// CHECK:STDOUT: %facet_value.loc5_27.2: %type = facet_value constants.%U, () [symbolic = %facet_value.loc5_27.3 (constants.%facet_value)] -// CHECK:STDOUT: %.loc5_27.2: %type = converted constants.%U, %facet_value.loc5_27.2 [symbolic = %facet_value.loc5_27.3 (constants.%facet_value)] -// CHECK:STDOUT: %TakesExtraWhereDeduced.specific_fn.loc5_3.1: = specific_function %TakesExtraWhereDeduced.ref, @TakesExtraWhereDeduced(constants.%facet_value) [symbolic = %TakesExtraWhereDeduced.specific_fn.loc5_3.2 (constants.%TakesExtraWhereDeduced.specific_fn)] +// CHECK:STDOUT: %TakesExtraWhereDeduced.specific_fn.loc5_3.1: = specific_function %TakesExtraWhereDeduced.ref, @TakesExtraWhereDeduced(constants.%U) [symbolic = %TakesExtraWhereDeduced.specific_fn.loc5_3.2 (constants.%TakesExtraWhereDeduced.specific_fn)] // CHECK:STDOUT: %TakesExtraWhereDeduced.call: init %empty_tuple.type = call %TakesExtraWhereDeduced.specific_fn.loc5_3.1(%y.ref) // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @TakesExtraWhereExplicit(%T.loc8_44.3: %type) { +// CHECK:STDOUT: generic fn @TakesExtraWhereExplicit(%T.loc8_44.3: type) { // CHECK:STDOUT: %T.patt.loc8_44.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_44.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.loc8_44.1: %type = symbolic_binding T, 0 [symbolic = %T.loc8_44.1 (constants.%T.f45530.1)] -// CHECK:STDOUT: %T.loc8_44.2: %type = symbolic_binding T, 0 [symbolic = %T.loc8_44.2 (constants.%T.f45530.2)] +// CHECK:STDOUT: %T.loc8_44.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_44.1 (constants.%T.67db0b.1)] +// CHECK:STDOUT: %T.loc8_44.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_44.2 (constants.%T.67db0b.2)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -1512,58 +1468,53 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @CallsWithTypeExplicit(%U.loc9_35.2: type) { -// CHECK:STDOUT: %U.patt.loc9_35.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_35.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc9_35.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_35.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc9_35.1: type = symbolic_binding U, 0 [symbolic = %U.loc9_35.1 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %facet_value.loc10_28.2: %type = facet_value %U.loc9_35.1, () [symbolic = %facet_value.loc10_28.2 (constants.%facet_value)] -// CHECK:STDOUT: %TakesExtraWhereExplicit.specific_fn.loc10_3.2: = specific_function constants.%TakesExtraWhereExplicit, @TakesExtraWhereExplicit(%facet_value.loc10_28.2) [symbolic = %TakesExtraWhereExplicit.specific_fn.loc10_3.2 (constants.%TakesExtraWhereExplicit.specific_fn)] +// CHECK:STDOUT: %TakesExtraWhereExplicit.specific_fn.loc10_3.2: = specific_function constants.%TakesExtraWhereExplicit, @TakesExtraWhereExplicit(%U.loc9_35.1) [symbolic = %TakesExtraWhereExplicit.specific_fn.loc10_3.2 (constants.%TakesExtraWhereExplicit.specific_fn)] // CHECK:STDOUT: // CHECK:STDOUT: fn() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %TakesExtraWhereExplicit.ref: %TakesExtraWhereExplicit.type = name_ref TakesExtraWhereExplicit, file.%TakesExtraWhereExplicit.decl [concrete = constants.%TakesExtraWhereExplicit] // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc9_35.2 [symbolic = %U.loc9_35.1 (constants.%U)] -// CHECK:STDOUT: %facet_value.loc10_28.1: %type = facet_value %U.ref, () [symbolic = %facet_value.loc10_28.2 (constants.%facet_value)] -// CHECK:STDOUT: %.loc10: %type = converted %U.ref, %facet_value.loc10_28.1 [symbolic = %facet_value.loc10_28.2 (constants.%facet_value)] -// CHECK:STDOUT: %TakesExtraWhereExplicit.specific_fn.loc10_3.1: = specific_function %TakesExtraWhereExplicit.ref, @TakesExtraWhereExplicit(constants.%facet_value) [symbolic = %TakesExtraWhereExplicit.specific_fn.loc10_3.2 (constants.%TakesExtraWhereExplicit.specific_fn)] +// CHECK:STDOUT: %TakesExtraWhereExplicit.specific_fn.loc10_3.1: = specific_function %TakesExtraWhereExplicit.ref, @TakesExtraWhereExplicit(constants.%U) [symbolic = %TakesExtraWhereExplicit.specific_fn.loc10_3.2 (constants.%TakesExtraWhereExplicit.specific_fn)] // CHECK:STDOUT: %TakesExtraWhereExplicit.call: init %empty_tuple.type = call %TakesExtraWhereExplicit.specific_fn.loc10_3.1() // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TakesExtraWhereDeduced(constants.%T.f45530.1) { +// CHECK:STDOUT: specific @TakesExtraWhereDeduced(constants.%T.67db0b.1) { // CHECK:STDOUT: %T.patt.loc3_28.2 => constants.%T.patt -// CHECK:STDOUT: %T.loc3_28.1 => constants.%T.f45530.1 -// CHECK:STDOUT: %T.as_type.loc3_69.1 => constants.%T.as_type -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.86a -// CHECK:STDOUT: %x.param_patt.loc3_67.2 => constants.%x.param_patt.9a2 -// CHECK:STDOUT: %x.patt.loc3_67.2 => constants.%x.patt.37f +// CHECK:STDOUT: %T.loc3_28.1 => constants.%T.67db0b.1 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d1c4.1 +// CHECK:STDOUT: %x.param_patt.loc3_67.2 => constants.%x.param_patt.91de5a.1 +// CHECK:STDOUT: %x.patt.loc3_67.2 => constants.%x.patt.26065e.1 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @CallsWithType(constants.%U) { // CHECK:STDOUT: %U.patt.loc4_19.2 => constants.%U.patt // CHECK:STDOUT: %U.loc4_19.1 => constants.%U -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d1c4.2 // CHECK:STDOUT: %y.param_patt.loc4_28.2 => constants.%y.param_patt // CHECK:STDOUT: %y.patt.loc4_28.2 => constants.%y.patt // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TakesExtraWhereDeduced(constants.%facet_value) { +// CHECK:STDOUT: specific @TakesExtraWhereDeduced(constants.%U) { // CHECK:STDOUT: %T.patt.loc3_28.2 => constants.%T.patt -// CHECK:STDOUT: %T.loc3_28.1 => constants.%facet_value -// CHECK:STDOUT: %T.as_type.loc3_69.1 => constants.%U -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d -// CHECK:STDOUT: %x.param_patt.loc3_67.2 => constants.%x.param_patt.91d -// CHECK:STDOUT: %x.patt.loc3_67.2 => constants.%x.patt.260 +// CHECK:STDOUT: %T.loc3_28.1 => constants.%U +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d1c4.2 +// CHECK:STDOUT: %x.param_patt.loc3_67.2 => constants.%x.param_patt.91de5a.2 +// CHECK:STDOUT: %x.patt.loc3_67.2 => constants.%x.patt.26065e.2 // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete => constants.%require_complete.944 +// CHECK:STDOUT: %require_complete => constants.%require_complete.9443dd.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TakesExtraWhereExplicit(constants.%T.f45530.2) { +// CHECK:STDOUT: specific @TakesExtraWhereExplicit(constants.%T.67db0b.2) { // CHECK:STDOUT: %T.patt.loc8_44.2 => constants.%T.patt -// CHECK:STDOUT: %T.loc8_44.1 => constants.%T.f45530.2 -// CHECK:STDOUT: %T.loc8_44.2 => constants.%T.f45530.2 +// CHECK:STDOUT: %T.loc8_44.1 => constants.%T.67db0b.2 +// CHECK:STDOUT: %T.loc8_44.2 => constants.%T.67db0b.2 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @CallsWithTypeExplicit(constants.%U) { @@ -1571,10 +1522,10 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %U.loc9_35.1 => constants.%U // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TakesExtraWhereExplicit(constants.%facet_value) { +// CHECK:STDOUT: specific @TakesExtraWhereExplicit(constants.%U) { // CHECK:STDOUT: %T.patt.loc8_44.2 => constants.%T.patt -// CHECK:STDOUT: %T.loc8_44.1 => constants.%facet_value -// CHECK:STDOUT: %T.loc8_44.2 => constants.%facet_value +// CHECK:STDOUT: %T.loc8_44.1 => constants.%U +// CHECK:STDOUT: %T.loc8_44.2 => constants.%U // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/facet/convert_facet_value_value_to_blanket_impl.carbon b/toolchain/check/testdata/facet/convert_facet_value_value_to_blanket_impl.carbon index 54ee59345778..5a3477cc18e0 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 @@ -24,12 +24,12 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: --- convert_facet_value_value_to_blanket_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Eats.type: type = facet_type <@Eats> [concrete] // CHECK:STDOUT: %Self.23e: %Eats.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete] // CHECK:STDOUT: %Self.f00: %Animal.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.333: type = pattern_type %Animal.type [concrete] // CHECK:STDOUT: %A.patt: %pattern_type.333 = symbolic_binding_pattern A, 0 [symbolic] // CHECK:STDOUT: %A: %Animal.type = symbolic_binding A, 0 [symbolic] @@ -93,7 +93,7 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: %.loc18_25: type = converted %A.ref, %A.as_type.loc18_25.1 [symbolic = %A.as_type.loc18_25.2 (constants.%A.as_type)] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] // CHECK:STDOUT: %.loc18_17: type = splice_block %Animal.ref [concrete = constants.%Animal.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } // CHECK:STDOUT: %A.loc18_15.1: %Animal.type = symbolic_binding A, 0 [symbolic = %A.loc18_15.2 (constants.%A)] @@ -105,7 +105,7 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: %e.patt.loc20_26.1: @Feed.%pattern_type (%pattern_type.aed) = wrapper_binding_pattern e, %e.param_patt.loc20_26.1 [symbolic = %e.patt.loc20_26.2 (constants.%e.patt.c5e)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc20_12: type = splice_block %Eats.ref [concrete = constants.%Eats.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc20_10.2: %Eats.type = symbolic_binding T, 0 [symbolic = %T.loc20_10.1 (constants.%T.672)] @@ -123,7 +123,7 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: %a.patt.loc22_29.1: @HandleAnimal.%pattern_type (%pattern_type.e90) = wrapper_binding_pattern a, %a.param_patt.loc22_29.1 [symbolic = %a.patt.loc22_29.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc22_20: type = splice_block %Animal.ref [concrete = constants.%Animal.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc22_18.2: %Animal.type = symbolic_binding T, 0 [symbolic = %T.loc22_18.1 (constants.%T.443)] 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 1a775af8c3c1..30d86626f450 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 @@ -38,6 +38,7 @@ fn F() { // CHECK:STDOUT: --- convert_facet_value_value_to_generic_facet_value_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Edible.type: type = facet_type <@Edible> [concrete] // CHECK:STDOUT: %Self.59b: %Edible.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Grass: type = class_type @Grass [concrete] @@ -48,10 +49,9 @@ fn F() { // CHECK:STDOUT: %Edible.facet: %Edible.type = facet_value %Grass, (%Edible.impl_witness) [concrete] // CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete] // CHECK:STDOUT: %Self.f00: %Animal.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %Food.patt.d47: %pattern_type.98f = symbolic_binding_pattern Food, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %Food.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern Food, 0 [symbolic] // CHECK:STDOUT: %Food.67d: type = symbolic_binding Food, 0 [symbolic] // CHECK:STDOUT: %Eats.type.8ef: type = generic_interface_type @Eats [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -190,10 +190,10 @@ fn F() { // CHECK:STDOUT: %.loc18: = impl_self_witness @Grass.as.Edible.impl.%Grass.ref, @Edible [concrete = constants.%.54a] // CHECK:STDOUT: %Animal.decl: type = interface_decl @Animal [concrete = constants.%Animal.type] {} {} // CHECK:STDOUT: %Eats.decl: %Eats.type.8ef = interface_decl @Eats [concrete = constants.%Eats.generic] { -// CHECK:STDOUT: %Food.patt.loc21_20.1: %pattern_type.98f = symbolic_binding_pattern Food, 0 [symbolic = %Food.patt.loc21_20.2 (constants.%Food.patt.d47)] +// CHECK:STDOUT: %Food.patt.loc21_20.1: %pattern_type.9a5 = symbolic_binding_pattern Food, 0 [symbolic = %Food.patt.loc21_20.2 (constants.%Food.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc21_22.1: type = splice_block %.loc21_22.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc21_22.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %Food.loc21_20.2: type = symbolic_binding Food, 0 [symbolic = %Food.loc21_20.1 (constants.%Food.67d)] @@ -211,12 +211,12 @@ fn F() { // CHECK:STDOUT: %.loc26_47: type = converted %U.ref, %U.as_type.loc26_47.1 [symbolic = %U.as_type.loc26_47.2 (constants.%U.as_type)] // CHECK:STDOUT: %Eats.type.loc26_47.1: type = facet_type <@Eats, @Eats(constants.%U.as_type)> [symbolic = %Eats.type.loc26_47.2 (constants.%Eats.type.ceea62.1)] // CHECK:STDOUT: %.loc26_17: type = splice_block %Animal.ref [concrete = constants.%Animal.type] { -// CHECK:STDOUT: %.Self.frozen.loc26_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc26_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc26_15.1: %Animal.type = symbolic_binding T, 0 [symbolic = %T.loc26_15.2 (constants.%T.443)] // CHECK:STDOUT: %.loc26_28: type = splice_block %Edible.ref [concrete = constants.%Edible.type] { -// CHECK:STDOUT: %.Self.frozen.loc26_26: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc26_26: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Edible.ref: type = name_ref Edible, file.%Edible.decl [concrete = constants.%Edible.type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc26_26.1: %Edible.type = symbolic_binding U, 1 [symbolic = %U.loc26_26.2 (constants.%U)] @@ -237,12 +237,12 @@ fn F() { // CHECK:STDOUT: %food.patt.loc31_62.1: @Feed.%pattern_type.loc31_62 (%pattern_type.e40) = wrapper_binding_pattern food, %food.param_patt.loc31_62.1 [symbolic = %food.patt.loc31_62.2 (constants.%food.patt.105)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc31_15: type = splice_block %Edible.ref [concrete = constants.%Edible.type] { -// CHECK:STDOUT: %.Self.frozen.loc31_13: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc31_13: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Edible.ref: type = name_ref Edible, file.%Edible.decl [concrete = constants.%Edible.type] // CHECK:STDOUT: } // CHECK:STDOUT: %Food.loc31_13.2: %Edible.type = symbolic_binding Food, 0 [symbolic = %Food.loc31_13.1 (constants.%Food.196)] // CHECK:STDOUT: %.loc31_35.1: type = splice_block %Eats.type.loc31_35.2 [symbolic = %Eats.type.loc31_35.1 (constants.%Eats.type.eb4)] { -// CHECK:STDOUT: %.Self.frozen.loc31_24: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc31_24: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Eats.ref: %Eats.type.8ef = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.generic] // CHECK:STDOUT: %Food.ref.loc31_31: %Edible.type = name_ref Food, %Food.loc31_13.2 [symbolic = %Food.loc31_13.1 (constants.%Food.196)] // CHECK:STDOUT: %Food.as_type.loc31_35.2: type = facet_access_type %Food.ref.loc31_31 [symbolic = %Food.as_type.loc31_35.1 (constants.%Food.as_type.bca)] @@ -274,12 +274,12 @@ fn F() { // CHECK:STDOUT: %food.patt.loc32_52.1: @HandleAnimal.%pattern_type.loc32_52 (%pattern_type.ea8) = wrapper_binding_pattern food, %food.param_patt.loc32_52.1 [symbolic = %food.patt.loc32_52.2 (constants.%food.patt.c70e36.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc32_20: type = splice_block %Animal.ref [concrete = constants.%Animal.type] { -// CHECK:STDOUT: %.Self.frozen.loc32_18: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc32_18: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } // CHECK:STDOUT: %A.loc32_18.2: %Animal.type = symbolic_binding A, 0 [symbolic = %A.loc32_18.1 (constants.%A)] // CHECK:STDOUT: %.loc32_34: type = splice_block %Edible.ref [concrete = constants.%Edible.type] { -// CHECK:STDOUT: %.Self.frozen.loc32_32: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc32_32: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Edible.ref: type = name_ref Edible, file.%Edible.decl [concrete = constants.%Edible.type] // CHECK:STDOUT: } // CHECK:STDOUT: %Food.loc32_32.2: %Edible.type = symbolic_binding Food, 1 [symbolic = %Food.loc32_32.1 (constants.%Food.5f8)] @@ -324,7 +324,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Eats(%Food.loc21_20.2: type) { -// CHECK:STDOUT: %Food.patt.loc21_20.2: %pattern_type.98f = symbolic_binding_pattern Food, 0 [symbolic = %Food.patt.loc21_20.2 (constants.%Food.patt.d47)] +// CHECK:STDOUT: %Food.patt.loc21_20.2: %pattern_type.9a5 = symbolic_binding_pattern Food, 0 [symbolic = %Food.patt.loc21_20.2 (constants.%Food.patt.3a0)] // CHECK:STDOUT: %Food.loc21_20.1: type = symbolic_binding Food, 0 [symbolic = %Food.loc21_20.1 (constants.%Food.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -522,14 +522,14 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Eats(constants.%Food.67d) { -// CHECK:STDOUT: %Food.patt.loc21_20.2 => constants.%Food.patt.d47 +// CHECK:STDOUT: %Food.patt.loc21_20.2 => constants.%Food.patt.3a0 // CHECK:STDOUT: %Food.loc21_20.1 => constants.%Food.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Eats.WithSelf(constants.%Food.67d, constants.%Self.db3) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Eats(constants.%U.as_type) { -// CHECK:STDOUT: %Food.patt.loc21_20.2 => constants.%Food.patt.d47 +// CHECK:STDOUT: %Food.patt.loc21_20.2 => constants.%Food.patt.3a0 // CHECK:STDOUT: %Food.loc21_20.1 => constants.%U.as_type // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -562,7 +562,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Eats(constants.%Food.as_type.bca) { -// CHECK:STDOUT: %Food.patt.loc21_20.2 => constants.%Food.patt.d47 +// CHECK:STDOUT: %Food.patt.loc21_20.2 => constants.%Food.patt.3a0 // CHECK:STDOUT: %Food.loc21_20.1 => constants.%Food.as_type.bca // CHECK:STDOUT: } // CHECK:STDOUT: @@ -599,7 +599,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Eats(constants.%Food.as_type.24e) { -// CHECK:STDOUT: %Food.patt.loc21_20.2 => constants.%Food.patt.d47 +// CHECK:STDOUT: %Food.patt.loc21_20.2 => constants.%Food.patt.3a0 // CHECK:STDOUT: %Food.loc21_20.1 => constants.%Food.as_type.24e // CHECK:STDOUT: } // CHECK:STDOUT: @@ -679,7 +679,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Eats(constants.%Grass) { -// CHECK:STDOUT: %Food.patt.loc21_20.2 => constants.%Food.patt.d47 +// CHECK:STDOUT: %Food.patt.loc21_20.2 => constants.%Food.patt.3a0 // CHECK:STDOUT: %Food.loc21_20.1 => constants.%Grass // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/facet/convert_facet_value_value_to_itself.carbon b/toolchain/check/testdata/facet/convert_facet_value_value_to_itself.carbon index a5afa48f8fdf..c932139a291b 100644 --- a/toolchain/check/testdata/facet/convert_facet_value_value_to_itself.carbon +++ b/toolchain/check/testdata/facet/convert_facet_value_value_to_itself.carbon @@ -28,10 +28,10 @@ fn F() { // CHECK:STDOUT: --- convert_facet_value_value_to_itself.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete] // CHECK:STDOUT: %Self.f00: %Animal.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.333: type = pattern_type %Animal.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.333 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %Animal.type = symbolic_binding T, 0 [symbolic] @@ -96,7 +96,7 @@ fn F() { // CHECK:STDOUT: %a.patt.loc17_34.1: @FeedAnimal.%pattern_type (%pattern_type.e90) = wrapper_binding_pattern a, %a.param_patt.loc17_34.1 [symbolic = %a.patt.loc17_34.2 (constants.%a.patt.febc60.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17_18: type = splice_block %Animal.ref [concrete = constants.%Animal.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc17_16.2: %Animal.type = symbolic_binding T, 0 [symbolic = %T.loc17_16.1 (constants.%T)] @@ -114,7 +114,7 @@ fn F() { // CHECK:STDOUT: %a.patt.loc19_29.1: @HandleAnimal.%pattern_type (%pattern_type.e90) = wrapper_binding_pattern a, %a.param_patt.loc19_29.1 [symbolic = %a.patt.loc19_29.2 (constants.%a.patt.febc60.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc19_20: type = splice_block %Animal.ref [concrete = constants.%Animal.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc19_18.2: %Animal.type = symbolic_binding T, 0 [symbolic = %T.loc19_18.1 (constants.%T)] diff --git a/toolchain/check/testdata/facet/convert_interface.carbon b/toolchain/check/testdata/facet/convert_interface.carbon index 745d96bf999f..e77c04b71b2f 100644 --- a/toolchain/check/testdata/facet/convert_interface.carbon +++ b/toolchain/check/testdata/facet/convert_interface.carbon @@ -25,6 +25,7 @@ fn G() { F(Animal); } // CHECK:STDOUT: --- convert_interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Eats.type: type = facet_type <@Eats> [concrete] // CHECK:STDOUT: %Self.23e: %Eats.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete] diff --git a/toolchain/check/testdata/facet/facet_assoc_const.carbon b/toolchain/check/testdata/facet/facet_assoc_const.carbon index 59007cdac853..5724668b6a85 100644 --- a/toolchain/check/testdata/facet/facet_assoc_const.carbon +++ b/toolchain/check/testdata/facet/facet_assoc_const.carbon @@ -642,13 +642,13 @@ fn F(unused generic T: I & J where .I1 = .J1.I2) {} // CHECK:STDOUT: --- fail_cycle.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %M.type: type = facet_type <@M> [concrete] // CHECK:STDOUT: %M.assoc_type: type = assoc_entity_type @M [concrete] // CHECK:STDOUT: %assoc0: %M.assoc_type = assoc_entity element0, @M.WithSelf.%X [concrete] // CHECK:STDOUT: %assoc1: %M.assoc_type = assoc_entity element1, @M.WithSelf.%Y [concrete] // CHECK:STDOUT: %assoc2: %M.assoc_type = assoc_entity element2, @M.WithSelf.%Z [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.1cb: %M.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.1cb [symbolic_self] // CHECK:STDOUT: %M.lookup_impl_witness.beb: = lookup_impl_witness %.Self.frozen.1cb, @M [symbolic_self] @@ -671,7 +671,7 @@ fn F(unused generic T: I & J where .I1 = .J1.I2) {} // CHECK:STDOUT: %T.patt: = symbolic_binding_pattern T, 0 [concrete = ] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_26.1: type = splice_block %.loc13_26.2 [concrete = ] { -// CHECK:STDOUT: %.Self.frozen.loc13_22: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc13_22: 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: %.Self.frozen.loc13_26: %M.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.1cb] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %M.ref [concrete] diff --git a/toolchain/check/testdata/facet/fail_convert_class_type_to_generic_facet_value.carbon b/toolchain/check/testdata/facet/fail_convert_class_type_to_generic_facet_value.carbon index ce77f39c4605..f427beab35f9 100644 --- a/toolchain/check/testdata/facet/fail_convert_class_type_to_generic_facet_value.carbon +++ b/toolchain/check/testdata/facet/fail_convert_class_type_to_generic_facet_value.carbon @@ -40,10 +40,10 @@ fn G() { // CHECK:STDOUT: --- fail_convert_class_type_to_generic_facet_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %Scalar.patt: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %Scalar.patt: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic] // CHECK:STDOUT: %Scalar: type = symbolic_binding Scalar, 0 [symbolic] // CHECK:STDOUT: %Generic.type.30d: type = generic_interface_type @Generic [concrete] // CHECK:STDOUT: %Generic.generic: %Generic.type.30d = struct_value () [concrete] @@ -71,7 +71,7 @@ fn G() { // CHECK:STDOUT: %Generic.facet: %Generic.type.b40 = facet_value %ImplsGeneric, (%Generic.impl_witness) [concrete] // CHECK:STDOUT: %Generic.WithSelf.F.type.7ef: type = fn_type @Generic.WithSelf.F, @Generic.WithSelf(%GenericParam, %Generic.facet) [concrete] // CHECK:STDOUT: %Generic.WithSelf.F.e1b: %Generic.WithSelf.F.type.7ef = struct_value () [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Generic.type.ee14e9.2: type = facet_type <@Generic, @Generic(%T)> [symbolic] // CHECK:STDOUT: %pattern_type.4e0: type = pattern_type %Generic.type.ee14e9.2 [symbolic] @@ -102,10 +102,10 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Generic.decl: %Generic.type.30d = interface_decl @Generic [concrete = constants.%Generic.generic] { -// CHECK:STDOUT: %Scalar.patt.loc15_25.1: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc15_25.2 (constants.%Scalar.patt)] +// CHECK:STDOUT: %Scalar.patt.loc15_25.1: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc15_25.2 (constants.%Scalar.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_27.1: type = splice_block %.loc15_27.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_27.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %Scalar.loc15_25.2: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc15_25.1 (constants.%Scalar)] @@ -121,16 +121,16 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %.loc23: = impl_self_witness @ImplsGeneric.as.Generic.impl.%ImplsGeneric.ref, @Generic, @Generic(constants.%GenericParam) [concrete = constants.%.e53] // CHECK:STDOUT: %CallGenericMethod.decl: %CallGenericMethod.type = fn_decl @CallGenericMethod [concrete = constants.%CallGenericMethod] { -// CHECK:STDOUT: %T.patt.loc27_31.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc27_31.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc27_31.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc27_31.2 (constants.%T.patt)] // CHECK:STDOUT: %U.patt.loc27_55.1: @CallGenericMethod.%pattern_type (%pattern_type.4e0) = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc27_55.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc27_33.1: type = splice_block %.loc27_33.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc27_31: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc27_31: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc27_33.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc27_31.2: type = symbolic_binding T, 0 [symbolic = %T.loc27_31.1 (constants.%T)] // CHECK:STDOUT: %.loc27_66: type = splice_block %Generic.type.loc27_66.2 [symbolic = %Generic.type.loc27_66.1 (constants.%Generic.type.ee14e9.2)] { -// CHECK:STDOUT: %.Self.frozen.loc27_55: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc27_55: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Generic.ref: %Generic.type.30d = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc27_31.2 [symbolic = %T.loc27_31.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc27_66.2: type = facet_type <@Generic, @Generic(constants.%T)> [symbolic = %Generic.type.loc27_66.1 (constants.%Generic.type.ee14e9.2)] @@ -141,7 +141,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Generic(%Scalar.loc15_25.2: type) { -// CHECK:STDOUT: %Scalar.patt.loc15_25.2: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc15_25.2 (constants.%Scalar.patt)] +// CHECK:STDOUT: %Scalar.patt.loc15_25.2: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc15_25.2 (constants.%Scalar.patt)] // CHECK:STDOUT: %Scalar.loc15_25.1: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc15_25.1 (constants.%Scalar)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -210,7 +210,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @CallGenericMethod(%T.loc27_31.2: type, %U.loc27_55.2: @CallGenericMethod.%Generic.type.loc27_66.1 (%Generic.type.ee14e9.2)) { -// CHECK:STDOUT: %T.patt.loc27_31.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc27_31.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc27_31.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc27_31.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc27_31.1: type = symbolic_binding T, 0 [symbolic = %T.loc27_31.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc27_66.1: type = facet_type <@Generic, @Generic(%T.loc27_31.1)> [symbolic = %Generic.type.loc27_66.1 (constants.%Generic.type.ee14e9.2)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Generic.type.loc27_66.1 [symbolic = %pattern_type (constants.%pattern_type.4e0)] diff --git a/toolchain/check/testdata/facet/fail_convert_facet_value_to_missing_impl.carbon b/toolchain/check/testdata/facet/fail_convert_facet_value_to_missing_impl.carbon index 351e1e675706..0944fc6c58dc 100644 --- a/toolchain/check/testdata/facet/fail_convert_facet_value_to_missing_impl.carbon +++ b/toolchain/check/testdata/facet/fail_convert_facet_value_to_missing_impl.carbon @@ -29,12 +29,12 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: --- fail_convert_facet_value_to_missing_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Eats.type: type = facet_type <@Eats> [concrete] // CHECK:STDOUT: %Self.23e: %Eats.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete] // CHECK:STDOUT: %Self.f00: %Animal.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.880: type = pattern_type %Eats.type [concrete] // CHECK:STDOUT: %T.patt.9e8: %pattern_type.880 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.672: %Eats.type = symbolic_binding T, 0 [symbolic] @@ -81,7 +81,7 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: %e.patt.loc18_26.1: @Feed.%pattern_type (%pattern_type.aed) = wrapper_binding_pattern e, %e.param_patt.loc18_26.1 [symbolic = %e.patt.loc18_26.2 (constants.%e.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18_12: type = splice_block %Eats.ref [concrete = constants.%Eats.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc18_10.2: %Eats.type = symbolic_binding T, 0 [symbolic = %T.loc18_10.1 (constants.%T.672)] @@ -99,7 +99,7 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: %a.patt.loc27_29.1: @HandleAnimal.%pattern_type (%pattern_type.e90) = wrapper_binding_pattern a, %a.param_patt.loc27_29.1 [symbolic = %a.patt.loc27_29.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc27_20: type = splice_block %Animal.ref [concrete = constants.%Animal.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc27_18.2: %Animal.type = symbolic_binding T, 0 [symbolic = %T.loc27_18.1 (constants.%T.443)] diff --git a/toolchain/check/testdata/facet/fail_convert_type_erased_type_to_facet.carbon b/toolchain/check/testdata/facet/fail_convert_type_erased_type_to_facet.carbon index 325abac42f9d..cd827b98ccdf 100644 --- a/toolchain/check/testdata/facet/fail_convert_type_erased_type_to_facet.carbon +++ b/toolchain/check/testdata/facet/fail_convert_type_erased_type_to_facet.carbon @@ -31,6 +31,7 @@ fn F() { // CHECK:STDOUT: --- fail_convert_type_erased_type_to_facet.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete] // CHECK:STDOUT: %Self: %Animal.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Goat: type = class_type @Goat [concrete] diff --git a/toolchain/check/testdata/facet/fail_deduction_uses_runtime_type_conversion.carbon b/toolchain/check/testdata/facet/fail_deduction_uses_runtime_type_conversion.carbon index 128b7ad22d6f..44e6cc5e6b6f 100644 --- a/toolchain/check/testdata/facet/fail_deduction_uses_runtime_type_conversion.carbon +++ b/toolchain/check/testdata/facet/fail_deduction_uses_runtime_type_conversion.carbon @@ -44,17 +44,17 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: --- fail_deduction_uses_runtime_type_conversion.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %tuple.type: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple.0d2: %tuple.type = tuple_value (type) [concrete] -// CHECK:STDOUT: %pattern_type.f1e: type = pattern_type %tuple.type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.f1e = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %tuple.ad8: %tuple.type = tuple_value (type) [concrete] +// CHECK:STDOUT: %pattern_type.ddf: type = pattern_type %tuple.type [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.ddf = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %tuple.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %HoldsType.type: type = generic_class_type @HoldsType [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %HoldsType.generic: %HoldsType.type = struct_value () [concrete] -// CHECK:STDOUT: %HoldsType.a83: type = class_type @HoldsType, @HoldsType(%T) [symbolic] +// CHECK:STDOUT: %HoldsType.4fb: type = class_type @HoldsType, @HoldsType(%T) [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %RuntimeConvertFrom: type = class_type @RuntimeConvertFrom [concrete] @@ -79,20 +79,20 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: %RuntimeConvertTo.val: %RuntimeConvertTo = struct_value () [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %tuple.elem0: type = tuple_access %T, element0 [symbolic] -// CHECK:STDOUT: %pattern_type.e66: type = pattern_type %tuple.elem0 [symbolic] -// CHECK:STDOUT: %A.patt.aee: %pattern_type.e66 = symbolic_binding_pattern A, 1 [symbolic] +// CHECK:STDOUT: %pattern_type.251: type = pattern_type %tuple.elem0 [symbolic] +// CHECK:STDOUT: %A.patt.ee4: %pattern_type.251 = symbolic_binding_pattern A, 1 [symbolic] // CHECK:STDOUT: %A: %tuple.elem0 = symbolic_binding A, 1 [symbolic] -// CHECK:STDOUT: %pattern_type.b2f: type = pattern_type %HoldsType.a83 [symbolic] -// CHECK:STDOUT: %x.param_patt.321: %pattern_type.b2f = value_param_pattern [symbolic] -// CHECK:STDOUT: %x.patt.a1d: %pattern_type.b2f = wrapper_binding_pattern x, %x.param_patt.321 [symbolic] +// CHECK:STDOUT: %pattern_type.ec9: type = pattern_type %HoldsType.4fb [symbolic] +// CHECK:STDOUT: %x.param_patt.741: %pattern_type.ec9 = value_param_pattern [symbolic] +// CHECK:STDOUT: %x.patt.991: %pattern_type.ec9 = wrapper_binding_pattern x, %x.param_patt.741 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %require_complete: = require_complete_type %HoldsType.a83 [symbolic] -// CHECK:STDOUT: %tuple.162: %tuple.type = tuple_value (%RuntimeConvertTo) [concrete] -// CHECK:STDOUT: %HoldsType.9f2: type = class_type @HoldsType, @HoldsType(%tuple.162) [concrete] -// CHECK:STDOUT: %pattern_type.905: type = pattern_type %HoldsType.9f2 [concrete] -// CHECK:STDOUT: %holds_to.param_patt: %pattern_type.905 = value_param_pattern [concrete] -// CHECK:STDOUT: %holds_to.patt: %pattern_type.905 = wrapper_binding_pattern holds_to, %holds_to.param_patt [concrete] +// CHECK:STDOUT: %require_complete: = require_complete_type %HoldsType.4fb [symbolic] +// CHECK:STDOUT: %tuple.eb2: %tuple.type = tuple_value (%RuntimeConvertTo) [concrete] +// CHECK:STDOUT: %HoldsType.5cb: type = class_type @HoldsType, @HoldsType(%tuple.eb2) [concrete] +// CHECK:STDOUT: %pattern_type.a09: type = pattern_type %HoldsType.5cb [concrete] +// CHECK:STDOUT: %holds_to.param_patt: %pattern_type.a09 = value_param_pattern [concrete] +// CHECK:STDOUT: %holds_to.patt: %pattern_type.a09 = wrapper_binding_pattern holds_to, %holds_to.param_patt [concrete] // CHECK:STDOUT: %from.patt: %pattern_type.598 = symbolic_binding_pattern from, 0 [symbolic] // CHECK:STDOUT: %from: %RuntimeConvertFrom = symbolic_binding from, 0 [symbolic] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] @@ -100,8 +100,8 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: %.b6a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.811, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %RuntimeConvertFrom.as.ImplicitAs.impl.Convert.bound: = bound_method %from, %RuntimeConvertFrom.as.ImplicitAs.impl.Convert [symbolic] // CHECK:STDOUT: %A.patt.797: %pattern_type.c10 = symbolic_binding_pattern A, 1 [symbolic] -// CHECK:STDOUT: %x.param_patt.fbd: %pattern_type.905 = value_param_pattern [concrete] -// CHECK:STDOUT: %x.patt.755: %pattern_type.905 = wrapper_binding_pattern x, %x.param_patt.fbd [concrete] +// CHECK:STDOUT: %x.param_patt.726: %pattern_type.a09 = value_param_pattern [concrete] +// CHECK:STDOUT: %x.patt.b9c: %pattern_type.a09 = wrapper_binding_pattern x, %x.param_patt.726 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.ef016f.2: type = fn_type @Destroy.WithSelf.Op.loc40_19.2 [concrete] @@ -130,12 +130,12 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HoldsType.decl: %HoldsType.type = class_decl @HoldsType [concrete = constants.%HoldsType.generic] { -// CHECK:STDOUT: %T.patt.loc17_18.1: %pattern_type.f1e = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc17_18.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc17_18.1: %pattern_type.ddf = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc17_18.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17_27.1: type = splice_block %.loc17_27.3 [concrete = constants.%tuple.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc17_21: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.loc17_27.2: %tuple.type = tuple_literal (%.loc17_21) [concrete = constants.%tuple.0d2] +// CHECK:STDOUT: %.loc17_27.2: %tuple.type = tuple_literal (%.loc17_21) [concrete = constants.%tuple.ad8] // CHECK:STDOUT: %.loc17_27.3: type = converted %.loc17_27.2, constants.%tuple.type [concrete = constants.%tuple.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc17_18.2: %tuple.type = symbolic_binding T, 0 [symbolic = %T.loc17_18.1 (constants.%T)] @@ -151,50 +151,50 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: = impl_self_witness @RuntimeConvertFrom.as.ImplicitAs.impl.%RuntimeConvertFrom.ref, @ImplicitAs, @ImplicitAs(constants.%RuntimeConvertTo) [concrete = constants.%.291] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc27_7.1: %pattern_type.f1e = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc27_7.2 (constants.%T.patt)] -// CHECK:STDOUT: %A.patt.loc27_35.1: @F.%pattern_type.loc27_35 (%pattern_type.e66) = symbolic_binding_pattern A, 1 [symbolic = %A.patt.loc27_35.2 (constants.%A.patt.aee)] -// CHECK:STDOUT: %x.param_patt.loc27_50.1: @F.%pattern_type.loc27_50 (%pattern_type.b2f) = value_param_pattern [symbolic = %x.param_patt.loc27_50.2 (constants.%x.param_patt.321)] -// CHECK:STDOUT: %x.patt.loc27_50.1: @F.%pattern_type.loc27_50 (%pattern_type.b2f) = wrapper_binding_pattern x, %x.param_patt.loc27_50.1 [symbolic = %x.patt.loc27_50.2 (constants.%x.patt.a1d)] +// CHECK:STDOUT: %T.patt.loc27_7.1: %pattern_type.ddf = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc27_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %A.patt.loc27_35.1: @F.%pattern_type.loc27_35 (%pattern_type.251) = symbolic_binding_pattern A, 1 [symbolic = %A.patt.loc27_35.2 (constants.%A.patt.ee4)] +// CHECK:STDOUT: %x.param_patt.loc27_50.1: @F.%pattern_type.loc27_50 (%pattern_type.ec9) = value_param_pattern [symbolic = %x.param_patt.loc27_50.2 (constants.%x.param_patt.741)] +// CHECK:STDOUT: %x.patt.loc27_50.1: @F.%pattern_type.loc27_50 (%pattern_type.ec9) = wrapper_binding_pattern x, %x.param_patt.loc27_50.1 [symbolic = %x.patt.loc27_50.2 (constants.%x.patt.991)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc27_16.1: type = splice_block %.loc27_16.3 [concrete = constants.%tuple.type] { -// CHECK:STDOUT: %.Self.frozen.loc27_7: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc27_7: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc27_10: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.loc27_16.2: %tuple.type = tuple_literal (%.loc27_10) [concrete = constants.%tuple.0d2] +// CHECK:STDOUT: %.loc27_16.2: %tuple.type = tuple_literal (%.loc27_10) [concrete = constants.%tuple.ad8] // CHECK:STDOUT: %.loc27_16.3: type = converted %.loc27_16.2, constants.%tuple.type [concrete = constants.%tuple.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc27_7.2: %tuple.type = symbolic_binding T, 0 [symbolic = %T.loc27_7.1 (constants.%T)] // CHECK:STDOUT: %.loc27_38: type = splice_block %tuple.elem0.loc27_38.2 [symbolic = %tuple.elem0.loc27_38.1 (constants.%tuple.elem0)] { -// CHECK:STDOUT: %.Self.frozen.loc27_35: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc27_35: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %T.ref.loc27_37: %tuple.type = name_ref T, %T.loc27_7.2 [symbolic = %T.loc27_7.1 (constants.%T)] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %tuple.elem0.loc27_38.2: type = tuple_access %T.ref.loc27_37, element0 [symbolic = %tuple.elem0.loc27_38.1 (constants.%tuple.elem0)] // CHECK:STDOUT: } // CHECK:STDOUT: %A.loc27_35.2: @F.%tuple.elem0.loc27_38.1 (%tuple.elem0) = symbolic_binding A, 1 [symbolic = %A.loc27_35.1 (constants.%A)] -// CHECK:STDOUT: %x.param: @F.%HoldsType.loc27_63.1 (%HoldsType.a83) = value_param call_param0 -// CHECK:STDOUT: %.loc27_63: type = splice_block %HoldsType.loc27_63.2 [symbolic = %HoldsType.loc27_63.1 (constants.%HoldsType.a83)] { +// CHECK:STDOUT: %x.param: @F.%HoldsType.loc27_63.1 (%HoldsType.4fb) = value_param call_param0 +// CHECK:STDOUT: %.loc27_63: type = splice_block %HoldsType.loc27_63.2 [symbolic = %HoldsType.loc27_63.1 (constants.%HoldsType.4fb)] { // CHECK:STDOUT: %HoldsType.ref: %HoldsType.type = name_ref HoldsType, file.%HoldsType.decl [concrete = constants.%HoldsType.generic] // CHECK:STDOUT: %T.ref.loc27_62: %tuple.type = name_ref T, %T.loc27_7.2 [symbolic = %T.loc27_7.1 (constants.%T)] -// CHECK:STDOUT: %HoldsType.loc27_63.2: type = class_type @HoldsType, @HoldsType(constants.%T) [symbolic = %HoldsType.loc27_63.1 (constants.%HoldsType.a83)] +// CHECK:STDOUT: %HoldsType.loc27_63.2: type = class_type @HoldsType, @HoldsType(constants.%T) [symbolic = %HoldsType.loc27_63.1 (constants.%HoldsType.4fb)] // CHECK:STDOUT: } -// CHECK:STDOUT: %x: @F.%HoldsType.loc27_63.1 (%HoldsType.a83) = wrapper_binding x, %x.param +// CHECK:STDOUT: %x: @F.%HoldsType.loc27_63.1 (%HoldsType.4fb) = wrapper_binding x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { -// CHECK:STDOUT: %holds_to.param_patt: %pattern_type.905 = value_param_pattern [concrete = constants.%holds_to.param_patt] -// CHECK:STDOUT: %holds_to.patt: %pattern_type.905 = wrapper_binding_pattern holds_to, %holds_to.param_patt [concrete = constants.%holds_to.patt] +// CHECK:STDOUT: %holds_to.param_patt: %pattern_type.a09 = value_param_pattern [concrete = constants.%holds_to.param_patt] +// CHECK:STDOUT: %holds_to.patt: %pattern_type.a09 = wrapper_binding_pattern holds_to, %holds_to.param_patt [concrete = constants.%holds_to.patt] // CHECK:STDOUT: %from.patt.loc29_61.1: %pattern_type.598 = symbolic_binding_pattern from, 0 [symbolic = %from.patt.loc29_61.2 (constants.%from.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %holds_to.param: %HoldsType.9f2 = value_param call_param0 -// CHECK:STDOUT: %.loc29_46.1: type = splice_block %HoldsType [concrete = constants.%HoldsType.9f2] { +// CHECK:STDOUT: %holds_to.param: %HoldsType.5cb = value_param call_param0 +// CHECK:STDOUT: %.loc29_46.1: type = splice_block %HoldsType [concrete = constants.%HoldsType.5cb] { // CHECK:STDOUT: %HoldsType.ref: %HoldsType.type = name_ref HoldsType, file.%HoldsType.decl [concrete = constants.%HoldsType.generic] // CHECK:STDOUT: %RuntimeConvertTo.ref: type = name_ref RuntimeConvertTo, file.%RuntimeConvertTo.decl [concrete = constants.%RuntimeConvertTo] -// CHECK:STDOUT: %.loc29_45: %tuple.type = tuple_literal (%RuntimeConvertTo.ref) [concrete = constants.%tuple.162] -// CHECK:STDOUT: %tuple: %tuple.type = tuple_value (%RuntimeConvertTo.ref) [concrete = constants.%tuple.162] -// CHECK:STDOUT: %.loc29_46.2: %tuple.type = converted %.loc29_45, %tuple [concrete = constants.%tuple.162] -// CHECK:STDOUT: %HoldsType: type = class_type @HoldsType, @HoldsType(constants.%tuple.162) [concrete = constants.%HoldsType.9f2] +// CHECK:STDOUT: %.loc29_45: %tuple.type = tuple_literal (%RuntimeConvertTo.ref) [concrete = constants.%tuple.eb2] +// CHECK:STDOUT: %tuple: %tuple.type = tuple_value (%RuntimeConvertTo.ref) [concrete = constants.%tuple.eb2] +// CHECK:STDOUT: %.loc29_46.2: %tuple.type = converted %.loc29_45, %tuple [concrete = constants.%tuple.eb2] +// CHECK:STDOUT: %HoldsType: type = class_type @HoldsType, @HoldsType(constants.%tuple.eb2) [concrete = constants.%HoldsType.5cb] // CHECK:STDOUT: } -// CHECK:STDOUT: %holds_to: %HoldsType.9f2 = wrapper_binding holds_to, %holds_to.param +// CHECK:STDOUT: %holds_to: %HoldsType.5cb = wrapper_binding holds_to, %holds_to.param // CHECK:STDOUT: %.loc29_63: type = splice_block %RuntimeConvertFrom.ref [concrete = constants.%RuntimeConvertFrom] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %RuntimeConvertFrom.ref: type = name_ref RuntimeConvertFrom, file.%RuntimeConvertFrom.decl [concrete = constants.%RuntimeConvertFrom] // CHECK:STDOUT: } // CHECK:STDOUT: %from.loc29_61.2: %RuntimeConvertFrom = symbolic_binding from, 0 [symbolic = %from.loc29_61.1 (constants.%from)] @@ -227,7 +227,7 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @HoldsType(%T.loc17_18.2: %tuple.type) { -// CHECK:STDOUT: %T.patt.loc17_18.2: %pattern_type.f1e = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc17_18.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc17_18.2: %pattern_type.ddf = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc17_18.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc17_18.1: %tuple.type = symbolic_binding T, 0 [symbolic = %T.loc17_18.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -237,7 +237,7 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = constants.%HoldsType.a83 +// CHECK:STDOUT: .Self = constants.%HoldsType.4fb // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -266,21 +266,21 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc27_7.2: %tuple.type, %A.loc27_35.2: @F.%tuple.elem0.loc27_38.1 (%tuple.elem0)) { -// CHECK:STDOUT: %T.patt.loc27_7.2: %pattern_type.f1e = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc27_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc27_7.2: %pattern_type.ddf = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc27_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc27_7.1: %tuple.type = symbolic_binding T, 0 [symbolic = %T.loc27_7.1 (constants.%T)] // CHECK:STDOUT: %tuple.elem0.loc27_38.1: type = tuple_access %T.loc27_7.1, element0 [symbolic = %tuple.elem0.loc27_38.1 (constants.%tuple.elem0)] -// CHECK:STDOUT: %pattern_type.loc27_35: type = pattern_type %tuple.elem0.loc27_38.1 [symbolic = %pattern_type.loc27_35 (constants.%pattern_type.e66)] -// CHECK:STDOUT: %A.patt.loc27_35.2: @F.%pattern_type.loc27_35 (%pattern_type.e66) = symbolic_binding_pattern A, 1 [symbolic = %A.patt.loc27_35.2 (constants.%A.patt.aee)] +// CHECK:STDOUT: %pattern_type.loc27_35: type = pattern_type %tuple.elem0.loc27_38.1 [symbolic = %pattern_type.loc27_35 (constants.%pattern_type.251)] +// CHECK:STDOUT: %A.patt.loc27_35.2: @F.%pattern_type.loc27_35 (%pattern_type.251) = symbolic_binding_pattern A, 1 [symbolic = %A.patt.loc27_35.2 (constants.%A.patt.ee4)] // CHECK:STDOUT: %A.loc27_35.1: @F.%tuple.elem0.loc27_38.1 (%tuple.elem0) = symbolic_binding A, 1 [symbolic = %A.loc27_35.1 (constants.%A)] -// CHECK:STDOUT: %HoldsType.loc27_63.1: type = class_type @HoldsType, @HoldsType(%T.loc27_7.1) [symbolic = %HoldsType.loc27_63.1 (constants.%HoldsType.a83)] -// CHECK:STDOUT: %pattern_type.loc27_50: type = pattern_type %HoldsType.loc27_63.1 [symbolic = %pattern_type.loc27_50 (constants.%pattern_type.b2f)] -// CHECK:STDOUT: %x.param_patt.loc27_50.2: @F.%pattern_type.loc27_50 (%pattern_type.b2f) = value_param_pattern [symbolic = %x.param_patt.loc27_50.2 (constants.%x.param_patt.321)] -// CHECK:STDOUT: %x.patt.loc27_50.2: @F.%pattern_type.loc27_50 (%pattern_type.b2f) = wrapper_binding_pattern x, %x.param_patt.loc27_50.2 [symbolic = %x.patt.loc27_50.2 (constants.%x.patt.a1d)] +// CHECK:STDOUT: %HoldsType.loc27_63.1: type = class_type @HoldsType, @HoldsType(%T.loc27_7.1) [symbolic = %HoldsType.loc27_63.1 (constants.%HoldsType.4fb)] +// CHECK:STDOUT: %pattern_type.loc27_50: type = pattern_type %HoldsType.loc27_63.1 [symbolic = %pattern_type.loc27_50 (constants.%pattern_type.ec9)] +// CHECK:STDOUT: %x.param_patt.loc27_50.2: @F.%pattern_type.loc27_50 (%pattern_type.ec9) = value_param_pattern [symbolic = %x.param_patt.loc27_50.2 (constants.%x.param_patt.741)] +// CHECK:STDOUT: %x.patt.loc27_50.2: @F.%pattern_type.loc27_50 (%pattern_type.ec9) = wrapper_binding_pattern x, %x.param_patt.loc27_50.2 [symbolic = %x.patt.loc27_50.2 (constants.%x.patt.991)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %HoldsType.loc27_63.1 [symbolic = %require_complete (constants.%require_complete)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param: @F.%HoldsType.loc27_63.1 (%HoldsType.a83)) { +// CHECK:STDOUT: fn(%x.param: @F.%HoldsType.loc27_63.1 (%HoldsType.4fb)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -293,11 +293,11 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: !definition: // CHECK:STDOUT: %RuntimeConvertFrom.as.ImplicitAs.impl.Convert.bound: = bound_method %from.loc29_61.1, constants.%RuntimeConvertFrom.as.ImplicitAs.impl.Convert [symbolic = %RuntimeConvertFrom.as.ImplicitAs.impl.Convert.bound (constants.%RuntimeConvertFrom.as.ImplicitAs.impl.Convert.bound)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%holds_to.param: %HoldsType.9f2) { +// CHECK:STDOUT: fn(%holds_to.param: %HoldsType.5cb) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %from.ref: %RuntimeConvertFrom = name_ref from, %from.loc29_61.2 [symbolic = %from.loc29_61.1 (constants.%from)] -// CHECK:STDOUT: %holds_to.ref: %HoldsType.9f2 = name_ref holds_to, %holds_to +// CHECK:STDOUT: %holds_to.ref: %HoldsType.5cb = name_ref holds_to, %holds_to // CHECK:STDOUT: %impl.elem0: %.b6a = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%RuntimeConvertFrom.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method: = bound_method constants.%from, %impl.elem0 [symbolic = %RuntimeConvertFrom.as.ImplicitAs.impl.Convert.bound (constants.%RuntimeConvertFrom.as.ImplicitAs.impl.Convert.bound)] // CHECK:STDOUT: %.loc40_19.1: ref %RuntimeConvertTo = temporary_storage @@ -305,7 +305,7 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: %.loc40_19.2: init %RuntimeConvertTo = converted constants.%from, %RuntimeConvertFrom.as.ImplicitAs.impl.Convert.call // CHECK:STDOUT: %.loc40_19.3: ref %RuntimeConvertTo = temporary %.loc40_19.1, %.loc40_19.2 // CHECK:STDOUT: %.loc40_19.4: %RuntimeConvertTo = acquire_value %.loc40_19.3 -// CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%tuple.162, ) [concrete = ] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%tuple.eb2, ) [concrete = ] // CHECK:STDOUT: %.loc40_19.5: %empty_tuple.type = call %F.specific_fn(%holds_to.ref) // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc40_19.6: %empty_tuple.type = converted %.loc40_19.5, %empty_tuple [concrete = constants.%empty_tuple] @@ -333,18 +333,18 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: %T.patt.loc27_7.2 => constants.%T.patt // CHECK:STDOUT: %T.loc27_7.1 => constants.%T // CHECK:STDOUT: %tuple.elem0.loc27_38.1 => constants.%tuple.elem0 -// CHECK:STDOUT: %pattern_type.loc27_35 => constants.%pattern_type.e66 -// CHECK:STDOUT: %A.patt.loc27_35.2 => constants.%A.patt.aee +// CHECK:STDOUT: %pattern_type.loc27_35 => constants.%pattern_type.251 +// CHECK:STDOUT: %A.patt.loc27_35.2 => constants.%A.patt.ee4 // CHECK:STDOUT: %A.loc27_35.1 => constants.%A -// CHECK:STDOUT: %HoldsType.loc27_63.1 => constants.%HoldsType.a83 -// CHECK:STDOUT: %pattern_type.loc27_50 => constants.%pattern_type.b2f -// CHECK:STDOUT: %x.param_patt.loc27_50.2 => constants.%x.param_patt.321 -// CHECK:STDOUT: %x.patt.loc27_50.2 => constants.%x.patt.a1d +// CHECK:STDOUT: %HoldsType.loc27_63.1 => constants.%HoldsType.4fb +// CHECK:STDOUT: %pattern_type.loc27_50 => constants.%pattern_type.ec9 +// CHECK:STDOUT: %x.param_patt.loc27_50.2 => constants.%x.param_patt.741 +// CHECK:STDOUT: %x.patt.loc27_50.2 => constants.%x.patt.991 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HoldsType(constants.%tuple.162) { +// CHECK:STDOUT: specific @HoldsType(constants.%tuple.eb2) { // CHECK:STDOUT: %T.patt.loc17_18.2 => constants.%T.patt -// CHECK:STDOUT: %T.loc17_18.1 => constants.%tuple.162 +// CHECK:STDOUT: %T.loc17_18.1 => constants.%tuple.eb2 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } @@ -354,16 +354,16 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: %from.loc29_61.1 => constants.%from // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F(constants.%tuple.162, ) { +// CHECK:STDOUT: specific @F(constants.%tuple.eb2, ) { // CHECK:STDOUT: %T.patt.loc27_7.2 => constants.%T.patt -// CHECK:STDOUT: %T.loc27_7.1 => constants.%tuple.162 +// CHECK:STDOUT: %T.loc27_7.1 => constants.%tuple.eb2 // CHECK:STDOUT: %tuple.elem0.loc27_38.1 => constants.%RuntimeConvertTo // CHECK:STDOUT: %pattern_type.loc27_35 => constants.%pattern_type.c10 // CHECK:STDOUT: %A.patt.loc27_35.2 => constants.%A.patt.797 // CHECK:STDOUT: %A.loc27_35.1 => -// CHECK:STDOUT: %HoldsType.loc27_63.1 => constants.%HoldsType.9f2 -// CHECK:STDOUT: %pattern_type.loc27_50 => constants.%pattern_type.905 -// CHECK:STDOUT: %x.param_patt.loc27_50.2 => constants.%x.param_patt.fbd -// CHECK:STDOUT: %x.patt.loc27_50.2 => constants.%x.patt.755 +// CHECK:STDOUT: %HoldsType.loc27_63.1 => constants.%HoldsType.5cb +// CHECK:STDOUT: %pattern_type.loc27_50 => constants.%pattern_type.a09 +// CHECK:STDOUT: %x.param_patt.loc27_50.2 => constants.%x.param_patt.726 +// CHECK:STDOUT: %x.patt.loc27_50.2 => constants.%x.patt.b9c // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/facet/period_self.carbon b/toolchain/check/testdata/facet/period_self.carbon index 5f9fbeebff22..b9fd659e7006 100644 --- a/toolchain/check/testdata/facet/period_self.carbon +++ b/toolchain/check/testdata/facet/period_self.carbon @@ -86,13 +86,13 @@ fn F2[U: I(.Self)](unused T: U*) {} fn F(generic U: I(.Self)) { // Caller sees the returned `.Self` type from `F()` as the full `U`. - // CHECK:STDERR: fail_todo_return_of_type_period_self.carbon:[[@LINE+4]]:3: error: member name `G` not found [MemberNameNotFound] + // CHECK:STDERR: fail_todo_return_of_type_period_self.carbon:[[@LINE+4]]:3: error: type `.Self` does not support qualified expressions [QualifiedExprUnsupported] // CHECK:STDERR: U.G()->G()->G(); // CHECK:STDERR: ^~~~~~~~ // CHECK:STDERR: U.G()->G()->G(); // Conversion to `type` retains access to all of `U`. - // CHECK:STDERR: fail_todo_return_of_type_period_self.carbon:[[@LINE+4]]:3: error: member name `G` not found [MemberNameNotFound] + // CHECK:STDERR: fail_todo_return_of_type_period_self.carbon:[[@LINE+4]]:3: error: type `.Self` does not support qualified expressions [QualifiedExprUnsupported] // CHECK:STDERR: (U as type).G()->G()->G(); // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~ // CHECK:STDERR: @@ -100,7 +100,7 @@ fn F(generic U: I(.Self)) { // Using the returned `.Self` as a facet value works, not just member lookup // on its facet type. - // CHECK:STDERR: fail_todo_return_of_type_period_self.carbon:[[@LINE+4]]:6: error: member name `G` not found [MemberNameNotFound] + // CHECK:STDERR: fail_todo_return_of_type_period_self.carbon:[[@LINE+4]]:6: error: type `.Self` does not support qualified expressions [QualifiedExprUnsupported] // CHECK:STDERR: F2(U.G()->G()->G()); // CHECK:STDERR: ^~~~~~~~ // CHECK:STDERR: @@ -123,19 +123,19 @@ fn F2[U: I(.Self) & J(.Self)](unused T: U*) {} fn F(generic U: I(.Self) & J(.Self)) { // TODO: The returned value of `I1` and `J1` has type `U` which has access to // the methods of `I` and `J`. - // CHECK:STDERR: fail_todo_return_of_type_period_self_extends_interface.carbon:[[@LINE+4]]:3: error: member name `J1` not found [MemberNameNotFound] + // CHECK:STDERR: fail_todo_return_of_type_period_self_extends_interface.carbon:[[@LINE+4]]:3: error: type `.Self` does not support qualified expressions [QualifiedExprUnsupported] // CHECK:STDERR: U.I1()->J1()->I1()->J1()->I1()->J1(); // CHECK:STDERR: ^~~~~~~~~~ // CHECK:STDERR: U.I1()->J1()->I1()->J1()->I1()->J1(); - // CHECK:STDERR: fail_todo_return_of_type_period_self_extends_interface.carbon:[[@LINE+4]]:3: error: member name `J1` not found [MemberNameNotFound] + // CHECK:STDERR: fail_todo_return_of_type_period_self_extends_interface.carbon:[[@LINE+4]]:3: error: type `.Self` does not support qualified expressions [QualifiedExprUnsupported] // CHECK:STDERR: (U as type).I1()->J1()->I1()->J1()->I1()->J1(); // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~ // CHECK:STDERR: (U as type).I1()->J1()->I1()->J1()->I1()->J1(); // TODO: Using the returned value of type `U` as a facet value works. - // CHECK:STDERR: fail_todo_return_of_type_period_self_extends_interface.carbon:[[@LINE+4]]:6: error: member name `J1` not found [MemberNameNotFound] + // CHECK:STDERR: fail_todo_return_of_type_period_self_extends_interface.carbon:[[@LINE+4]]:6: error: type `.Self` does not support qualified expressions [QualifiedExprUnsupported] // CHECK:STDERR: F2(U.I1()->J1()->I1()->J1()->I1()->J1()); // CHECK:STDERR: ^~~~~~~~~~ // CHECK:STDERR: @@ -235,7 +235,7 @@ interface I(T: Core.Destroy) {} // TODO: Implied constraints that `.Self` impls `Core.Destroy` are satisfied by // the `&` expression. // -// CHECK:STDERR: fail_todo_period_self_parameter_constraint_satisfied_with_type_and.carbon:[[@LINE+7]]:39: error: cannot convert type `.Self` that implements `type` into type implementing `Core.Destroy` [ConversionFailureFacetToFacet] +// CHECK:STDERR: fail_todo_period_self_parameter_constraint_satisfied_with_type_and.carbon:[[@LINE+7]]:39: error: cannot convert type `.Self` into type implementing `Core.Destroy` [ConversionFailureTypeToFacet] // CHECK:STDERR: fn F(unused generic U: Core.Destroy & I(.Self)) {} // CHECK:STDERR: ^~~~~~~~ // CHECK:STDERR: fail_todo_period_self_parameter_constraint_satisfied_with_type_and.carbon:[[@LINE-8]]:13: note: initializing generic parameter `T` declared here [InitializingGenericParam] @@ -816,7 +816,7 @@ interface Y(T: type) { // TODO: We crash if this impl is not generic, as the call to `.YF()` produces a // symbolic-dependent instruction, but there's no generic eval block for it. -// CHECK:STDERR: fail_todo_period_self_in_generic_argument.carbon:[[@LINE+4]]:60: error: cannot convert type `` that implements `Z where .(Z.Z1) = ()` into type implementing `Z where .(Z.Z1) = ()` [ConversionFailureFacetToFacet] +// CHECK:STDERR: fail_todo_period_self_in_generic_argument.carbon:[[@LINE+4]]:60: error: cannot convert type `` that implements `Z where .(Z.Z1) = ()` into type implementing `Z where .(Z.Z1) = ()` [ConversionFailureFacetToFacet] // CHECK:STDERR: impl forall [T: type] T as Y(Z where .Z1 = ()) where .Y1 = .YF() {} // CHECK:STDERR: ^~~~~ // CHECK:STDERR: @@ -825,10 +825,10 @@ impl forall [T: type] T as Y(Z where .Z1 = ()) where .Y1 = .YF() {} // CHECK:STDOUT: --- period_self_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %I.type.335: type = generic_interface_type @I [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -837,39 +837,36 @@ impl forall [T: type] T as Y(Z where .Z1 = ()) where .Y1 = .YF() {} // CHECK:STDOUT: %Self.191: %I.type.3fe = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %I.assoc_type.b71: type = assoc_entity_type @I, @I(%T.67d) [symbolic] // CHECK:STDOUT: %assoc0.d20: %I.assoc_type.b71 = assoc_entity element0, @I.WithSelf.%I1 [symbolic] -// CHECK:STDOUT: %.Self.frozen.as_type.bce: type = facet_access_type %.Self.frozen.197 [symbolic_self] -// CHECK:STDOUT: %I.type.0e8: type = facet_type <@I, @I(%.Self.frozen.as_type.bce)> [symbolic_self] -// CHECK:STDOUT: %.Self.frozen.edc: %I.type.0e8 = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %Self.a53: %I.type.0e8 = symbolic_binding Self, 1 [symbolic] -// CHECK:STDOUT: %I.assoc_type.96e: type = assoc_entity_type @I, @I(%.Self.frozen.as_type.bce) [symbolic_self] -// CHECK:STDOUT: %assoc0.cab: %I.assoc_type.96e = assoc_entity element0, @I.WithSelf.%I1 [symbolic_self] -// CHECK:STDOUT: %.Self.frozen.as_type.7bb: type = facet_access_type %.Self.frozen.edc [symbolic_self] -// CHECK:STDOUT: %I.lookup_impl_witness.d6e: = lookup_impl_witness %.Self.frozen.edc, @I, @I(%.Self.frozen.as_type.bce) [symbolic_self] -// CHECK:STDOUT: %impl.elem0.14f: type = impl_witness_access %I.lookup_impl_witness.d6e, element0 [symbolic_self] +// CHECK:STDOUT: %I.type.fc5: type = facet_type <@I, @I(%.Self.frozen.e58)> [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.dfc: %I.type.fc5 = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %Self.ae4: %I.type.fc5 = symbolic_binding Self, 1 [symbolic] +// CHECK:STDOUT: %I.assoc_type.51f: type = assoc_entity_type @I, @I(%.Self.frozen.e58) [symbolic_self] +// CHECK:STDOUT: %assoc0.03d: %I.assoc_type.51f = assoc_entity element0, @I.WithSelf.%I1 [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.dfc [symbolic_self] +// CHECK:STDOUT: %I.lookup_impl_witness.1f0: = lookup_impl_witness %.Self.frozen.dfc, @I, @I(%.Self.frozen.e58) [symbolic_self] +// CHECK:STDOUT: %impl.elem0.e47: type = impl_witness_access %I.lookup_impl_witness.1f0, element0 [symbolic_self] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] -// CHECK:STDOUT: %.Self.e0b: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.e0b [symbolic_self] -// CHECK:STDOUT: %I.type.a4e: type = facet_type <@I, @I(%.Self.as_type)> [symbolic_self] -// CHECK:STDOUT: %.Self.b30: %I.type.0e8 = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %I.lookup_impl_witness.eea: = lookup_impl_witness %.Self.b30, @I, @I(%.Self.as_type) [symbolic_self] -// CHECK:STDOUT: %impl.elem0.439: type = impl_witness_access %I.lookup_impl_witness.eea, element0 [symbolic_self] -// CHECK:STDOUT: %I_where.type.760: type = facet_type <@I, @I(%.Self.as_type) where %impl.elem0.439 = %empty_tuple.type> [symbolic_self] -// CHECK:STDOUT: %.Self.df8: %I.type.a4e = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %I.lookup_impl_witness.0d5: = lookup_impl_witness %.Self.df8, @I, @I(%.Self.as_type) [symbolic_self] -// CHECK:STDOUT: %impl.elem0.21c: type = impl_witness_access %I.lookup_impl_witness.0d5, element0 [symbolic_self] -// CHECK:STDOUT: %I_where.type.6d9: type = facet_type <@I, @I(%.Self.as_type) where %impl.elem0.21c = %empty_tuple.type> [symbolic_self] -// CHECK:STDOUT: %pattern_type.4af: type = pattern_type %I_where.type.6d9 [symbolic_self] -// CHECK:STDOUT: %T.patt.bfa: %pattern_type.4af = symbolic_binding_pattern T, 0 [symbolic] -// CHECK:STDOUT: %T.fb1: %I_where.type.6d9 = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %Self.6fd: %I.type.a4e = symbolic_binding Self, 1 [symbolic] -// CHECK:STDOUT: %I.assoc_type.901: type = assoc_entity_type @I, @I(%.Self.as_type) [symbolic_self] -// CHECK:STDOUT: %assoc0.267: %I.assoc_type.901 = assoc_entity element0, @I.WithSelf.%I1 [symbolic_self] -// CHECK:STDOUT: %T.as_type: type = facet_access_type %T.fb1 [symbolic] -// CHECK:STDOUT: %facet_value: %type = facet_value %T.as_type, () [symbolic] -// CHECK:STDOUT: %I.type.1d2: type = facet_type <@I, @I(%T.as_type)> [symbolic] -// CHECK:STDOUT: %I_where.type.3f6: type = facet_type <@I, @I(%T.as_type) where %impl.elem0.21c = %empty_tuple.type> [symbolic] -// CHECK:STDOUT: %I.lookup_impl_witness.962: = lookup_impl_witness %T.fb1, @I, @I(%T.as_type) [symbolic] -// CHECK:STDOUT: %I.facet: %I.type.a4e = facet_value %T.as_type, (%I.lookup_impl_witness.962) [symbolic] +// CHECK:STDOUT: %.Self.c86: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %I.type.563: type = facet_type <@I, @I(%.Self.c86)> [symbolic_self] +// CHECK:STDOUT: %.Self.bd2: %I.type.fc5 = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %I.lookup_impl_witness.758: = lookup_impl_witness %.Self.bd2, @I, @I(%.Self.c86) [symbolic_self] +// CHECK:STDOUT: %impl.elem0.20e: type = impl_witness_access %I.lookup_impl_witness.758, element0 [symbolic_self] +// CHECK:STDOUT: %I_where.type.69e: type = facet_type <@I, @I(%.Self.c86) where %impl.elem0.20e = %empty_tuple.type> [symbolic_self] +// CHECK:STDOUT: %.Self.f32: %I.type.563 = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %I.lookup_impl_witness.085: = lookup_impl_witness %.Self.f32, @I, @I(%.Self.c86) [symbolic_self] +// CHECK:STDOUT: %impl.elem0.c46: type = impl_witness_access %I.lookup_impl_witness.085, element0 [symbolic_self] +// CHECK:STDOUT: %I_where.type.3e6: type = facet_type <@I, @I(%.Self.c86) where %impl.elem0.c46 = %empty_tuple.type> [symbolic_self] +// CHECK:STDOUT: %pattern_type.668: type = pattern_type %I_where.type.3e6 [symbolic_self] +// CHECK:STDOUT: %T.patt.b8e: %pattern_type.668 = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.f83: %I_where.type.3e6 = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %Self.488: %I.type.563 = symbolic_binding Self, 1 [symbolic] +// CHECK:STDOUT: %I.assoc_type.bed: type = assoc_entity_type @I, @I(%.Self.c86) [symbolic_self] +// CHECK:STDOUT: %assoc0.cad: %I.assoc_type.bed = assoc_entity element0, @I.WithSelf.%I1 [symbolic_self] +// CHECK:STDOUT: %T.as_type: type = facet_access_type %T.f83 [symbolic] +// CHECK:STDOUT: %I.type.e98: type = facet_type <@I, @I(%T.as_type)> [symbolic] +// CHECK:STDOUT: %I_where.type.7fa: type = facet_type <@I, @I(%T.as_type) where %impl.elem0.c46 = %empty_tuple.type> [symbolic] +// CHECK:STDOUT: %I.lookup_impl_witness.cc6: = lookup_impl_witness %T.f83, @I, @I(%T.as_type) [symbolic] +// CHECK:STDOUT: %I.facet: %I.type.563 = facet_value %T.as_type, (%I.lookup_impl_witness.cc6) [symbolic] // CHECK:STDOUT: %.262: Core.Form = init_form %empty_tuple.type [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.cb1 = out_param_pattern [concrete] @@ -882,130 +879,115 @@ impl forall [T: type] T as Y(Z where .Z1 = ()) where .Y1 = .YF() {} // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %I.decl: %I.type.335 = interface_decl @I [concrete = constants.%I.generic] { -// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: type = splice_block %.loc4_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc4_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc8_15.1: %pattern_type.4af = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt.bfa)] +// CHECK:STDOUT: %T.patt.loc8_15.1: %pattern_type.668 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt.b8e)] // CHECK:STDOUT: %return.param_patt: %pattern_type.cb1 = out_param_pattern [concrete = constants.%return.param_patt] // CHECK:STDOUT: %return.patt: %pattern_type.cb1 = return_slot_pattern %return.param_patt, %impl.elem0.loc8_46 [concrete = constants.%return.patt] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.ref: %I_where.type.6d9 = name_ref T, %T.loc8_15.2 [symbolic = %T.loc8_15.1 (constants.%T.fb1)] +// CHECK:STDOUT: %T.ref: %I_where.type.3e6 = name_ref T, %T.loc8_15.2 [symbolic = %T.loc8_15.1 (constants.%T.f83)] // CHECK:STDOUT: %T.as_type.loc8_46.2: type = facet_access_type %T.ref [symbolic = %T.as_type.loc8_46.1 (constants.%T.as_type)] // CHECK:STDOUT: %.loc8_46.1: type = converted %T.ref, %T.as_type.loc8_46.2 [symbolic = %T.as_type.loc8_46.1 (constants.%T.as_type)] -// CHECK:STDOUT: %.loc8_46.2: %I.assoc_type.901 = specific_constant @I1.%assoc0, @I.WithSelf(constants.%.Self.as_type, constants.%T.fb1) [symbolic_self = constants.%assoc0.267] -// CHECK:STDOUT: %I1.ref.loc8_46: %I.assoc_type.901 = name_ref I1, %.loc8_46.2 [symbolic_self = constants.%assoc0.267] -// CHECK:STDOUT: %facet_value.loc8_46.2: %type = facet_value constants.%T.as_type, () [symbolic = %facet_value.loc8_46.1 (constants.%facet_value)] -// CHECK:STDOUT: %.loc8_46.3: %type = converted constants.%T.as_type, %facet_value.loc8_46.2 [symbolic = %facet_value.loc8_46.1 (constants.%facet_value)] -// CHECK:STDOUT: %I.type.loc8_46.2: type = facet_type <@I, @I(constants.%T.as_type)> [symbolic = %I.type.loc8_46.1 (constants.%I.type.1d2)] -// CHECK:STDOUT: %T.as_type.loc8_46.3: type = facet_access_type constants.%T.fb1 [symbolic = %T.as_type.loc8_46.1 (constants.%T.as_type)] -// CHECK:STDOUT: %facet_value.loc8_46.3: %type = facet_value %T.as_type.loc8_46.3, () [symbolic = %facet_value.loc8_46.1 (constants.%facet_value)] -// CHECK:STDOUT: %.loc8_46.4: %type = converted constants.%T.fb1, %facet_value.loc8_46.3 [symbolic = %facet_value.loc8_46.1 (constants.%facet_value)] -// CHECK:STDOUT: %I_where.type.loc8_46.2: type = facet_type <@I, @I(constants.%T.as_type) where constants.%impl.elem0.21c = constants.%empty_tuple.type> [symbolic = %I_where.type.loc8_46.1 (constants.%I_where.type.3f6)] -// CHECK:STDOUT: %T.as_type.loc8_46.4: type = facet_access_type constants.%T.fb1 [symbolic = %T.as_type.loc8_46.1 (constants.%T.as_type)] -// CHECK:STDOUT: %facet_value.loc8_46.4: %type = facet_value %T.as_type.loc8_46.4, () [symbolic = %facet_value.loc8_46.1 (constants.%facet_value)] -// CHECK:STDOUT: %.loc8_46.5: %type = converted constants.%T.fb1, %facet_value.loc8_46.4 [symbolic = %facet_value.loc8_46.1 (constants.%facet_value)] -// CHECK:STDOUT: %impl.elem0.loc8_46: type = impl_witness_access constants.%I.lookup_impl_witness.962, element0 [concrete = constants.%empty_tuple.type] -// CHECK:STDOUT: %.loc8_46.6: Core.Form = init_form %impl.elem0.loc8_46 [concrete = constants.%.262] -// CHECK:STDOUT: %.loc8_26.1: type = splice_block %.loc8_26.3 [symbolic_self = constants.%I_where.type.6d9] { -// CHECK:STDOUT: %.Self.frozen.loc8_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.loc8_46.2: %I.assoc_type.bed = specific_constant @I1.%assoc0, @I.WithSelf(constants.%.Self.c86, constants.%T.f83) [symbolic_self = constants.%assoc0.cad] +// CHECK:STDOUT: %I1.ref.loc8_46: %I.assoc_type.bed = name_ref I1, %.loc8_46.2 [symbolic_self = constants.%assoc0.cad] +// CHECK:STDOUT: %I.type.loc8_46.2: type = facet_type <@I, @I(constants.%T.as_type)> [symbolic = %I.type.loc8_46.1 (constants.%I.type.e98)] +// CHECK:STDOUT: %I_where.type.loc8_46.2: type = facet_type <@I, @I(constants.%T.as_type) where constants.%impl.elem0.c46 = constants.%empty_tuple.type> [symbolic = %I_where.type.loc8_46.1 (constants.%I_where.type.7fa)] +// CHECK:STDOUT: %impl.elem0.loc8_46: type = impl_witness_access constants.%I.lookup_impl_witness.cc6, element0 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %.loc8_46.3: Core.Form = init_form %impl.elem0.loc8_46 [concrete = constants.%.262] +// CHECK:STDOUT: %.loc8_26.1: type = splice_block %.loc8_26.3 [symbolic_self = constants.%I_where.type.3e6] { +// CHECK:STDOUT: %.Self.frozen.loc8_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %I.ref: %I.type.335 = name_ref I, file.%I.decl [concrete = constants.%I.generic] -// CHECK:STDOUT: %.Self.ref.loc8_19: %type = name_ref .Self, %.Self.frozen.loc8_15 [symbolic_self = constants.%.Self.frozen.197] -// CHECK:STDOUT: %.Self.as_type.loc8_24: type = facet_access_type %.Self.ref.loc8_19 [symbolic_self = constants.%.Self.frozen.as_type.bce] -// CHECK:STDOUT: %.loc8_24: type = converted %.Self.ref.loc8_19, %.Self.as_type.loc8_24 [symbolic_self = constants.%.Self.frozen.as_type.bce] -// CHECK:STDOUT: %I.type.loc8_24.1: type = facet_type <@I, @I(constants.%.Self.frozen.as_type.bce)> [symbolic_self = constants.%I.type.0e8] -// CHECK:STDOUT: %.Self.frozen.loc8_26: %I.type.0e8 = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.edc] +// CHECK:STDOUT: %.Self.ref.loc8_19: type = name_ref .Self, %.Self.frozen.loc8_15 [symbolic_self = constants.%.Self.frozen.e58] +// CHECK:STDOUT: %I.type.loc8_24.1: type = facet_type <@I, @I(constants.%.Self.frozen.e58)> [symbolic_self = constants.%I.type.fc5] +// CHECK:STDOUT: %.Self.frozen.loc8_26: %I.type.fc5 = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.dfc] // CHECK:STDOUT: %base_facet_type.loc8_26.1 = requirement_base_facet_type %I.type.loc8_24.1 [concrete] -// CHECK:STDOUT: %.Self.ref.loc8_32: %I.type.0e8 = name_ref .Self, %.Self.frozen.loc8_26 [symbolic_self = constants.%.Self.frozen.edc] -// CHECK:STDOUT: %.Self.as_type.loc8_32: type = facet_access_type %.Self.ref.loc8_32 [symbolic_self = constants.%.Self.frozen.as_type.7bb] -// CHECK:STDOUT: %.loc8_32.1: type = converted %.Self.ref.loc8_32, %.Self.as_type.loc8_32 [symbolic_self = constants.%.Self.frozen.as_type.7bb] -// CHECK:STDOUT: %.loc8_32.2: %I.assoc_type.96e = specific_constant @I1.%assoc0, @I.WithSelf(constants.%.Self.frozen.as_type.bce, constants.%.Self.frozen.edc) [symbolic_self = constants.%assoc0.cab] -// CHECK:STDOUT: %I1.ref.loc8_32: %I.assoc_type.96e = name_ref I1, %.loc8_32.2 [symbolic_self = constants.%assoc0.cab] -// CHECK:STDOUT: %impl.elem0.loc8_32.1: type = impl_witness_access constants.%I.lookup_impl_witness.d6e, element0 [symbolic_self = constants.%impl.elem0.14f] +// CHECK:STDOUT: %.Self.ref.loc8_32: %I.type.fc5 = name_ref .Self, %.Self.frozen.loc8_26 [symbolic_self = constants.%.Self.frozen.dfc] +// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.ref.loc8_32 [symbolic_self = constants.%.Self.frozen.as_type] +// CHECK:STDOUT: %.loc8_32.1: type = converted %.Self.ref.loc8_32, %.Self.as_type [symbolic_self = constants.%.Self.frozen.as_type] +// CHECK:STDOUT: %.loc8_32.2: %I.assoc_type.51f = specific_constant @I1.%assoc0, @I.WithSelf(constants.%.Self.frozen.e58, constants.%.Self.frozen.dfc) [symbolic_self = constants.%assoc0.03d] +// CHECK:STDOUT: %I1.ref.loc8_32: %I.assoc_type.51f = name_ref I1, %.loc8_32.2 [symbolic_self = constants.%assoc0.03d] +// CHECK:STDOUT: %impl.elem0.loc8_32.1: type = impl_witness_access constants.%I.lookup_impl_witness.1f0, element0 [symbolic_self = constants.%impl.elem0.e47] // CHECK:STDOUT: %.loc8_39.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc8_39.2: type = converted %.loc8_39.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %rewrite.loc8_36.1 = requirement_rewrite %impl.elem0.loc8_32.1, %.loc8_39.2 [concrete] -// CHECK:STDOUT: %I.type.loc8_24.2: type = facet_type <@I, @I(constants.%.Self.as_type)> [symbolic_self = constants.%I.type.a4e] +// CHECK:STDOUT: %I.type.loc8_24.2: type = facet_type <@I, @I(constants.%.Self.c86)> [symbolic_self = constants.%I.type.563] // CHECK:STDOUT: %base_facet_type.loc8_26.2 = requirement_base_facet_type %I.type.loc8_24.2 [concrete] -// CHECK:STDOUT: %impl.elem0.loc8_32.2: type = impl_witness_access constants.%I.lookup_impl_witness.eea, element0 [symbolic_self = constants.%impl.elem0.439] +// CHECK:STDOUT: %impl.elem0.loc8_32.2: type = impl_witness_access constants.%I.lookup_impl_witness.758, element0 [symbolic_self = constants.%impl.elem0.20e] // CHECK:STDOUT: %rewrite.loc8_36.2 = requirement_rewrite %impl.elem0.loc8_32.2, %.loc8_39.2 [concrete] -// CHECK:STDOUT: %.loc8_26.2: type = where_expr [symbolic_self = constants.%I_where.type.760] { +// CHECK:STDOUT: %.loc8_26.2: type = where_expr [symbolic_self = constants.%I_where.type.69e] { // CHECK:STDOUT: %base_facet_type.loc8_26.2 = requirement_base_facet_type %I.type.loc8_24.2 [concrete] // CHECK:STDOUT: %rewrite.loc8_36.2 = requirement_rewrite %impl.elem0.loc8_32.2, %.loc8_39.2 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %impl.elem0.loc8_32.3: type = impl_witness_access constants.%I.lookup_impl_witness.0d5, element0 [symbolic_self = constants.%impl.elem0.21c] +// CHECK:STDOUT: %impl.elem0.loc8_32.3: type = impl_witness_access constants.%I.lookup_impl_witness.085, element0 [symbolic_self = constants.%impl.elem0.c46] // CHECK:STDOUT: %rewrite.loc8_36.3 = requirement_rewrite %impl.elem0.loc8_32.3, %.loc8_39.2 [concrete] -// CHECK:STDOUT: %.loc8_26.3: type = where_expr [symbolic_self = constants.%I_where.type.6d9] { +// CHECK:STDOUT: %.loc8_26.3: type = where_expr [symbolic_self = constants.%I_where.type.3e6] { // CHECK:STDOUT: %base_facet_type.loc8_26.2 = requirement_base_facet_type %I.type.loc8_24.2 [concrete] // CHECK:STDOUT: %rewrite.loc8_36.3 = requirement_rewrite %impl.elem0.loc8_32.3, %.loc8_39.2 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %T.loc8_15.2: %I_where.type.6d9 = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T.fb1)] +// CHECK:STDOUT: %T.loc8_15.2: %I_where.type.3e6 = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T.f83)] // CHECK:STDOUT: %return.param: ref %empty_tuple.type = out_param call_param0 // CHECK:STDOUT: %return: ref %empty_tuple.type = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { -// CHECK:STDOUT: %T.patt.loc12_15.1: %pattern_type.4af = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt.bfa)] +// CHECK:STDOUT: %T.patt.loc12_15.1: %pattern_type.668 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt.b8e)] // CHECK:STDOUT: %return.param_patt: %pattern_type.cb1 = out_param_pattern [concrete = constants.%return.param_patt] // CHECK:STDOUT: %return.patt: %pattern_type.cb1 = return_slot_pattern %return.param_patt, %impl.elem0.loc12_54 [concrete = constants.%return.patt] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.ref: %I_where.type.6d9 = name_ref T, %T.loc12_15.2 [symbolic = %T.loc12_15.1 (constants.%T.fb1)] +// CHECK:STDOUT: %T.ref: %I_where.type.3e6 = name_ref T, %T.loc12_15.2 [symbolic = %T.loc12_15.1 (constants.%T.f83)] // CHECK:STDOUT: %T.as_type.loc12_54.2: type = facet_access_type %T.ref [symbolic = %T.as_type.loc12_54.1 (constants.%T.as_type)] // CHECK:STDOUT: %.loc12_54.1: type = converted %T.ref, %T.as_type.loc12_54.2 [symbolic = %T.as_type.loc12_54.1 (constants.%T.as_type)] -// CHECK:STDOUT: %.loc12_54.2: %I.assoc_type.901 = specific_constant @I1.%assoc0, @I.WithSelf(constants.%.Self.as_type, constants.%T.fb1) [symbolic_self = constants.%assoc0.267] -// CHECK:STDOUT: %I1.ref.loc12_54: %I.assoc_type.901 = name_ref I1, %.loc12_54.2 [symbolic_self = constants.%assoc0.267] -// CHECK:STDOUT: %T.as_type.loc12_54.3: type = facet_access_type constants.%T.fb1 [symbolic = %T.as_type.loc12_54.1 (constants.%T.as_type)] -// CHECK:STDOUT: %facet_value.loc12_54.2: %type = facet_value %T.as_type.loc12_54.3, () [symbolic = %facet_value.loc12_54.1 (constants.%facet_value)] -// CHECK:STDOUT: %.loc12_54.3: %type = converted constants.%T.fb1, %facet_value.loc12_54.2 [symbolic = %facet_value.loc12_54.1 (constants.%facet_value)] -// CHECK:STDOUT: %impl.elem0.loc12_54: type = impl_witness_access constants.%I.lookup_impl_witness.962, element0 [concrete = constants.%empty_tuple.type] -// CHECK:STDOUT: %.loc12_54.4: Core.Form = init_form %impl.elem0.loc12_54 [concrete = constants.%.262] -// CHECK:STDOUT: %.loc12_34.1: type = splice_block %.loc12_34.3 [symbolic_self = constants.%I_where.type.6d9] { -// CHECK:STDOUT: %.Self.frozen.loc12_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.loc12_54.2: %I.assoc_type.bed = specific_constant @I1.%assoc0, @I.WithSelf(constants.%.Self.c86, constants.%T.f83) [symbolic_self = constants.%assoc0.cad] +// CHECK:STDOUT: %I1.ref.loc12_54: %I.assoc_type.bed = name_ref I1, %.loc12_54.2 [symbolic_self = constants.%assoc0.cad] +// CHECK:STDOUT: %impl.elem0.loc12_54: type = impl_witness_access constants.%I.lookup_impl_witness.cc6, element0 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %.loc12_54.3: Core.Form = init_form %impl.elem0.loc12_54 [concrete = constants.%.262] +// CHECK:STDOUT: %.loc12_34.1: type = splice_block %.loc12_34.3 [symbolic_self = constants.%I_where.type.3e6] { +// CHECK:STDOUT: %.Self.frozen.loc12_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %I.ref: %I.type.335 = name_ref I, file.%I.decl [concrete = constants.%I.generic] -// CHECK:STDOUT: %.Self.ref.loc12_19: %type = name_ref .Self, %.Self.frozen.loc12_15 [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.ref.loc12_19: type = name_ref .Self, %.Self.frozen.loc12_15 [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc12_28: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.as_type.loc12_25: type = facet_access_type %.Self.ref.loc12_19 [symbolic_self = constants.%.Self.frozen.as_type.bce] -// CHECK:STDOUT: %.loc12_25: type = converted %.Self.ref.loc12_19, %.Self.as_type.loc12_25 [symbolic_self = constants.%.Self.frozen.as_type.bce] -// CHECK:STDOUT: %I.type.loc12_32.1: type = facet_type <@I, @I(constants.%.Self.frozen.as_type.bce)> [symbolic_self = constants.%I.type.0e8] -// CHECK:STDOUT: %.Self.frozen.loc12_34: %I.type.0e8 = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.edc] +// CHECK:STDOUT: %I.type.loc12_32.1: type = facet_type <@I, @I(constants.%.Self.frozen.e58)> [symbolic_self = constants.%I.type.fc5] +// CHECK:STDOUT: %.Self.frozen.loc12_34: %I.type.fc5 = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.dfc] // CHECK:STDOUT: %base_facet_type.loc12_34.1 = requirement_base_facet_type %I.type.loc12_32.1 [concrete] -// CHECK:STDOUT: %.Self.ref.loc12_40: %I.type.0e8 = name_ref .Self, %.Self.frozen.loc12_34 [symbolic_self = constants.%.Self.frozen.edc] -// CHECK:STDOUT: %.Self.as_type.loc12_40: type = facet_access_type %.Self.ref.loc12_40 [symbolic_self = constants.%.Self.frozen.as_type.7bb] -// CHECK:STDOUT: %.loc12_40.1: type = converted %.Self.ref.loc12_40, %.Self.as_type.loc12_40 [symbolic_self = constants.%.Self.frozen.as_type.7bb] -// CHECK:STDOUT: %.loc12_40.2: %I.assoc_type.96e = specific_constant @I1.%assoc0, @I.WithSelf(constants.%.Self.frozen.as_type.bce, constants.%.Self.frozen.edc) [symbolic_self = constants.%assoc0.cab] -// CHECK:STDOUT: %I1.ref.loc12_40: %I.assoc_type.96e = name_ref I1, %.loc12_40.2 [symbolic_self = constants.%assoc0.cab] -// CHECK:STDOUT: %impl.elem0.loc12_40.1: type = impl_witness_access constants.%I.lookup_impl_witness.d6e, element0 [symbolic_self = constants.%impl.elem0.14f] +// CHECK:STDOUT: %.Self.ref.loc12_40: %I.type.fc5 = name_ref .Self, %.Self.frozen.loc12_34 [symbolic_self = constants.%.Self.frozen.dfc] +// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.ref.loc12_40 [symbolic_self = constants.%.Self.frozen.as_type] +// CHECK:STDOUT: %.loc12_40.1: type = converted %.Self.ref.loc12_40, %.Self.as_type [symbolic_self = constants.%.Self.frozen.as_type] +// CHECK:STDOUT: %.loc12_40.2: %I.assoc_type.51f = specific_constant @I1.%assoc0, @I.WithSelf(constants.%.Self.frozen.e58, constants.%.Self.frozen.dfc) [symbolic_self = constants.%assoc0.03d] +// CHECK:STDOUT: %I1.ref.loc12_40: %I.assoc_type.51f = name_ref I1, %.loc12_40.2 [symbolic_self = constants.%assoc0.03d] +// CHECK:STDOUT: %impl.elem0.loc12_40.1: type = impl_witness_access constants.%I.lookup_impl_witness.1f0, element0 [symbolic_self = constants.%impl.elem0.e47] // CHECK:STDOUT: %.loc12_47.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc12_47.2: type = converted %.loc12_47.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %rewrite.loc12_44.1 = requirement_rewrite %impl.elem0.loc12_40.1, %.loc12_47.2 [concrete] -// CHECK:STDOUT: %I.type.loc12_32.2: type = facet_type <@I, @I(constants.%.Self.as_type)> [symbolic_self = constants.%I.type.a4e] +// CHECK:STDOUT: %I.type.loc12_32.2: type = facet_type <@I, @I(constants.%.Self.c86)> [symbolic_self = constants.%I.type.563] // CHECK:STDOUT: %base_facet_type.loc12_34.2 = requirement_base_facet_type %I.type.loc12_32.2 [concrete] -// CHECK:STDOUT: %impl.elem0.loc12_40.2: type = impl_witness_access constants.%I.lookup_impl_witness.eea, element0 [symbolic_self = constants.%impl.elem0.439] +// CHECK:STDOUT: %impl.elem0.loc12_40.2: type = impl_witness_access constants.%I.lookup_impl_witness.758, element0 [symbolic_self = constants.%impl.elem0.20e] // CHECK:STDOUT: %rewrite.loc12_44.2 = requirement_rewrite %impl.elem0.loc12_40.2, %.loc12_47.2 [concrete] -// CHECK:STDOUT: %.loc12_34.2: type = where_expr [symbolic_self = constants.%I_where.type.760] { +// CHECK:STDOUT: %.loc12_34.2: type = where_expr [symbolic_self = constants.%I_where.type.69e] { // CHECK:STDOUT: %base_facet_type.loc12_34.2 = requirement_base_facet_type %I.type.loc12_32.2 [concrete] // CHECK:STDOUT: %rewrite.loc12_44.2 = requirement_rewrite %impl.elem0.loc12_40.2, %.loc12_47.2 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %impl.elem0.loc12_40.3: type = impl_witness_access constants.%I.lookup_impl_witness.0d5, element0 [symbolic_self = constants.%impl.elem0.21c] +// CHECK:STDOUT: %impl.elem0.loc12_40.3: type = impl_witness_access constants.%I.lookup_impl_witness.085, element0 [symbolic_self = constants.%impl.elem0.c46] // CHECK:STDOUT: %rewrite.loc12_44.3 = requirement_rewrite %impl.elem0.loc12_40.3, %.loc12_47.2 [concrete] -// CHECK:STDOUT: %.loc12_34.3: type = where_expr [symbolic_self = constants.%I_where.type.6d9] { +// CHECK:STDOUT: %.loc12_34.3: type = where_expr [symbolic_self = constants.%I_where.type.3e6] { // CHECK:STDOUT: %base_facet_type.loc12_34.2 = requirement_base_facet_type %I.type.loc12_32.2 [concrete] // CHECK:STDOUT: %rewrite.loc12_44.3 = requirement_rewrite %impl.elem0.loc12_40.3, %.loc12_47.2 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %T.loc12_15.2: %I_where.type.6d9 = symbolic_binding T, 0 [symbolic = %T.loc12_15.1 (constants.%T.fb1)] +// CHECK:STDOUT: %T.loc12_15.2: %I_where.type.3e6 = symbolic_binding T, 0 [symbolic = %T.loc12_15.1 (constants.%T.f83)] // CHECK:STDOUT: %return.param: ref %empty_tuple.type = out_param call_param0 // CHECK:STDOUT: %return: ref %empty_tuple.type = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @I(%T.loc4_14.2: type) { -// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc4_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -1030,13 +1012,12 @@ impl forall [T: type] T as Y(Z where .Z1 = ()) where .Y1 = .YF() {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F(%T.loc8_15.2: %I_where.type.6d9) { -// CHECK:STDOUT: %T.patt.loc8_15.2: %pattern_type.4af = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt.bfa)] -// CHECK:STDOUT: %T.loc8_15.1: %I_where.type.6d9 = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T.fb1)] +// CHECK:STDOUT: generic fn @F(%T.loc8_15.2: %I_where.type.3e6) { +// CHECK:STDOUT: %T.patt.loc8_15.2: %pattern_type.668 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt.b8e)] +// CHECK:STDOUT: %T.loc8_15.1: %I_where.type.3e6 = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T.f83)] // CHECK:STDOUT: %T.as_type.loc8_46.1: type = facet_access_type %T.loc8_15.1 [symbolic = %T.as_type.loc8_46.1 (constants.%T.as_type)] -// CHECK:STDOUT: %facet_value.loc8_46.1: %type = facet_value %T.as_type.loc8_46.1, () [symbolic = %facet_value.loc8_46.1 (constants.%facet_value)] -// CHECK:STDOUT: %I.type.loc8_46.1: type = facet_type <@I, @I(%T.as_type.loc8_46.1)> [symbolic = %I.type.loc8_46.1 (constants.%I.type.1d2)] -// CHECK:STDOUT: %I_where.type.loc8_46.1: type = facet_type <@I, @I(%T.as_type.loc8_46.1) where constants.%impl.elem0.21c = constants.%empty_tuple.type> [symbolic = %I_where.type.loc8_46.1 (constants.%I_where.type.3f6)] +// CHECK:STDOUT: %I.type.loc8_46.1: type = facet_type <@I, @I(%T.as_type.loc8_46.1)> [symbolic = %I.type.loc8_46.1 (constants.%I.type.e98)] +// CHECK:STDOUT: %I_where.type.loc8_46.1: type = facet_type <@I, @I(%T.as_type.loc8_46.1) where constants.%impl.elem0.c46 = constants.%empty_tuple.type> [symbolic = %I_where.type.loc8_46.1 (constants.%I_where.type.7fa)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -1049,11 +1030,10 @@ impl forall [T: type] T as Y(Z where .Z1 = ()) where .Y1 = .YF() {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @G(%T.loc12_15.2: %I_where.type.6d9) { -// CHECK:STDOUT: %T.patt.loc12_15.2: %pattern_type.4af = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt.bfa)] -// CHECK:STDOUT: %T.loc12_15.1: %I_where.type.6d9 = symbolic_binding T, 0 [symbolic = %T.loc12_15.1 (constants.%T.fb1)] +// CHECK:STDOUT: generic fn @G(%T.loc12_15.2: %I_where.type.3e6) { +// CHECK:STDOUT: %T.patt.loc12_15.2: %pattern_type.668 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt.b8e)] +// CHECK:STDOUT: %T.loc12_15.1: %I_where.type.3e6 = symbolic_binding T, 0 [symbolic = %T.loc12_15.1 (constants.%T.f83)] // CHECK:STDOUT: %T.as_type.loc12_54.1: type = facet_access_type %T.loc12_15.1 [symbolic = %T.as_type.loc12_54.1 (constants.%T.as_type)] -// CHECK:STDOUT: %facet_value.loc12_54.1: %type = facet_value %T.as_type.loc12_54.1, () [symbolic = %facet_value.loc12_54.1 (constants.%facet_value)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -1067,83 +1047,81 @@ impl forall [T: type] T as Y(Z where .Z1 = ()) where .Y1 = .YF() {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_14.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf(constants.%T.67d, constants.%Self.191) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @I(constants.%.Self.frozen.as_type.bce) { -// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.d47 -// CHECK:STDOUT: %T.loc4_14.1 => constants.%.Self.frozen.as_type.bce +// CHECK:STDOUT: specific @I(constants.%.Self.frozen.e58) { +// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.3a0 +// CHECK:STDOUT: %T.loc4_14.1 => constants.%.Self.frozen.e58 // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %I.type => constants.%I.type.0e8 -// CHECK:STDOUT: %Self.loc4_22.2 => constants.%Self.a53 +// CHECK:STDOUT: %I.type => constants.%I.type.fc5 +// CHECK:STDOUT: %Self.loc4_22.2 => constants.%Self.ae4 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%.Self.frozen.as_type.bce, constants.%Self.191) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%.Self.frozen.e58, constants.%Self.191) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %T => constants.%.Self.frozen.as_type.bce -// CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.96e -// CHECK:STDOUT: %assoc0 => constants.%assoc0.cab +// CHECK:STDOUT: %T => constants.%.Self.frozen.e58 +// CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.51f +// CHECK:STDOUT: %assoc0 => constants.%assoc0.03d // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%.Self.frozen.as_type.bce, constants.%.Self.frozen.edc) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%.Self.frozen.e58, constants.%.Self.frozen.dfc) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %T => constants.%.Self.frozen.as_type.bce -// CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.96e -// CHECK:STDOUT: %assoc0 => constants.%assoc0.cab +// CHECK:STDOUT: %T => constants.%.Self.frozen.e58 +// CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.51f +// CHECK:STDOUT: %assoc0 => constants.%assoc0.03d // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I(constants.%.Self.as_type) { -// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.d47 -// CHECK:STDOUT: %T.loc4_14.1 => constants.%.Self.as_type +// CHECK:STDOUT: specific @I(constants.%.Self.c86) { +// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.3a0 +// CHECK:STDOUT: %T.loc4_14.1 => constants.%.Self.c86 // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %I.type => constants.%I.type.a4e -// CHECK:STDOUT: %Self.loc4_22.2 => constants.%Self.6fd +// CHECK:STDOUT: %I.type => constants.%I.type.563 +// CHECK:STDOUT: %Self.loc4_22.2 => constants.%Self.488 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%.Self.as_type, constants.%Self.191) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%.Self.c86, constants.%Self.191) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %T => constants.%.Self.as_type -// CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.901 -// CHECK:STDOUT: %assoc0 => constants.%assoc0.267 +// CHECK:STDOUT: %T => constants.%.Self.c86 +// CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.bed +// CHECK:STDOUT: %assoc0 => constants.%assoc0.cad // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%.Self.as_type, constants.%T.fb1) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%.Self.c86, constants.%T.f83) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %T => constants.%.Self.as_type -// CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.901 -// CHECK:STDOUT: %assoc0 => constants.%assoc0.267 +// CHECK:STDOUT: %T => constants.%.Self.c86 +// CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.bed +// CHECK:STDOUT: %assoc0 => constants.%assoc0.cad // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I(constants.%T.as_type) { -// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_14.1 => constants.%T.as_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%.Self.as_type, constants.%I.facet) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%.Self.c86, constants.%I.facet) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %T => constants.%.Self.as_type -// CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.901 -// CHECK:STDOUT: %assoc0 => constants.%assoc0.267 +// CHECK:STDOUT: %T => constants.%.Self.c86 +// CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.bed +// CHECK:STDOUT: %assoc0 => constants.%assoc0.cad // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F(constants.%T.fb1) { -// CHECK:STDOUT: %T.patt.loc8_15.2 => constants.%T.patt.bfa -// CHECK:STDOUT: %T.loc8_15.1 => constants.%T.fb1 +// CHECK:STDOUT: specific @F(constants.%T.f83) { +// CHECK:STDOUT: %T.patt.loc8_15.2 => constants.%T.patt.b8e +// CHECK:STDOUT: %T.loc8_15.1 => constants.%T.f83 // CHECK:STDOUT: %T.as_type.loc8_46.1 => constants.%T.as_type -// CHECK:STDOUT: %facet_value.loc8_46.1 => constants.%facet_value -// CHECK:STDOUT: %I.type.loc8_46.1 => constants.%I.type.1d2 -// CHECK:STDOUT: %I_where.type.loc8_46.1 => constants.%I_where.type.3f6 +// CHECK:STDOUT: %I.type.loc8_46.1 => constants.%I.type.e98 +// CHECK:STDOUT: %I_where.type.loc8_46.1 => constants.%I_where.type.7fa // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @G(constants.%T.fb1) { -// CHECK:STDOUT: %T.patt.loc12_15.2 => constants.%T.patt.bfa -// CHECK:STDOUT: %T.loc12_15.1 => constants.%T.fb1 +// CHECK:STDOUT: specific @G(constants.%T.f83) { +// CHECK:STDOUT: %T.patt.loc12_15.2 => constants.%T.patt.b8e +// CHECK:STDOUT: %T.loc12_15.1 => constants.%T.f83 // CHECK:STDOUT: %T.as_type.loc12_54.1 => constants.%T.as_type -// CHECK:STDOUT: %facet_value.loc12_54.1 => constants.%facet_value // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/facet/require_import.carbon b/toolchain/check/testdata/facet/require_import.carbon index 48b1b68d3701..b4bfd5d5aa1b 100644 --- a/toolchain/check/testdata/facet/require_import.carbon +++ b/toolchain/check/testdata/facet/require_import.carbon @@ -53,16 +53,16 @@ fn F(generic B: Y) { // CHECK:STDOUT: --- a.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %X.type: type = facet_type <@X> [concrete] // CHECK:STDOUT: %Self.f45: %X.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type.190: type = facet_access_type %Self.f45 [symbolic] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Z.type.924: type = facet_type <@Z, @Z(%T)> [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %pattern_type.9a587c.1: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %Self.d5d: %Z.type.924 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %Z.assoc_type.496: type = assoc_entity_type @Z, @Z(%T) [symbolic] // CHECK:STDOUT: %Z.WithSelf.F.type.bc1: type = fn_type @Z.WithSelf.F, @Z.WithSelf(%T, %Self.d5d) [symbolic] @@ -70,8 +70,8 @@ fn F(generic B: Y) { // CHECK:STDOUT: %Z.type.ecd906.1: type = facet_type <@Z, @Z(%Self.as_type.190)> [symbolic] // CHECK:STDOUT: %Self.c0a: %Z.type.ecd906.1 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %require_complete.55f146.1: = require_complete_type %Z.type.ecd906.1 [symbolic] -// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type %X.type [concrete] -// CHECK:STDOUT: %A.patt: %pattern_type.9a5 = symbolic_binding_pattern A, 0 [symbolic] +// CHECK:STDOUT: %pattern_type.9a587c.2: type = pattern_type %X.type [concrete] +// CHECK:STDOUT: %A.patt: %pattern_type.9a587c.2 = symbolic_binding_pattern A, 0 [symbolic] // CHECK:STDOUT: %A: %X.type = symbolic_binding A, 0 [symbolic] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %Self.95b: %Y.type = symbolic_binding Self, 0 [symbolic] @@ -134,16 +134,16 @@ fn F(generic B: Y) { // CHECK:STDOUT: %default.import.loc2_17.1 = import // CHECK:STDOUT: %default.import.loc2_17.2 = import // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %A.patt.loc4_15.1: %pattern_type.9a5 = symbolic_binding_pattern A, 0 [symbolic = %A.patt.loc4_15.2 (constants.%A.patt)] +// CHECK:STDOUT: %A.patt.loc4_15.1: %pattern_type.9a587c.2 = symbolic_binding_pattern A, 0 [symbolic = %A.patt.loc4_15.2 (constants.%A.patt)] // CHECK:STDOUT: %B.patt.loc4_36.1: %pattern_type.cfb = symbolic_binding_pattern B, 1 [symbolic = %B.patt.loc4_36.2 (constants.%B.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_17: type = splice_block %X.ref [concrete = constants.%X.type] { -// CHECK:STDOUT: %.Self.frozen.loc4_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %X.ref: type = name_ref X, imports.%Main.X [concrete = constants.%X.type] // CHECK:STDOUT: } // CHECK:STDOUT: %A.loc4_15.2: %X.type = symbolic_binding A, 0 [symbolic = %A.loc4_15.1 (constants.%A)] // CHECK:STDOUT: %.loc4_38: type = splice_block %Y.ref [concrete = constants.%Y.type] { -// CHECK:STDOUT: %.Self.frozen.loc4_36: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_36: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Y.ref: type = name_ref Y, imports.%Main.Y [concrete = constants.%Y.type] // CHECK:STDOUT: } // CHECK:STDOUT: %B.loc4_36.2: %Y.type = symbolic_binding B, 1 [symbolic = %B.loc4_36.1 (constants.%B)] @@ -151,7 +151,7 @@ fn F(generic B: Y) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Z(imports.%Main.import_ref.b3bc94.3: type) [from "a.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// CHECK:STDOUT: %T.patt: %pattern_type.9a587c.1 = 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: // CHECK:STDOUT: !definition: @@ -209,7 +209,7 @@ fn F(generic B: Y) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%A.loc4_15.2: %X.type, %B.loc4_36.2: %Y.type) { -// CHECK:STDOUT: %A.patt.loc4_15.2: %pattern_type.9a5 = symbolic_binding_pattern A, 0 [symbolic = %A.patt.loc4_15.2 (constants.%A.patt)] +// CHECK:STDOUT: %A.patt.loc4_15.2: %pattern_type.9a587c.2 = symbolic_binding_pattern A, 0 [symbolic = %A.patt.loc4_15.2 (constants.%A.patt)] // CHECK:STDOUT: %A.loc4_15.1: %X.type = symbolic_binding A, 0 [symbolic = %A.loc4_15.1 (constants.%A)] // CHECK:STDOUT: %B.patt.loc4_36.2: %pattern_type.cfb = symbolic_binding_pattern B, 1 [symbolic = %B.patt.loc4_36.2 (constants.%B.patt)] // CHECK:STDOUT: %B.loc4_36.1: %Y.type = symbolic_binding B, 1 [symbolic = %B.loc4_36.1 (constants.%B)] diff --git a/toolchain/check/testdata/facet/runtime_value.carbon b/toolchain/check/testdata/facet/runtime_value.carbon index eadedb1f278f..d56fa28a0ea0 100644 --- a/toolchain/check/testdata/facet/runtime_value.carbon +++ b/toolchain/check/testdata/facet/runtime_value.carbon @@ -148,7 +148,7 @@ fn F(T: Z) { library "[[@TEST_NAME]]"; fn F(T: type) { - // CHECK:STDERR: fail_member_access_runtime_type.carbon:[[@LINE+4]]:3: error: type `type` does not support qualified expressions [QualifiedExprUnsupported] + // CHECK:STDERR: fail_member_access_runtime_type.carbon:[[@LINE+4]]:3: error: member name `G` not found [MemberNameNotFound] // CHECK:STDERR: T.G(); // CHECK:STDERR: ^~~ // CHECK:STDERR: @@ -158,6 +158,7 @@ fn F(T: type) { // CHECK:STDOUT: --- facet_value_copy_from_reference.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %pattern_type.6cb: type = pattern_type %I.type [concrete] @@ -182,6 +183,7 @@ fn F(T: type) { // CHECK:STDOUT: --- fail_todo_facet_copy_narrowing_from_reference.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %facet_type: type = facet_type <@I & @J> [concrete] diff --git a/toolchain/check/testdata/facet/self_in_interface_param.carbon b/toolchain/check/testdata/facet/self_in_interface_param.carbon index ce5db04be81e..0494ffc29c1e 100644 --- a/toolchain/check/testdata/facet/self_in_interface_param.carbon +++ b/toolchain/check/testdata/facet/self_in_interface_param.carbon @@ -25,41 +25,38 @@ fn G(generic _: I(.Self) where .I1 = ()) {} // CHECK:STDOUT: --- self_in_interface_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %I.type.335: type = generic_interface_type @I [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %I.generic: %I.type.335 = struct_value () [concrete] -// CHECK:STDOUT: %.Self.frozen.as_type.bce: type = facet_access_type %.Self.frozen.197 [symbolic_self] -// CHECK:STDOUT: %I.type.0e8: type = facet_type <@I, @I(%.Self.frozen.as_type.bce)> [symbolic_self] -// CHECK:STDOUT: %.Self.frozen.edc: %I.type.0e8 = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %I.assoc_type.96e: type = assoc_entity_type @I, @I(%.Self.frozen.as_type.bce) [symbolic_self] -// CHECK:STDOUT: %assoc0.cab: %I.assoc_type.96e = assoc_entity element0, @I.WithSelf.%I1 [symbolic_self] -// CHECK:STDOUT: %.Self.frozen.as_type.7bb: type = facet_access_type %.Self.frozen.edc [symbolic_self] -// CHECK:STDOUT: %I.lookup_impl_witness.d6e: = lookup_impl_witness %.Self.frozen.edc, @I, @I(%.Self.frozen.as_type.bce) [symbolic_self] -// CHECK:STDOUT: %impl.elem0.14f: type = impl_witness_access %I.lookup_impl_witness.d6e, element0 [symbolic_self] +// CHECK:STDOUT: %I.type.fc5: type = facet_type <@I, @I(%.Self.frozen.e58)> [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.dfc: %I.type.fc5 = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %I.assoc_type.51f: type = assoc_entity_type @I, @I(%.Self.frozen.e58) [symbolic_self] +// CHECK:STDOUT: %assoc0.03d: %I.assoc_type.51f = assoc_entity element0, @I.WithSelf.%I1 [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.dfc [symbolic_self] +// CHECK:STDOUT: %I.lookup_impl_witness.1f0: = lookup_impl_witness %.Self.frozen.dfc, @I, @I(%.Self.frozen.e58) [symbolic_self] +// CHECK:STDOUT: %impl.elem0.e47: type = impl_witness_access %I.lookup_impl_witness.1f0, element0 [symbolic_self] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] -// CHECK:STDOUT: %.Self.e0b: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.e0b [symbolic_self] -// CHECK:STDOUT: %I.type.a4e: type = facet_type <@I, @I(%.Self.as_type)> [symbolic_self] -// CHECK:STDOUT: %.Self.b30: %I.type.0e8 = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %I.lookup_impl_witness.eea: = lookup_impl_witness %.Self.b30, @I, @I(%.Self.as_type) [symbolic_self] -// CHECK:STDOUT: %impl.elem0.439: type = impl_witness_access %I.lookup_impl_witness.eea, element0 [symbolic_self] -// CHECK:STDOUT: %I_where.type.760: type = facet_type <@I, @I(%.Self.as_type) where %impl.elem0.439 = %empty_tuple.type> [symbolic_self] -// CHECK:STDOUT: %.Self.df8: %I.type.a4e = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %I.lookup_impl_witness.0d5: = lookup_impl_witness %.Self.df8, @I, @I(%.Self.as_type) [symbolic_self] -// CHECK:STDOUT: %impl.elem0.21c: type = impl_witness_access %I.lookup_impl_witness.0d5, element0 [symbolic_self] -// CHECK:STDOUT: %I_where.type.6d9: type = facet_type <@I, @I(%.Self.as_type) where %impl.elem0.21c = %empty_tuple.type> [symbolic_self] -// CHECK:STDOUT: %pattern_type.4af: type = pattern_type %I_where.type.6d9 [symbolic_self] -// CHECK:STDOUT: %T.patt.bfa: %pattern_type.4af = symbolic_binding_pattern T, 0 [symbolic] -// CHECK:STDOUT: %T.fb1: %I_where.type.6d9 = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %I.assoc_type.901: type = assoc_entity_type @I, @I(%.Self.as_type) [symbolic_self] -// CHECK:STDOUT: %assoc0.267: %I.assoc_type.901 = assoc_entity element0, @I.WithSelf.%I1 [symbolic_self] -// CHECK:STDOUT: %T.as_type: type = facet_access_type %T.fb1 [symbolic] -// CHECK:STDOUT: %facet_value: %type = facet_value %T.as_type, () [symbolic] -// CHECK:STDOUT: %I.type.1d2: type = facet_type <@I, @I(%T.as_type)> [symbolic] -// CHECK:STDOUT: %I_where.type.3f6: type = facet_type <@I, @I(%T.as_type) where %impl.elem0.21c = %empty_tuple.type> [symbolic] -// CHECK:STDOUT: %I.lookup_impl_witness.962: = lookup_impl_witness %T.fb1, @I, @I(%T.as_type) [symbolic] +// CHECK:STDOUT: %.Self.c86: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %I.type.563: type = facet_type <@I, @I(%.Self.c86)> [symbolic_self] +// CHECK:STDOUT: %.Self.bd2: %I.type.fc5 = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %I.lookup_impl_witness.758: = lookup_impl_witness %.Self.bd2, @I, @I(%.Self.c86) [symbolic_self] +// CHECK:STDOUT: %impl.elem0.20e: type = impl_witness_access %I.lookup_impl_witness.758, element0 [symbolic_self] +// CHECK:STDOUT: %I_where.type.69e: type = facet_type <@I, @I(%.Self.c86) where %impl.elem0.20e = %empty_tuple.type> [symbolic_self] +// CHECK:STDOUT: %.Self.f32: %I.type.563 = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %I.lookup_impl_witness.085: = lookup_impl_witness %.Self.f32, @I, @I(%.Self.c86) [symbolic_self] +// CHECK:STDOUT: %impl.elem0.c46: type = impl_witness_access %I.lookup_impl_witness.085, element0 [symbolic_self] +// CHECK:STDOUT: %I_where.type.3e6: type = facet_type <@I, @I(%.Self.c86) where %impl.elem0.c46 = %empty_tuple.type> [symbolic_self] +// CHECK:STDOUT: %pattern_type.668: type = pattern_type %I_where.type.3e6 [symbolic_self] +// CHECK:STDOUT: %T.patt.b8e: %pattern_type.668 = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.f83: %I_where.type.3e6 = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %I.assoc_type.bed: type = assoc_entity_type @I, @I(%.Self.c86) [symbolic_self] +// CHECK:STDOUT: %assoc0.cad: %I.assoc_type.bed = assoc_entity element0, @I.WithSelf.%I1 [symbolic_self] +// CHECK:STDOUT: %T.as_type: type = facet_access_type %T.f83 [symbolic] +// CHECK:STDOUT: %I.type.e98: type = facet_type <@I, @I(%T.as_type)> [symbolic] +// CHECK:STDOUT: %I_where.type.7fa: type = facet_type <@I, @I(%T.as_type) where %impl.elem0.c46 = %empty_tuple.type> [symbolic] +// CHECK:STDOUT: %I.lookup_impl_witness.cc6: = lookup_impl_witness %T.f83, @I, @I(%T.as_type) [symbolic] // CHECK:STDOUT: %.262: Core.Form = init_form %empty_tuple.type [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.cb1 = out_param_pattern [concrete] @@ -70,73 +67,62 @@ fn G(generic _: I(.Self) where .I1 = ()) {} // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc18_15.1: %pattern_type.4af = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc18_15.2 (constants.%T.patt.bfa)] +// CHECK:STDOUT: %T.patt.loc18_15.1: %pattern_type.668 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc18_15.2 (constants.%T.patt.b8e)] // CHECK:STDOUT: %return.param_patt: %pattern_type.cb1 = out_param_pattern [concrete = constants.%return.param_patt] // CHECK:STDOUT: %return.patt: %pattern_type.cb1 = return_slot_pattern %return.param_patt, %impl.elem0.loc18_46 [concrete = constants.%return.patt] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.ref: %I_where.type.6d9 = name_ref T, %T.loc18_15.2 [symbolic = %T.loc18_15.1 (constants.%T.fb1)] +// CHECK:STDOUT: %T.ref: %I_where.type.3e6 = name_ref T, %T.loc18_15.2 [symbolic = %T.loc18_15.1 (constants.%T.f83)] // CHECK:STDOUT: %T.as_type.loc18_46.2: type = facet_access_type %T.ref [symbolic = %T.as_type.loc18_46.1 (constants.%T.as_type)] // CHECK:STDOUT: %.loc18_46.1: type = converted %T.ref, %T.as_type.loc18_46.2 [symbolic = %T.as_type.loc18_46.1 (constants.%T.as_type)] -// CHECK:STDOUT: %.loc18_46.2: %I.assoc_type.901 = specific_constant @I1.%assoc0, @I.WithSelf(constants.%.Self.as_type, constants.%T.fb1) [symbolic_self = constants.%assoc0.267] -// CHECK:STDOUT: %I1.ref.loc18_46: %I.assoc_type.901 = name_ref I1, %.loc18_46.2 [symbolic_self = constants.%assoc0.267] -// CHECK:STDOUT: %facet_value.loc18_46.2: %type = facet_value constants.%T.as_type, () [symbolic = %facet_value.loc18_46.1 (constants.%facet_value)] -// CHECK:STDOUT: %.loc18_46.3: %type = converted constants.%T.as_type, %facet_value.loc18_46.2 [symbolic = %facet_value.loc18_46.1 (constants.%facet_value)] -// CHECK:STDOUT: %I.type.loc18_46.2: type = facet_type <@I, @I(constants.%T.as_type)> [symbolic = %I.type.loc18_46.1 (constants.%I.type.1d2)] -// CHECK:STDOUT: %T.as_type.loc18_46.3: type = facet_access_type constants.%T.fb1 [symbolic = %T.as_type.loc18_46.1 (constants.%T.as_type)] -// CHECK:STDOUT: %facet_value.loc18_46.3: %type = facet_value %T.as_type.loc18_46.3, () [symbolic = %facet_value.loc18_46.1 (constants.%facet_value)] -// CHECK:STDOUT: %.loc18_46.4: %type = converted constants.%T.fb1, %facet_value.loc18_46.3 [symbolic = %facet_value.loc18_46.1 (constants.%facet_value)] -// CHECK:STDOUT: %I_where.type.loc18_46.2: type = facet_type <@I, @I(constants.%T.as_type) where constants.%impl.elem0.21c = constants.%empty_tuple.type> [symbolic = %I_where.type.loc18_46.1 (constants.%I_where.type.3f6)] -// CHECK:STDOUT: %T.as_type.loc18_46.4: type = facet_access_type constants.%T.fb1 [symbolic = %T.as_type.loc18_46.1 (constants.%T.as_type)] -// CHECK:STDOUT: %facet_value.loc18_46.4: %type = facet_value %T.as_type.loc18_46.4, () [symbolic = %facet_value.loc18_46.1 (constants.%facet_value)] -// CHECK:STDOUT: %.loc18_46.5: %type = converted constants.%T.fb1, %facet_value.loc18_46.4 [symbolic = %facet_value.loc18_46.1 (constants.%facet_value)] -// CHECK:STDOUT: %impl.elem0.loc18_46: type = impl_witness_access constants.%I.lookup_impl_witness.962, element0 [concrete = constants.%empty_tuple.type] -// CHECK:STDOUT: %.loc18_46.6: Core.Form = init_form %impl.elem0.loc18_46 [concrete = constants.%.262] -// CHECK:STDOUT: %.loc18_26.1: type = splice_block %.loc18_26.3 [symbolic_self = constants.%I_where.type.6d9] { -// CHECK:STDOUT: %.Self.frozen.loc18_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.loc18_46.2: %I.assoc_type.bed = specific_constant @I1.%assoc0, @I.WithSelf(constants.%.Self.c86, constants.%T.f83) [symbolic_self = constants.%assoc0.cad] +// CHECK:STDOUT: %I1.ref.loc18_46: %I.assoc_type.bed = name_ref I1, %.loc18_46.2 [symbolic_self = constants.%assoc0.cad] +// CHECK:STDOUT: %I.type.loc18_46.2: type = facet_type <@I, @I(constants.%T.as_type)> [symbolic = %I.type.loc18_46.1 (constants.%I.type.e98)] +// CHECK:STDOUT: %I_where.type.loc18_46.2: type = facet_type <@I, @I(constants.%T.as_type) where constants.%impl.elem0.c46 = constants.%empty_tuple.type> [symbolic = %I_where.type.loc18_46.1 (constants.%I_where.type.7fa)] +// CHECK:STDOUT: %impl.elem0.loc18_46: type = impl_witness_access constants.%I.lookup_impl_witness.cc6, element0 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %.loc18_46.3: Core.Form = init_form %impl.elem0.loc18_46 [concrete = constants.%.262] +// CHECK:STDOUT: %.loc18_26.1: type = splice_block %.loc18_26.3 [symbolic_self = constants.%I_where.type.3e6] { +// CHECK:STDOUT: %.Self.frozen.loc18_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %I.ref: %I.type.335 = name_ref I, file.%I.decl [concrete = constants.%I.generic] -// CHECK:STDOUT: %.Self.ref.loc18_19: %type = name_ref .Self, %.Self.frozen.loc18_15 [symbolic_self = constants.%.Self.frozen.197] -// CHECK:STDOUT: %.Self.as_type.loc18_24: type = facet_access_type %.Self.ref.loc18_19 [symbolic_self = constants.%.Self.frozen.as_type.bce] -// CHECK:STDOUT: %.loc18_24: type = converted %.Self.ref.loc18_19, %.Self.as_type.loc18_24 [symbolic_self = constants.%.Self.frozen.as_type.bce] -// CHECK:STDOUT: %I.type.loc18_24.1: type = facet_type <@I, @I(constants.%.Self.frozen.as_type.bce)> [symbolic_self = constants.%I.type.0e8] -// CHECK:STDOUT: %.Self.frozen.loc18_26: %I.type.0e8 = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.edc] +// CHECK:STDOUT: %.Self.ref.loc18_19: type = name_ref .Self, %.Self.frozen.loc18_15 [symbolic_self = constants.%.Self.frozen.e58] +// CHECK:STDOUT: %I.type.loc18_24.1: type = facet_type <@I, @I(constants.%.Self.frozen.e58)> [symbolic_self = constants.%I.type.fc5] +// CHECK:STDOUT: %.Self.frozen.loc18_26: %I.type.fc5 = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.dfc] // CHECK:STDOUT: %base_facet_type.loc18_26.1 = requirement_base_facet_type %I.type.loc18_24.1 [concrete] -// CHECK:STDOUT: %.Self.ref.loc18_32: %I.type.0e8 = name_ref .Self, %.Self.frozen.loc18_26 [symbolic_self = constants.%.Self.frozen.edc] -// CHECK:STDOUT: %.Self.as_type.loc18_32: type = facet_access_type %.Self.ref.loc18_32 [symbolic_self = constants.%.Self.frozen.as_type.7bb] -// CHECK:STDOUT: %.loc18_32.1: type = converted %.Self.ref.loc18_32, %.Self.as_type.loc18_32 [symbolic_self = constants.%.Self.frozen.as_type.7bb] -// CHECK:STDOUT: %.loc18_32.2: %I.assoc_type.96e = specific_constant @I1.%assoc0, @I.WithSelf(constants.%.Self.frozen.as_type.bce, constants.%.Self.frozen.edc) [symbolic_self = constants.%assoc0.cab] -// CHECK:STDOUT: %I1.ref.loc18_32: %I.assoc_type.96e = name_ref I1, %.loc18_32.2 [symbolic_self = constants.%assoc0.cab] -// CHECK:STDOUT: %impl.elem0.loc18_32.1: type = impl_witness_access constants.%I.lookup_impl_witness.d6e, element0 [symbolic_self = constants.%impl.elem0.14f] +// CHECK:STDOUT: %.Self.ref.loc18_32: %I.type.fc5 = name_ref .Self, %.Self.frozen.loc18_26 [symbolic_self = constants.%.Self.frozen.dfc] +// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.ref.loc18_32 [symbolic_self = constants.%.Self.frozen.as_type] +// CHECK:STDOUT: %.loc18_32.1: type = converted %.Self.ref.loc18_32, %.Self.as_type [symbolic_self = constants.%.Self.frozen.as_type] +// CHECK:STDOUT: %.loc18_32.2: %I.assoc_type.51f = specific_constant @I1.%assoc0, @I.WithSelf(constants.%.Self.frozen.e58, constants.%.Self.frozen.dfc) [symbolic_self = constants.%assoc0.03d] +// CHECK:STDOUT: %I1.ref.loc18_32: %I.assoc_type.51f = name_ref I1, %.loc18_32.2 [symbolic_self = constants.%assoc0.03d] +// CHECK:STDOUT: %impl.elem0.loc18_32.1: type = impl_witness_access constants.%I.lookup_impl_witness.1f0, element0 [symbolic_self = constants.%impl.elem0.e47] // CHECK:STDOUT: %.loc18_39.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc18_39.2: type = converted %.loc18_39.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %rewrite.loc18_36.1 = requirement_rewrite %impl.elem0.loc18_32.1, %.loc18_39.2 [concrete] -// CHECK:STDOUT: %I.type.loc18_24.2: type = facet_type <@I, @I(constants.%.Self.as_type)> [symbolic_self = constants.%I.type.a4e] +// CHECK:STDOUT: %I.type.loc18_24.2: type = facet_type <@I, @I(constants.%.Self.c86)> [symbolic_self = constants.%I.type.563] // CHECK:STDOUT: %base_facet_type.loc18_26.2 = requirement_base_facet_type %I.type.loc18_24.2 [concrete] -// CHECK:STDOUT: %impl.elem0.loc18_32.2: type = impl_witness_access constants.%I.lookup_impl_witness.eea, element0 [symbolic_self = constants.%impl.elem0.439] +// CHECK:STDOUT: %impl.elem0.loc18_32.2: type = impl_witness_access constants.%I.lookup_impl_witness.758, element0 [symbolic_self = constants.%impl.elem0.20e] // CHECK:STDOUT: %rewrite.loc18_36.2 = requirement_rewrite %impl.elem0.loc18_32.2, %.loc18_39.2 [concrete] -// CHECK:STDOUT: %.loc18_26.2: type = where_expr [symbolic_self = constants.%I_where.type.760] { +// CHECK:STDOUT: %.loc18_26.2: type = where_expr [symbolic_self = constants.%I_where.type.69e] { // CHECK:STDOUT: %base_facet_type.loc18_26.2 = requirement_base_facet_type %I.type.loc18_24.2 [concrete] // CHECK:STDOUT: %rewrite.loc18_36.2 = requirement_rewrite %impl.elem0.loc18_32.2, %.loc18_39.2 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %impl.elem0.loc18_32.3: type = impl_witness_access constants.%I.lookup_impl_witness.0d5, element0 [symbolic_self = constants.%impl.elem0.21c] +// CHECK:STDOUT: %impl.elem0.loc18_32.3: type = impl_witness_access constants.%I.lookup_impl_witness.085, element0 [symbolic_self = constants.%impl.elem0.c46] // CHECK:STDOUT: %rewrite.loc18_36.3 = requirement_rewrite %impl.elem0.loc18_32.3, %.loc18_39.2 [concrete] -// CHECK:STDOUT: %.loc18_26.3: type = where_expr [symbolic_self = constants.%I_where.type.6d9] { +// CHECK:STDOUT: %.loc18_26.3: type = where_expr [symbolic_self = constants.%I_where.type.3e6] { // CHECK:STDOUT: %base_facet_type.loc18_26.2 = requirement_base_facet_type %I.type.loc18_24.2 [concrete] // CHECK:STDOUT: %rewrite.loc18_36.3 = requirement_rewrite %impl.elem0.loc18_32.3, %.loc18_39.2 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %T.loc18_15.2: %I_where.type.6d9 = symbolic_binding T, 0 [symbolic = %T.loc18_15.1 (constants.%T.fb1)] +// CHECK:STDOUT: %T.loc18_15.2: %I_where.type.3e6 = symbolic_binding T, 0 [symbolic = %T.loc18_15.1 (constants.%T.f83)] // CHECK:STDOUT: %return.param: ref %empty_tuple.type = out_param call_param0 // CHECK:STDOUT: %return: ref %empty_tuple.type = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @F(%T.loc18_15.2: %I_where.type.6d9) { -// CHECK:STDOUT: %T.patt.loc18_15.2: %pattern_type.4af = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc18_15.2 (constants.%T.patt.bfa)] -// CHECK:STDOUT: %T.loc18_15.1: %I_where.type.6d9 = symbolic_binding T, 0 [symbolic = %T.loc18_15.1 (constants.%T.fb1)] +// CHECK:STDOUT: generic fn @F(%T.loc18_15.2: %I_where.type.3e6) { +// CHECK:STDOUT: %T.patt.loc18_15.2: %pattern_type.668 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc18_15.2 (constants.%T.patt.b8e)] +// CHECK:STDOUT: %T.loc18_15.1: %I_where.type.3e6 = symbolic_binding T, 0 [symbolic = %T.loc18_15.1 (constants.%T.f83)] // CHECK:STDOUT: %T.as_type.loc18_46.1: type = facet_access_type %T.loc18_15.1 [symbolic = %T.as_type.loc18_46.1 (constants.%T.as_type)] -// CHECK:STDOUT: %facet_value.loc18_46.1: %type = facet_value %T.as_type.loc18_46.1, () [symbolic = %facet_value.loc18_46.1 (constants.%facet_value)] -// CHECK:STDOUT: %I.type.loc18_46.1: type = facet_type <@I, @I(%T.as_type.loc18_46.1)> [symbolic = %I.type.loc18_46.1 (constants.%I.type.1d2)] -// CHECK:STDOUT: %I_where.type.loc18_46.1: type = facet_type <@I, @I(%T.as_type.loc18_46.1) where constants.%impl.elem0.21c = constants.%empty_tuple.type> [symbolic = %I_where.type.loc18_46.1 (constants.%I_where.type.3f6)] +// CHECK:STDOUT: %I.type.loc18_46.1: type = facet_type <@I, @I(%T.as_type.loc18_46.1)> [symbolic = %I.type.loc18_46.1 (constants.%I.type.e98)] +// CHECK:STDOUT: %I_where.type.loc18_46.1: type = facet_type <@I, @I(%T.as_type.loc18_46.1) where constants.%impl.elem0.c46 = constants.%empty_tuple.type> [symbolic = %I_where.type.loc18_46.1 (constants.%I_where.type.7fa)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: @@ -149,12 +135,11 @@ fn G(generic _: I(.Self) where .I1 = ()) {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F(constants.%T.fb1) { -// CHECK:STDOUT: %T.patt.loc18_15.2 => constants.%T.patt.bfa -// CHECK:STDOUT: %T.loc18_15.1 => constants.%T.fb1 +// CHECK:STDOUT: specific @F(constants.%T.f83) { +// CHECK:STDOUT: %T.patt.loc18_15.2 => constants.%T.patt.b8e +// CHECK:STDOUT: %T.loc18_15.1 => constants.%T.f83 // CHECK:STDOUT: %T.as_type.loc18_46.1 => constants.%T.as_type -// CHECK:STDOUT: %facet_value.loc18_46.1 => constants.%facet_value -// CHECK:STDOUT: %I.type.loc18_46.1 => constants.%I.type.1d2 -// CHECK:STDOUT: %I_where.type.loc18_46.1 => constants.%I_where.type.3f6 +// CHECK:STDOUT: %I.type.loc18_46.1 => constants.%I.type.e98 +// CHECK:STDOUT: %I_where.type.loc18_46.1 => constants.%I_where.type.7fa // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/facet/validate_impl_constraints.carbon b/toolchain/check/testdata/facet/validate_impl_constraints.carbon index 1ca222b69f98..fd1a133d66f5 100644 --- a/toolchain/check/testdata/facet/validate_impl_constraints.carbon +++ b/toolchain/check/testdata/facet/validate_impl_constraints.carbon @@ -230,7 +230,7 @@ interface I(T: Z) {} // TODO: I(.Self) introduces an implied constraint `.Self impls Z`, which is // satisfied and checked at the end of the fn signature. // -// CHECK:STDERR: fail_todo_self_in_interface_generic_param_constrained.carbon:[[@LINE+7]]:24: error: cannot convert type `.Self` that implements `type` into type implementing `Z` [ConversionFailureFacetToFacet] +// CHECK:STDERR: fail_todo_self_in_interface_generic_param_constrained.carbon:[[@LINE+7]]:24: error: cannot convert type `.Self` into type implementing `Z` [ConversionFailureTypeToFacet] // CHECK:STDERR: fn F(unused generic T: I(.Self) where .Self impls Z) {} // CHECK:STDERR: ^~~~~~~~ // CHECK:STDERR: fail_todo_self_in_interface_generic_param_constrained.carbon:[[@LINE-8]]:13: note: initializing generic parameter `T` declared here [InitializingGenericParam] @@ -239,7 +239,7 @@ interface I(T: Z) {} // CHECK:STDERR: fn F(unused generic T: I(.Self) where .Self impls Z) {} -// CHECK:STDERR: fail_todo_self_in_interface_generic_param_constrained.carbon:[[@LINE+7]]:21: error: cannot convert type `.Self` that implements `type` into type implementing `Z` [ConversionFailureFacetToFacet] +// CHECK:STDERR: fail_todo_self_in_interface_generic_param_constrained.carbon:[[@LINE+7]]:21: error: cannot convert type `.Self` into type implementing `Z` [ConversionFailureTypeToFacet] // CHECK:STDERR: fn G(generic T: Z & I(.Self)) { // CHECK:STDERR: ^~~~~~~~ // CHECK:STDERR: fail_todo_self_in_interface_generic_param_constrained.carbon:[[@LINE-17]]:13: note: initializing generic parameter `T` declared here [InitializingGenericParam] diff --git a/toolchain/check/testdata/facet/validate_rewrite_constraints.carbon b/toolchain/check/testdata/facet/validate_rewrite_constraints.carbon index 2475ef4e493a..21494eb7b721 100644 --- a/toolchain/check/testdata/facet/validate_rewrite_constraints.carbon +++ b/toolchain/check/testdata/facet/validate_rewrite_constraints.carbon @@ -1387,6 +1387,7 @@ fn G(generic T: N) { // CHECK:STDOUT: --- rewrite_provided_by_facet_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/for/actual.carbon b/toolchain/check/testdata/for/actual.carbon index 73a0fb7a0361..00931f9e572a 100644 --- a/toolchain/check/testdata/for/actual.carbon +++ b/toolchain/check/testdata/for/actual.carbon @@ -53,8 +53,8 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: --- lib.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = symbolic_binding_pattern N, 0 [symbolic] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -292,7 +292,7 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %N.patt.loc4_17.1: %pattern_type.dc0 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc4_17.2 (constants.%N.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %IntLiteral.ref [concrete = Core.IntLiteral] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %Core.ref.loc4: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %IntLiteral.ref: type = name_ref IntLiteral, imports.%Core.IntLiteral [concrete = Core.IntLiteral] // CHECK:STDOUT: } @@ -957,8 +957,8 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: --- trivial.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] // CHECK:STDOUT: %y.patt: %pattern_type.dc0 = symbolic_binding_pattern y, 0 [symbolic] // CHECK:STDOUT: %y: Core.IntLiteral = symbolic_binding y, 0 [symbolic] @@ -1068,7 +1068,7 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %y.patt.loc4_18.1: %pattern_type.dc0 = symbolic_binding_pattern y, 0 [symbolic = %y.patt.loc4_18.2 (constants.%y.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %IntLiteral.ref [concrete = Core.IntLiteral] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core.048aa3.1 [concrete = imports.%Core.048aa3.1] // CHECK:STDOUT: %IntLiteral.ref: type = name_ref IntLiteral, imports.%Core.IntLiteral [concrete = Core.IntLiteral] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/for/basic.carbon b/toolchain/check/testdata/for/basic.carbon index 403cdeb67546..3836b07857c0 100644 --- a/toolchain/check/testdata/for/basic.carbon +++ b/toolchain/check/testdata/for/basic.carbon @@ -53,6 +53,7 @@ fn Run() { // CHECK:STDOUT: --- trivial.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %TrivialRange: type = class_type @TrivialRange [concrete] // CHECK:STDOUT: %Iterate.type: type = facet_type <@Iterate> [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] diff --git a/toolchain/check/testdata/for/pattern.carbon b/toolchain/check/testdata/for/pattern.carbon index 7f1de86762d5..2e0731902b97 100644 --- a/toolchain/check/testdata/for/pattern.carbon +++ b/toolchain/check/testdata/for/pattern.carbon @@ -121,6 +121,7 @@ fn Run() { // CHECK:STDOUT: --- value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] @@ -303,6 +304,7 @@ fn Run() { // CHECK:STDOUT: --- var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %ptr.6b6: type = ptr_type %C [concrete] @@ -491,6 +493,7 @@ fn Run() { // CHECK:STDOUT: --- tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %Body.type: type = fn_type @Body [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -507,8 +510,8 @@ fn Run() { // CHECK:STDOUT: %T.f84: %Copy.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %EmptyRange.Make.type.140: type = fn_type @EmptyRange.Make, @EmptyRange(%T.f84) [symbolic] // CHECK:STDOUT: %EmptyRange.Make.0de: %EmptyRange.Make.type.140 = struct_value () [symbolic] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.9fa: %tuple.type.24b = tuple_value (bool, bool) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.52b: %tuple.type.693 = tuple_value (bool, bool) [concrete] // CHECK:STDOUT: %U: %Copy.type = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %tuple.type.as.Copy.impl.Op.type.3ed: type = fn_type @tuple.type.as.Copy.impl.Op.1, @tuple.type.as.Copy.impl.9bd(%T.f84, %U) [symbolic] // CHECK:STDOUT: %tuple.type.as.Copy.impl.Op.0f8: %tuple.type.as.Copy.impl.Op.type.3ed = struct_value () [symbolic] @@ -588,7 +591,7 @@ fn Run() { // CHECK:STDOUT: %EmptyRange.ref: %EmptyRange.type = name_ref EmptyRange, imports.%Main.EmptyRange [concrete = constants.%EmptyRange.generic] // CHECK:STDOUT: %.loc10_42: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc10_48: type = type_literal bool [concrete = bool] -// CHECK:STDOUT: %.loc10_52: %tuple.type.24b = tuple_literal (%.loc10_42, %.loc10_48) [concrete = constants.%tuple.9fa] +// CHECK:STDOUT: %.loc10_52: %tuple.type.693 = tuple_literal (%.loc10_42, %.loc10_48) [concrete = constants.%tuple.52b] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value constants.%tuple.type.784, (constants.%Copy.impl_witness.493) [concrete = constants.%Copy.facet.701] // CHECK:STDOUT: %.loc10_53: %Copy.type = converted %.loc10_52, %Copy.facet [concrete = constants.%Copy.facet.701] // CHECK:STDOUT: %EmptyRange: type = class_type @EmptyRange, @EmptyRange(constants.%Copy.facet.701) [concrete = constants.%EmptyRange.d81] @@ -694,6 +697,7 @@ fn Run() { // CHECK:STDOUT: --- tuple_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] @@ -712,8 +716,8 @@ fn Run() { // CHECK:STDOUT: %T.f84: %Copy.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %EmptyRange.Make.type.140: type = fn_type @EmptyRange.Make, @EmptyRange(%T.f84) [symbolic] // CHECK:STDOUT: %EmptyRange.Make.0de: %EmptyRange.Make.type.140 = struct_value () [symbolic] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.d95: %tuple.type.24b = tuple_value (%C, %C) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.391: %tuple.type.693 = tuple_value (%C, %C) [concrete] // CHECK:STDOUT: %U: %Copy.type = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %tuple.type.as.Copy.impl.Op.type.3ed: type = fn_type @tuple.type.as.Copy.impl.Op.1, @tuple.type.as.Copy.impl.9bd(%T.f84, %U) [symbolic] // CHECK:STDOUT: %tuple.type.as.Copy.impl.Op.0f8: %tuple.type.as.Copy.impl.Op.type.3ed = struct_value () [symbolic] @@ -793,7 +797,7 @@ fn Run() { // CHECK:STDOUT: %EmptyRange.ref: %EmptyRange.type = name_ref EmptyRange, imports.%Main.EmptyRange [concrete = constants.%EmptyRange.generic] // CHECK:STDOUT: %C.ref.loc10_36: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %C.ref.loc10_39: type = name_ref C, imports.%Main.C [concrete = constants.%C] -// CHECK:STDOUT: %.loc10_40: %tuple.type.24b = tuple_literal (%C.ref.loc10_36, %C.ref.loc10_39) [concrete = constants.%tuple.d95] +// CHECK:STDOUT: %.loc10_40: %tuple.type.693 = tuple_literal (%C.ref.loc10_36, %C.ref.loc10_39) [concrete = constants.%tuple.391] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value constants.%tuple.type.748, (constants.%Copy.impl_witness.5b5) [concrete = constants.%Copy.facet.38c] // CHECK:STDOUT: %.loc10_41: %Copy.type = converted %.loc10_40, %Copy.facet [concrete = constants.%Copy.facet.38c] // CHECK:STDOUT: %EmptyRange: type = class_type @EmptyRange, @EmptyRange(constants.%Copy.facet.38c) [concrete = constants.%EmptyRange.8d3] diff --git a/toolchain/check/testdata/function/builtin/adapted_type.carbon b/toolchain/check/testdata/function/builtin/adapted_type.carbon index 0bc80303105d..ed96fb67be51 100644 --- a/toolchain/check/testdata/function/builtin/adapted_type.carbon +++ b/toolchain/check/testdata/function/builtin/adapted_type.carbon @@ -54,10 +54,11 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: --- adapt.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %.805: Core.Form = init_form type [concrete] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %return.param_patt.70e: %pattern_type.98f = out_param_pattern [concrete] -// CHECK:STDOUT: %return.patt.3ae: %pattern_type.98f = return_slot_pattern %return.param_patt.70e, type [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.576: Core.Form = init_form type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %return.param_patt.90b: %pattern_type.9a5 = out_param_pattern [concrete] +// CHECK:STDOUT: %return.patt.718: %pattern_type.9a5 = return_slot_pattern %return.param_patt.90b, type [concrete] // CHECK:STDOUT: %MakeIntLiteral.type: type = fn_type @MakeIntLiteral [concrete] // CHECK:STDOUT: %MakeIntLiteral: %MakeIntLiteral.type = struct_value () [concrete] // CHECK:STDOUT: %MyIntLiteral: type = class_type @MyIntLiteral [concrete] @@ -108,11 +109,11 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: .v = %v // CHECK:STDOUT: } // CHECK:STDOUT: %MakeIntLiteral.decl: %MakeIntLiteral.type = fn_decl @MakeIntLiteral [concrete = constants.%MakeIntLiteral] { -// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete = constants.%return.param_patt.70e] -// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, %.loc4_24.1 [concrete = constants.%return.patt.3ae] +// CHECK:STDOUT: %return.param_patt: %pattern_type.9a5 = out_param_pattern [concrete = constants.%return.param_patt.90b] +// CHECK:STDOUT: %return.patt: %pattern_type.9a5 = return_slot_pattern %return.param_patt, %.loc4_24.1 [concrete = constants.%return.patt.718] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_24.1: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.loc4_24.2: Core.Form = init_form %.loc4_24.1 [concrete = constants.%.805] +// CHECK:STDOUT: %.loc4_24.2: Core.Form = init_form %.loc4_24.1 [concrete = constants.%.576] // CHECK:STDOUT: %return.param: ref type = out_param call_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } @@ -125,11 +126,11 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: %Int.decl: %Int.type = fn_decl @Int [concrete = constants.%Int] { // CHECK:STDOUT: %N.param_patt: %pattern_type.129 = value_param_pattern [concrete = constants.%N.param_patt] // CHECK:STDOUT: %N.patt: %pattern_type.129 = wrapper_binding_pattern N, %N.param_patt [concrete = constants.%N.patt] -// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete = constants.%return.param_patt.70e] -// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, %.loc11_28.1 [concrete = constants.%return.patt.3ae] +// CHECK:STDOUT: %return.param_patt: %pattern_type.9a5 = out_param_pattern [concrete = constants.%return.param_patt.90b] +// CHECK:STDOUT: %return.patt: %pattern_type.9a5 = return_slot_pattern %return.param_patt, %.loc11_28.1 [concrete = constants.%return.patt.718] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_28.1: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.loc11_28.2: Core.Form = init_form %.loc11_28.1 [concrete = constants.%.805] +// CHECK:STDOUT: %.loc11_28.2: Core.Form = init_form %.loc11_28.1 [concrete = constants.%.576] // CHECK:STDOUT: %N.param: %MyIntLiteral = value_param call_param0 // CHECK:STDOUT: %MyIntLiteral.ref: type = name_ref MyIntLiteral, file.%MyIntLiteral.decl [concrete = constants.%MyIntLiteral] // CHECK:STDOUT: %N: %MyIntLiteral = wrapper_binding N, %N.param @@ -262,6 +263,7 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: --- fail_bad_adapt.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %MyIntLiteral: type = class_type @MyIntLiteral [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -269,10 +271,10 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: %pattern_type.129: type = pattern_type %MyIntLiteral [concrete] // CHECK:STDOUT: %N.param_patt: %pattern_type.129 = value_param_pattern [concrete] // CHECK:STDOUT: %N.patt: %pattern_type.129 = wrapper_binding_pattern N, %N.param_patt [concrete] -// CHECK:STDOUT: %.805: Core.Form = init_form type [concrete] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete] -// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, type [concrete] +// CHECK:STDOUT: %.576: Core.Form = init_form type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %return.param_patt: %pattern_type.9a5 = out_param_pattern [concrete] +// CHECK:STDOUT: %return.patt: %pattern_type.9a5 = return_slot_pattern %return.param_patt, type [concrete] // CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete] // CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -286,11 +288,11 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: %Int.decl: %Int.type = fn_decl @Int [concrete = constants.%Int] { // CHECK:STDOUT: %N.param_patt: %pattern_type.129 = value_param_pattern [concrete = constants.%N.param_patt] // CHECK:STDOUT: %N.patt: %pattern_type.129 = wrapper_binding_pattern N, %N.param_patt [concrete = constants.%N.patt] -// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete = constants.%return.param_patt] -// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, %.loc12_28.1 [concrete = constants.%return.patt] +// CHECK:STDOUT: %return.param_patt: %pattern_type.9a5 = out_param_pattern [concrete = constants.%return.param_patt] +// CHECK:STDOUT: %return.patt: %pattern_type.9a5 = return_slot_pattern %return.param_patt, %.loc12_28.1 [concrete = constants.%return.patt] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_28.1: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.loc12_28.2: Core.Form = init_form %.loc12_28.1 [concrete = constants.%.805] +// CHECK:STDOUT: %.loc12_28.2: Core.Form = init_form %.loc12_28.1 [concrete = constants.%.576] // CHECK:STDOUT: %N.param: %MyIntLiteral = value_param call_param0 // CHECK:STDOUT: %MyIntLiteral.ref: type = name_ref MyIntLiteral, file.%MyIntLiteral.decl [concrete = constants.%MyIntLiteral] // CHECK:STDOUT: %N: %MyIntLiteral = wrapper_binding N, %N.param diff --git a/toolchain/check/testdata/function/builtin/call.carbon b/toolchain/check/testdata/function/builtin/call.carbon index c2fea6b514e1..868a7cd7c294 100644 --- a/toolchain/check/testdata/function/builtin/call.carbon +++ b/toolchain/check/testdata/function/builtin/call.carbon @@ -23,6 +23,7 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/builtin/call_from_operator.carbon b/toolchain/check/testdata/function/builtin/call_from_operator.carbon index 15623008eec7..4d92f62ce572 100644 --- a/toolchain/check/testdata/function/builtin/call_from_operator.carbon +++ b/toolchain/check/testdata/function/builtin/call_from_operator.carbon @@ -58,10 +58,11 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: --- core.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %.805: Core.Form = init_form type [concrete] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %return.param_patt.70e: %pattern_type.98f = out_param_pattern [concrete] -// CHECK:STDOUT: %return.patt.3ae: %pattern_type.98f = return_slot_pattern %return.param_patt.70e, type [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.576: Core.Form = init_form type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %return.param_patt.90b: %pattern_type.9a5 = out_param_pattern [concrete] +// CHECK:STDOUT: %return.patt.718: %pattern_type.9a5 = return_slot_pattern %return.param_patt.90b, type [concrete] // CHECK:STDOUT: %MakeIntLiteral.type: type = fn_type @MakeIntLiteral [concrete] // CHECK:STDOUT: %MakeIntLiteral: %MakeIntLiteral.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] @@ -69,9 +70,8 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = wrapper_binding_pattern N, %N.param_patt [concrete] // CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete] // CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %AddWith.type.2ef: type = generic_interface_type @AddWith [concrete] // CHECK:STDOUT: %AddWith.generic: %AddWith.type.2ef = struct_value () [concrete] @@ -197,11 +197,11 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: .ImplicitAs = %ImplicitAs.decl // CHECK:STDOUT: } // CHECK:STDOUT: %MakeIntLiteral.decl: %MakeIntLiteral.type = fn_decl @MakeIntLiteral [concrete = constants.%MakeIntLiteral] { -// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete = constants.%return.param_patt.70e] -// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, %.loc4_24.1 [concrete = constants.%return.patt.3ae] +// CHECK:STDOUT: %return.param_patt: %pattern_type.9a5 = out_param_pattern [concrete = constants.%return.param_patt.90b] +// CHECK:STDOUT: %return.patt: %pattern_type.9a5 = return_slot_pattern %return.param_patt, %.loc4_24.1 [concrete = constants.%return.patt.718] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_24.1: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.loc4_24.2: Core.Form = init_form %.loc4_24.1 [concrete = constants.%.805] +// CHECK:STDOUT: %.loc4_24.2: Core.Form = init_form %.loc4_24.1 [concrete = constants.%.576] // CHECK:STDOUT: %return.param: ref type = out_param call_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } @@ -213,11 +213,11 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %Int.decl: %Int.type = fn_decl @Int [concrete = constants.%Int] { // CHECK:STDOUT: %N.param_patt: %pattern_type.dc0 = value_param_pattern [concrete = constants.%N.param_patt] // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = wrapper_binding_pattern N, %N.param_patt [concrete = constants.%N.patt] -// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete = constants.%return.param_patt.70e] -// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, %.loc6_26.1 [concrete = constants.%return.patt.3ae] +// CHECK:STDOUT: %return.param_patt: %pattern_type.9a5 = out_param_pattern [concrete = constants.%return.param_patt.90b] +// CHECK:STDOUT: %return.patt: %pattern_type.9a5 = return_slot_pattern %return.param_patt, %.loc6_26.1 [concrete = constants.%return.patt.718] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_26.1: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.loc6_26.2: Core.Form = init_form %.loc6_26.1 [concrete = constants.%.805] +// CHECK:STDOUT: %.loc6_26.2: Core.Form = init_form %.loc6_26.1 [concrete = constants.%.576] // CHECK:STDOUT: %N.param: Core.IntLiteral = value_param call_param0 // CHECK:STDOUT: %IntLiteral.ref: type = name_ref IntLiteral, file.%IntLiteral [concrete = Core.IntLiteral] // CHECK:STDOUT: %N: Core.IntLiteral = wrapper_binding N, %N.param @@ -225,28 +225,28 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %AddWith.decl: %AddWith.type.2ef = interface_decl @AddWith [concrete = constants.%AddWith.generic] { -// CHECK:STDOUT: %T.patt.loc8_20.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_20.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_20.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_20.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_22.1: type = splice_block %.loc8_22.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_22.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_20.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_20.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %As.decl: %As.type.116 = interface_decl @As [concrete = constants.%As.generic] { -// CHECK:STDOUT: %T.patt.loc12_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc12_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_17.1: type = splice_block %.loc12_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc12_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc12_15.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.decl: %ImplicitAs.type.0ff = interface_decl @ImplicitAs [concrete = constants.%ImplicitAs.generic] { -// CHECK:STDOUT: %T.patt.loc16_23.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc16_23.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc16_23.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc16_23.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc16_25.1: type = splice_block %.loc16_25.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc16_25.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc16_23.2: type = symbolic_binding T, 0 [symbolic = %T.loc16_23.1 (constants.%T)] @@ -282,7 +282,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @AddWith(%T.loc8_20.2: type) { -// CHECK:STDOUT: %T.patt.loc8_20.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_20.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_20.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_20.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc8_20.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_20.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -338,7 +338,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @As(%T.loc12_15.2: type) { -// CHECK:STDOUT: %T.patt.loc12_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc12_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc12_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc12_15.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -383,7 +383,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @ImplicitAs(%T.loc16_23.2: type) { -// CHECK:STDOUT: %T.patt.loc16_23.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc16_23.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc16_23.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc16_23.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc16_23.1: type = symbolic_binding T, 0 [symbolic = %T.loc16_23.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -839,17 +839,18 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: --- user.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete] // CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] // CHECK:STDOUT: %i32.builtin: type = int_type signed, %int_32 [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %As.type.116: type = generic_interface_type @As [concrete] // CHECK:STDOUT: %As.generic: %As.type.116 = struct_value () [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %As.type.c5f: type = facet_type <@As, @As(%T)> [symbolic] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %Self.37a: %As.type.c5f = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %As.assoc_type.b40: type = assoc_entity_type @As, @As(%T) [symbolic] // CHECK:STDOUT: %As.WithSelf.Convert.type.ff8: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%T, %Self.37a) [symbolic] @@ -1072,7 +1073,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @As(imports.%Core.import_ref.b3bc94.3: type) [from "core.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -1090,7 +1091,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @AddWith(imports.%Core.import_ref.b3bc94.6: type) [from "core.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -1108,7 +1109,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @ImplicitAs(imports.%Core.import_ref.b3bc94.9: type) [from "core.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/function/builtin/definition.carbon b/toolchain/check/testdata/function/builtin/definition.carbon index 891d2dacba06..c974c5438e68 100644 --- a/toolchain/check/testdata/function/builtin/definition.carbon +++ b/toolchain/check/testdata/function/builtin/definition.carbon @@ -17,6 +17,7 @@ fn Add(a: i32, b: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: --- definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/builtin/fail_redefined.carbon b/toolchain/check/testdata/function/builtin/fail_redefined.carbon index ec40f34f1b4d..10e3305e7248 100644 --- a/toolchain/check/testdata/function/builtin/fail_redefined.carbon +++ b/toolchain/check/testdata/function/builtin/fail_redefined.carbon @@ -45,6 +45,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: --- fail_redefined.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/builtin/fail_unknown.carbon b/toolchain/check/testdata/function/builtin/fail_unknown.carbon index a2739ff58143..ee9e2da86b57 100644 --- a/toolchain/check/testdata/function/builtin/fail_unknown.carbon +++ b/toolchain/check/testdata/function/builtin/fail_unknown.carbon @@ -21,6 +21,7 @@ fn UnknownBuiltin() = "unknown.builtin.name"; // CHECK:STDOUT: --- fail_unknown.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %UnknownBuiltin.type: type = fn_type @UnknownBuiltin [concrete] // CHECK:STDOUT: %UnknownBuiltin: %UnknownBuiltin.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/builtin/import.carbon b/toolchain/check/testdata/function/builtin/import.carbon index c4d486b34727..0da86b97602c 100644 --- a/toolchain/check/testdata/function/builtin/import.carbon +++ b/toolchain/check/testdata/function/builtin/import.carbon @@ -35,10 +35,11 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)) // CHECK:STDOUT: --- core.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %.805: Core.Form = init_form type [concrete] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %return.param_patt.70e: %pattern_type.98f = out_param_pattern [concrete] -// CHECK:STDOUT: %return.patt.3ae: %pattern_type.98f = return_slot_pattern %return.param_patt.70e, type [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.576: Core.Form = init_form type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %return.param_patt.90b: %pattern_type.9a5 = out_param_pattern [concrete] +// CHECK:STDOUT: %return.patt.718: %pattern_type.9a5 = return_slot_pattern %return.param_patt.90b, type [concrete] // CHECK:STDOUT: %MakeIntLiteral.type: type = fn_type @MakeIntLiteral [concrete] // CHECK:STDOUT: %MakeIntLiteral: %MakeIntLiteral.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] @@ -79,11 +80,11 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)) // CHECK:STDOUT: .TestAdd = %TestAdd.decl // CHECK:STDOUT: } // CHECK:STDOUT: %MakeIntLiteral.decl: %MakeIntLiteral.type = fn_decl @MakeIntLiteral [concrete = constants.%MakeIntLiteral] { -// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete = constants.%return.param_patt.70e] -// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, %.loc5_24.1 [concrete = constants.%return.patt.3ae] +// CHECK:STDOUT: %return.param_patt: %pattern_type.9a5 = out_param_pattern [concrete = constants.%return.param_patt.90b] +// CHECK:STDOUT: %return.patt: %pattern_type.9a5 = return_slot_pattern %return.param_patt, %.loc5_24.1 [concrete = constants.%return.patt.718] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_24.1: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.loc5_24.2: Core.Form = init_form %.loc5_24.1 [concrete = constants.%.805] +// CHECK:STDOUT: %.loc5_24.2: Core.Form = init_form %.loc5_24.1 [concrete = constants.%.576] // CHECK:STDOUT: %return.param: ref type = out_param call_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } @@ -95,11 +96,11 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)) // CHECK:STDOUT: %Int.decl: %Int.type = fn_decl @Int [concrete = constants.%Int] { // CHECK:STDOUT: %N.param_patt: %pattern_type.dc0 = value_param_pattern [concrete = constants.%N.param_patt] // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = wrapper_binding_pattern N, %N.param_patt [concrete = constants.%N.patt] -// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete = constants.%return.param_patt.70e] -// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, %.loc7_26.1 [concrete = constants.%return.patt.3ae] +// CHECK:STDOUT: %return.param_patt: %pattern_type.9a5 = out_param_pattern [concrete = constants.%return.param_patt.90b] +// CHECK:STDOUT: %return.patt: %pattern_type.9a5 = return_slot_pattern %return.param_patt, %.loc7_26.1 [concrete = constants.%return.patt.718] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_26.1: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.loc7_26.2: Core.Form = init_form %.loc7_26.1 [concrete = constants.%.805] +// CHECK:STDOUT: %.loc7_26.2: Core.Form = init_form %.loc7_26.1 [concrete = constants.%.576] // CHECK:STDOUT: %N.param: Core.IntLiteral = value_param call_param0 // CHECK:STDOUT: %IntLiteral.ref: type = name_ref IntLiteral, file.%IntLiteral [concrete = Core.IntLiteral] // CHECK:STDOUT: %N: Core.IntLiteral = wrapper_binding N, %N.param @@ -168,6 +169,7 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)) // CHECK:STDOUT: --- use.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete] // CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/builtin/method.carbon b/toolchain/check/testdata/function/builtin/method.carbon index 602b40e73f9c..c7bf67afa344 100644 --- a/toolchain/check/testdata/function/builtin/method.carbon +++ b/toolchain/check/testdata/function/builtin/method.carbon @@ -26,6 +26,7 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: --- method.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: %Self.as_type.c84: type = facet_access_type %Self.37e [symbolic] diff --git a/toolchain/check/testdata/function/builtin/positional.carbon b/toolchain/check/testdata/function/builtin/positional.carbon index d33fba49906d..ed67378433a2 100644 --- a/toolchain/check/testdata/function/builtin/positional.carbon +++ b/toolchain/check/testdata/function/builtin/positional.carbon @@ -37,6 +37,7 @@ fn Mul = "int.smul"; // CHECK:STDOUT: --- fail_positional.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/call/alias.carbon b/toolchain/check/testdata/function/call/alias.carbon index 7cc9b98321a7..7cdda8df7778 100644 --- a/toolchain/check/testdata/function/call/alias.carbon +++ b/toolchain/check/testdata/function/call/alias.carbon @@ -23,6 +23,7 @@ fn Main() { // CHECK:STDOUT: --- alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %.262: Core.Form = init_form %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/function/call/empty_struct.carbon b/toolchain/check/testdata/function/call/empty_struct.carbon index 4b153ec28d63..52cde4804e67 100644 --- a/toolchain/check/testdata/function/call/empty_struct.carbon +++ b/toolchain/check/testdata/function/call/empty_struct.carbon @@ -23,6 +23,7 @@ fn Main() { // CHECK:STDOUT: --- empty_struct.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/function/call/empty_tuple.carbon b/toolchain/check/testdata/function/call/empty_tuple.carbon index c1c077985a98..590d31118ed6 100644 --- a/toolchain/check/testdata/function/call/empty_tuple.carbon +++ b/toolchain/check/testdata/function/call/empty_tuple.carbon @@ -23,6 +23,7 @@ fn Main() { // CHECK:STDOUT: --- empty_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/function/call/fail_param_count.carbon b/toolchain/check/testdata/function/call/fail_param_count.carbon index 947d30007794..c286d51902e6 100644 --- a/toolchain/check/testdata/function/call/fail_param_count.carbon +++ b/toolchain/check/testdata/function/call/fail_param_count.carbon @@ -72,6 +72,7 @@ fn Main() { // CHECK:STDOUT: --- fail_param_count.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Run0.type: type = fn_type @Run0 [concrete] // CHECK:STDOUT: %Run0: %Run0.type = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] diff --git a/toolchain/check/testdata/function/call/fail_param_type.carbon b/toolchain/check/testdata/function/call/fail_param_type.carbon index a9512e3b134a..18ac79a2baee 100644 --- a/toolchain/check/testdata/function/call/fail_param_type.carbon +++ b/toolchain/check/testdata/function/call/fail_param_type.carbon @@ -31,6 +31,7 @@ fn F() { // CHECK:STDOUT: --- fail_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon b/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon index ec53e6e5fe5c..b13174e528f0 100644 --- a/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon +++ b/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon @@ -28,6 +28,7 @@ fn Run() { // CHECK:STDOUT: --- fail_return_type_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %Float.type: type = generic_class_type @Float [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/function/call/fail_runtime_implicit_param.carbon b/toolchain/check/testdata/function/call/fail_runtime_implicit_param.carbon index b707cf82c5d3..4ba086a45816 100644 --- a/toolchain/check/testdata/function/call/fail_runtime_implicit_param.carbon +++ b/toolchain/check/testdata/function/call/fail_runtime_implicit_param.carbon @@ -25,6 +25,7 @@ fn Run() { // CHECK:STDOUT: --- fail_runtime_implicit_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/call/form.carbon b/toolchain/check/testdata/function/call/form.carbon index 1bb3ba275d52..1b88f02e0a08 100644 --- a/toolchain/check/testdata/function/call/form.carbon +++ b/toolchain/check/testdata/function/call/form.carbon @@ -291,6 +291,7 @@ fn G() { // CHECK:STDOUT: --- ref_form_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -332,6 +333,7 @@ fn G() { // CHECK:STDOUT: --- var_form_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -413,6 +415,7 @@ fn G() { // CHECK:STDOUT: --- val_form_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -479,6 +482,7 @@ fn G() { // CHECK:STDOUT: --- type_component_needs_conversion.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %.9f9: Core.Form = ref_form %empty_tuple.type [concrete] @@ -510,6 +514,7 @@ fn G() { // CHECK:STDOUT: --- ref_return_form.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %.512: Core.Form = ref_form %i32 [concrete] @@ -551,6 +556,7 @@ fn G() { // CHECK:STDOUT: --- var_return_form.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -609,6 +615,7 @@ fn G() { // CHECK:STDOUT: --- val_return_form.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %.c2a: Core.Form = value_form %i32 [concrete] @@ -650,8 +657,8 @@ fn G() { // CHECK:STDOUT: --- form_generic_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.13f: type = pattern_type Core.Form [concrete] // CHECK:STDOUT: %Fm.patt: %pattern_type.13f = symbolic_binding_pattern Fm, 0 [symbolic] // CHECK:STDOUT: %Fm: Core.Form = symbolic_binding Fm, 0 [symbolic] @@ -815,7 +822,7 @@ fn G() { // CHECK:STDOUT: %Fm.ref.loc4_41: Core.Form = name_ref Fm, %Fm.loc4_16.2 [symbolic = %Fm.loc4_16.1 (constants.%Fm)] // CHECK:STDOUT: %.loc4_41: type = type_component_of %Fm.ref.loc4_41 [symbolic = %.loc4_33.1 (constants.%.42f)] // CHECK:STDOUT: %.loc4_22: type = splice_block %Form.ref [concrete = Core.Form] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Form.ref: type = name_ref Form, imports.%Core.Form [concrete = Core.Form] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/call/i32.carbon b/toolchain/check/testdata/function/call/i32.carbon index 7a4dbefc95d5..29b8a2f626c6 100644 --- a/toolchain/check/testdata/function/call/i32.carbon +++ b/toolchain/check/testdata/function/call/i32.carbon @@ -23,6 +23,7 @@ fn Main() { // CHECK:STDOUT: --- i32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/function/call/more_param_ir.carbon b/toolchain/check/testdata/function/call/more_param_ir.carbon index a8121e671e76..78c5dcf64b61 100644 --- a/toolchain/check/testdata/function/call/more_param_ir.carbon +++ b/toolchain/check/testdata/function/call/more_param_ir.carbon @@ -23,6 +23,7 @@ fn Main() { // CHECK:STDOUT: --- more_param_ir.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -38,8 +39,8 @@ fn Main() { // CHECK:STDOUT: %i32.builtin: type = int_type signed, %int_32 [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple.19c: %tuple.type.85c = tuple_value (%i32) [concrete] +// CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] +// CHECK:STDOUT: %tuple.e3d: %tuple.type.135 = tuple_value (%i32) [concrete] // CHECK:STDOUT: %tuple.type.a8a: type = tuple_type (%i32) [concrete] // CHECK:STDOUT: %pattern_type.e71: type = pattern_type %tuple.type.a8a [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.e71 = ref_binding_pattern x [concrete] @@ -133,7 +134,7 @@ fn Main() { // CHECK:STDOUT: assign %x.var, %.loc18_3 // CHECK:STDOUT: %.loc18_15.1: type = splice_block %.loc18_15.3 [concrete = constants.%tuple.type.a8a] { // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc18_15.2: %tuple.type.85c = tuple_literal (%i32) [concrete = constants.%tuple.19c] +// CHECK:STDOUT: %.loc18_15.2: %tuple.type.135 = tuple_literal (%i32) [concrete = constants.%tuple.e3d] // CHECK:STDOUT: %.loc18_15.3: type = converted %.loc18_15.2, constants.%tuple.type.a8a [concrete = constants.%tuple.type.a8a] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %tuple.type.a8a = wrapper_binding x, %x.var diff --git a/toolchain/check/testdata/function/call/params_one.carbon b/toolchain/check/testdata/function/call/params_one.carbon index 26b758e0ae6e..7f5738218a48 100644 --- a/toolchain/check/testdata/function/call/params_one.carbon +++ b/toolchain/check/testdata/function/call/params_one.carbon @@ -21,6 +21,7 @@ fn Main() { // CHECK:STDOUT: --- params_one.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/function/call/params_one_comma.carbon b/toolchain/check/testdata/function/call/params_one_comma.carbon index 7bd7a5143e62..86e1d19de377 100644 --- a/toolchain/check/testdata/function/call/params_one_comma.carbon +++ b/toolchain/check/testdata/function/call/params_one_comma.carbon @@ -22,6 +22,7 @@ fn Main() { // CHECK:STDOUT: --- params_one_comma.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/function/call/params_two.carbon b/toolchain/check/testdata/function/call/params_two.carbon index 86307e3054ef..7861718f1dcf 100644 --- a/toolchain/check/testdata/function/call/params_two.carbon +++ b/toolchain/check/testdata/function/call/params_two.carbon @@ -21,6 +21,7 @@ fn Main() { // CHECK:STDOUT: --- params_two.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/function/call/params_two_comma.carbon b/toolchain/check/testdata/function/call/params_two_comma.carbon index 751fab0b89eb..50d8c45afcb8 100644 --- a/toolchain/check/testdata/function/call/params_two_comma.carbon +++ b/toolchain/check/testdata/function/call/params_two_comma.carbon @@ -22,6 +22,7 @@ fn Main() { // CHECK:STDOUT: --- params_two_comma.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/function/call/params_zero.carbon b/toolchain/check/testdata/function/call/params_zero.carbon index 0431ccb0cba3..f012e3a60add 100644 --- a/toolchain/check/testdata/function/call/params_zero.carbon +++ b/toolchain/check/testdata/function/call/params_zero.carbon @@ -21,6 +21,7 @@ fn Main() { // CHECK:STDOUT: --- params_zero.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Foo.type: type = fn_type @Foo [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Foo: %Foo.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon b/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon index 51aa44894790..2ef49849c8d2 100644 --- a/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon +++ b/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon @@ -30,10 +30,10 @@ fn Class(F: type).Inner.G() -> i32 { return F(); } // CHECK:STDOUT: --- prefer_unqualified_lookup.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %F.patt: %pattern_type.98f = symbolic_binding_pattern F, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %F.patt: %pattern_type.9a5 = symbolic_binding_pattern F, 0 [symbolic] // CHECK:STDOUT: %F: type = symbolic_binding F, 0 [symbolic] // CHECK:STDOUT: %Class.type: type = generic_class_type @Class [concrete] // CHECK:STDOUT: %Class.generic: %Class.type = struct_value () [concrete] @@ -93,10 +93,10 @@ fn Class(F: type).Inner.G() -> i32 { return F(); } // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { -// CHECK:STDOUT: %F.patt.loc5_14.1: %pattern_type.98f = symbolic_binding_pattern F, 0 [symbolic = %F.patt.loc5_14.2 (constants.%F.patt)] +// CHECK:STDOUT: %F.patt.loc5_14.1: %pattern_type.9a5 = symbolic_binding_pattern F, 0 [symbolic = %F.patt.loc5_14.2 (constants.%F.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_16.1: type = splice_block %.loc5_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %F.loc5_14.2: type = symbolic_binding F, 0 [symbolic = %F.loc5_14.1 (constants.%F)] @@ -106,7 +106,7 @@ fn Class(F: type).Inner.G() -> i32 { return F(); } // CHECK:STDOUT: %return.patt: %pattern_type.6b6 = return_slot_pattern %return.param_patt, %i32.loc13 [concrete = constants.%return.patt.e1b] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_13.1: type = splice_block %.loc13_13.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc13_13.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %F.loc13_11: type = symbolic_binding F, 0 [symbolic = @Class.%F.loc5_14.1 (constants.%F)] @@ -118,7 +118,7 @@ fn Class(F: type).Inner.G() -> i32 { return F(); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class(%F.loc5_14.2: type) { -// CHECK:STDOUT: %F.patt.loc5_14.2: %pattern_type.98f = symbolic_binding_pattern F, 0 [symbolic = %F.patt.loc5_14.2 (constants.%F.patt)] +// CHECK:STDOUT: %F.patt.loc5_14.2: %pattern_type.9a5 = symbolic_binding_pattern F, 0 [symbolic = %F.patt.loc5_14.2 (constants.%F.patt)] // CHECK:STDOUT: %F.loc5_14.1: type = symbolic_binding F, 0 [symbolic = %F.loc5_14.1 (constants.%F)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/function/call/ref.carbon b/toolchain/check/testdata/function/call/ref.carbon index 2271a9aeb6d0..eeb9d43dba49 100644 --- a/toolchain/check/testdata/function/call/ref.carbon +++ b/toolchain/check/testdata/function/call/ref.carbon @@ -114,6 +114,7 @@ fn G(ref d: D) { F(ref d); } // CHECK:STDOUT: --- basics.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -201,6 +202,7 @@ fn G(ref d: D) { F(ref d); } // CHECK:STDOUT: --- class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] // CHECK:STDOUT: %self.param_patt.99a: %pattern_type.98b = ref_param_pattern [concrete] diff --git a/toolchain/check/testdata/function/call/return_implicit.carbon b/toolchain/check/testdata/function/call/return_implicit.carbon index aca0eebf6281..86a6de271724 100644 --- a/toolchain/check/testdata/function/call/return_implicit.carbon +++ b/toolchain/check/testdata/function/call/return_implicit.carbon @@ -22,6 +22,7 @@ fn Main() { // CHECK:STDOUT: --- return_implicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %MakeImplicitEmptyTuple.type: type = fn_type @MakeImplicitEmptyTuple [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %MakeImplicitEmptyTuple: %MakeImplicitEmptyTuple.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/declaration/default_values.carbon b/toolchain/check/testdata/function/declaration/default_values.carbon index 4dc24c9e4456..76e23e87b50d 100644 --- a/toolchain/check/testdata/function/declaration/default_values.carbon +++ b/toolchain/check/testdata/function/declaration/default_values.carbon @@ -155,6 +155,7 @@ fn F(x: C = {}); // CHECK:STDOUT: --- implicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] @@ -208,6 +209,7 @@ fn F(x: C = {}); // CHECK:STDOUT: --- nested.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] @@ -323,6 +325,7 @@ fn F(x: C = {}); // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] diff --git a/toolchain/check/testdata/function/declaration/export_name.carbon b/toolchain/check/testdata/function/declaration/export_name.carbon index 5f82e5fc914f..b6760ca3cc52 100644 --- a/toolchain/check/testdata/function/declaration/export_name.carbon +++ b/toolchain/check/testdata/function/declaration/export_name.carbon @@ -45,6 +45,7 @@ var f: () = F(); // CHECK:STDOUT: --- base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -61,6 +62,7 @@ var f: () = F(); // CHECK:STDOUT: --- export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -82,6 +84,7 @@ var f: () = F(); // CHECK:STDOUT: --- use_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/function/declaration/extern.carbon b/toolchain/check/testdata/function/declaration/extern.carbon index 82e67058c505..5f79c588eeae 100644 --- a/toolchain/check/testdata/function/declaration/extern.carbon +++ b/toolchain/check/testdata/function/declaration/extern.carbon @@ -88,6 +88,7 @@ extern library "basic" fn F(); // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -104,6 +105,7 @@ extern library "basic" fn F(); // CHECK:STDOUT: --- basic_use.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -148,6 +150,7 @@ extern library "basic" fn F(); // CHECK:STDOUT: --- fail_redecl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -165,6 +168,7 @@ extern library "basic" fn F(); // CHECK:STDOUT: --- fail_redecl_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -182,6 +186,7 @@ extern library "basic" fn F(); // CHECK:STDOUT: --- fail_member_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %C.F.type: type = fn_type @C.F [concrete] // CHECK:STDOUT: %C.F: %C.F.type = struct_value () [concrete] @@ -227,6 +232,7 @@ extern library "basic" fn F(); // CHECK:STDOUT: --- fail_extern_library_in_importer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/declaration/extern_library.carbon b/toolchain/check/testdata/function/declaration/extern_library.carbon index d6b3fa50b015..1bc93da4c7db 100644 --- a/toolchain/check/testdata/function/declaration/extern_library.carbon +++ b/toolchain/check/testdata/function/declaration/extern_library.carbon @@ -163,6 +163,7 @@ extern library "extern_library_owner" fn F() {} // CHECK:STDOUT: --- extern_library.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -179,6 +180,7 @@ extern library "extern_library_owner" fn F() {} // CHECK:STDOUT: --- extern_library_owner.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -196,6 +198,7 @@ extern library "extern_library_owner" fn F() {} // CHECK:STDOUT: --- fail_extern_library_nonowner.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -213,6 +216,7 @@ extern library "extern_library_owner" fn F() {} // CHECK:STDOUT: --- fail_extern_library_nonextern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -230,6 +234,7 @@ extern library "extern_library_owner" fn F() {} // CHECK:STDOUT: --- fail_extern_library_redecl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -247,6 +252,7 @@ extern library "extern_library_owner" fn F() {} // CHECK:STDOUT: --- extern_library_copy.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -276,6 +282,7 @@ extern library "extern_library_owner" fn F() {} // CHECK:STDOUT: --- extern_library_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -294,6 +301,7 @@ extern library "extern_library_owner" fn F() {} // CHECK:STDOUT: --- fail_extern_self_library.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -310,6 +318,7 @@ extern library "extern_library_owner" fn F() {} // CHECK:STDOUT: --- extern_of_import.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -326,6 +335,7 @@ extern library "extern_library_owner" fn F() {} // CHECK:STDOUT: --- fail_extern_of_import_redecl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -343,6 +353,7 @@ extern library "extern_library_owner" fn F() {} // CHECK:STDOUT: --- fail_extern_library_on_definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/declaration/extern_library_for_default.carbon b/toolchain/check/testdata/function/declaration/extern_library_for_default.carbon index b4533351fee9..20dedb45d978 100644 --- a/toolchain/check/testdata/function/declaration/extern_library_for_default.carbon +++ b/toolchain/check/testdata/function/declaration/extern_library_for_default.carbon @@ -45,6 +45,7 @@ extern fn F(); // CHECK:STDOUT: --- default.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -61,6 +62,7 @@ extern fn F(); // CHECK:STDOUT: --- expected.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -78,6 +80,7 @@ extern fn F(); // CHECK:STDOUT: --- fail_wrong_library.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/declaration/extern_library_from_default.carbon b/toolchain/check/testdata/function/declaration/extern_library_from_default.carbon index 75cd294342ca..f6d09107efe0 100644 --- a/toolchain/check/testdata/function/declaration/extern_library_from_default.carbon +++ b/toolchain/check/testdata/function/declaration/extern_library_from_default.carbon @@ -43,6 +43,7 @@ extern fn F(); // CHECK:STDOUT: --- extern_library.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -59,6 +60,7 @@ extern fn F(); // CHECK:STDOUT: --- default.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -76,6 +78,7 @@ extern fn F(); // CHECK:STDOUT: --- fail_wrong_library.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/declaration/fail_import_incomplete_return.carbon b/toolchain/check/testdata/function/declaration/fail_import_incomplete_return.carbon index 632ba91e20b0..d047d7e322c6 100644 --- a/toolchain/check/testdata/function/declaration/fail_import_incomplete_return.carbon +++ b/toolchain/check/testdata/function/declaration/fail_import_incomplete_return.carbon @@ -91,6 +91,7 @@ fn CallFAndGIncomplete() { // CHECK:STDOUT: --- fail_incomplete_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %.a44: Core.Form = init_form %C [concrete] @@ -206,6 +207,7 @@ fn CallFAndGIncomplete() { // CHECK:STDOUT: --- fail_use_imported.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %CallFAndGIncomplete.type: type = fn_type @CallFAndGIncomplete [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %CallFAndGIncomplete: %CallFAndGIncomplete.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/declaration/fail_modifiers.carbon b/toolchain/check/testdata/function/declaration/fail_modifiers.carbon index 9d791592e4b8..f5fdcda76741 100644 --- a/toolchain/check/testdata/function/declaration/fail_modifiers.carbon +++ b/toolchain/check/testdata/function/declaration/fail_modifiers.carbon @@ -98,6 +98,7 @@ extern private fn ExternOrderAndConflict() {} // CHECK:STDOUT: --- fail_modifiers.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %WrongOrder.type: type = fn_type @WrongOrder [concrete] // CHECK:STDOUT: %WrongOrder: %WrongOrder.type = struct_value () [concrete] // CHECK:STDOUT: %DuplicateVirtual.type: type = fn_type @DuplicateVirtual [concrete] diff --git a/toolchain/check/testdata/function/declaration/fail_param_in_type.carbon b/toolchain/check/testdata/function/declaration/fail_param_in_type.carbon index bbb6b02129a1..0c03d7a1509e 100644 --- a/toolchain/check/testdata/function/declaration/fail_param_in_type.carbon +++ b/toolchain/check/testdata/function/declaration/fail_param_in_type.carbon @@ -21,6 +21,7 @@ fn F(n: i32, a: array(i32, n)*); // CHECK:STDOUT: --- fail_param_in_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/declaration/fail_param_redecl.carbon b/toolchain/check/testdata/function/declaration/fail_param_redecl.carbon index da0661b387ae..b1cd965a233c 100644 --- a/toolchain/check/testdata/function/declaration/fail_param_redecl.carbon +++ b/toolchain/check/testdata/function/declaration/fail_param_redecl.carbon @@ -24,6 +24,7 @@ fn F(n: i32, n: i32); // CHECK:STDOUT: --- fail_param_redecl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/declaration/fail_redecl.carbon b/toolchain/check/testdata/function/declaration/fail_redecl.carbon index 80280e4ada3b..0fea0da6d74e 100644 --- a/toolchain/check/testdata/function/declaration/fail_redecl.carbon +++ b/toolchain/check/testdata/function/declaration/fail_redecl.carbon @@ -65,6 +65,7 @@ fn E() {} // CHECK:STDOUT: --- fail_redecl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/declaration/fail_todo_no_params.carbon b/toolchain/check/testdata/function/declaration/fail_todo_no_params.carbon index c0207f0aa65e..e4b5b582d946 100644 --- a/toolchain/check/testdata/function/declaration/fail_todo_no_params.carbon +++ b/toolchain/check/testdata/function/declaration/fail_todo_no_params.carbon @@ -84,6 +84,7 @@ fn A { // CHECK:STDOUT: --- fail_no_body.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -100,6 +101,7 @@ fn A { // CHECK:STDOUT: --- fail_todo_brace_body.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -119,6 +121,7 @@ fn A { // CHECK:STDOUT: --- fail_todo_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %.262: Core.Form = init_form %empty_tuple.type [concrete] @@ -150,6 +153,7 @@ fn A { // CHECK:STDOUT: --- fail_todo_implicit_only.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %.262: Core.Form = init_form %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/function/declaration/implicit_import.carbon b/toolchain/check/testdata/function/declaration/implicit_import.carbon index b21959eb5d59..6aeb44d4ffcf 100644 --- a/toolchain/check/testdata/function/declaration/implicit_import.carbon +++ b/toolchain/check/testdata/function/declaration/implicit_import.carbon @@ -71,6 +71,7 @@ extern fn A(); // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -87,6 +88,7 @@ extern fn A(); // CHECK:STDOUT: --- basic.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -108,6 +110,7 @@ extern fn A(); // CHECK:STDOUT: --- extern_api.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -124,6 +127,7 @@ extern fn A(); // CHECK:STDOUT: --- fail_extern_api.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -142,6 +146,7 @@ extern fn A(); // CHECK:STDOUT: --- extern_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -158,6 +163,7 @@ extern fn A(); // CHECK:STDOUT: --- fail_extern_impl.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/declaration/import.carbon b/toolchain/check/testdata/function/declaration/import.carbon index cf21d62bc5ab..f1ce77dadab3 100644 --- a/toolchain/check/testdata/function/declaration/import.carbon +++ b/toolchain/check/testdata/function/declaration/import.carbon @@ -263,6 +263,7 @@ import library "extern_api"; // CHECK:STDOUT: --- api.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -277,8 +278,8 @@ import library "extern_api"; // CHECK:STDOUT: %return.patt.e1b: %pattern_type.6b6 = return_slot_pattern %return.param_patt.a9a, %i32 [concrete] // CHECK:STDOUT: %B.type: type = fn_type @B [concrete] // CHECK:STDOUT: %B: %B.type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.85c = tuple_value (%i32) [concrete] +// CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.135 = tuple_value (%i32) [concrete] // CHECK:STDOUT: %tuple.type.a8a: type = tuple_type (%i32) [concrete] // CHECK:STDOUT: %pattern_type.e71: type = pattern_type %tuple.type.a8a [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.e71 = value_param_pattern [concrete] @@ -342,7 +343,7 @@ import library "extern_api"; // CHECK:STDOUT: %c.param: %tuple.type.a8a = value_param call_param0 // CHECK:STDOUT: %.loc6_14.1: type = splice_block %.loc6_14.3 [concrete = constants.%tuple.type.a8a] { // CHECK:STDOUT: %i32.loc6_10: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc6_14.2: %tuple.type.85c = tuple_literal (%i32.loc6_10) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc6_14.2: %tuple.type.135 = tuple_literal (%i32.loc6_10) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc6_14.3: type = converted %.loc6_14.2, constants.%tuple.type.a8a [concrete = constants.%tuple.type.a8a] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %tuple.type.a8a = wrapper_binding c, %c.param @@ -369,6 +370,7 @@ import library "extern_api"; // CHECK:STDOUT: --- extern_api.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -383,8 +385,8 @@ import library "extern_api"; // CHECK:STDOUT: %return.patt.e1b: %pattern_type.6b6 = return_slot_pattern %return.param_patt.a9a, %i32 [concrete] // CHECK:STDOUT: %B.type: type = fn_type @B [concrete] // CHECK:STDOUT: %B: %B.type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.85c = tuple_value (%i32) [concrete] +// CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.135 = tuple_value (%i32) [concrete] // CHECK:STDOUT: %tuple.type.a8a: type = tuple_type (%i32) [concrete] // CHECK:STDOUT: %pattern_type.e71: type = pattern_type %tuple.type.a8a [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.e71 = value_param_pattern [concrete] @@ -448,7 +450,7 @@ import library "extern_api"; // CHECK:STDOUT: %c.param: %tuple.type.a8a = value_param call_param0 // CHECK:STDOUT: %.loc6_49.1: type = splice_block %.loc6_49.3 [concrete = constants.%tuple.type.a8a] { // CHECK:STDOUT: %i32.loc6_45: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc6_49.2: %tuple.type.85c = tuple_literal (%i32.loc6_45) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc6_49.2: %tuple.type.135 = tuple_literal (%i32.loc6_45) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc6_49.3: type = converted %.loc6_49.2, constants.%tuple.type.a8a [concrete = constants.%tuple.type.a8a] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %tuple.type.a8a = wrapper_binding c, %c.param @@ -475,6 +477,7 @@ import library "extern_api"; // CHECK:STDOUT: --- basics.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] @@ -668,6 +671,7 @@ import library "extern_api"; // CHECK:STDOUT: --- fail_redecl_api.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -679,8 +683,8 @@ import library "extern_api"; // CHECK:STDOUT: %.795f: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %B.type: type = fn_type @B [concrete] // CHECK:STDOUT: %B: %B.type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple.19c: %tuple.type.85c = tuple_value (%i32) [concrete] +// CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] +// CHECK:STDOUT: %tuple.e3d: %tuple.type.135 = tuple_value (%i32) [concrete] // CHECK:STDOUT: %tuple.type.a8a: type = tuple_type (%i32) [concrete] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete] // CHECK:STDOUT: %.510: Core.Form = init_form %struct_type.c [concrete] @@ -775,7 +779,7 @@ import library "extern_api"; // CHECK:STDOUT: %c.param: %tuple.type.a8a = value_param call_param0 // CHECK:STDOUT: %.loc32_21.1: type = splice_block %.loc32_21.3 [concrete = constants.%tuple.type.a8a] { // CHECK:STDOUT: %i32.loc32_17: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc32_21.2: %tuple.type.85c = tuple_literal (%i32.loc32_17) [concrete = constants.%tuple.19c] +// CHECK:STDOUT: %.loc32_21.2: %tuple.type.135 = tuple_literal (%i32.loc32_17) [concrete = constants.%tuple.e3d] // CHECK:STDOUT: %.loc32_21.3: type = converted %.loc32_21.2, constants.%tuple.type.a8a [concrete = constants.%tuple.type.a8a] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %tuple.type.a8a = wrapper_binding c, %c.param @@ -886,6 +890,7 @@ import library "extern_api"; // CHECK:STDOUT: --- redecl_extern_api.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: %B.type: type = fn_type @B [concrete] @@ -907,8 +912,8 @@ import library "extern_api"; // CHECK:STDOUT: %D: %D.type = struct_value () [concrete] // CHECK:STDOUT: %E.type: type = fn_type @E [concrete] // CHECK:STDOUT: %E: %E.type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple.19c: %tuple.type.85c = tuple_value (%i32) [concrete] +// CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] +// CHECK:STDOUT: %tuple.e3d: %tuple.type.135 = tuple_value (%i32) [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.cb1 = ref_binding_pattern a [concrete] @@ -993,7 +998,7 @@ import library "extern_api"; // CHECK:STDOUT: %c.param: %tuple.type.a8a = value_param call_param0 // CHECK:STDOUT: %.loc8_21.1: type = splice_block %.loc8_21.3 [concrete = constants.%tuple.type.a8a] { // CHECK:STDOUT: %i32.loc8_17: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc8_21.2: %tuple.type.85c = tuple_literal (%i32.loc8_17) [concrete = constants.%tuple.19c] +// CHECK:STDOUT: %.loc8_21.2: %tuple.type.135 = tuple_literal (%i32.loc8_17) [concrete = constants.%tuple.e3d] // CHECK:STDOUT: %.loc8_21.3: type = converted %.loc8_21.2, constants.%tuple.type.a8a [concrete = constants.%tuple.type.a8a] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %tuple.type.a8a = wrapper_binding c, %c.param @@ -1104,6 +1109,7 @@ import library "extern_api"; // CHECK:STDOUT: --- fail_merge.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] @@ -1297,6 +1303,7 @@ import library "extern_api"; // CHECK:STDOUT: --- fail_merge_reverse.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/function/declaration/param_same_name.carbon b/toolchain/check/testdata/function/declaration/param_same_name.carbon index 03196d14f21c..3aa3e46b6970 100644 --- a/toolchain/check/testdata/function/declaration/param_same_name.carbon +++ b/toolchain/check/testdata/function/declaration/param_same_name.carbon @@ -19,6 +19,7 @@ fn G(a: i32); // CHECK:STDOUT: --- param_same_name.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/declaration/pattern_in_signature.carbon b/toolchain/check/testdata/function/declaration/pattern_in_signature.carbon index 92cb4009a275..d2a7ffecea9b 100644 --- a/toolchain/check/testdata/function/declaration/pattern_in_signature.carbon +++ b/toolchain/check/testdata/function/declaration/pattern_in_signature.carbon @@ -23,6 +23,7 @@ fn CallF(ab: ({}, {}), c: {}) { // CHECK:STDOUT: --- pattern_in_signature.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/function/declaration/ref.carbon b/toolchain/check/testdata/function/declaration/ref.carbon index 3f54c2e386c9..3507f568c3ac 100644 --- a/toolchain/check/testdata/function/declaration/ref.carbon +++ b/toolchain/check/testdata/function/declaration/ref.carbon @@ -24,6 +24,7 @@ fn G() { // CHECK:STDOUT: --- ref_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/declaration/simple.carbon b/toolchain/check/testdata/function/declaration/simple.carbon index f26d5ae06474..da50e4a69fb5 100644 --- a/toolchain/check/testdata/function/declaration/simple.carbon +++ b/toolchain/check/testdata/function/declaration/simple.carbon @@ -19,6 +19,7 @@ fn G() { F(); } // CHECK:STDOUT: --- simple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/definition/basics.carbon b/toolchain/check/testdata/function/definition/basics.carbon index 207072c4fb53..b3bdbe8058b4 100644 --- a/toolchain/check/testdata/function/definition/basics.carbon +++ b/toolchain/check/testdata/function/definition/basics.carbon @@ -29,6 +29,7 @@ fn F(unused n: C) {} // CHECK:STDOUT: --- fail_incomplete_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %n.param_patt: %pattern_type = value_param_pattern [concrete] diff --git a/toolchain/check/testdata/function/definition/default_values.carbon b/toolchain/check/testdata/function/definition/default_values.carbon index 8b965beef420..a012f8206fb3 100644 --- a/toolchain/check/testdata/function/definition/default_values.carbon +++ b/toolchain/check/testdata/function/definition/default_values.carbon @@ -97,6 +97,7 @@ fn F(x: i32 = _) -> i32 { return x; } // CHECK:STDOUT: --- redecl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -214,6 +215,7 @@ fn F(x: i32 = _) -> i32 { return x; } // CHECK:STDOUT: --- imported_repeated_defaults.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] @@ -300,6 +302,7 @@ fn F(x: i32 = _) -> i32 { return x; } // CHECK:STDOUT: --- imported_elided_defaults_in_def.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/function/definition/extern.carbon b/toolchain/check/testdata/function/definition/extern.carbon index 3fd4c16b2874..e034d2ef04ef 100644 --- a/toolchain/check/testdata/function/definition/extern.carbon +++ b/toolchain/check/testdata/function/definition/extern.carbon @@ -118,6 +118,7 @@ extern fn F() {} // CHECK:STDOUT: --- extern_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -137,6 +138,7 @@ extern fn F() {} // CHECK:STDOUT: --- def_for_extern_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -157,6 +159,7 @@ extern fn F() {} // CHECK:STDOUT: --- split_library.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -173,6 +176,7 @@ extern fn F() {} // CHECK:STDOUT: --- split_library.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -194,6 +198,7 @@ extern fn F() {} // CHECK:STDOUT: --- fail_def_extern_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -214,6 +219,7 @@ extern fn F() {} // CHECK:STDOUT: --- fail_def_extern_mismatch_reverse.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -234,6 +240,7 @@ extern fn F() {} // CHECK:STDOUT: --- fail_extern_diag_suppressed.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -255,6 +262,7 @@ extern fn F() {} // CHECK:STDOUT: --- fail_extern_decl_after_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -281,6 +289,7 @@ extern fn F() {} // CHECK:STDOUT: --- fail_in_impl.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/extern_library.carbon b/toolchain/check/testdata/function/definition/extern_library.carbon index d7e7c8697280..8b14f063d3b4 100644 --- a/toolchain/check/testdata/function/definition/extern_library.carbon +++ b/toolchain/check/testdata/function/definition/extern_library.carbon @@ -175,6 +175,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- one_file_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -191,6 +192,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- one_file.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -210,6 +212,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- two_file_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -226,6 +229,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- two_file.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -242,6 +246,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- two_file.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -263,6 +268,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- two_file_impl_mismatch_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -279,6 +285,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- two_file_impl_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -295,6 +302,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- fail_two_file_impl_mismatch.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -316,6 +324,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- no_decl_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -346,6 +355,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- fail_no_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -366,6 +376,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- indirect_two_file_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -382,6 +393,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- fail_indirect_two_file.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -402,6 +414,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- fail_indirect_two_file.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -423,6 +436,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- in_impl_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -445,6 +459,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- fail_in_impl.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -466,6 +481,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- cross_package_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Extern.type: type = fn_type @Extern [concrete] // CHECK:STDOUT: %Extern: %Extern.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -482,6 +498,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- cross_package.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -519,6 +536,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- unloaded_decl_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ExternDecl.type: type = fn_type @ExternDecl [concrete] // CHECK:STDOUT: %ExternDecl: %ExternDecl.type = struct_value () [concrete] // CHECK:STDOUT: %NonExternDecl.type: type = fn_type @NonExternDecl [concrete] @@ -541,6 +559,7 @@ extern fn ExternDecl(); // CHECK:STDOUT: --- unloaded_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ExternDecl.type: type = fn_type @ExternDecl [concrete] // CHECK:STDOUT: %ExternDecl: %ExternDecl.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/fail_decl_param_mismatch.carbon b/toolchain/check/testdata/function/definition/fail_decl_param_mismatch.carbon index 4528a17d9aae..e01d2aeecda7 100644 --- a/toolchain/check/testdata/function/definition/fail_decl_param_mismatch.carbon +++ b/toolchain/check/testdata/function/definition/fail_decl_param_mismatch.carbon @@ -72,6 +72,7 @@ fn K() -> {} { return {}; } // CHECK:STDOUT: --- fail_decl_param_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type.eb3ec9.1: type = fn_type @F.loc15 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F.7088cc.1: %F.type.eb3ec9.1 = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/definition/fail_redef.carbon b/toolchain/check/testdata/function/definition/fail_redef.carbon index 08d1825e46a8..9d45e24f0a38 100644 --- a/toolchain/check/testdata/function/definition/fail_redef.carbon +++ b/toolchain/check/testdata/function/definition/fail_redef.carbon @@ -25,6 +25,7 @@ fn F() {} // CHECK:STDOUT: --- fail_redef.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type.eb3ec9.1: type = fn_type @F.loc15 [concrete] // CHECK:STDOUT: %F.7088cc.1: %F.type.eb3ec9.1 = struct_value () [concrete] // CHECK:STDOUT: %F.type.eb3ec9.2: type = fn_type @F.loc23 [concrete] diff --git a/toolchain/check/testdata/function/definition/forward_decl.carbon b/toolchain/check/testdata/function/definition/forward_decl.carbon index c5221fc056c3..475ebff58693 100644 --- a/toolchain/check/testdata/function/definition/forward_decl.carbon +++ b/toolchain/check/testdata/function/definition/forward_decl.carbon @@ -19,6 +19,7 @@ fn Foo() {} // CHECK:STDOUT: --- forward_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Foo.type: type = fn_type @Foo [concrete] // CHECK:STDOUT: %Foo: %Foo.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/implicit_import.carbon b/toolchain/check/testdata/function/definition/implicit_import.carbon index 0b8e34c1145c..ec38e3051571 100644 --- a/toolchain/check/testdata/function/definition/implicit_import.carbon +++ b/toolchain/check/testdata/function/definition/implicit_import.carbon @@ -128,6 +128,7 @@ fn B() {} // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -144,6 +145,7 @@ fn B() {} // CHECK:STDOUT: --- basic.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -165,6 +167,7 @@ fn B() {} // CHECK:STDOUT: --- extern_api.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -181,6 +184,7 @@ fn B() {} // CHECK:STDOUT: --- fail_extern_api.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -202,6 +206,7 @@ fn B() {} // CHECK:STDOUT: --- extern_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -218,6 +223,7 @@ fn B() {} // CHECK:STDOUT: --- fail_extern_impl.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -239,6 +245,7 @@ fn B() {} // CHECK:STDOUT: --- redecl_after_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -258,6 +265,7 @@ fn B() {} // CHECK:STDOUT: --- fail_redecl_after_def.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -276,6 +284,7 @@ fn B() {} // CHECK:STDOUT: --- redef_after_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -295,6 +304,7 @@ fn B() {} // CHECK:STDOUT: --- fail_redef_after_def.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type.9f4a6d.1: type = fn_type @A.1 [concrete] // CHECK:STDOUT: %A.921eb9.1: %A.type.9f4a6d.1 = struct_value () [concrete] // CHECK:STDOUT: %A.type.9f4a6d.2: type = fn_type @A.loc12 [concrete] @@ -324,6 +334,7 @@ fn B() {} // CHECK:STDOUT: --- def_alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -343,6 +354,7 @@ fn B() {} // CHECK:STDOUT: --- fail_def_alias.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: %B.type: type = fn_type @B [concrete] diff --git a/toolchain/check/testdata/function/definition/import.carbon b/toolchain/check/testdata/function/definition/import.carbon index e5680fef980f..bb6b48f2a32b 100644 --- a/toolchain/check/testdata/function/definition/import.carbon +++ b/toolchain/check/testdata/function/definition/import.carbon @@ -117,6 +117,7 @@ fn D() {} // CHECK:STDOUT: --- fns.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -142,8 +143,8 @@ fn D() {} // CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple.19c: %tuple.type.85c = tuple_value (%i32) [concrete] +// CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] +// CHECK:STDOUT: %tuple.e3d: %tuple.type.135 = tuple_value (%i32) [concrete] // CHECK:STDOUT: %tuple.type.a8a: type = tuple_type (%i32) [concrete] // CHECK:STDOUT: %pattern_type.e71: type = pattern_type %tuple.type.a8a [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.e71 = value_param_pattern [concrete] @@ -209,7 +210,7 @@ fn D() {} // CHECK:STDOUT: %c.param: %tuple.type.a8a = value_param call_param0 // CHECK:STDOUT: %.loc6_14.1: type = splice_block %.loc6_14.3 [concrete = constants.%tuple.type.a8a] { // CHECK:STDOUT: %i32.loc6_10: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc6_14.2: %tuple.type.85c = tuple_literal (%i32.loc6_10) [concrete = constants.%tuple.19c] +// CHECK:STDOUT: %.loc6_14.2: %tuple.type.135 = tuple_literal (%i32.loc6_10) [concrete = constants.%tuple.e3d] // CHECK:STDOUT: %.loc6_14.3: type = converted %.loc6_14.2, constants.%tuple.type.a8a [concrete = constants.%tuple.type.a8a] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %tuple.type.a8a = wrapper_binding c, %c.param @@ -256,6 +257,7 @@ fn D() {} // CHECK:STDOUT: --- extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -281,6 +283,7 @@ fn D() {} // CHECK:STDOUT: --- basics.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] @@ -427,6 +430,7 @@ fn D() {} // CHECK:STDOUT: --- fail_def_ownership.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type.9f4a6d.1: type = fn_type @A.1 [concrete] // CHECK:STDOUT: %A.921eb9.1: %A.type.9f4a6d.1 = struct_value () [concrete] // CHECK:STDOUT: %A.type.9f4a6d.2: type = fn_type @A.loc14 [concrete] @@ -486,6 +490,7 @@ fn D() {} // CHECK:STDOUT: --- fail_redecl_then_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -516,6 +521,7 @@ fn D() {} // CHECK:STDOUT: --- fail_mix_extern_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %D.type: type = fn_type @D [concrete] // CHECK:STDOUT: %D: %D.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/import_access.carbon b/toolchain/check/testdata/function/definition/import_access.carbon index 4c08d8d29484..70bb0083207c 100644 --- a/toolchain/check/testdata/function/definition/import_access.carbon +++ b/toolchain/check/testdata/function/definition/import_access.carbon @@ -143,6 +143,7 @@ private fn Redecl() {} // CHECK:STDOUT: --- def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Def.type: type = fn_type @Def [concrete] // CHECK:STDOUT: %Def: %Def.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -162,6 +163,7 @@ private fn Redecl() {} // CHECK:STDOUT: --- forward_with_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ForwardWithDef.type: type = fn_type @ForwardWithDef [concrete] // CHECK:STDOUT: %ForwardWithDef: %ForwardWithDef.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -182,6 +184,7 @@ private fn Redecl() {} // CHECK:STDOUT: --- forward.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Forward.type: type = fn_type @Forward [concrete] // CHECK:STDOUT: %Forward: %Forward.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -198,6 +201,7 @@ private fn Redecl() {} // CHECK:STDOUT: --- def.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -243,6 +247,7 @@ private fn Redecl() {} // CHECK:STDOUT: --- fail_local_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -278,6 +283,7 @@ private fn Redecl() {} // CHECK:STDOUT: --- fail_other_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -321,6 +327,7 @@ private fn Redecl() {} // CHECK:STDOUT: --- forward_with_def.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -366,6 +373,7 @@ private fn Redecl() {} // CHECK:STDOUT: --- fail_local_forward_with_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -401,6 +409,7 @@ private fn Redecl() {} // CHECK:STDOUT: --- fail_other_forward_with_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -444,6 +453,7 @@ private fn Redecl() {} // CHECK:STDOUT: --- forward.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -493,6 +503,7 @@ private fn Redecl() {} // CHECK:STDOUT: --- fail_local_forward.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -528,6 +539,7 @@ private fn Redecl() {} // CHECK:STDOUT: --- fail_other_forward.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -571,6 +583,7 @@ private fn Redecl() {} // CHECK:STDOUT: --- todo_fail_private_on_redecl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Redecl.type: type = fn_type @Redecl [concrete] // CHECK:STDOUT: %Redecl: %Redecl.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/order.carbon b/toolchain/check/testdata/function/definition/order.carbon index d5a79aca8ca5..4d0289a15b10 100644 --- a/toolchain/check/testdata/function/definition/order.carbon +++ b/toolchain/check/testdata/function/definition/order.carbon @@ -19,6 +19,7 @@ fn Baz() {} // CHECK:STDOUT: --- order.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Foo.type: type = fn_type @Foo [concrete] // CHECK:STDOUT: %Foo: %Foo.type = struct_value () [concrete] // CHECK:STDOUT: %Bar.type: type = fn_type @Bar [concrete] diff --git a/toolchain/check/testdata/function/definition/params_one.carbon b/toolchain/check/testdata/function/definition/params_one.carbon index 7520990f80fc..4b0976868186 100644 --- a/toolchain/check/testdata/function/definition/params_one.carbon +++ b/toolchain/check/testdata/function/definition/params_one.carbon @@ -17,6 +17,7 @@ fn Foo(unused a: i32) {} // CHECK:STDOUT: --- params_one.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/definition/params_one_comma.carbon b/toolchain/check/testdata/function/definition/params_one_comma.carbon index e0298b61e3d3..6118072b8ccb 100644 --- a/toolchain/check/testdata/function/definition/params_one_comma.carbon +++ b/toolchain/check/testdata/function/definition/params_one_comma.carbon @@ -17,6 +17,7 @@ fn Foo(unused a: i32,) {} // CHECK:STDOUT: --- params_one_comma.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/definition/params_two.carbon b/toolchain/check/testdata/function/definition/params_two.carbon index a09e62e48906..88c3414ca253 100644 --- a/toolchain/check/testdata/function/definition/params_two.carbon +++ b/toolchain/check/testdata/function/definition/params_two.carbon @@ -17,6 +17,7 @@ fn Foo(unused a: i32, unused b: i32) {} // CHECK:STDOUT: --- params_two.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/definition/params_two_comma.carbon b/toolchain/check/testdata/function/definition/params_two_comma.carbon index 467cc44b79d6..e61158f6a55e 100644 --- a/toolchain/check/testdata/function/definition/params_two_comma.carbon +++ b/toolchain/check/testdata/function/definition/params_two_comma.carbon @@ -17,6 +17,7 @@ fn Foo(unused a: i32, unused b: i32,) {} // CHECK:STDOUT: --- params_two_comma.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/function/definition/params_zero.carbon b/toolchain/check/testdata/function/definition/params_zero.carbon index 09f4ff8a8ca5..12a3d41152b5 100644 --- a/toolchain/check/testdata/function/definition/params_zero.carbon +++ b/toolchain/check/testdata/function/definition/params_zero.carbon @@ -17,6 +17,7 @@ fn Foo() {} // CHECK:STDOUT: --- params_zero.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Foo.type: type = fn_type @Foo [concrete] // CHECK:STDOUT: %Foo: %Foo.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/syntactic_merge.carbon b/toolchain/check/testdata/function/definition/syntactic_merge.carbon index 49c9550af876..ba70295c8e69 100644 --- a/toolchain/check/testdata/function/definition/syntactic_merge.carbon +++ b/toolchain/check/testdata/function/definition/syntactic_merge.carbon @@ -208,6 +208,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -285,6 +286,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: --- spacing.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -335,6 +337,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: --- fail_parens.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -389,6 +392,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: --- fail_only_implicit_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -426,6 +430,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: --- fail_raw_identifier.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -480,6 +485,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: --- two_file.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -535,6 +541,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: --- two_file.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -602,6 +609,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: --- fail_name_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -661,6 +669,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: --- fail_alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -718,11 +727,11 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: --- fail_deduced_alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a.1bf9e8.1: %C = symbolic_binding a, 0 [symbolic] @@ -746,7 +755,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc7_9.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_9.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc7_9.2: %C = symbolic_binding a, 0 [symbolic = %a.loc7_9.1 (constants.%a.1bf9e8.1)] @@ -755,7 +764,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc15_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc15_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15: type = splice_block %D.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc15_16.3: %C = symbolic_binding a, 0 [symbolic = %a.loc15_16.2 (constants.%a.1bf9e8.2)] @@ -804,6 +813,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: --- todo_fail_alias_in_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -865,6 +875,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: --- alias_two_file.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -904,6 +915,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: --- todo_fail_alias_two_file.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -955,6 +967,7 @@ fn Foo(unused a: const (const C)) {} // CHECK:STDOUT: --- fail_repeat_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/function/generic/call.carbon b/toolchain/check/testdata/function/generic/call.carbon index 1b63a8260b22..5fea41a50191 100644 --- a/toolchain/check/testdata/function/generic/call.carbon +++ b/toolchain/check/testdata/function/generic/call.carbon @@ -74,8 +74,8 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: --- explicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %pattern_type.e81: type = pattern_type %Copy.type [concrete] // CHECK:STDOUT: %T.patt.fe6: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic] @@ -97,8 +97,8 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: %specific_impl_fn.e2a: = specific_impl_function %impl.elem0.bd2, @Copy.WithSelf.Op(%T.f84) [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T.67d [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// 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: %require_complete.ef1: = require_complete_type %ptr.e8f [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] @@ -160,7 +160,7 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: %.loc5_44.3: type = converted %T.ref.loc5_44, %T.as_type.loc5_44 [symbolic = %T.as_type.loc5_38.1 (constants.%T.as_type)] // CHECK:STDOUT: %.loc5_44.4: Core.Form = init_form %.loc5_44.3 [symbolic = %.loc5_44.2 (constants.%.1ce700.2)] // CHECK:STDOUT: %.loc5_28: type = splice_block %Copy.ref [concrete = constants.%Copy.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: } @@ -310,7 +310,7 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @CallGenericPtr(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc16_28.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc16_28.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc16_28.1 => constants.%T.67d // CHECK:STDOUT: %ptr.loc16_40.1 => constants.%ptr.e8f // CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4 @@ -364,8 +364,8 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: --- deduced.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %pattern_type.e81: type = pattern_type %Copy.type [concrete] // CHECK:STDOUT: %T.patt.fe6: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic] @@ -387,8 +387,8 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: %specific_impl_fn.e2a: = specific_impl_function %impl.elem0.bd2, @Copy.WithSelf.Op(%T.f84) [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T.67d [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// 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: %require_complete.ef1: = require_complete_type %ptr.e8f [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] @@ -450,7 +450,7 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: %.loc5_36.3: type = converted %T.ref.loc5_36, %T.as_type.loc5_36 [symbolic = %T.as_type.loc5_30.1 (constants.%T.as_type)] // CHECK:STDOUT: %.loc5_36.4: Core.Form = init_form %.loc5_36.3 [symbolic = %.loc5_36.2 (constants.%.1ce700.2)] // CHECK:STDOUT: %.loc5_20: type = splice_block %Copy.ref [concrete = constants.%Copy.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: } @@ -591,7 +591,7 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @CallGenericPtr(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc16_28.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc16_28.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc16_28.1 => constants.%T.67d // CHECK:STDOUT: %ptr.loc16_40.1 => constants.%ptr.e8f // CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4 diff --git a/toolchain/check/testdata/function/generic/call_method_on_generic_facet.carbon b/toolchain/check/testdata/function/generic/call_method_on_generic_facet.carbon index 9b6b77083225..026a69bb22a5 100644 --- a/toolchain/check/testdata/function/generic/call_method_on_generic_facet.carbon +++ b/toolchain/check/testdata/function/generic/call_method_on_generic_facet.carbon @@ -41,10 +41,10 @@ fn G() { // CHECK:STDOUT: --- call_method_on_generic_facet.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %Scalar.patt: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %Scalar.patt: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic] // CHECK:STDOUT: %Scalar: type = symbolic_binding Scalar, 0 [symbolic] // CHECK:STDOUT: %Generic.type.30d: type = generic_interface_type @Generic [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -85,7 +85,7 @@ fn G() { // CHECK:STDOUT: %Other.facet: %Other.type = facet_value %ImplsGeneric, (%Other.impl_witness) [concrete] // CHECK:STDOUT: %Other.WithSelf.G.type.0fb: type = fn_type @Other.WithSelf.G, @Other.WithSelf(%Other.facet) [concrete] // CHECK:STDOUT: %Other.WithSelf.G.06b: %Other.WithSelf.G.type.0fb = struct_value () [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Generic.type.ee14e9.2: type = facet_type <@Generic, @Generic(%T)> [symbolic] // CHECK:STDOUT: %pattern_type.4e0: type = pattern_type %Generic.type.ee14e9.2 [symbolic] @@ -134,10 +134,10 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Generic.decl: %Generic.type.30d = interface_decl @Generic [concrete = constants.%Generic.generic] { -// CHECK:STDOUT: %Scalar.patt.loc15_25.1: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc15_25.2 (constants.%Scalar.patt)] +// CHECK:STDOUT: %Scalar.patt.loc15_25.1: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc15_25.2 (constants.%Scalar.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_27.1: type = splice_block %.loc15_27.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_27.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %Scalar.loc15_25.2: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc15_25.1 (constants.%Scalar)] @@ -158,16 +158,16 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %.loc29: = impl_self_witness @ImplsGeneric.as.Other.impl.%ImplsGeneric.ref, @Other [concrete = constants.%.13c] // CHECK:STDOUT: %CallGenericMethod.decl: %CallGenericMethod.type = fn_decl @CallGenericMethod [concrete = constants.%CallGenericMethod] { -// CHECK:STDOUT: %T.patt.loc33_31.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc33_31.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc33_31.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc33_31.2 (constants.%T.patt)] // CHECK:STDOUT: %U.patt.loc33_48.1: @CallGenericMethod.%pattern_type (%pattern_type.4e0) = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc33_48.2 (constants.%U.patt.8a6)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc33_33.1: type = splice_block %.loc33_33.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc33_31: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc33_31: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc33_33.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc33_31.2: type = symbolic_binding T, 0 [symbolic = %T.loc33_31.1 (constants.%T)] // CHECK:STDOUT: %.loc33_59: type = splice_block %Generic.type.loc33_59.2 [symbolic = %Generic.type.loc33_59.1 (constants.%Generic.type.ee14e9.2)] { -// CHECK:STDOUT: %.Self.frozen.loc33_48: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc33_48: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Generic.ref: %Generic.type.30d = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc33_31.2 [symbolic = %T.loc33_31.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc33_59.2: type = facet_type <@Generic, @Generic(constants.%T)> [symbolic = %Generic.type.loc33_59.1 (constants.%Generic.type.ee14e9.2)] @@ -178,7 +178,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Generic(%Scalar.loc15_25.2: type) { -// CHECK:STDOUT: %Scalar.patt.loc15_25.2: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc15_25.2 (constants.%Scalar.patt)] +// CHECK:STDOUT: %Scalar.patt.loc15_25.2: %pattern_type.9a5 = symbolic_binding_pattern Scalar, 0 [symbolic = %Scalar.patt.loc15_25.2 (constants.%Scalar.patt)] // CHECK:STDOUT: %Scalar.loc15_25.1: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc15_25.1 (constants.%Scalar)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -272,7 +272,7 @@ fn G() { // CHECK:STDOUT: fn @ImplsGeneric.as.Other.impl.G(); // CHECK:STDOUT: // CHECK:STDOUT: generic fn @CallGenericMethod(%T.loc33_31.2: type, %U.loc33_48.2: @CallGenericMethod.%Generic.type.loc33_59.1 (%Generic.type.ee14e9.2)) { -// CHECK:STDOUT: %T.patt.loc33_31.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc33_31.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc33_31.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc33_31.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc33_31.1: type = symbolic_binding T, 0 [symbolic = %T.loc33_31.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc33_59.1: type = facet_type <@Generic, @Generic(%T.loc33_31.1)> [symbolic = %Generic.type.loc33_59.1 (constants.%Generic.type.ee14e9.2)] // CHECK:STDOUT: %pattern_type: type = pattern_type %Generic.type.loc33_59.1 [symbolic = %pattern_type (constants.%pattern_type.4e0)] diff --git a/toolchain/check/testdata/function/generic/deduce.carbon b/toolchain/check/testdata/function/generic/deduce.carbon index 4ce6305e3cb3..4be90a431988 100644 --- a/toolchain/check/testdata/function/generic/deduce.carbon +++ b/toolchain/check/testdata/function/generic/deduce.carbon @@ -216,10 +216,10 @@ fn F() { // CHECK:STDOUT: --- deduce_explicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T [symbolic] // CHECK:STDOUT: %.cb6: Core.Form = init_form %ptr.e8f [symbolic] @@ -273,7 +273,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ExplicitGenericParam.decl: %ExplicitGenericParam.type = fn_decl @ExplicitGenericParam [concrete = constants.%ExplicitGenericParam] { -// CHECK:STDOUT: %T.patt.loc4_34.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_34.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_34.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_34.2 (constants.%T.patt)] // CHECK:STDOUT: %return.param_patt.loc4_46.1: @ExplicitGenericParam.%pattern_type (%pattern_type.4f4) = out_param_pattern [symbolic = %return.param_patt.loc4_46.2 (constants.%return.param_patt.27f)] // CHECK:STDOUT: %return.patt.loc4_42.1: @ExplicitGenericParam.%pattern_type (%pattern_type.4f4) = return_slot_pattern %return.param_patt.loc4_46.1, %ptr.loc4_46.2 [symbolic = %return.patt.loc4_42.2 (constants.%return.patt.d67)] // CHECK:STDOUT: } { @@ -281,7 +281,7 @@ fn F() { // CHECK:STDOUT: %ptr.loc4_46.2: type = ptr_type %T.ref.loc4_45 [symbolic = %ptr.loc4_46.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc4_46.2: Core.Form = init_form %ptr.loc4_46.2 [symbolic = %.loc4_46.1 (constants.%.cb6)] // CHECK:STDOUT: %.loc4_36.1: type = splice_block %.loc4_36.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_36.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_34.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_34.1 (constants.%T)] @@ -299,7 +299,7 @@ fn F() { // CHECK:STDOUT: %return: ref %ptr.d08 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallExplicitGenericParamWithGenericArg.decl: %CallExplicitGenericParamWithGenericArg.type = fn_decl @CallExplicitGenericParamWithGenericArg [concrete = constants.%CallExplicitGenericParamWithGenericArg] { -// CHECK:STDOUT: %T.patt.loc10_52.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_52.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc10_52.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_52.2 (constants.%T.patt)] // CHECK:STDOUT: %return.param_patt.loc10_70.1: @CallExplicitGenericParamWithGenericArg.%pattern_type (%pattern_type.1cb) = out_param_pattern [symbolic = %return.param_patt.loc10_70.2 (constants.%return.param_patt.83b)] // CHECK:STDOUT: %return.patt.loc10_60.1: @CallExplicitGenericParamWithGenericArg.%pattern_type (%pattern_type.1cb) = return_slot_pattern %return.param_patt.loc10_70.1, %ptr.loc10_70.2 [symbolic = %return.patt.loc10_60.2 (constants.%return.patt.4ff)] // CHECK:STDOUT: } { @@ -308,7 +308,7 @@ fn F() { // CHECK:STDOUT: %ptr.loc10_70.2: type = ptr_type %struct_type.a.loc10_69.2 [symbolic = %ptr.loc10_70.1 (constants.%ptr.88d)] // CHECK:STDOUT: %.loc10_70.2: Core.Form = init_form %ptr.loc10_70.2 [symbolic = %.loc10_70.1 (constants.%.edd)] // CHECK:STDOUT: %.loc10_54.1: type = splice_block %.loc10_54.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc10_54.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc10_52.2: type = symbolic_binding T, 0 [symbolic = %T.loc10_52.1 (constants.%T)] @@ -318,7 +318,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @ExplicitGenericParam(%T.loc4_34.2: type) { -// CHECK:STDOUT: %T.patt.loc4_34.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_34.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_34.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_34.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_34.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_34.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc4_46.1: type = ptr_type %T.loc4_34.1 [symbolic = %ptr.loc4_46.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc4_46.1: Core.Form = init_form %ptr.loc4_46.1 [symbolic = %.loc4_46.1 (constants.%.cb6)] @@ -350,7 +350,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @CallExplicitGenericParamWithGenericArg(%T.loc10_52.2: type) { -// CHECK:STDOUT: %T.patt.loc10_52.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_52.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc10_52.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_52.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc10_52.1: type = symbolic_binding T, 0 [symbolic = %T.loc10_52.1 (constants.%T)] // CHECK:STDOUT: %struct_type.a.loc10_69.1: type = struct_type {.a: @CallExplicitGenericParamWithGenericArg.%T.loc10_52.1 (%T)} [symbolic = %struct_type.a.loc10_69.1 (constants.%struct_type.a)] // CHECK:STDOUT: %ptr.loc10_70.1: type = ptr_type %struct_type.a.loc10_69.1 [symbolic = %ptr.loc10_70.1 (constants.%ptr.88d)] @@ -430,10 +430,10 @@ fn F() { // CHECK:STDOUT: --- fail_deduce_explicit_non_constant.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic] // CHECK:STDOUT: %.cb6: Core.Form = init_form %ptr [symbolic] @@ -446,8 +446,8 @@ fn F() { // CHECK:STDOUT: %ExplicitGenericParam.specific_fn: = specific_function %ExplicitGenericParam, @ExplicitGenericParam(%T) [symbolic] // CHECK:STDOUT: %CallExplicitGenericParamConst.type: type = fn_type @CallExplicitGenericParamConst [concrete] // CHECK:STDOUT: %CallExplicitGenericParamConst: %CallExplicitGenericParamConst.type = struct_value () [concrete] -// CHECK:STDOUT: %T.param_patt: %pattern_type.98f = value_param_pattern [concrete] -// CHECK:STDOUT: %T.patt.fe8: %pattern_type.98f = wrapper_binding_pattern T, %T.param_patt [concrete] +// CHECK:STDOUT: %T.param_patt: %pattern_type.9a5 = value_param_pattern [concrete] +// CHECK:STDOUT: %T.patt.a5b: %pattern_type.9a5 = wrapper_binding_pattern T, %T.param_patt [concrete] // CHECK:STDOUT: %CallExplicitGenericParamNonConst.type: type = fn_type @CallExplicitGenericParamNonConst [concrete] // CHECK:STDOUT: %CallExplicitGenericParamNonConst: %CallExplicitGenericParamNonConst.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -468,7 +468,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ExplicitGenericParam.decl: %ExplicitGenericParam.type = fn_decl @ExplicitGenericParam [concrete = constants.%ExplicitGenericParam] { -// CHECK:STDOUT: %T.patt.loc4_34.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_34.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_34.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_34.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %return.param_patt.loc4_46.1: @ExplicitGenericParam.%pattern_type (%pattern_type.4f4) = out_param_pattern [symbolic = %return.param_patt.loc4_46.2 (constants.%return.param_patt)] // CHECK:STDOUT: %return.patt.loc4_42.1: @ExplicitGenericParam.%pattern_type (%pattern_type.4f4) = return_slot_pattern %return.param_patt.loc4_46.1, %ptr.loc4_46.2 [symbolic = %return.patt.loc4_42.2 (constants.%return.patt)] // CHECK:STDOUT: } { @@ -476,7 +476,7 @@ fn F() { // CHECK:STDOUT: %ptr.loc4_46.2: type = ptr_type %T.ref.loc4_45 [symbolic = %ptr.loc4_46.1 (constants.%ptr)] // CHECK:STDOUT: %.loc4_46.2: Core.Form = init_form %ptr.loc4_46.2 [symbolic = %.loc4_46.1 (constants.%.cb6)] // CHECK:STDOUT: %.loc4_36.1: type = splice_block %.loc4_36.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_36.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_34.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_34.1 (constants.%T)] @@ -484,17 +484,17 @@ fn F() { // CHECK:STDOUT: %return: ref @ExplicitGenericParam.%ptr.loc4_46.1 (%ptr) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallExplicitGenericParamConst.decl: %CallExplicitGenericParamConst.type = fn_decl @CallExplicitGenericParamConst [concrete = constants.%CallExplicitGenericParamConst] { -// CHECK:STDOUT: %T.patt.loc6_43.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_43.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc6_43.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_43.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_45.1: type = splice_block %.loc6_45.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_45.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_43.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_43.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %CallExplicitGenericParamNonConst.decl: %CallExplicitGenericParamNonConst.type = fn_decl @CallExplicitGenericParamNonConst [concrete = constants.%CallExplicitGenericParamNonConst] { -// CHECK:STDOUT: %T.param_patt: %pattern_type.98f = value_param_pattern [concrete = constants.%T.param_patt] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = wrapper_binding_pattern T, %T.param_patt [concrete = constants.%T.patt.fe8] +// CHECK:STDOUT: %T.param_patt: %pattern_type.9a5 = value_param_pattern [concrete = constants.%T.param_patt] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = wrapper_binding_pattern T, %T.param_patt [concrete = constants.%T.patt.a5b] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.param: type = value_param call_param0 // CHECK:STDOUT: %.loc10: type = type_literal type [concrete = type] @@ -503,7 +503,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @ExplicitGenericParam(%T.loc4_34.2: type) { -// CHECK:STDOUT: %T.patt.loc4_34.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_34.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_34.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_34.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc4_34.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_34.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc4_46.1: type = ptr_type %T.loc4_34.1 [symbolic = %ptr.loc4_46.1 (constants.%ptr)] // CHECK:STDOUT: %.loc4_46.1: Core.Form = init_form %ptr.loc4_46.1 [symbolic = %.loc4_46.1 (constants.%.cb6)] @@ -526,7 +526,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @CallExplicitGenericParamConst(%T.loc6_43.2: type) { -// CHECK:STDOUT: %T.patt.loc6_43.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_43.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc6_43.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_43.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc6_43.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_43.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -551,7 +551,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @ExplicitGenericParam(constants.%T) { -// CHECK:STDOUT: %T.patt.loc4_34.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_34.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_34.1 => constants.%T // CHECK:STDOUT: %ptr.loc4_46.1 => constants.%ptr // CHECK:STDOUT: %.loc4_46.1 => constants.%.cb6 @@ -565,20 +565,20 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @CallExplicitGenericParamConst(constants.%T) { -// CHECK:STDOUT: %T.patt.loc6_43.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc6_43.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc6_43.1 => constants.%T // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- explicit_vs_deduced.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] // CHECK:STDOUT: %x.param_patt.91d: %pattern_type.51d = value_param_pattern [symbolic] @@ -634,7 +634,7 @@ fn F() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} // CHECK:STDOUT: %ExplicitAndAlsoDeduced.decl: %ExplicitAndAlsoDeduced.type = fn_decl @ExplicitAndAlsoDeduced [concrete = constants.%ExplicitAndAlsoDeduced] { -// CHECK:STDOUT: %T.patt.loc6_36.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_36.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_36.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_36.2 (constants.%T.patt)] // CHECK:STDOUT: %x.param_patt.loc6_45.1: @ExplicitAndAlsoDeduced.%pattern_type.loc6_45 (%pattern_type.51d) = value_param_pattern [symbolic = %x.param_patt.loc6_45.2 (constants.%x.param_patt.91d)] // CHECK:STDOUT: %x.patt.loc6_45.1: @ExplicitAndAlsoDeduced.%pattern_type.loc6_45 (%pattern_type.51d) = wrapper_binding_pattern x, %x.param_patt.loc6_45.1 [symbolic = %x.patt.loc6_45.2 (constants.%x.patt.260)] // CHECK:STDOUT: %return.param_patt.loc6_54.1: @ExplicitAndAlsoDeduced.%pattern_type.loc6_54 (%pattern_type.4f4) = out_param_pattern [symbolic = %return.param_patt.loc6_54.2 (constants.%return.param_patt.27f)] @@ -644,7 +644,7 @@ fn F() { // CHECK:STDOUT: %ptr.loc6_54.2: type = ptr_type %T.ref.loc6_53 [symbolic = %ptr.loc6_54.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc6_54.2: Core.Form = init_form %ptr.loc6_54.2 [symbolic = %.loc6_54.1 (constants.%.cb6)] // CHECK:STDOUT: %.loc6_38.1: type = splice_block %.loc6_38.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_38.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_36.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_36.1 (constants.%T)] @@ -675,7 +675,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @ExplicitAndAlsoDeduced(%T.loc6_36.2: type) { -// CHECK:STDOUT: %T.patt.loc6_36.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_36.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_36.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_36.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_36.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_36.1 (constants.%T)] // CHECK:STDOUT: %pattern_type.loc6_45: type = pattern_type %T.loc6_36.1 [symbolic = %pattern_type.loc6_45 (constants.%pattern_type.51d)] // CHECK:STDOUT: %x.param_patt.loc6_45.2: @ExplicitAndAlsoDeduced.%pattern_type.loc6_45 (%pattern_type.51d) = value_param_pattern [symbolic = %x.param_patt.loc6_45.2 (constants.%x.param_patt.91d)] @@ -764,10 +764,10 @@ fn F() { // CHECK:STDOUT: --- deduce_implicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] // CHECK:STDOUT: %x.param_patt.91d: %pattern_type.51d = value_param_pattern [symbolic] @@ -821,7 +821,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ImplicitGenericParam.decl: %ImplicitGenericParam.type = fn_decl @ImplicitGenericParam [concrete = constants.%ImplicitGenericParam] { -// CHECK:STDOUT: %T.patt.loc4_26.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_26.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_26.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_26.2 (constants.%T.patt)] // CHECK:STDOUT: %x.param_patt.loc4_35.1: @ImplicitGenericParam.%pattern_type.loc4_35 (%pattern_type.51d) = value_param_pattern [symbolic = %x.param_patt.loc4_35.2 (constants.%x.param_patt.91d)] // CHECK:STDOUT: %x.patt.loc4_35.1: @ImplicitGenericParam.%pattern_type.loc4_35 (%pattern_type.51d) = wrapper_binding_pattern x, %x.param_patt.loc4_35.1 [symbolic = %x.patt.loc4_35.2 (constants.%x.patt.260)] // CHECK:STDOUT: %return.param_patt.loc4_44.1: @ImplicitGenericParam.%pattern_type.loc4_44 (%pattern_type.4f4) = out_param_pattern [symbolic = %return.param_patt.loc4_44.2 (constants.%return.param_patt.27f)] @@ -831,7 +831,7 @@ fn F() { // CHECK:STDOUT: %ptr.loc4_44.2: type = ptr_type %T.ref.loc4_43 [symbolic = %ptr.loc4_44.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc4_44.2: Core.Form = init_form %ptr.loc4_44.2 [symbolic = %.loc4_44.1 (constants.%.cb6)] // CHECK:STDOUT: %.loc4_28.1: type = splice_block %.loc4_28.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_28.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_26.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_26.1 (constants.%T)] @@ -859,7 +859,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @ImplicitGenericParam(%T.loc4_26.2: type) { -// CHECK:STDOUT: %T.patt.loc4_26.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_26.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_26.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_26.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_26.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_26.1 (constants.%T)] // CHECK:STDOUT: %pattern_type.loc4_35: type = pattern_type %T.loc4_26.1 [symbolic = %pattern_type.loc4_35 (constants.%pattern_type.51d)] // CHECK:STDOUT: %x.param_patt.loc4_35.2: @ImplicitGenericParam.%pattern_type.loc4_35 (%pattern_type.51d) = value_param_pattern [symbolic = %x.param_patt.loc4_35.2 (constants.%x.param_patt.91d)] @@ -933,18 +933,18 @@ fn F() { // CHECK:STDOUT: --- deduce_nested_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.43e: %tuple.type.24b = tuple_value (%T, %i32) [symbolic] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.598: %tuple.type.693 = tuple_value (%T, %i32) [symbolic] // CHECK:STDOUT: %tuple.type.2d8: type = tuple_type (%T, %i32) [symbolic] // CHECK:STDOUT: %pattern_type.1d4: type = pattern_type %tuple.type.2d8 [symbolic] // CHECK:STDOUT: %x.param_patt.442: %pattern_type.1d4 = value_param_pattern [symbolic] @@ -958,7 +958,7 @@ fn F() { // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %tuple.type.f94: type = tuple_type (Core.IntLiteral, Core.IntLiteral) [concrete] // CHECK:STDOUT: %tuple.ad8: %tuple.type.f94 = tuple_value (%int_1, %int_2.ecc) [concrete] -// CHECK:STDOUT: %tuple.55f: %tuple.type.24b = tuple_value (Core.IntLiteral, %i32) [concrete] +// CHECK:STDOUT: %tuple.28e: %tuple.type.693 = tuple_value (Core.IntLiteral, %i32) [concrete] // CHECK:STDOUT: %tuple.type.94b: type = tuple_type (Core.IntLiteral, %i32) [concrete] // CHECK:STDOUT: %pattern_type.106: type = pattern_type %tuple.type.94b [concrete] // CHECK:STDOUT: %x.param_patt.d6e: %pattern_type.106 = value_param_pattern [concrete] @@ -1005,12 +1005,12 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %TupleParam.decl: %TupleParam.type = fn_decl @TupleParam [concrete = constants.%TupleParam] { -// CHECK:STDOUT: %T.patt.loc4_16.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_16.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_16.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_16.2 (constants.%T.patt)] // CHECK:STDOUT: %x.param_patt.loc4_32.1: @TupleParam.%pattern_type (%pattern_type.1d4) = value_param_pattern [symbolic = %x.param_patt.loc4_32.2 (constants.%x.param_patt.442)] // CHECK:STDOUT: %x.patt.loc4_32.1: @TupleParam.%pattern_type (%pattern_type.1d4) = wrapper_binding_pattern x, %x.param_patt.loc4_32.1 [symbolic = %x.patt.loc4_32.2 (constants.%x.patt.31e)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_18.1: type = splice_block %.loc4_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_16.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_16.1 (constants.%T)] @@ -1018,7 +1018,7 @@ fn F() { // CHECK:STDOUT: %.loc4_41.1: type = splice_block %.loc4_41.3 [symbolic = %tuple.type (constants.%tuple.type.2d8)] { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_16.2 [symbolic = %T.loc4_16.1 (constants.%T)] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc4_41.2: %tuple.type.24b = tuple_literal (%T.ref, %i32) [symbolic = %tuple (constants.%tuple.43e)] +// CHECK:STDOUT: %.loc4_41.2: %tuple.type.693 = tuple_literal (%T.ref, %i32) [symbolic = %tuple (constants.%tuple.598)] // CHECK:STDOUT: %.loc4_41.3: type = converted %.loc4_41.2, constants.%tuple.type.2d8 [symbolic = %tuple.type (constants.%tuple.type.2d8)] // CHECK:STDOUT: } // CHECK:STDOUT: %x: @TupleParam.%tuple.type (%tuple.type.2d8) = wrapper_binding x, %x.param @@ -1027,9 +1027,9 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @TupleParam(%T.loc4_16.2: type) { -// CHECK:STDOUT: %T.patt.loc4_16.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_16.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_16.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_16.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_16.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_16.1 (constants.%T)] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%T.loc4_16.1, constants.%i32) [symbolic = %tuple (constants.%tuple.43e)] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%T.loc4_16.1, constants.%i32) [symbolic = %tuple (constants.%tuple.598)] // CHECK:STDOUT: %tuple.type: type = tuple_type (%T.loc4_16.1, constants.%i32) [symbolic = %tuple.type (constants.%tuple.type.2d8)] // CHECK:STDOUT: %pattern_type: type = pattern_type %tuple.type [symbolic = %pattern_type (constants.%pattern_type.1d4)] // CHECK:STDOUT: %x.param_patt.loc4_32.2: @TupleParam.%pattern_type (%pattern_type.1d4) = value_param_pattern [symbolic = %x.param_patt.loc4_32.2 (constants.%x.param_patt.442)] @@ -1067,7 +1067,7 @@ fn F() { // CHECK:STDOUT: specific @TupleParam(constants.%T) { // CHECK:STDOUT: %T.patt.loc4_16.2 => constants.%T.patt // CHECK:STDOUT: %T.loc4_16.1 => constants.%T -// CHECK:STDOUT: %tuple => constants.%tuple.43e +// CHECK:STDOUT: %tuple => constants.%tuple.598 // CHECK:STDOUT: %tuple.type => constants.%tuple.type.2d8 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.1d4 // CHECK:STDOUT: %x.param_patt.loc4_32.2 => constants.%x.param_patt.442 @@ -1077,7 +1077,7 @@ fn F() { // CHECK:STDOUT: specific @TupleParam(Core.IntLiteral) { // CHECK:STDOUT: %T.patt.loc4_16.2 => constants.%T.patt // CHECK:STDOUT: %T.loc4_16.1 => Core.IntLiteral -// CHECK:STDOUT: %tuple => constants.%tuple.55f +// CHECK:STDOUT: %tuple => constants.%tuple.28e // CHECK:STDOUT: %tuple.type => constants.%tuple.type.94b // CHECK:STDOUT: %pattern_type => constants.%pattern_type.106 // CHECK:STDOUT: %x.param_patt.loc4_32.2 => constants.%x.param_patt.d6e @@ -1090,10 +1090,10 @@ fn F() { // CHECK:STDOUT: --- deduce_nested_struct.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -1159,12 +1159,12 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %StructParam.decl: %StructParam.type = fn_decl @StructParam [concrete = constants.%StructParam] { -// CHECK:STDOUT: %T.patt.loc4_17.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_17.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] // CHECK:STDOUT: %x.param_patt.loc4_33.1: @StructParam.%pattern_type (%pattern_type.538) = value_param_pattern [symbolic = %x.param_patt.loc4_33.2 (constants.%x.param_patt.196)] // CHECK:STDOUT: %x.patt.loc4_33.1: @StructParam.%pattern_type (%pattern_type.538) = wrapper_binding_pattern x, %x.param_patt.loc4_33.1 [symbolic = %x.patt.loc4_33.2 (constants.%x.patt.ac9)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_17.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T)] @@ -1180,7 +1180,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @StructParam(%T.loc4_17.2: type) { -// CHECK:STDOUT: %T.patt.loc4_17.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_17.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_17.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T)] // CHECK:STDOUT: %struct_type.a.b.loc4_50.1: type = struct_type {.a: @StructParam.%T.loc4_17.1 (%T), .b: %i32} [symbolic = %struct_type.a.b.loc4_50.1 (constants.%struct_type.a.b.3aa)] // CHECK:STDOUT: %pattern_type: type = pattern_type %struct_type.a.b.loc4_50.1 [symbolic = %pattern_type (constants.%pattern_type.538)] @@ -1240,10 +1240,10 @@ fn F() { // CHECK:STDOUT: --- fail_deduce_bigger_struct.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -1281,12 +1281,12 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %BigStructParam.decl: %BigStructParam.type = fn_decl @BigStructParam [concrete = constants.%BigStructParam] { -// CHECK:STDOUT: %T.patt.loc4_20.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_20.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_20.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_20.2 (constants.%T.patt)] // CHECK:STDOUT: %x.param_patt.loc4_36.1: @BigStructParam.%pattern_type (%pattern_type.3dc) = value_param_pattern [symbolic = %x.param_patt.loc4_36.2 (constants.%x.param_patt)] // CHECK:STDOUT: %x.patt.loc4_36.1: @BigStructParam.%pattern_type (%pattern_type.3dc) = wrapper_binding_pattern x, %x.param_patt.loc4_36.1 [symbolic = %x.patt.loc4_36.2 (constants.%x.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_22.1: type = splice_block %.loc4_22.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_22.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_20.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_20.1 (constants.%T)] @@ -1303,7 +1303,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @BigStructParam(%T.loc4_20.2: type) { -// CHECK:STDOUT: %T.patt.loc4_20.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_20.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_20.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_20.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_20.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_20.1 (constants.%T)] // CHECK:STDOUT: %struct_type.c.d.e.loc4_62.1: type = struct_type {.c: @BigStructParam.%T.loc4_20.1 (%T), .d: %i32, .e: %i32} [symbolic = %struct_type.c.d.e.loc4_62.1 (constants.%struct_type.c.d.e)] // CHECK:STDOUT: %pattern_type: type = pattern_type %struct_type.c.d.e.loc4_62.1 [symbolic = %pattern_type (constants.%pattern_type.3dc)] @@ -1340,10 +1340,10 @@ fn F() { // CHECK:STDOUT: --- fail_deduce_smaller_struct.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -1382,12 +1382,12 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %SmallStructParam.decl: %SmallStructParam.type = fn_decl @SmallStructParam [concrete = constants.%SmallStructParam] { -// CHECK:STDOUT: %T.patt.loc4_22.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_22.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt)] // CHECK:STDOUT: %x.param_patt.loc4_38.1: @SmallStructParam.%pattern_type (%pattern_type.128) = value_param_pattern [symbolic = %x.param_patt.loc4_38.2 (constants.%x.param_patt)] // CHECK:STDOUT: %x.patt.loc4_38.1: @SmallStructParam.%pattern_type (%pattern_type.128) = wrapper_binding_pattern x, %x.param_patt.loc4_38.1 [symbolic = %x.patt.loc4_38.2 (constants.%x.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_24.1: type = splice_block %.loc4_24.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_24.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_22.1 (constants.%T)] @@ -1403,7 +1403,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @SmallStructParam(%T.loc4_22.2: type) { -// CHECK:STDOUT: %T.patt.loc4_22.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_22.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_22.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_22.1 (constants.%T)] // CHECK:STDOUT: %struct_type.f.g.loc4_55.1: type = struct_type {.f: @SmallStructParam.%T.loc4_22.1 (%T), .g: %i32} [symbolic = %struct_type.f.g.loc4_55.1 (constants.%struct_type.f.g)] // CHECK:STDOUT: %pattern_type: type = pattern_type %struct_type.f.g.loc4_55.1 [symbolic = %pattern_type (constants.%pattern_type.128)] @@ -1441,10 +1441,10 @@ fn F() { // CHECK:STDOUT: --- fail_deduce_struct_wrong_name.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -1482,12 +1482,12 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %WrongNameStructParam.decl: %WrongNameStructParam.type = fn_decl @WrongNameStructParam [concrete = constants.%WrongNameStructParam] { -// CHECK:STDOUT: %T.patt.loc4_26.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_26.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_26.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_26.2 (constants.%T.patt)] // CHECK:STDOUT: %x.param_patt.loc4_42.1: @WrongNameStructParam.%pattern_type (%pattern_type.1b7) = value_param_pattern [symbolic = %x.param_patt.loc4_42.2 (constants.%x.param_patt)] // CHECK:STDOUT: %x.patt.loc4_42.1: @WrongNameStructParam.%pattern_type (%pattern_type.1b7) = wrapper_binding_pattern x, %x.param_patt.loc4_42.1 [symbolic = %x.patt.loc4_42.2 (constants.%x.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_28.1: type = splice_block %.loc4_28.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_28.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_26.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_26.1 (constants.%T)] @@ -1503,7 +1503,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @WrongNameStructParam(%T.loc4_26.2: type) { -// CHECK:STDOUT: %T.patt.loc4_26.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_26.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_26.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_26.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_26.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_26.1 (constants.%T)] // CHECK:STDOUT: %struct_type.i.different.loc4_67.1: type = struct_type {.i: @WrongNameStructParam.%T.loc4_26.1 (%T), .different: %i32} [symbolic = %struct_type.i.different.loc4_67.1 (constants.%struct_type.i.different)] // CHECK:STDOUT: %pattern_type: type = pattern_type %struct_type.i.different.loc4_67.1 [symbolic = %pattern_type (constants.%pattern_type.1b7)] @@ -1540,10 +1540,10 @@ fn F() { // CHECK:STDOUT: --- fail_todo_deduce_struct_wrong_order.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -1581,12 +1581,12 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %WrongOrderStructParam.decl: %WrongOrderStructParam.type = fn_decl @WrongOrderStructParam [concrete = constants.%WrongOrderStructParam] { -// CHECK:STDOUT: %T.patt.loc4_27.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_27.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_27.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_27.2 (constants.%T.patt)] // CHECK:STDOUT: %x.param_patt.loc4_43.1: @WrongOrderStructParam.%pattern_type (%pattern_type.f83) = value_param_pattern [symbolic = %x.param_patt.loc4_43.2 (constants.%x.param_patt)] // CHECK:STDOUT: %x.patt.loc4_43.1: @WrongOrderStructParam.%pattern_type (%pattern_type.f83) = wrapper_binding_pattern x, %x.param_patt.loc4_43.1 [symbolic = %x.patt.loc4_43.2 (constants.%x.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_29.1: type = splice_block %.loc4_29.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_29.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_27.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_27.1 (constants.%T)] @@ -1602,7 +1602,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @WrongOrderStructParam(%T.loc4_27.2: type) { -// CHECK:STDOUT: %T.patt.loc4_27.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_27.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_27.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_27.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_27.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_27.1 (constants.%T)] // CHECK:STDOUT: %struct_type.first.second.loc4_69.1: type = struct_type {.first: @WrongOrderStructParam.%T.loc4_27.1 (%T), .second: %i32} [symbolic = %struct_type.first.second.loc4_69.1 (constants.%struct_type.first.second)] // CHECK:STDOUT: %pattern_type: type = pattern_type %struct_type.first.second.loc4_69.1 [symbolic = %pattern_type (constants.%pattern_type.f83)] @@ -1639,12 +1639,12 @@ fn F() { // CHECK:STDOUT: --- fail_deduce_incomplete.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] // CHECK:STDOUT: %x.param_patt: %pattern_type.51d = value_param_pattern [symbolic] @@ -1675,8 +1675,8 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ImplicitNotDeducible.decl: %ImplicitNotDeducible.type = fn_decl @ImplicitNotDeducible [concrete = constants.%ImplicitNotDeducible] { -// CHECK:STDOUT: %T.patt.loc6_26.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_26.2 (constants.%T.patt)] -// CHECK:STDOUT: %U.patt.loc6_35.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc6_35.2 (constants.%U.patt)] +// CHECK:STDOUT: %T.patt.loc6_26.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_26.2 (constants.%T.patt)] +// CHECK:STDOUT: %U.patt.loc6_35.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc6_35.2 (constants.%U.patt)] // CHECK:STDOUT: %x.param_patt.loc6_44.1: @ImplicitNotDeducible.%pattern_type.loc6_44 (%pattern_type.51d) = value_param_pattern [symbolic = %x.param_patt.loc6_44.2 (constants.%x.param_patt)] // CHECK:STDOUT: %x.patt.loc6_44.1: @ImplicitNotDeducible.%pattern_type.loc6_44 (%pattern_type.51d) = wrapper_binding_pattern x, %x.param_patt.loc6_44.1 [symbolic = %x.patt.loc6_44.2 (constants.%x.patt)] // CHECK:STDOUT: %return.param_patt.loc6_52.1: @ImplicitNotDeducible.%pattern_type.loc6_52 (%pattern_type.946) = out_param_pattern [symbolic = %return.param_patt.loc6_52.2 (constants.%return.param_patt)] @@ -1685,12 +1685,12 @@ fn F() { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc6_35.2 [symbolic = %U.loc6_35.1 (constants.%U)] // CHECK:STDOUT: %.loc6_52.2: Core.Form = init_form %U.ref [symbolic = %.loc6_52.1 (constants.%.822)] // CHECK:STDOUT: %.loc6_28.1: type = splice_block %.loc6_28.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc6_26: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6_26: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_28.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_26.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_26.1 (constants.%T)] // CHECK:STDOUT: %.loc6_37.1: type = splice_block %.loc6_37.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc6_35: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6_35: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_37.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc6_35.2: type = symbolic_binding U, 1 [symbolic = %U.loc6_35.1 (constants.%U)] @@ -1704,9 +1704,9 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @ImplicitNotDeducible(%T.loc6_26.2: type, %U.loc6_35.2: type) { -// CHECK:STDOUT: %T.patt.loc6_26.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_26.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_26.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_26.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_26.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_26.1 (constants.%T)] -// CHECK:STDOUT: %U.patt.loc6_35.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc6_35.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc6_35.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc6_35.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc6_35.1: type = symbolic_binding U, 1 [symbolic = %U.loc6_35.1 (constants.%U)] // CHECK:STDOUT: %pattern_type.loc6_44: type = pattern_type %T.loc6_26.1 [symbolic = %pattern_type.loc6_44 (constants.%pattern_type.51d)] // CHECK:STDOUT: %x.param_patt.loc6_44.2: @ImplicitNotDeducible.%pattern_type.loc6_44 (%pattern_type.51d) = value_param_pattern [symbolic = %x.param_patt.loc6_44.2 (constants.%x.param_patt)] @@ -1743,10 +1743,10 @@ fn F() { // CHECK:STDOUT: --- fail_deduce_inconsistent.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] // CHECK:STDOUT: %x.param_patt: %pattern_type.51d = value_param_pattern [symbolic] @@ -1781,7 +1781,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ImplicitNotDeducible.decl: %ImplicitNotDeducible.type = fn_decl @ImplicitNotDeducible [concrete = constants.%ImplicitNotDeducible] { -// CHECK:STDOUT: %T.patt.loc4_26.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_26.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_26.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_26.2 (constants.%T.patt)] // CHECK:STDOUT: %x.param_patt.loc4_35.1: @ImplicitNotDeducible.%pattern_type (%pattern_type.51d) = value_param_pattern [symbolic = %x.param_patt.loc4_35.2 (constants.%x.param_patt)] // CHECK:STDOUT: %x.patt.loc4_35.1: @ImplicitNotDeducible.%pattern_type (%pattern_type.51d) = wrapper_binding_pattern x, %x.param_patt.loc4_35.1 [symbolic = %x.patt.loc4_35.2 (constants.%x.patt)] // CHECK:STDOUT: %y.param_patt.loc4_41.1: @ImplicitNotDeducible.%pattern_type (%pattern_type.51d) = value_param_pattern [symbolic = %y.param_patt.loc4_41.2 (constants.%y.param_patt)] @@ -1792,7 +1792,7 @@ fn F() { // CHECK:STDOUT: %T.ref.loc4_49: type = name_ref T, %T.loc4_26.2 [symbolic = %T.loc4_26.1 (constants.%T)] // CHECK:STDOUT: %.loc4_49.2: Core.Form = init_form %T.ref.loc4_49 [symbolic = %.loc4_49.1 (constants.%.184)] // CHECK:STDOUT: %.loc4_28.1: type = splice_block %.loc4_28.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_28.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_26.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_26.1 (constants.%T)] @@ -1809,7 +1809,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @ImplicitNotDeducible(%T.loc4_26.2: type) { -// CHECK:STDOUT: %T.patt.loc4_26.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_26.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_26.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_26.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_26.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_26.1 (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc4_26.1 [symbolic = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: %x.param_patt.loc4_35.2: @ImplicitNotDeducible.%pattern_type (%pattern_type.51d) = value_param_pattern [symbolic = %x.param_patt.loc4_35.2 (constants.%x.param_patt)] @@ -1848,6 +1848,7 @@ fn F() { // CHECK:STDOUT: --- deduce_nested_generic_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self: %Z.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %EE: type = class_type @EE [concrete] @@ -1856,10 +1857,9 @@ fn F() { // CHECK:STDOUT: %.236: = impl_self_witness %EE, @Z [concrete] // CHECK:STDOUT: %Z.impl_witness.ccc: = impl_witness @EE.as.Z.impl.%Z.impl_witness_table [concrete] // CHECK:STDOUT: %Z.facet.932: %Z.type = facet_value %EE, (%Z.impl_witness.ccc) [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %E.patt: %pattern_type.98f = symbolic_binding_pattern E, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %E.patt: %pattern_type.9a5 = symbolic_binding_pattern E, 0 [symbolic] // CHECK:STDOUT: %E: type = symbolic_binding E, 0 [symbolic] // CHECK:STDOUT: %DD.type: type = generic_class_type @DD [concrete] // CHECK:STDOUT: %DD.generic: %DD.type = struct_value () [concrete] @@ -1918,23 +1918,23 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %.loc6: = impl_self_witness @EE.as.Z.impl.%EE.ref, @Z [concrete = constants.%.236] // CHECK:STDOUT: %DD.decl: %DD.type = class_decl @DD [concrete = constants.%DD.generic] { -// CHECK:STDOUT: %E.patt.loc8_11.1: %pattern_type.98f = symbolic_binding_pattern E, 0 [symbolic = %E.patt.loc8_11.2 (constants.%E.patt)] +// CHECK:STDOUT: %E.patt.loc8_11.1: %pattern_type.9a5 = symbolic_binding_pattern E, 0 [symbolic = %E.patt.loc8_11.2 (constants.%E.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_13.1: type = splice_block %.loc8_13.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_13.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %E.loc8_11.2: type = symbolic_binding E, 0 [symbolic = %E.loc8_11.1 (constants.%E)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @DD.as.Z.impl [concrete] { -// CHECK:STDOUT: %E.patt.loc9_15.1: %pattern_type.98f = symbolic_binding_pattern E, 0 [symbolic = %E.patt.loc9_15.2 (constants.%E.patt)] +// CHECK:STDOUT: %E.patt.loc9_15.1: %pattern_type.9a5 = symbolic_binding_pattern E, 0 [symbolic = %E.patt.loc9_15.2 (constants.%E.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %DD.ref: %DD.type = name_ref DD, file.%DD.decl [concrete = constants.%DD.generic] // CHECK:STDOUT: %E.ref: type = name_ref E, %E.loc9_15.1 [symbolic = %E.loc9_15.2 (constants.%E)] // CHECK:STDOUT: %DD.loc9_27.1: type = class_type @DD, @DD(constants.%E) [symbolic = %DD.loc9_27.2 (constants.%DD.699)] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: %.loc9_17.1: type = splice_block %.loc9_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %E.loc9_15.1: type = symbolic_binding E, 0 [symbolic = %E.loc9_15.2 (constants.%E)] @@ -1944,13 +1944,13 @@ fn F() { // CHECK:STDOUT: %D.patt.loc11_11.1: %pattern_type.5d7 = symbolic_binding_pattern D, 0 [symbolic = %D.patt.loc11_11.2 (constants.%D.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11: type = splice_block %Z.ref [concrete = constants.%Z.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: } // CHECK:STDOUT: %D.loc11_11.2: %Z.type = symbolic_binding D, 0 [symbolic = %D.loc11_11.1 (constants.%D)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @CC.as.Z.impl [concrete] { -// CHECK:STDOUT: %E.patt.loc12_15.1: %pattern_type.98f = symbolic_binding_pattern E, 0 [symbolic = %E.patt.loc12_15.2 (constants.%E.patt)] +// CHECK:STDOUT: %E.patt.loc12_15.1: %pattern_type.9a5 = symbolic_binding_pattern E, 0 [symbolic = %E.patt.loc12_15.2 (constants.%E.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %CC.ref: %CC.type = name_ref CC, file.%CC.decl [concrete = constants.%CC.generic] // CHECK:STDOUT: %DD.ref: %DD.type = name_ref DD, file.%DD.decl [concrete = constants.%DD.generic] @@ -1961,7 +1961,7 @@ fn F() { // CHECK:STDOUT: %CC.loc12_31.1: type = class_type @CC, @CC(constants.%Z.facet.0b6) [symbolic = %CC.loc12_31.2 (constants.%CC.2a8)] // 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] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc12_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %E.loc12_15.1: type = symbolic_binding E, 0 [symbolic = %E.loc12_15.2 (constants.%E)] @@ -1991,7 +1991,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @DD.as.Z.impl(%E.loc9_15.1: type) { -// CHECK:STDOUT: %E.patt.loc9_15.2: %pattern_type.98f = symbolic_binding_pattern E, 0 [symbolic = %E.patt.loc9_15.2 (constants.%E.patt)] +// CHECK:STDOUT: %E.patt.loc9_15.2: %pattern_type.9a5 = symbolic_binding_pattern E, 0 [symbolic = %E.patt.loc9_15.2 (constants.%E.patt)] // CHECK:STDOUT: %E.loc9_15.2: type = symbolic_binding E, 0 [symbolic = %E.loc9_15.2 (constants.%E)] // CHECK:STDOUT: %DD.loc9_27.2: type = class_type @DD, @DD(%E.loc9_15.2) [symbolic = %DD.loc9_27.2 (constants.%DD.699)] // CHECK:STDOUT: %.loc9_34: = impl_self_witness %DD.loc9_27.2, @Z [symbolic = %.loc9_34 (constants.%.91f)] @@ -2010,7 +2010,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @CC.as.Z.impl(%E.loc12_15.1: type) { -// CHECK:STDOUT: %E.patt.loc12_15.2: %pattern_type.98f = symbolic_binding_pattern E, 0 [symbolic = %E.patt.loc12_15.2 (constants.%E.patt)] +// 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.699)] // 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.%.8d3)] @@ -2041,7 +2041,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @DD(%E.loc8_11.2: type) { -// CHECK:STDOUT: %E.patt.loc8_11.2: %pattern_type.98f = symbolic_binding_pattern E, 0 [symbolic = %E.patt.loc8_11.2 (constants.%E.patt)] +// CHECK:STDOUT: %E.patt.loc8_11.2: %pattern_type.9a5 = symbolic_binding_pattern E, 0 [symbolic = %E.patt.loc8_11.2 (constants.%E.patt)] // CHECK:STDOUT: %E.loc8_11.1: type = symbolic_binding E, 0 [symbolic = %E.loc8_11.1 (constants.%E)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: 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 c0d3258accf8..a86c01a5f540 100644 --- a/toolchain/check/testdata/function/generic/deduce_nested_facet_value.carbon +++ b/toolchain/check/testdata/function/generic/deduce_nested_facet_value.carbon @@ -40,6 +40,7 @@ fn F() { // CHECK:STDOUT: --- deduce_nested_facet_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %Self.765: %Y.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %W.type: type = facet_type <@W> [concrete] @@ -53,8 +54,7 @@ fn F() { // CHECK:STDOUT: %.918: = impl_self_witness %DD, @W [concrete] // CHECK:STDOUT: %W.impl_witness: = impl_witness @DD.as.W.impl.%W.impl_witness_table [concrete] // CHECK:STDOUT: %W.facet: %W.type = facet_value %DD, (%W.impl_witness) [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.cfb: type = pattern_type %Y.type [concrete] // CHECK:STDOUT: %D.patt: %pattern_type.cfb = symbolic_binding_pattern D, 0 [symbolic] // CHECK:STDOUT: %D: %Y.type = symbolic_binding D, 0 [symbolic] @@ -65,11 +65,11 @@ fn F() { // CHECK:STDOUT: %Self.cb6: %Z.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %Y.type, %type.as.BitAndWith.impl.Op [concrete] @@ -132,7 +132,7 @@ fn F() { // CHECK:STDOUT: %D.patt.loc12_11.1: %pattern_type.cfb = symbolic_binding_pattern D, 0 [symbolic = %D.patt.loc12_11.2 (constants.%D.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12: type = splice_block %Y.ref [concrete = constants.%Y.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Y.ref: type = name_ref Y, file.%Y.decl [concrete = constants.%Y.type] // CHECK:STDOUT: } // CHECK:STDOUT: %D.loc12_11.2: %Y.type = symbolic_binding D, 0 [symbolic = %D.loc12_11.1 (constants.%D)] @@ -149,10 +149,10 @@ fn F() { // CHECK:STDOUT: %CC.loc19_28.1: type = class_type @CC, @CC(constants.%Y.facet.18f) [symbolic = %CC.loc19_28.2 (constants.%CC.db5)] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: %.loc19_19.1: type = splice_block %.loc19_19.3 [concrete = constants.%facet_type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Y.ref: type = name_ref Y, file.%Y.decl [concrete = constants.%Y.type] // CHECK:STDOUT: %W.ref: type = name_ref W, file.%W.decl [concrete = constants.%W.type] -// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %Y.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Y.ref, %W.ref) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc19_19.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type] diff --git a/toolchain/check/testdata/function/generic/fail_deduce_imported_function.carbon b/toolchain/check/testdata/function/generic/fail_deduce_imported_function.carbon index f1af59580b24..3e0b7f352174 100644 --- a/toolchain/check/testdata/function/generic/fail_deduce_imported_function.carbon +++ b/toolchain/check/testdata/function/generic/fail_deduce_imported_function.carbon @@ -48,10 +48,10 @@ fn B() { // CHECK:STDOUT: --- lib.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self: %Z.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.1d1: type = pattern_type %Z.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.1d1 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %Z.type = symbolic_binding T, 0 [symbolic] @@ -77,7 +77,7 @@ fn B() { // CHECK:STDOUT: %x.patt.loc4_20.1: @A.%pattern_type (%pattern_type.662) = wrapper_binding_pattern x, %x.param_patt.loc4_20.1 [symbolic = %x.patt.loc4_20.2 (constants.%x.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_9: type = splice_block %Z.ref [concrete = constants.%Z.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_7.2: %Z.type = symbolic_binding T, 0 [symbolic = %T.loc4_7.1 (constants.%T)] @@ -136,8 +136,8 @@ fn B() { // CHECK:STDOUT: --- fail_deduce_imported_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self: %Z.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %pattern_type.1d1: type = pattern_type %Z.type [concrete] @@ -187,7 +187,7 @@ fn B() { // CHECK:STDOUT: %x.patt.loc4_24.1: @A.loc4.%pattern_type (%pattern_type.662) = wrapper_binding_pattern x, %x.param_patt.loc4_24.1 [symbolic = %x.patt.loc4_24.2 (constants.%x.patt.e7f6fb.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_12: type = splice_block %Z.ref [concrete = constants.%Z.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Lib.ref: = name_ref Lib, imports.%Lib [concrete = imports.%Lib] // CHECK:STDOUT: %Z.ref: type = name_ref Z, imports.%Lib.Z [concrete = constants.%Z.type] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/forward_decl.carbon b/toolchain/check/testdata/function/generic/forward_decl.carbon index fb72a35e7fd3..82dc7adbd6e8 100644 --- a/toolchain/check/testdata/function/generic/forward_decl.carbon +++ b/toolchain/check/testdata/function/generic/forward_decl.carbon @@ -17,8 +17,8 @@ fn F(generic T: type); // CHECK:STDOUT: --- forward_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -34,7 +34,7 @@ fn F(generic T: type); // CHECK:STDOUT: %T.patt.loc15_15.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_17.1: type = splice_block %.loc15_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_15.1 (constants.%T)] diff --git a/toolchain/check/testdata/function/generic/import_specific.carbon b/toolchain/check/testdata/function/generic/import_specific.carbon index f1c5e5ce918b..c9f4ee849ce9 100644 --- a/toolchain/check/testdata/function/generic/import_specific.carbon +++ b/toolchain/check/testdata/function/generic/import_specific.carbon @@ -41,15 +41,15 @@ fn H() { // CHECK:STDOUT: --- library.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47011.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt.3a0592.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.67db0b.1: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %T.patt.d47011.2: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt.3a0592.2: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.67db0b.2: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] @@ -62,19 +62,19 @@ fn H() { // CHECK:STDOUT: .G = %G.decl // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc4_22.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc4_22.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_24.1: type = splice_block %.loc4_24.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_24.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_22.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { -// CHECK:STDOUT: %T.patt.loc7_15.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.d47011.2)] +// CHECK:STDOUT: %T.patt.loc7_15.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.3a0592.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_17.1: type = splice_block %.loc7_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc7_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_15.1 (constants.%T.67db0b.2)] @@ -82,7 +82,7 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc4_22.2: type) { -// CHECK:STDOUT: %T.patt.loc4_22.2: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc4_22.2: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %T.loc4_22.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_22.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -94,7 +94,7 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @G(%T.loc7_15.2: type) { -// CHECK:STDOUT: %T.patt.loc7_15.2: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.d47011.2)] +// CHECK:STDOUT: %T.patt.loc7_15.2: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt.3a0592.2)] // CHECK:STDOUT: %T.loc7_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_15.1 (constants.%T.67db0b.2)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -111,17 +111,17 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.67db0b.1) { -// CHECK:STDOUT: %T.patt.loc4_22.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc4_22.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc4_22.1 => constants.%T.67db0b.1 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @G(constants.%T.67db0b.2) { -// CHECK:STDOUT: %T.patt.loc7_15.2 => constants.%T.patt.d47011.2 +// CHECK:STDOUT: %T.patt.loc7_15.2 => constants.%T.patt.3a0592.2 // CHECK:STDOUT: %T.loc7_15.1 => constants.%T.67db0b.2 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.67db0b.2) { -// CHECK:STDOUT: %T.patt.loc4_22.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc4_22.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc4_22.1 => constants.%T.67db0b.2 // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -130,6 +130,7 @@ fn H() { // CHECK:STDOUT: --- user.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/function/generic/indirect_generic_type.carbon b/toolchain/check/testdata/function/generic/indirect_generic_type.carbon index c9bd872511d3..b0fe3f5a1842 100644 --- a/toolchain/check/testdata/function/generic/indirect_generic_type.carbon +++ b/toolchain/check/testdata/function/generic/indirect_generic_type.carbon @@ -24,8 +24,9 @@ fn F(generic T: type, p: T**) -> T* { // CHECK:STDOUT: --- pointer_to_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T.67d [symbolic] // CHECK:STDOUT: %ptr.125: type = ptr_type %ptr.e8f [symbolic] @@ -78,7 +79,7 @@ fn F(generic T: type, p: T**) -> T* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc4_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_15.1 => constants.%T.67d // CHECK:STDOUT: %ptr.loc4_27.1 => constants.%ptr.e8f // CHECK:STDOUT: %ptr.loc4_28.1 => constants.%ptr.125 diff --git a/toolchain/check/testdata/function/generic/param_in_type.carbon b/toolchain/check/testdata/function/generic/param_in_type.carbon index cb17454556e4..9d2644ba08fd 100644 --- a/toolchain/check/testdata/function/generic/param_in_type.carbon +++ b/toolchain/check/testdata/function/generic/param_in_type.carbon @@ -17,8 +17,8 @@ fn F(generic N: i32, a: array(i32, N)*); // CHECK:STDOUT: --- param_in_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -76,7 +76,7 @@ fn F(generic N: i32, a: array(i32, N)*); // CHECK:STDOUT: %a.patt.loc15_23.1: @F.%pattern_type (%pattern_type.5a4) = wrapper_binding_pattern a, %a.param_patt.loc15_23.1 [symbolic = %a.patt.loc15_23.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_17: type = splice_block %i32.loc15_17 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32.loc15_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc15_15.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc15_15.1 (constants.%N.37f)] diff --git a/toolchain/check/testdata/function/generic/redeclare.carbon b/toolchain/check/testdata/function/generic/redeclare.carbon index 784cda9403c5..697ff9e27f29 100644 --- a/toolchain/check/testdata/function/generic/redeclare.carbon +++ b/toolchain/check/testdata/function/generic/redeclare.carbon @@ -97,10 +97,10 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: --- redeclare.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic] // CHECK:STDOUT: %.cb6: Core.Form = init_form %ptr [symbolic] @@ -127,7 +127,7 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl.loc4: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc6: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4 (constants.%T.patt)] // CHECK:STDOUT: %return.param_patt.loc6: @F.%pattern_type (%pattern_type.4f4) = out_param_pattern [symbolic = %return.param_patt.loc4 (constants.%return.param_patt)] // CHECK:STDOUT: %return.patt.loc6: @F.%pattern_type (%pattern_type.4f4) = return_slot_pattern %return.param_patt.loc6, %ptr.loc6 [symbolic = %return.patt.loc4 (constants.%return.patt)] // CHECK:STDOUT: } { @@ -135,7 +135,7 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: %ptr.loc4_27.2: type = ptr_type %T.ref.loc4 [symbolic = %ptr.loc4_27.1 (constants.%ptr)] // CHECK:STDOUT: %.loc4_27.2: Core.Form = init_form %ptr.loc4_27.2 [symbolic = %.loc4_27.1 (constants.%.cb6)] // CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T)] @@ -143,7 +143,7 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: %return.loc4: ref @F.%ptr.loc4_27.1 (%ptr) = return_slot %return.param.loc4 // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl.loc6: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc6: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4 (constants.%T.patt)] // CHECK:STDOUT: %return.param_patt.loc6: @F.%pattern_type (%pattern_type.4f4) = out_param_pattern [symbolic = %return.param_patt.loc4 (constants.%return.param_patt)] // CHECK:STDOUT: %return.patt.loc6: @F.%pattern_type (%pattern_type.4f4) = return_slot_pattern %return.param_patt.loc6, %ptr.loc6 [symbolic = %return.patt.loc4 (constants.%return.patt)] // CHECK:STDOUT: } { @@ -151,7 +151,7 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: %ptr.loc6: type = ptr_type %T.ref.loc6 [symbolic = %ptr.loc4_27.1 (constants.%ptr)] // CHECK:STDOUT: %.loc6_27: Core.Form = init_form %ptr.loc6 [symbolic = %.loc4_27.1 (constants.%.cb6)] // CHECK:STDOUT: %.loc6_17.1: type = splice_block %.loc6_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc6: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T)] @@ -161,7 +161,7 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc4_15.2: type) { -// CHECK:STDOUT: %T.patt.loc4: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc4_27.1: type = ptr_type %T.loc4_15.1 [symbolic = %ptr.loc4_27.1 (constants.%ptr)] // CHECK:STDOUT: %.loc4_27.1: Core.Form = init_form %ptr.loc4_27.1 [symbolic = %.loc4_27.1 (constants.%.cb6)] @@ -200,12 +200,12 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: --- fail_different_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T [symbolic] // CHECK:STDOUT: %.cb6: Core.Form = init_form %ptr.e8f [symbolic] @@ -238,8 +238,8 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl.loc4: %F.type.eb3ec9.1 = fn_decl @F.loc4 [concrete = constants.%F.7088cc.1] { -// CHECK:STDOUT: %T.patt.loc4_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] -// CHECK:STDOUT: %U.patt.loc4_32.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_32.2 (constants.%U.patt)] +// CHECK:STDOUT: %T.patt.loc4_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %U.patt.loc4_32.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_32.2 (constants.%U.patt)] // CHECK:STDOUT: %return.param_patt.loc4_44.1: @F.loc4.%pattern_type (%pattern_type.4f4) = out_param_pattern [symbolic = %return.param_patt.loc4_44.2 (constants.%return.param_patt.27f)] // CHECK:STDOUT: %return.patt.loc4_40.1: @F.loc4.%pattern_type (%pattern_type.4f4) = return_slot_pattern %return.param_patt.loc4_44.1, %ptr.loc4_44.2 [symbolic = %return.patt.loc4_40.2 (constants.%return.patt.d67)] // CHECK:STDOUT: } { @@ -247,12 +247,12 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: %ptr.loc4_44.2: type = ptr_type %T.ref [symbolic = %ptr.loc4_44.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc4_44.2: Core.Form = init_form %ptr.loc4_44.2 [symbolic = %.loc4_44.1 (constants.%.cb6)] // CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T)] // CHECK:STDOUT: %.loc4_34.1: type = splice_block %.loc4_34.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4_32: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_32: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_34.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc4_32.2: type = symbolic_binding U, 1 [symbolic = %U.loc4_32.1 (constants.%U)] @@ -260,8 +260,8 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: %return: ref @F.loc4.%ptr.loc4_44.1 (%ptr.e8f) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl.loc13: %F.type.eb3ec9.2 = fn_decl @F.loc13 [concrete = constants.%F.7088cc.2] { -// CHECK:STDOUT: %T.patt.loc13_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_15.2 (constants.%T.patt)] -// CHECK:STDOUT: %U.patt.loc13_32.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc13_32.2 (constants.%U.patt)] +// CHECK:STDOUT: %T.patt.loc13_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %U.patt.loc13_32.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc13_32.2 (constants.%U.patt)] // CHECK:STDOUT: %return.param_patt.loc13_44.1: @F.loc13.%pattern_type (%pattern_type.423) = out_param_pattern [symbolic = %return.param_patt.loc13_44.2 (constants.%return.param_patt.534)] // CHECK:STDOUT: %return.patt.loc13_40.1: @F.loc13.%pattern_type (%pattern_type.423) = return_slot_pattern %return.param_patt.loc13_44.1, %ptr.loc13_44.2 [symbolic = %return.patt.loc13_40.2 (constants.%return.patt.669)] // CHECK:STDOUT: } { @@ -269,12 +269,12 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: %ptr.loc13_44.2: type = ptr_type %U.ref [symbolic = %ptr.loc13_44.1 (constants.%ptr.18e)] // CHECK:STDOUT: %.loc13_44.2: Core.Form = init_form %ptr.loc13_44.2 [symbolic = %.loc13_44.1 (constants.%.6d8)] // CHECK:STDOUT: %.loc13_17.1: type = splice_block %.loc13_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc13_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc13_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc13_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc13_15.1 (constants.%T)] // CHECK:STDOUT: %.loc13_34.1: type = splice_block %.loc13_34.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc13_32: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc13_32: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc13_34.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc13_32.2: type = symbolic_binding U, 1 [symbolic = %U.loc13_32.1 (constants.%U)] @@ -284,9 +284,9 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F.loc4(%T.loc4_15.2: type, %U.loc4_32.2: type) { -// CHECK:STDOUT: %T.patt.loc4_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T)] -// CHECK:STDOUT: %U.patt.loc4_32.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_32.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc4_32.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_32.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc4_32.1: type = symbolic_binding U, 1 [symbolic = %U.loc4_32.1 (constants.%U)] // CHECK:STDOUT: %ptr.loc4_44.1: type = ptr_type %T.loc4_15.1 [symbolic = %ptr.loc4_44.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc4_44.1: Core.Form = init_form %ptr.loc4_44.1 [symbolic = %.loc4_44.1 (constants.%.cb6)] @@ -298,9 +298,9 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F.loc13(%T.loc13_15.2: type, %U.loc13_32.2: type) { -// CHECK:STDOUT: %T.patt.loc13_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc13_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc13_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc13_15.1 (constants.%T)] -// CHECK:STDOUT: %U.patt.loc13_32.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc13_32.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc13_32.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc13_32.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc13_32.1: type = symbolic_binding U, 1 [symbolic = %U.loc13_32.1 (constants.%U)] // CHECK:STDOUT: %ptr.loc13_44.1: type = ptr_type %U.loc13_32.1 [symbolic = %ptr.loc13_44.1 (constants.%ptr.18e)] // CHECK:STDOUT: %.loc13_44.1: Core.Form = init_form %ptr.loc13_44.1 [symbolic = %.loc13_44.1 (constants.%.6d8)] @@ -346,12 +346,12 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: --- fail_reorder.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %U.patt.014: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %U.patt.cb8: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U.091: type = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T.67d [symbolic] // CHECK:STDOUT: %.cb6: Core.Form = init_form %ptr.e8f [symbolic] @@ -360,9 +360,9 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: %return.patt.d67: %pattern_type.4f4 = return_slot_pattern %return.param_patt.27f, %ptr.e8f [symbolic] // CHECK:STDOUT: %F.type.eb3ec9.1: type = fn_type @F.loc4 [concrete] // CHECK:STDOUT: %F.7088cc.1: %F.type.eb3ec9.1 = struct_value () [concrete] -// CHECK:STDOUT: %U.patt.d47: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %U.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %U.67d: type = symbolic_binding U, 0 [symbolic] -// CHECK:STDOUT: %T.patt.014: %pattern_type.98f = symbolic_binding_pattern T, 1 [symbolic] +// CHECK:STDOUT: %T.patt.cb8: %pattern_type.9a5 = symbolic_binding_pattern T, 1 [symbolic] // CHECK:STDOUT: %T.091: type = symbolic_binding T, 1 [symbolic] // CHECK:STDOUT: %ptr.18e: type = ptr_type %T.091 [symbolic] // CHECK:STDOUT: %.6d8: Core.Form = init_form %ptr.18e [symbolic] @@ -388,8 +388,8 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl.loc4: %F.type.eb3ec9.1 = fn_decl @F.loc4 [concrete = constants.%F.7088cc.1] { -// CHECK:STDOUT: %T.patt.loc4_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt.d47)] -// CHECK:STDOUT: %U.patt.loc4_32.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_32.2 (constants.%U.patt.014)] +// CHECK:STDOUT: %T.patt.loc4_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt.3a0)] +// CHECK:STDOUT: %U.patt.loc4_32.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_32.2 (constants.%U.patt.cb8)] // CHECK:STDOUT: %return.param_patt.loc4_44.1: @F.loc4.%pattern_type (%pattern_type.4f4) = out_param_pattern [symbolic = %return.param_patt.loc4_44.2 (constants.%return.param_patt.27f)] // CHECK:STDOUT: %return.patt.loc4_40.1: @F.loc4.%pattern_type (%pattern_type.4f4) = return_slot_pattern %return.param_patt.loc4_44.1, %ptr.loc4_44.2 [symbolic = %return.patt.loc4_40.2 (constants.%return.patt.d67)] // CHECK:STDOUT: } { @@ -397,12 +397,12 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: %ptr.loc4_44.2: type = ptr_type %T.ref [symbolic = %ptr.loc4_44.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc4_44.2: Core.Form = init_form %ptr.loc4_44.2 [symbolic = %.loc4_44.1 (constants.%.cb6)] // CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T.67d)] // CHECK:STDOUT: %.loc4_34.1: type = splice_block %.loc4_34.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4_32: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_32: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_34.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc4_32.2: type = symbolic_binding U, 1 [symbolic = %U.loc4_32.1 (constants.%U.091)] @@ -410,8 +410,8 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: %return: ref @F.loc4.%ptr.loc4_44.1 (%ptr.e8f) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl.loc13: %F.type.eb3ec9.2 = fn_decl @F.loc13 [concrete = constants.%F.7088cc.2] { -// CHECK:STDOUT: %U.patt.loc13_22.1: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc13_22.2 (constants.%U.patt.d47)] -// CHECK:STDOUT: %T.patt.loc13_39.1: %pattern_type.98f = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc13_39.2 (constants.%T.patt.014)] +// CHECK:STDOUT: %U.patt.loc13_22.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc13_22.2 (constants.%U.patt.3a0)] +// CHECK:STDOUT: %T.patt.loc13_39.1: %pattern_type.9a5 = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc13_39.2 (constants.%T.patt.cb8)] // CHECK:STDOUT: %return.param_patt.loc13_51.1: @F.loc13.%pattern_type (%pattern_type.423) = out_param_pattern [symbolic = %return.param_patt.loc13_51.2 (constants.%return.param_patt.534)] // CHECK:STDOUT: %return.patt.loc13_47.1: @F.loc13.%pattern_type (%pattern_type.423) = return_slot_pattern %return.param_patt.loc13_51.1, %ptr.loc13_51.2 [symbolic = %return.patt.loc13_47.2 (constants.%return.patt.669)] // CHECK:STDOUT: } { @@ -419,12 +419,12 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: %ptr.loc13_51.2: type = ptr_type %T.ref.loc13 [symbolic = %ptr.loc13_51.1 (constants.%ptr.18e)] // CHECK:STDOUT: %.loc13_51.2: Core.Form = init_form %ptr.loc13_51.2 [symbolic = %.loc13_51.1 (constants.%.6d8)] // CHECK:STDOUT: %.loc13_24.1: type = splice_block %.loc13_24.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc13_22: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc13_22: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc13_24.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc13_22.2: type = symbolic_binding U, 0 [symbolic = %U.loc13_22.1 (constants.%U.67d)] // CHECK:STDOUT: %.loc13_41.1: type = splice_block %.loc13_41.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc13_39: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc13_39: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc13_41.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_39.2: type = symbolic_binding T, 1 [symbolic = %T.loc13_39.1 (constants.%T.091)] @@ -434,9 +434,9 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F.loc4(%T.loc4_15.2: type, %U.loc4_32.2: type) { -// CHECK:STDOUT: %T.patt.loc4_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc4_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T.67d)] -// CHECK:STDOUT: %U.patt.loc4_32.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_32.2 (constants.%U.patt.014)] +// CHECK:STDOUT: %U.patt.loc4_32.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_32.2 (constants.%U.patt.cb8)] // CHECK:STDOUT: %U.loc4_32.1: type = symbolic_binding U, 1 [symbolic = %U.loc4_32.1 (constants.%U.091)] // CHECK:STDOUT: %ptr.loc4_44.1: type = ptr_type %T.loc4_15.1 [symbolic = %ptr.loc4_44.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc4_44.1: Core.Form = init_form %ptr.loc4_44.1 [symbolic = %.loc4_44.1 (constants.%.cb6)] @@ -448,9 +448,9 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F.loc13(%U.loc13_22.2: type, %T.loc13_39.2: type) { -// CHECK:STDOUT: %U.patt.loc13_22.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc13_22.2 (constants.%U.patt.d47)] +// CHECK:STDOUT: %U.patt.loc13_22.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc13_22.2 (constants.%U.patt.3a0)] // CHECK:STDOUT: %U.loc13_22.1: type = symbolic_binding U, 0 [symbolic = %U.loc13_22.1 (constants.%U.67d)] -// CHECK:STDOUT: %T.patt.loc13_39.2: %pattern_type.98f = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc13_39.2 (constants.%T.patt.014)] +// CHECK:STDOUT: %T.patt.loc13_39.2: %pattern_type.9a5 = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc13_39.2 (constants.%T.patt.cb8)] // CHECK:STDOUT: %T.loc13_39.1: type = symbolic_binding T, 1 [symbolic = %T.loc13_39.1 (constants.%T.091)] // CHECK:STDOUT: %ptr.loc13_51.1: type = ptr_type %T.loc13_39.1 [symbolic = %ptr.loc13_51.1 (constants.%ptr.18e)] // CHECK:STDOUT: %.loc13_51.1: Core.Form = init_form %ptr.loc13_51.1 [symbolic = %.loc13_51.1 (constants.%.6d8)] @@ -470,9 +470,9 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F.loc4(constants.%T.67d, constants.%U.091) { -// CHECK:STDOUT: %T.patt.loc4_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_15.1 => constants.%T.67d -// CHECK:STDOUT: %U.patt.loc4_32.2 => constants.%U.patt.014 +// CHECK:STDOUT: %U.patt.loc4_32.2 => constants.%U.patt.cb8 // CHECK:STDOUT: %U.loc4_32.1 => constants.%U.091 // CHECK:STDOUT: %ptr.loc4_44.1 => constants.%ptr.e8f // CHECK:STDOUT: %.loc4_44.1 => constants.%.cb6 @@ -482,9 +482,9 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F.loc13(constants.%U.67d, constants.%T.091) { -// CHECK:STDOUT: %U.patt.loc13_22.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc13_22.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc13_22.1 => constants.%U.67d -// CHECK:STDOUT: %T.patt.loc13_39.2 => constants.%T.patt.014 +// CHECK:STDOUT: %T.patt.loc13_39.2 => constants.%T.patt.cb8 // CHECK:STDOUT: %T.loc13_39.1 => constants.%T.091 // CHECK:STDOUT: %ptr.loc13_51.1 => constants.%ptr.18e // CHECK:STDOUT: %.loc13_51.1 => constants.%.6d8 @@ -496,12 +496,12 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: --- fail_rename.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %U.patt.014: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %U.patt.cb8: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U.091: type = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %ptr.e8f8f9.1: type = ptr_type %T.67d [symbolic] // CHECK:STDOUT: %.cb6cb9.1: Core.Form = init_form %ptr.e8f8f9.1 [symbolic] @@ -510,9 +510,9 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: %return.patt.d67681.1: %pattern_type.4f4b84.1 = return_slot_pattern %return.param_patt.27f587.1, %ptr.e8f8f9.1 [symbolic] // CHECK:STDOUT: %F.type.eb3ec9.1: type = fn_type @F.loc4 [concrete] // CHECK:STDOUT: %F.7088cc.1: %F.type.eb3ec9.1 = struct_value () [concrete] -// CHECK:STDOUT: %U.patt.d47: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %U.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %U.67d: type = symbolic_binding U, 0 [symbolic] -// CHECK:STDOUT: %T.patt.014: %pattern_type.98f = symbolic_binding_pattern T, 1 [symbolic] +// CHECK:STDOUT: %T.patt.cb8: %pattern_type.9a5 = symbolic_binding_pattern T, 1 [symbolic] // CHECK:STDOUT: %T.091: type = symbolic_binding T, 1 [symbolic] // CHECK:STDOUT: %ptr.e8f8f9.2: type = ptr_type %U.67d [symbolic] // CHECK:STDOUT: %.cb6cb9.2: Core.Form = init_form %ptr.e8f8f9.2 [symbolic] @@ -538,8 +538,8 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl.loc4: %F.type.eb3ec9.1 = fn_decl @F.loc4 [concrete = constants.%F.7088cc.1] { -// CHECK:STDOUT: %T.patt.loc4_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt.d47)] -// CHECK:STDOUT: %U.patt.loc4_32.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_32.2 (constants.%U.patt.014)] +// CHECK:STDOUT: %T.patt.loc4_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt.3a0)] +// CHECK:STDOUT: %U.patt.loc4_32.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_32.2 (constants.%U.patt.cb8)] // CHECK:STDOUT: %return.param_patt.loc4_44.1: @F.loc4.%pattern_type (%pattern_type.4f4b84.1) = out_param_pattern [symbolic = %return.param_patt.loc4_44.2 (constants.%return.param_patt.27f587.1)] // CHECK:STDOUT: %return.patt.loc4_40.1: @F.loc4.%pattern_type (%pattern_type.4f4b84.1) = return_slot_pattern %return.param_patt.loc4_44.1, %ptr.loc4_44.2 [symbolic = %return.patt.loc4_40.2 (constants.%return.patt.d67681.1)] // CHECK:STDOUT: } { @@ -547,12 +547,12 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: %ptr.loc4_44.2: type = ptr_type %T.ref [symbolic = %ptr.loc4_44.1 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %.loc4_44.2: Core.Form = init_form %ptr.loc4_44.2 [symbolic = %.loc4_44.1 (constants.%.cb6cb9.1)] // CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T.67d)] // CHECK:STDOUT: %.loc4_34.1: type = splice_block %.loc4_34.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4_32: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_32: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_34.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc4_32.2: type = symbolic_binding U, 1 [symbolic = %U.loc4_32.1 (constants.%U.091)] @@ -560,8 +560,8 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: %return: ref @F.loc4.%ptr.loc4_44.1 (%ptr.e8f8f9.1) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl.loc13: %F.type.eb3ec9.2 = fn_decl @F.loc13 [concrete = constants.%F.7088cc.2] { -// CHECK:STDOUT: %U.patt.loc13_15.1: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc13_15.2 (constants.%U.patt.d47)] -// CHECK:STDOUT: %T.patt.loc13_32.1: %pattern_type.98f = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc13_32.2 (constants.%T.patt.014)] +// CHECK:STDOUT: %U.patt.loc13_15.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc13_15.2 (constants.%U.patt.3a0)] +// CHECK:STDOUT: %T.patt.loc13_32.1: %pattern_type.9a5 = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc13_32.2 (constants.%T.patt.cb8)] // CHECK:STDOUT: %return.param_patt.loc13_44.1: @F.loc13.%pattern_type (%pattern_type.4f4b84.2) = out_param_pattern [symbolic = %return.param_patt.loc13_44.2 (constants.%return.param_patt.27f587.2)] // CHECK:STDOUT: %return.patt.loc13_40.1: @F.loc13.%pattern_type (%pattern_type.4f4b84.2) = return_slot_pattern %return.param_patt.loc13_44.1, %ptr.loc13_44.2 [symbolic = %return.patt.loc13_40.2 (constants.%return.patt.d67681.2)] // CHECK:STDOUT: } { @@ -569,12 +569,12 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: %ptr.loc13_44.2: type = ptr_type %U.ref [symbolic = %ptr.loc13_44.1 (constants.%ptr.e8f8f9.2)] // CHECK:STDOUT: %.loc13_44.2: Core.Form = init_form %ptr.loc13_44.2 [symbolic = %.loc13_44.1 (constants.%.cb6cb9.2)] // CHECK:STDOUT: %.loc13_17.1: type = splice_block %.loc13_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc13_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc13_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc13_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc13_15.2: type = symbolic_binding U, 0 [symbolic = %U.loc13_15.1 (constants.%U.67d)] // CHECK:STDOUT: %.loc13_34.1: type = splice_block %.loc13_34.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc13_32: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc13_32: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc13_34.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_32.2: type = symbolic_binding T, 1 [symbolic = %T.loc13_32.1 (constants.%T.091)] @@ -584,9 +584,9 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F.loc4(%T.loc4_15.2: type, %U.loc4_32.2: type) { -// CHECK:STDOUT: %T.patt.loc4_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc4_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T.67d)] -// CHECK:STDOUT: %U.patt.loc4_32.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_32.2 (constants.%U.patt.014)] +// CHECK:STDOUT: %U.patt.loc4_32.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_32.2 (constants.%U.patt.cb8)] // CHECK:STDOUT: %U.loc4_32.1: type = symbolic_binding U, 1 [symbolic = %U.loc4_32.1 (constants.%U.091)] // CHECK:STDOUT: %ptr.loc4_44.1: type = ptr_type %T.loc4_15.1 [symbolic = %ptr.loc4_44.1 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %.loc4_44.1: Core.Form = init_form %ptr.loc4_44.1 [symbolic = %.loc4_44.1 (constants.%.cb6cb9.1)] @@ -598,9 +598,9 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F.loc13(%U.loc13_15.2: type, %T.loc13_32.2: type) { -// CHECK:STDOUT: %U.patt.loc13_15.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc13_15.2 (constants.%U.patt.d47)] +// CHECK:STDOUT: %U.patt.loc13_15.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc13_15.2 (constants.%U.patt.3a0)] // CHECK:STDOUT: %U.loc13_15.1: type = symbolic_binding U, 0 [symbolic = %U.loc13_15.1 (constants.%U.67d)] -// CHECK:STDOUT: %T.patt.loc13_32.2: %pattern_type.98f = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc13_32.2 (constants.%T.patt.014)] +// CHECK:STDOUT: %T.patt.loc13_32.2: %pattern_type.9a5 = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc13_32.2 (constants.%T.patt.cb8)] // CHECK:STDOUT: %T.loc13_32.1: type = symbolic_binding T, 1 [symbolic = %T.loc13_32.1 (constants.%T.091)] // CHECK:STDOUT: %ptr.loc13_44.1: type = ptr_type %U.loc13_15.1 [symbolic = %ptr.loc13_44.1 (constants.%ptr.e8f8f9.2)] // CHECK:STDOUT: %.loc13_44.1: Core.Form = init_form %ptr.loc13_44.1 [symbolic = %.loc13_44.1 (constants.%.cb6cb9.2)] @@ -620,9 +620,9 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F.loc4(constants.%T.67d, constants.%U.091) { -// CHECK:STDOUT: %T.patt.loc4_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_15.1 => constants.%T.67d -// CHECK:STDOUT: %U.patt.loc4_32.2 => constants.%U.patt.014 +// CHECK:STDOUT: %U.patt.loc4_32.2 => constants.%U.patt.cb8 // CHECK:STDOUT: %U.loc4_32.1 => constants.%U.091 // CHECK:STDOUT: %ptr.loc4_44.1 => constants.%ptr.e8f8f9.1 // CHECK:STDOUT: %.loc4_44.1 => constants.%.cb6cb9.1 @@ -632,9 +632,9 @@ fn F(generic U: type, generic T: type) -> U* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F.loc13(constants.%U.67d, constants.%T.091) { -// CHECK:STDOUT: %U.patt.loc13_15.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc13_15.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc13_15.1 => constants.%U.67d -// CHECK:STDOUT: %T.patt.loc13_32.2 => constants.%T.patt.014 +// CHECK:STDOUT: %T.patt.loc13_32.2 => constants.%T.patt.cb8 // CHECK:STDOUT: %T.loc13_32.1 => constants.%T.091 // CHECK:STDOUT: %ptr.loc13_44.1 => constants.%ptr.e8f8f9.2 // CHECK:STDOUT: %.loc13_44.1 => constants.%.cb6cb9.2 diff --git a/toolchain/check/testdata/function/generic/resolve_used.carbon b/toolchain/check/testdata/function/generic/resolve_used.carbon index 5c0dcb409452..5595d9c2b73b 100644 --- a/toolchain/check/testdata/function/generic/resolve_used.carbon +++ b/toolchain/check/testdata/function/generic/resolve_used.carbon @@ -42,8 +42,8 @@ fn CallNegative() { // CHECK:STDOUT: --- fail_todo_call_monomorphization_error.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = symbolic_binding_pattern N, 0 [symbolic] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -127,7 +127,7 @@ fn CallNegative() { // CHECK:STDOUT: %N.patt.loc4_28.1: %pattern_type.dc0 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc4_28.2 (constants.%N.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %IntLiteral.ref [concrete = Core.IntLiteral] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref.loc4: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %IntLiteral.ref: type = name_ref IntLiteral, imports.%Core.IntLiteral [concrete = Core.IntLiteral] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/return_slot.carbon b/toolchain/check/testdata/function/generic/return_slot.carbon index 3e3f3754b434..5916f4cfa529 100644 --- a/toolchain/check/testdata/function/generic/return_slot.carbon +++ b/toolchain/check/testdata/function/generic/return_slot.carbon @@ -27,10 +27,10 @@ fn G() { // CHECK:STDOUT: --- return_slot.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Wrap.type: type = generic_class_type @Wrap [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -121,10 +121,10 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Wrap.decl: %Wrap.type = class_decl @Wrap [concrete = constants.%Wrap.generic] { -// CHECK:STDOUT: %T.patt.loc15_13.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_13.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_13.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_13.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_15.1: type = splice_block %.loc15_15.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_15.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_13.1 (constants.%T)] @@ -134,7 +134,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Wrap(%T.loc15_13.2: type) { -// CHECK:STDOUT: %T.patt.loc15_13.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_13.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_13.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_13.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc15_13.1: type = symbolic_binding T, 0 [symbolic = %T.loc15_13.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/function/generic/template_param.carbon b/toolchain/check/testdata/function/generic/template_param.carbon index 3246c304b10d..44509cd8b20e 100644 --- a/toolchain/check/testdata/function/generic/template_param.carbon +++ b/toolchain/check/testdata/function/generic/template_param.carbon @@ -26,8 +26,8 @@ fn G() { // CHECK:STDOUT: --- fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0, template [template] // CHECK:STDOUT: %T: type = symbolic_binding T, 0, template [template] @@ -50,7 +50,7 @@ fn G() { // CHECK:STDOUT: %T.patt.loc4_23.1: %pattern_type = symbolic_binding_pattern T, 0, template [template = %T.patt.loc4_23.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_25.1: type = splice_block %.loc4_25.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_25.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_23.2: type = symbolic_binding T, 0, template [template = %T.loc4_23.1 (constants.%T)] diff --git a/toolchain/check/testdata/function/generic/type_param.carbon b/toolchain/check/testdata/function/generic/type_param.carbon index 2b45c0c3023d..412af6122f23 100644 --- a/toolchain/check/testdata/function/generic/type_param.carbon +++ b/toolchain/check/testdata/function/generic/type_param.carbon @@ -21,10 +21,10 @@ fn F(generic T: type) { // CHECK:STDOUT: --- type_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -72,10 +72,10 @@ fn F(generic T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc15_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc15_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_17.1: type = splice_block %.loc15_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_15.1 (constants.%T.67d)] @@ -83,7 +83,7 @@ fn F(generic T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc15_15.2: type) { -// CHECK:STDOUT: %T.patt.loc15_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc15_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc15_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc15_15.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -152,7 +152,7 @@ fn F(generic T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc15_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc15_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc15_15.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/function/generic/type_param_scope.carbon b/toolchain/check/testdata/function/generic/type_param_scope.carbon index ca750d7e9b3f..174c9a4b57ea 100644 --- a/toolchain/check/testdata/function/generic/type_param_scope.carbon +++ b/toolchain/check/testdata/function/generic/type_param_scope.carbon @@ -25,8 +25,9 @@ fn F(generic T: type, n: T*) -> T* { // CHECK:STDOUT: --- local_let.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr: type = ptr_type %T.67d [symbolic] // CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr [symbolic] @@ -86,7 +87,7 @@ fn F(generic T: type, n: T*) -> T* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc4_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_15.1 => constants.%T.67d // CHECK:STDOUT: %ptr.loc4_27.1 => constants.%ptr // CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4 diff --git a/toolchain/check/testdata/generic/call_basic_depth.carbon b/toolchain/check/testdata/generic/call_basic_depth.carbon index f391b3e2293d..3ff125471d3d 100644 --- a/toolchain/check/testdata/generic/call_basic_depth.carbon +++ b/toolchain/check/testdata/generic/call_basic_depth.carbon @@ -49,11 +49,11 @@ fn M() { // CHECK:STDOUT: --- call_basic_depth.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] @@ -86,12 +86,12 @@ fn M() { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc19_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc19_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_7.2 (constants.%T.patt)] // CHECK:STDOUT: %x.param_patt.loc19_23.1: @F.%pattern_type (%pattern_type.51d) = value_param_pattern [symbolic = %x.param_patt.loc19_23.2 (constants.%x.param_patt.91d)] // CHECK:STDOUT: %x.patt.loc19_23.1: @F.%pattern_type (%pattern_type.51d) = wrapper_binding_pattern x, %x.param_patt.loc19_23.1 [symbolic = %x.patt.loc19_23.2 (constants.%x.patt.26065e.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc19_9.1: type = splice_block %.loc19_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc19_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc19_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc19_7.1 (constants.%T)] @@ -102,7 +102,7 @@ fn M() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc19_7.2: type) { -// CHECK:STDOUT: %T.patt.loc19_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_7.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc19_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_7.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc19_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc19_7.1 (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc19_7.1 [symbolic = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: %x.param_patt.loc19_23.2: @F.%pattern_type (%pattern_type.51d) = value_param_pattern [symbolic = %x.param_patt.loc19_23.2 (constants.%x.param_patt.91d)] diff --git a/toolchain/check/testdata/generic/complete_type.carbon b/toolchain/check/testdata/generic/complete_type.carbon index 8df6eb5b8cfa..d5fb3fd7688f 100644 --- a/toolchain/check/testdata/generic/complete_type.carbon +++ b/toolchain/check/testdata/generic/complete_type.carbon @@ -83,11 +83,11 @@ fn G(p: B*) { F(B, p); } // CHECK:STDOUT: --- fail_incomplete_in_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %A.type: type = generic_class_type @A [concrete] // CHECK:STDOUT: %A.generic: %A.type = struct_value () [concrete] @@ -126,10 +126,10 @@ fn G(p: B*) { F(B, p); } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %B.decl.loc4: type = class_decl @B [concrete = constants.%B] {} {} // CHECK:STDOUT: %A.decl: %A.type = class_decl @A [concrete = constants.%A.generic] { -// CHECK:STDOUT: %T.patt.loc6_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_12.1: type = splice_block %.loc6_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_10.1 (constants.%T)] @@ -158,7 +158,7 @@ fn G(p: B*) { F(B, p); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @A(%T.loc6_10.2: type) { -// CHECK:STDOUT: %T.patt.loc6_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_10.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -207,11 +207,11 @@ fn G(p: B*) { F(B, p); } // CHECK:STDOUT: --- incomplete_in_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T [symbolic] // CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr.e8f [symbolic] @@ -252,12 +252,12 @@ fn G(p: B*) { F(B, p); } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %B.decl.loc4: type = class_decl @B [concrete = constants.%B] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc6_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_15.2 (constants.%T.patt)] // CHECK:STDOUT: %v.param_patt.loc6_24.1: @F.%pattern_type (%pattern_type.4f4) = value_param_pattern [symbolic = %v.param_patt.loc6_24.2 (constants.%v.param_patt.88d)] // CHECK:STDOUT: %v.patt.loc6_24.1: @F.%pattern_type (%pattern_type.4f4) = wrapper_binding_pattern v, %v.param_patt.loc6_24.1 [symbolic = %v.patt.loc6_24.2 (constants.%v.patt.0c6)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_17.1: type = splice_block %.loc6_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_15.1 (constants.%T)] @@ -291,7 +291,7 @@ fn G(p: B*) { F(B, p); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc6_15.2: type) { -// CHECK:STDOUT: %T.patt.loc6_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_15.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc6_27.1: type = ptr_type %T.loc6_15.1 [symbolic = %ptr.loc6_27.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.loc6_27.1 [symbolic = %pattern_type (constants.%pattern_type.4f4)] @@ -343,11 +343,11 @@ fn G(p: B*) { F(B, p); } // CHECK:STDOUT: --- fail_incomplete_in_function_at_eof.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T [symbolic] // CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr.e8f [symbolic] @@ -389,12 +389,12 @@ fn G(p: B*) { F(B, p); } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %B.decl: type = class_decl @B [concrete = constants.%B] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc6_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_15.2 (constants.%T.patt)] // CHECK:STDOUT: %p.param_patt.loc6_24.1: @F.%pattern_type.loc6 (%pattern_type.4f4) = value_param_pattern [symbolic = %p.param_patt.loc6_24.2 (constants.%p.param_patt.a12)] // CHECK:STDOUT: %p.patt.loc6_24.1: @F.%pattern_type.loc6 (%pattern_type.4f4) = wrapper_binding_pattern p, %p.param_patt.loc6_24.1 [symbolic = %p.patt.loc6_24.2 (constants.%p.patt.b16)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_17.1: type = splice_block %.loc6_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_15.1 (constants.%T)] @@ -421,7 +421,7 @@ fn G(p: B*) { F(B, p); } // CHECK:STDOUT: class @B; // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc6_15.2: type) { -// CHECK:STDOUT: %T.patt.loc6_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_15.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc6_27.1: type = ptr_type %T.loc6_15.1 [symbolic = %ptr.loc6_27.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %pattern_type.loc6: type = pattern_type %ptr.loc6_27.1 [symbolic = %pattern_type.loc6 (constants.%pattern_type.4f4)] diff --git a/toolchain/check/testdata/generic/dependent_param.carbon b/toolchain/check/testdata/generic/dependent_param.carbon index a7e7d2497405..396a953eef2d 100644 --- a/toolchain/check/testdata/generic/dependent_param.carbon +++ b/toolchain/check/testdata/generic/dependent_param.carbon @@ -30,6 +30,7 @@ var n: i32 = Outer(i32).Inner(42).Get(); // CHECK:STDOUT: --- nested_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %pattern_type.e81: type = pattern_type %Copy.type [concrete] // CHECK:STDOUT: %T.patt.fe6: %pattern_type.e81 = symbolic_binding_pattern T, 0 [symbolic] diff --git a/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon b/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon index 79153749b2bd..a922584d771e 100644 --- a/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon +++ b/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon @@ -77,12 +77,12 @@ fn H(generic T: type) { // CHECK:STDOUT: --- fail_dot_self_symbolic_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] // CHECK:STDOUT: %A.type.55a: type = generic_interface_type @A [concrete] // CHECK:STDOUT: %A.generic: %A.type.55a = struct_value () [concrete] -// CHECK:STDOUT: %CC.patt: %pattern_type.98f = symbolic_binding_pattern CC, 0 [symbolic] +// CHECK:STDOUT: %CC.patt: %pattern_type.9a5 = symbolic_binding_pattern CC, 0 [symbolic] // CHECK:STDOUT: %CC: type = symbolic_binding CC, 0 [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -106,10 +106,10 @@ fn H(generic T: type) { // CHECK:STDOUT: %C.F.6da92d.1: %C.F.type.55fb78.1 = struct_value () [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %DD.patt: %pattern_type.98f = symbolic_binding_pattern DD, 0 [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.784: type = class_type @D, @D(%DD) [symbolic] -// CHECK:STDOUT: %T.patt.014: %pattern_type.98f = symbolic_binding_pattern T, 1 [symbolic] +// CHECK:STDOUT: %T.patt.cb8: %pattern_type.9a5 = symbolic_binding_pattern T, 1 [symbolic] // CHECK:STDOUT: %T.091: type = symbolic_binding T, 1 [symbolic] // CHECK:STDOUT: %D.G.type.f2c: type = fn_type @D.G, @D(%DD) [symbolic] // CHECK:STDOUT: %D.G.463: %D.G.type.f2c = struct_value () [symbolic] @@ -137,7 +137,7 @@ fn H(generic T: type) { // CHECK:STDOUT: %T.patt.loc11_24.1: @C.F.%pattern_type (%pattern_type.b1a) = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc11_24.2 (constants.%T.patt.0e4)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_32.1: type = splice_block %.loc11_32.2 [symbolic = %A_where.type (constants.%A_where.type.da43f4.1)] { -// CHECK:STDOUT: %.Self.frozen.loc11_24: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc11_24: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %A.ref: %A.type.55a = name_ref A, file.%A.decl [concrete = constants.%A.generic] // CHECK:STDOUT: %CC.ref.loc11_28: type = name_ref CC, @C.%CC.loc6_11.2 [symbolic = %CC (constants.%CC)] // CHECK:STDOUT: %A.type.loc11_30.2: type = facet_type <@A, @A(constants.%CC)> [symbolic = %A.type.loc11_30.1 (constants.%A.type.acd3aa.2)] @@ -275,7 +275,7 @@ fn H(generic T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @D.G(constants.%DD, constants.%T.091) { -// CHECK:STDOUT: %T.patt.loc16_17.2 => constants.%T.patt.014 +// CHECK:STDOUT: %T.patt.loc16_17.2 => constants.%T.patt.cb8 // CHECK:STDOUT: %T.loc16_17.1 => constants.%T.091 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -298,7 +298,7 @@ fn H(generic T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @D.G(constants.%empty_struct_type, constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc16_17.2 => constants.%T.patt.014 +// CHECK:STDOUT: %T.patt.loc16_17.2 => constants.%T.patt.cb8 // CHECK:STDOUT: %T.loc16_17.1 => constants.%T.67d // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -321,10 +321,10 @@ fn H(generic T: type) { // CHECK:STDOUT: --- dot_self_symbolic_in_impl_lookup.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %AA.patt: %pattern_type.98f = symbolic_binding_pattern AA, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %AA.patt: %pattern_type.9a5 = symbolic_binding_pattern AA, 0 [symbolic] // CHECK:STDOUT: %AA: type = symbolic_binding AA, 0 [symbolic] // CHECK:STDOUT: %A.type.55a: type = generic_interface_type @A [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -353,10 +353,10 @@ fn H(generic T: type) { // CHECK:STDOUT: %.a32: = impl_self_witness %BB.as_type, @B, @B(%ptr.e8f8f9.1) [symbolic] // CHECK:STDOUT: %B.impl_witness.1f1: = impl_witness @BB.as_type.as.B.impl.%B.impl_witness_table, @BB.as_type.as.B.impl(%AA, %BB.6ca) [symbolic] // CHECK:STDOUT: %require_complete.a5dc9d.1: = require_complete_type %B.type.4a0be4.1 [symbolic] -// CHECK:STDOUT: %DD.patt: %pattern_type.98f = symbolic_binding_pattern DD, 0 [symbolic] +// CHECK:STDOUT: %DD.patt: %pattern_type.9a5 = symbolic_binding_pattern DD, 0 [symbolic] // CHECK:STDOUT: %DD: type = symbolic_binding DD, 0 [symbolic] // CHECK:STDOUT: %D.784: type = class_type @D, @D(%DD) [symbolic] -// CHECK:STDOUT: %T.patt.014: %pattern_type.98f = symbolic_binding_pattern T, 1 [symbolic] +// CHECK:STDOUT: %T.patt.cb8: %pattern_type.9a5 = symbolic_binding_pattern T, 1 [symbolic] // CHECK:STDOUT: %T.091: type = symbolic_binding T, 1 [symbolic] // CHECK:STDOUT: %D.G.type.f2c: type = fn_type @D.G, @D(%DD) [symbolic] // CHECK:STDOUT: %D.G.463: %D.G.type.f2c = struct_value () [symbolic] @@ -378,7 +378,7 @@ fn H(generic T: type) { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: impl_decl @BB.as_type.as.B.impl [concrete] { -// CHECK:STDOUT: %AA.patt.loc9_16.1: %pattern_type.98f = symbolic_binding_pattern AA, 0 [symbolic = %AA.patt.loc9_16.2 (constants.%AA.patt)] +// CHECK:STDOUT: %AA.patt.loc9_16.1: %pattern_type.9a5 = symbolic_binding_pattern AA, 0 [symbolic = %AA.patt.loc9_16.2 (constants.%AA.patt)] // CHECK:STDOUT: %BB.patt.loc9_26.1: @BB.as_type.as.B.impl.%pattern_type (%pattern_type.98d) = symbolic_binding_pattern BB, 1 [symbolic = %BB.patt.loc9_26.2 (constants.%BB.patt.aea)] // CHECK:STDOUT: } { // CHECK:STDOUT: %BB.ref: @BB.as_type.as.B.impl.%A_where.type (%A_where.type.ce6fa0.1) = name_ref BB, %BB.loc9_26.1 [symbolic = %BB.loc9_26.2 (constants.%BB.6ca)] @@ -389,12 +389,12 @@ fn H(generic T: type) { // CHECK:STDOUT: %ptr.loc9_59.1: type = ptr_type %AA.ref.loc9_57 [symbolic = %ptr.loc9_59.2 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %B.type.loc9_60.1: type = facet_type <@B, @B(constants.%ptr.e8f8f9.1)> [symbolic = %B.type.loc9_60.2 (constants.%B.type.4a0be4.1)] // CHECK:STDOUT: %.loc9_18.1: type = splice_block %.loc9_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc9_16: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc9_16: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc9_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %AA.loc9_16.1: type = symbolic_binding AA, 0 [symbolic = %AA.loc9_16.2 (constants.%AA)] // CHECK:STDOUT: %.loc9_34.1: type = splice_block %.loc9_34.2 [symbolic = %A_where.type (constants.%A_where.type.ce6fa0.1)] { -// CHECK:STDOUT: %.Self.frozen.loc9_26: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc9_26: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %A.ref: %A.type.55a = name_ref A, file.%A.decl [concrete = constants.%A.generic] // CHECK:STDOUT: %AA.ref.loc9_30: type = name_ref AA, %AA.loc9_16.1 [symbolic = %AA.loc9_16.2 (constants.%AA)] // CHECK:STDOUT: %A.type.loc9_32.1: type = facet_type <@A, @A(constants.%AA)> [symbolic = %A.type.loc9_32.2 (constants.%A.type.acd3aa.1)] @@ -422,7 +422,7 @@ fn H(generic T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @BB.as_type.as.B.impl(%AA.loc9_16.1: type, %BB.loc9_26.1: @BB.as_type.as.B.impl.%A_where.type (%A_where.type.ce6fa0.1)) { -// CHECK:STDOUT: %AA.patt.loc9_16.2: %pattern_type.98f = symbolic_binding_pattern AA, 0 [symbolic = %AA.patt.loc9_16.2 (constants.%AA.patt)] +// CHECK:STDOUT: %AA.patt.loc9_16.2: %pattern_type.9a5 = symbolic_binding_pattern AA, 0 [symbolic = %AA.patt.loc9_16.2 (constants.%AA.patt)] // CHECK:STDOUT: %AA.loc9_16.2: type = symbolic_binding AA, 0 [symbolic = %AA.loc9_16.2 (constants.%AA)] // CHECK:STDOUT: %A.type.loc9_32.2: type = facet_type <@A, @A(%AA.loc9_16.2)> [symbolic = %A.type.loc9_32.2 (constants.%A.type.acd3aa.1)] // CHECK:STDOUT: %.Self.frozen.loc9_34.2: @BB.as_type.as.B.impl.%A.type.loc9_32.2 (%A.type.acd3aa.1) = symbolic_binding .Self [symbolic = %.Self.frozen.loc9_34.2 (constants.%.Self.frozen.14f)] @@ -535,7 +535,7 @@ fn H(generic T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @D.G(constants.%DD, constants.%T.091) { -// CHECK:STDOUT: %T.patt.loc15_17.2 => constants.%T.patt.014 +// CHECK:STDOUT: %T.patt.loc15_17.2 => constants.%T.patt.cb8 // CHECK:STDOUT: %T.loc15_17.1 => constants.%T.091 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -549,7 +549,7 @@ fn H(generic T: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @D.G(constants.%empty_struct_type, constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc15_17.2 => constants.%T.patt.014 +// CHECK:STDOUT: %T.patt.loc15_17.2 => constants.%T.patt.cb8 // CHECK:STDOUT: %T.loc15_17.1 => constants.%T.67d // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/generic/local.carbon b/toolchain/check/testdata/generic/local.carbon index 3f452ee4272d..e33aa1142915 100644 --- a/toolchain/check/testdata/generic/local.carbon +++ b/toolchain/check/testdata/generic/local.carbon @@ -50,13 +50,13 @@ class C(C: type) { // CHECK:STDOUT: --- class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -128,7 +128,7 @@ class C(C: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(%T.loc5_12.2: type) { -// CHECK:STDOUT: %T.patt.loc5_12.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_12.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc5_12.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_12.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc5_12.1: type = symbolic_binding T, 0 [symbolic = %T.loc5_12.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -155,10 +155,10 @@ class C(C: type) { // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { -// CHECK:STDOUT: %T.patt.loc5_12.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_12.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc5_12.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_12.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_14.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_12.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_12.1 (constants.%T)] @@ -229,10 +229,10 @@ class C(C: type) { // CHECK:STDOUT: --- fail_param_shadows_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %C.patt: %pattern_type = symbolic_binding_pattern C, 0 [symbolic] // CHECK:STDOUT: %C.67d: type = symbolic_binding C, 0 [symbolic] @@ -280,7 +280,7 @@ class C(C: type) { // CHECK:STDOUT: %C.patt.loc13_12.1: %pattern_type = symbolic_binding_pattern C, 0 [symbolic = %C.patt.loc13_12.2 (constants.%C.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_14.1: type = splice_block %.loc13_14.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc13_14.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %C.loc13_12.2: type = symbolic_binding C, 0 [symbolic = %C.loc13_12.1 (constants.%C.67d)] @@ -296,8 +296,8 @@ class C(C: type) { // CHECK:STDOUT: --- nonlocal_param_shadows_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %C.patt: %pattern_type = symbolic_binding_pattern C, 0 [symbolic] // CHECK:STDOUT: %C.67d: type = symbolic_binding C, 0 [symbolic] @@ -325,7 +325,7 @@ class C(C: type) { // CHECK:STDOUT: %C.patt.loc4_10.1: %pattern_type = symbolic_binding_pattern C, 0 [symbolic = %C.patt.loc4_10.2 (constants.%C.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_12.1: type = splice_block %.loc4_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %C.loc4_10.2: type = symbolic_binding C, 0 [symbolic = %C.loc4_10.1 (constants.%C.67d)] diff --git a/toolchain/check/testdata/generic/local_function.carbon b/toolchain/check/testdata/generic/local_function.carbon index 5f900f69d09d..f238ba5f0ff6 100644 --- a/toolchain/check/testdata/generic/local_function.carbon +++ b/toolchain/check/testdata/generic/local_function.carbon @@ -21,8 +21,8 @@ fn Test[unused T: type]() { // CHECK:STDOUT: --- local_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -51,7 +51,7 @@ fn Test[unused T: type]() { // CHECK:STDOUT: %T.patt.loc15_17.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_17.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_19.1: type = splice_block %.loc15_19.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_19.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_17.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_17.1 (constants.%T)] diff --git a/toolchain/check/testdata/generic/template/convert.carbon b/toolchain/check/testdata/generic/template/convert.carbon index c313b28fb596..36f4cd5d3a99 100644 --- a/toolchain/check/testdata/generic/template/convert.carbon +++ b/toolchain/check/testdata/generic/template/convert.carbon @@ -162,10 +162,10 @@ fn Test(d: D) { // CHECK:STDOUT: --- convert.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47011.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt.3a0592.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template] // CHECK:STDOUT: %T.67db0b.1: type = symbolic_binding T, 0, template [template] // CHECK:STDOUT: %pattern_type.51d1c4.1: type = pattern_type %T.67db0b.1 [template] // CHECK:STDOUT: %x.param_patt.91d: %pattern_type.51d1c4.1 = value_param_pattern [template] @@ -230,7 +230,7 @@ fn Test(d: D) { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc5_16.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc5_16.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %x.param_patt.loc5_25.1: @F.%pattern_type (%pattern_type.51d1c4.1) = value_param_pattern [template = %x.param_patt.loc5_25.2 (constants.%x.param_patt.91d)] // CHECK:STDOUT: %x.patt.loc5_25.1: @F.%pattern_type (%pattern_type.51d1c4.1) = wrapper_binding_pattern x, %x.param_patt.loc5_25.1 [template = %x.patt.loc5_25.2 (constants.%x.patt.260)] // CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt.a9a] @@ -239,7 +239,7 @@ fn Test(d: D) { // CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_33: Core.Form = init_form %i32.loc5 [concrete = constants.%.795f] // CHECK:STDOUT: %.loc5_18.1: type = splice_block %.loc5_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_16.2: type = symbolic_binding T, 0, template [template = %T.loc5_16.1 (constants.%T.67db0b.1)] @@ -252,7 +252,7 @@ fn Test(d: D) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc5_16.2: type) { -// CHECK:STDOUT: %T.patt.loc5_16.2: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc5_16.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %T.loc5_16.1: type = symbolic_binding T, 0, template [template = %T.loc5_16.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc5_16.1 [template = %pattern_type (constants.%pattern_type.51d1c4.1)] // CHECK:STDOUT: %x.param_patt.loc5_25.2: @F.%pattern_type (%pattern_type.51d1c4.1) = value_param_pattern [template = %x.param_patt.loc5_25.2 (constants.%x.param_patt.91d)] @@ -283,7 +283,7 @@ fn Test(d: D) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.67db0b.1) { -// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc5_16.1 => constants.%T.67db0b.1 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d1c4.1 // CHECK:STDOUT: %x.param_patt.loc5_25.2 => constants.%x.param_patt.91d @@ -291,7 +291,7 @@ fn Test(d: D) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%i32) { -// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc5_16.1 => constants.%i32 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6b6 // CHECK:STDOUT: %x.param_patt.loc5_25.2 => constants.%x.param_patt.cee @@ -304,7 +304,7 @@ fn Test(d: D) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%C) { -// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc5_16.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.98b // CHECK:STDOUT: %x.param_patt.loc5_25.2 => constants.%x.param_patt.0f9 @@ -319,10 +319,10 @@ fn Test(d: D) { // CHECK:STDOUT: --- as.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47011.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt.3a0592.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template] // CHECK:STDOUT: %T.67db0b.1: type = symbolic_binding T, 0, template [template] // CHECK:STDOUT: %pattern_type.51d1c4.1: type = pattern_type %T.67db0b.1 [template] // CHECK:STDOUT: %x.param_patt.91d: %pattern_type.51d1c4.1 = value_param_pattern [template] @@ -405,7 +405,7 @@ fn Test(d: D) { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %AsI32.decl: %AsI32.type = fn_decl @AsI32 [concrete = constants.%AsI32] { -// CHECK:STDOUT: %T.patt.loc5_20.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_20.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc5_20.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_20.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %x.param_patt.loc5_29.1: @AsI32.%pattern_type (%pattern_type.51d1c4.1) = value_param_pattern [template = %x.param_patt.loc5_29.2 (constants.%x.param_patt.91d)] // CHECK:STDOUT: %x.patt.loc5_29.1: @AsI32.%pattern_type (%pattern_type.51d1c4.1) = wrapper_binding_pattern x, %x.param_patt.loc5_29.1 [template = %x.patt.loc5_29.2 (constants.%x.patt.260)] // CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt.a9a] @@ -414,7 +414,7 @@ fn Test(d: D) { // CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_37: Core.Form = init_form %i32.loc5 [concrete = constants.%.795] // CHECK:STDOUT: %.loc5_22.1: type = splice_block %.loc5_22.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_22.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_20.2: type = symbolic_binding T, 0, template [template = %T.loc5_20.1 (constants.%T.67db0b.1)] @@ -427,7 +427,7 @@ fn Test(d: D) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @AsI32(%T.loc5_20.2: type) { -// CHECK:STDOUT: %T.patt.loc5_20.2: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_20.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc5_20.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_20.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %T.loc5_20.1: type = symbolic_binding T, 0, template [template = %T.loc5_20.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc5_20.1 [template = %pattern_type (constants.%pattern_type.51d1c4.1)] // CHECK:STDOUT: %x.param_patt.loc5_29.2: @AsI32.%pattern_type (%pattern_type.51d1c4.1) = value_param_pattern [template = %x.param_patt.loc5_29.2 (constants.%x.param_patt.91d)] @@ -451,7 +451,7 @@ fn Test(d: D) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @AsI32(constants.%T.67db0b.1) { -// CHECK:STDOUT: %T.patt.loc5_20.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc5_20.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc5_20.1 => constants.%T.67db0b.1 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d1c4.1 // CHECK:STDOUT: %x.param_patt.loc5_29.2 => constants.%x.param_patt.91d @@ -459,7 +459,7 @@ fn Test(d: D) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @AsI32(constants.%i32) { -// CHECK:STDOUT: %T.patt.loc5_20.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc5_20.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc5_20.1 => constants.%i32 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6b6 // CHECK:STDOUT: %x.param_patt.loc5_29.2 => constants.%x.param_patt.cee @@ -474,7 +474,7 @@ fn Test(d: D) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @AsI32(constants.%C) { -// CHECK:STDOUT: %T.patt.loc5_20.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc5_20.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc5_20.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.98b // CHECK:STDOUT: %x.param_patt.loc5_29.2 => constants.%x.param_patt.0f9 @@ -491,15 +491,15 @@ fn Test(d: D) { // CHECK:STDOUT: --- as_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47011.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt.3a0592.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template] // CHECK:STDOUT: %T.67db0b.1: type = symbolic_binding T, 0, template [template] // CHECK:STDOUT: %pattern_type.51d1c4.1: type = pattern_type %T.67db0b.1 [template] // CHECK:STDOUT: %x.param_patt.91d: %pattern_type.51d1c4.1 = value_param_pattern [template] // CHECK:STDOUT: %x.patt.260: %pattern_type.51d1c4.1 = wrapper_binding_pattern x, %x.param_patt.91d [template] -// CHECK:STDOUT: %U.patt.014: %pattern_type.98f = symbolic_binding_pattern U, 1, template [template] +// CHECK:STDOUT: %U.patt.cb8: %pattern_type.9a5 = symbolic_binding_pattern U, 1, template [template] // CHECK:STDOUT: %U.091: type = symbolic_binding U, 1, template [template] // CHECK:STDOUT: %AsType.type: type = fn_type @AsType [concrete] // CHECK:STDOUT: %AsType: %AsType.type = struct_value () [concrete] @@ -552,13 +552,13 @@ fn Test(d: D) { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %AsType.decl: %AsType.type = fn_decl @AsType [concrete = constants.%AsType] { -// CHECK:STDOUT: %T.patt.loc5_21.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_21.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc5_21.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_21.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %x.param_patt.loc5_30.1: @AsType.%pattern_type.loc5 (%pattern_type.51d1c4.1) = value_param_pattern [template = %x.param_patt.loc5_30.2 (constants.%x.param_patt.91d)] // CHECK:STDOUT: %x.patt.loc5_30.1: @AsType.%pattern_type.loc5 (%pattern_type.51d1c4.1) = wrapper_binding_pattern x, %x.param_patt.loc5_30.1 [template = %x.patt.loc5_30.2 (constants.%x.patt.260)] -// CHECK:STDOUT: %U.patt.loc5_45.1: %pattern_type.98f = symbolic_binding_pattern U, 1, template [template = %U.patt.loc5_45.2 (constants.%U.patt.014)] +// CHECK:STDOUT: %U.patt.loc5_45.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1, template [template = %U.patt.loc5_45.2 (constants.%U.patt.cb8)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_23.1: type = splice_block %.loc5_23.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc5_21: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc5_21: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_23.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_21.2: type = symbolic_binding T, 0, template [template = %T.loc5_21.1 (constants.%T.67db0b.1)] @@ -566,7 +566,7 @@ fn Test(d: D) { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc5_21.2 [template = %T.loc5_21.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %x: @AsType.%T.loc5_21.1 (%T.67db0b.1) = wrapper_binding x, %x.param // CHECK:STDOUT: %.loc5_47.1: type = splice_block %.loc5_47.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc5_45: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc5_45: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_47.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc5_45.2: type = symbolic_binding U, 1, template [template = %U.loc5_45.1 (constants.%U.091)] @@ -574,12 +574,12 @@ fn Test(d: D) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @AsType(%T.loc5_21.2: type, %U.loc5_45.2: type) { -// CHECK:STDOUT: %T.patt.loc5_21.2: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_21.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc5_21.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_21.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %T.loc5_21.1: type = symbolic_binding T, 0, template [template = %T.loc5_21.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %pattern_type.loc5: type = pattern_type %T.loc5_21.1 [template = %pattern_type.loc5 (constants.%pattern_type.51d1c4.1)] // CHECK:STDOUT: %x.param_patt.loc5_30.2: @AsType.%pattern_type.loc5 (%pattern_type.51d1c4.1) = value_param_pattern [template = %x.param_patt.loc5_30.2 (constants.%x.param_patt.91d)] // CHECK:STDOUT: %x.patt.loc5_30.2: @AsType.%pattern_type.loc5 (%pattern_type.51d1c4.1) = wrapper_binding_pattern x, %x.param_patt.loc5_30.2 [template = %x.patt.loc5_30.2 (constants.%x.patt.260)] -// CHECK:STDOUT: %U.patt.loc5_45.2: %pattern_type.98f = symbolic_binding_pattern U, 1, template [template = %U.patt.loc5_45.2 (constants.%U.patt.014)] +// CHECK:STDOUT: %U.patt.loc5_45.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1, template [template = %U.patt.loc5_45.2 (constants.%U.patt.cb8)] // CHECK:STDOUT: %U.loc5_45.1: type = symbolic_binding U, 1, template [template = %U.loc5_45.1 (constants.%U.091)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -608,22 +608,22 @@ fn Test(d: D) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @AsType(constants.%T.67db0b.1, constants.%U.091) { -// CHECK:STDOUT: %T.patt.loc5_21.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc5_21.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc5_21.1 => constants.%T.67db0b.1 // CHECK:STDOUT: %pattern_type.loc5 => constants.%pattern_type.51d1c4.1 // CHECK:STDOUT: %x.param_patt.loc5_30.2 => constants.%x.param_patt.91d // CHECK:STDOUT: %x.patt.loc5_30.2 => constants.%x.patt.260 -// CHECK:STDOUT: %U.patt.loc5_45.2 => constants.%U.patt.014 +// CHECK:STDOUT: %U.patt.loc5_45.2 => constants.%U.patt.cb8 // CHECK:STDOUT: %U.loc5_45.1 => constants.%U.091 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @AsType(constants.%i32, constants.%i32) { -// CHECK:STDOUT: %T.patt.loc5_21.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc5_21.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc5_21.1 => constants.%i32 // CHECK:STDOUT: %pattern_type.loc5 => constants.%pattern_type.6b6 // CHECK:STDOUT: %x.param_patt.loc5_30.2 => constants.%x.param_patt.cee // CHECK:STDOUT: %x.patt.loc5_30.2 => constants.%x.patt.e3b -// CHECK:STDOUT: %U.patt.loc5_45.2 => constants.%U.patt.014 +// CHECK:STDOUT: %U.patt.loc5_45.2 => constants.%U.patt.cb8 // CHECK:STDOUT: %U.loc5_45.1 => constants.%i32 // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -638,12 +638,12 @@ fn Test(d: D) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @AsType(constants.%C, constants.%i32) { -// CHECK:STDOUT: %T.patt.loc5_21.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc5_21.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc5_21.1 => constants.%C // CHECK:STDOUT: %pattern_type.loc5 => constants.%pattern_type.98b // CHECK:STDOUT: %x.param_patt.loc5_30.2 => constants.%x.param_patt.0f9 // CHECK:STDOUT: %x.patt.loc5_30.2 => constants.%x.patt.953 -// CHECK:STDOUT: %U.patt.loc5_45.2 => constants.%U.patt.014 +// CHECK:STDOUT: %U.patt.loc5_45.2 => constants.%U.patt.cb8 // CHECK:STDOUT: %U.loc5_45.1 => constants.%i32 // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/generic/template/dependence.carbon b/toolchain/check/testdata/generic/template/dependence.carbon index b9e69d660a15..d280849f52f9 100644 --- a/toolchain/check/testdata/generic/template/dependence.carbon +++ b/toolchain/check/testdata/generic/template/dependence.carbon @@ -38,10 +38,10 @@ fn F(template T: type, generic U: type) -> (T, U) { // CHECK:STDOUT: --- type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47011.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt.3a0592.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template] // CHECK:STDOUT: %T.67db0b.1: type = symbolic_binding T, 0, template [template] // CHECK:STDOUT: %ptr.e8f8f9.1: type = ptr_type %T.67db0b.1 [template] // CHECK:STDOUT: %ptr.125: type = ptr_type %ptr.e8f8f9.1 [template] @@ -120,7 +120,7 @@ fn F(template T: type, generic U: type) -> (T, U) { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc5_16.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc5_16.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %x.param_patt.loc5_25.1: @F.%pattern_type.loc5_25 (%pattern_type.8bb) = value_param_pattern [template = %x.param_patt.loc5_25.2 (constants.%x.param_patt.381)] // CHECK:STDOUT: %x.patt.loc5_25.1: @F.%pattern_type.loc5_25 (%pattern_type.8bb) = wrapper_binding_pattern x, %x.param_patt.loc5_25.1 [template = %x.patt.loc5_25.2 (constants.%x.patt.165)] // CHECK:STDOUT: %return.param_patt.loc5_36.1: @F.%pattern_type.loc5_36 (%pattern_type.4f4b84.1) = out_param_pattern [template = %return.param_patt.loc5_36.2 (constants.%return.param_patt.27f587.1)] @@ -130,7 +130,7 @@ fn F(template T: type, generic U: type) -> (T, U) { // CHECK:STDOUT: %ptr.loc5_36: type = ptr_type %T.ref.loc5_35 [template = %ptr.loc5_28.1 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %.loc5_36.2: Core.Form = init_form %ptr.loc5_36 [template = %.loc5_36.1 (constants.%.cb6cb9.1)] // CHECK:STDOUT: %.loc5_18.1: type = splice_block %.loc5_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_16.2: type = symbolic_binding T, 0, template [template = %T.loc5_16.1 (constants.%T.67db0b.1)] @@ -168,7 +168,7 @@ fn F(template T: type, generic U: type) -> (T, U) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc5_16.2: type) { -// CHECK:STDOUT: %T.patt.loc5_16.2: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc5_16.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %T.loc5_16.1: type = symbolic_binding T, 0, template [template = %T.loc5_16.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %ptr.loc5_28.1: type = ptr_type %T.loc5_16.1 [template = %ptr.loc5_28.1 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %ptr.loc5_29.1: type = ptr_type %ptr.loc5_28.1 [template = %ptr.loc5_29.1 (constants.%ptr.125)] @@ -216,7 +216,7 @@ fn F(template T: type, generic U: type) -> (T, U) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.67db0b.1) { -// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc5_16.1 => constants.%T.67db0b.1 // CHECK:STDOUT: %ptr.loc5_28.1 => constants.%ptr.e8f8f9.1 // CHECK:STDOUT: %ptr.loc5_29.1 => constants.%ptr.125 @@ -230,7 +230,7 @@ fn F(template T: type, generic U: type) -> (T, U) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%empty_tuple.type) { -// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc5_16.1 => constants.%empty_tuple.type // CHECK:STDOUT: %ptr.loc5_28.1 => constants.%ptr.843 // CHECK:STDOUT: %ptr.loc5_29.1 => constants.%ptr.74f @@ -258,15 +258,15 @@ fn F(template T: type, generic U: type) -> (T, U) { // CHECK:STDOUT: --- mixed.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template] // CHECK:STDOUT: %T: type = symbolic_binding T, 0, template [template] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 1 [symbolic] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%T, %U) [template] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%T, %U) [template] // CHECK:STDOUT: %tuple.type.a5e: type = tuple_type (%T, %U) [template] // CHECK:STDOUT: %.f18: Core.Form = init_form %tuple.type.a5e [template] // CHECK:STDOUT: %pattern_type.eee: type = pattern_type %tuple.type.a5e [template] @@ -292,23 +292,23 @@ fn F(template T: type, generic U: type) -> (T, U) { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc5_16.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt)] -// CHECK:STDOUT: %U.patt.loc5_33.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc5_33.2 (constants.%U.patt)] +// CHECK:STDOUT: %T.patt.loc5_16.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt)] +// CHECK:STDOUT: %U.patt.loc5_33.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc5_33.2 (constants.%U.patt)] // CHECK:STDOUT: %return.param_patt.loc5_49.1: @F.%pattern_type (%pattern_type.eee) = out_param_pattern [template = %return.param_patt.loc5_49.2 (constants.%return.param_patt.a41)] // CHECK:STDOUT: %return.patt.loc5_41.1: @F.%pattern_type (%pattern_type.eee) = return_slot_pattern %return.param_patt.loc5_49.1, %.loc5_49.3 [template = %return.patt.loc5_41.2 (constants.%return.patt.453)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc5: type = name_ref T, %T.loc5_16.2 [template = %T.loc5_16.1 (constants.%T)] // CHECK:STDOUT: %U.ref.loc5: type = name_ref U, %U.loc5_33.2 [symbolic = %U.loc5_33.1 (constants.%U)] -// CHECK:STDOUT: %.loc5_49.2: %tuple.type.24b = tuple_literal (%T.ref.loc5, %U.ref.loc5) [template = %tuple (constants.%tuple)] +// CHECK:STDOUT: %.loc5_49.2: %tuple.type.693 = tuple_literal (%T.ref.loc5, %U.ref.loc5) [template = %tuple (constants.%tuple)] // CHECK:STDOUT: %.loc5_49.3: type = converted %.loc5_49.2, constants.%tuple.type.a5e [template = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %.loc5_49.4: Core.Form = init_form %.loc5_49.3 [template = %.loc5_49.1 (constants.%.f18)] // CHECK:STDOUT: %.loc5_18.1: type = splice_block %.loc5_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc5_16: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc5_16: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_16.2: type = symbolic_binding T, 0, template [template = %T.loc5_16.1 (constants.%T)] // CHECK:STDOUT: %.loc5_35.1: type = splice_block %.loc5_35.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc5_33: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc5_33: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_35.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc5_33.2: type = symbolic_binding U, 1 [symbolic = %U.loc5_33.1 (constants.%U)] @@ -318,11 +318,11 @@ fn F(template T: type, generic U: type) -> (T, U) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc5_16.2: type, %U.loc5_33.2: type) { -// CHECK:STDOUT: %T.patt.loc5_16.2: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc5_16.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc5_16.1: type = symbolic_binding T, 0, template [template = %T.loc5_16.1 (constants.%T)] -// CHECK:STDOUT: %U.patt.loc5_33.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc5_33.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc5_33.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc5_33.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc5_33.1: type = symbolic_binding U, 1 [symbolic = %U.loc5_33.1 (constants.%U)] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%T.loc5_16.1, %U.loc5_33.1) [template = %tuple (constants.%tuple)] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%T.loc5_16.1, %U.loc5_33.1) [template = %tuple (constants.%tuple)] // CHECK:STDOUT: %tuple.type: type = tuple_type (%T.loc5_16.1, %U.loc5_33.1) [template = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %.loc5_49.1: Core.Form = init_form %tuple.type [template = %.loc5_49.1 (constants.%.f18)] // CHECK:STDOUT: %pattern_type: type = pattern_type %tuple.type [template = %pattern_type (constants.%pattern_type.eee)] diff --git a/toolchain/check/testdata/generic/template/member_access.carbon b/toolchain/check/testdata/generic/template/member_access.carbon index a91528ee21f1..04d24fd2a180 100644 --- a/toolchain/check/testdata/generic/template/member_access.carbon +++ b/toolchain/check/testdata/generic/template/member_access.carbon @@ -131,10 +131,10 @@ fn G() { // CHECK:STDOUT: --- simple_member_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47011.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt.3a0592.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template] // CHECK:STDOUT: %T.67db0b.1: type = symbolic_binding T, 0, template [template] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T.67db0b.1 [template] // CHECK:STDOUT: %x.param_patt.91d: %pattern_type.51d = value_param_pattern [template] @@ -204,7 +204,7 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc5_16.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc5_16.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %x.param_patt.loc5_25.1: @F.%pattern_type (%pattern_type.51d) = value_param_pattern [template = %x.param_patt.loc5_25.2 (constants.%x.param_patt.91d)] // CHECK:STDOUT: %x.patt.loc5_25.1: @F.%pattern_type (%pattern_type.51d) = wrapper_binding_pattern x, %x.param_patt.loc5_25.1 [template = %x.patt.loc5_25.2 (constants.%x.patt.260)] // CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt.a9a] @@ -213,7 +213,7 @@ fn G() { // CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_33: Core.Form = init_form %i32.loc5 [concrete = constants.%.795] // CHECK:STDOUT: %.loc5_18.1: type = splice_block %.loc5_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_16.2: type = symbolic_binding T, 0, template [template = %T.loc5_16.1 (constants.%T.67db0b.1)] @@ -226,7 +226,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc5_16.2: type) { -// CHECK:STDOUT: %T.patt.loc5_16.2: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc5_16.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_16.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %T.loc5_16.1: type = symbolic_binding T, 0, template [template = %T.loc5_16.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc5_16.1 [template = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: %x.param_patt.loc5_25.2: @F.%pattern_type (%pattern_type.51d) = value_param_pattern [template = %x.param_patt.loc5_25.2 (constants.%x.param_patt.91d)] @@ -262,7 +262,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.67db0b.1) { -// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc5_16.1 => constants.%T.67db0b.1 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d // CHECK:STDOUT: %x.param_patt.loc5_25.2 => constants.%x.param_patt.91d @@ -270,7 +270,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%C) { -// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc5_16.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.98b // CHECK:STDOUT: %x.param_patt.loc5_25.2 => constants.%x.param_patt.0f9 @@ -286,7 +286,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%struct_type.m.n) { -// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc5_16.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc5_16.1 => constants.%struct_type.m.n // CHECK:STDOUT: %pattern_type => constants.%pattern_type.860 // CHECK:STDOUT: %x.param_patt.loc5_25.2 => constants.%x.param_patt.c8a @@ -304,16 +304,16 @@ fn G() { // CHECK:STDOUT: --- compound_member_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %C.elem: type = unbound_element_type %C, %i32 [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47011.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt.3a0592.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template] // CHECK:STDOUT: %T.67db0b.1: type = symbolic_binding T, 0, template [template] // CHECK:STDOUT: %pattern_type.51d1c4.1: type = pattern_type %T.67db0b.1 [template] // CHECK:STDOUT: %x.param_patt.91d: %pattern_type.51d1c4.1 = value_param_pattern [template] @@ -402,7 +402,7 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc9_16.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc9_16.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc9_16.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc9_16.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %x.param_patt.loc9_25.1: @F.%pattern_type (%pattern_type.51d1c4.1) = value_param_pattern [template = %x.param_patt.loc9_25.2 (constants.%x.param_patt.91d)] // CHECK:STDOUT: %x.patt.loc9_25.1: @F.%pattern_type (%pattern_type.51d1c4.1) = wrapper_binding_pattern x, %x.param_patt.loc9_25.1 [template = %x.patt.loc9_25.2 (constants.%x.patt.260)] // CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt.a9a] @@ -411,7 +411,7 @@ fn G() { // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9_33: Core.Form = init_form %i32 [concrete = constants.%.795f] // CHECK:STDOUT: %.loc9_18.1: type = splice_block %.loc9_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_16.2: type = symbolic_binding T, 0, template [template = %T.loc9_16.1 (constants.%T.67db0b.1)] @@ -424,7 +424,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc9_16.2: type) { -// CHECK:STDOUT: %T.patt.loc9_16.2: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc9_16.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc9_16.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc9_16.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %T.loc9_16.1: type = symbolic_binding T, 0, template [template = %T.loc9_16.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc9_16.1 [template = %pattern_type (constants.%pattern_type.51d1c4.1)] // CHECK:STDOUT: %x.param_patt.loc9_25.2: @F.%pattern_type (%pattern_type.51d1c4.1) = value_param_pattern [template = %x.param_patt.loc9_25.2 (constants.%x.param_patt.91d)] @@ -462,7 +462,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.67db0b.1) { -// CHECK:STDOUT: %T.patt.loc9_16.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc9_16.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc9_16.1 => constants.%T.67db0b.1 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d1c4.1 // CHECK:STDOUT: %x.param_patt.loc9_25.2 => constants.%x.param_patt.91d @@ -470,7 +470,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%D) { -// CHECK:STDOUT: %T.patt.loc9_16.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc9_16.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc9_16.1 => constants.%D // CHECK:STDOUT: %pattern_type => constants.%pattern_type.d8d // CHECK:STDOUT: %x.param_patt.loc9_25.2 => constants.%x.param_patt.23b 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 29f0399745a4..ac0899262ba4 100644 --- a/toolchain/check/testdata/generic/template/member_out_of_line.carbon +++ b/toolchain/check/testdata/generic/template/member_out_of_line.carbon @@ -21,7 +21,7 @@ class Class(template T: type) { var n: T; } -// CHECK:STDERR: fail_todo_basic.carbon:[[@LINE+7]]:30: error: type `>>` of parameter 1 in redeclaration differs from previous parameter type `` [RedeclParamDiffersType] +// CHECK:STDERR: fail_todo_basic.carbon:[[@LINE+7]]:30: error: type `>>` of parameter 1 in redeclaration differs from previous parameter type `` [RedeclParamDiffersType] // CHECK:STDERR: fn Class(template T: type).F(n: T.U) -> T.U { // CHECK:STDERR: ^~~~~~ // CHECK:STDERR: fail_todo_basic.carbon:[[@LINE-8]]:8: note: previous declaration's corresponding parameter here [RedeclParamPrevious] @@ -32,7 +32,7 @@ fn Class(template T: type).F(n: T.U) -> T.U { return n; } -// CHECK:STDERR: fail_todo_basic.carbon:[[@LINE+7]]:1: error: function redeclaration differs because return type is `>` [FunctionRedeclReturnTypeDiffers] +// CHECK:STDERR: fail_todo_basic.carbon:[[@LINE+7]]:1: error: function redeclaration differs because return type is `>` [FunctionRedeclReturnTypeDiffers] // CHECK:STDERR: fn Class(template T: type).G(self) -> T.U { // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // CHECK:STDERR: fail_todo_basic.carbon:[[@LINE-18]]:3: note: previously declared with return type `T` [FunctionRedeclReturnTypePrevious] @@ -47,10 +47,10 @@ fn Class(template T: type).G(self) -> T.U { // CHECK:STDOUT: --- fail_todo_basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template] // CHECK:STDOUT: %T: type = symbolic_binding T, 0, template [template] // CHECK:STDOUT: %Class.type: type = generic_class_type @Class [concrete] // CHECK:STDOUT: %Class.generic: %Class.type = struct_value () [concrete] @@ -74,133 +74,133 @@ fn Class(template T: type).G(self) -> T.U { // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.n [template] // CHECK:STDOUT: %.96c438.1: type = type_of_inst @Class.F.loc18.%.loc18_34.1 [template] // CHECK:STDOUT: %.8220de.1: %.96c438.1 = splice_inst @Class.F.loc18.%.loc18_34.1 [template] -// CHECK:STDOUT: %.3cdd63.1: type = splice_inst @Class.F.loc18.%.loc18_34.4 [template] -// CHECK:STDOUT: %pattern_type.8c644d.1: type = pattern_type %.3cdd63.1 [template] -// CHECK:STDOUT: %n.param_patt.3a5: %pattern_type.8c644d.1 = value_param_pattern [template] -// CHECK:STDOUT: %n.patt.10a: %pattern_type.8c644d.1 = wrapper_binding_pattern n, %n.param_patt.3a5 [template] +// CHECK:STDOUT: %.c0c9e0.1: type = splice_inst @Class.F.loc18.%.loc18_34.4 [template] +// CHECK:STDOUT: %pattern_type.9646b3.1: type = pattern_type %.c0c9e0.1 [template] +// CHECK:STDOUT: %n.param_patt.58d: %pattern_type.9646b3.1 = value_param_pattern [template] +// CHECK:STDOUT: %n.patt.1bd: %pattern_type.9646b3.1 = wrapper_binding_pattern n, %n.param_patt.58d [template] // CHECK:STDOUT: %.96c438.2: type = type_of_inst @Class.F.loc18.%.loc18_42.1 [template] // CHECK:STDOUT: %.8220de.2: %.96c438.2 = splice_inst @Class.F.loc18.%.loc18_42.1 [template] -// CHECK:STDOUT: %.3cdd63.2: type = splice_inst @Class.F.loc18.%.loc18_42.4 [template] -// CHECK:STDOUT: %.a428e6.1: Core.Form = init_form %.3cdd63.2 [template] -// CHECK:STDOUT: %pattern_type.8c644d.2: type = pattern_type %.3cdd63.2 [template] -// CHECK:STDOUT: %return.param_patt.eed287.1: %pattern_type.8c644d.2 = out_param_pattern [template] -// CHECK:STDOUT: %return.patt.7881ad.1: %pattern_type.8c644d.2 = return_slot_pattern %return.param_patt.eed287.1, %.3cdd63.2 [template] +// CHECK:STDOUT: %.c0c9e0.2: type = splice_inst @Class.F.loc18.%.loc18_42.4 [template] +// CHECK:STDOUT: %.cfae01.1: Core.Form = init_form %.c0c9e0.2 [template] +// CHECK:STDOUT: %pattern_type.9646b3.2: type = pattern_type %.c0c9e0.2 [template] +// CHECK:STDOUT: %return.param_patt.6e70c7.1: %pattern_type.9646b3.2 = out_param_pattern [template] +// CHECK:STDOUT: %return.patt.60d394.1: %pattern_type.9646b3.2 = return_slot_pattern %return.param_patt.6e70c7.1, %.c0c9e0.2 [template] // CHECK:STDOUT: %.3d9: = access_member_action %T, U [template] // CHECK:STDOUT: %.cf6: type = type_of_inst %.3d9 [template] // CHECK:STDOUT: %.2db: %.cf6 = splice_inst %.3d9 [template] -// CHECK:STDOUT: %.dd0: = convert_to_value_action %.2db, type [template] -// CHECK:STDOUT: %.3e1: type = splice_inst %.dd0 [template] -// CHECK:STDOUT: %pattern_type.e0b: type = pattern_type %.3e1 [template] -// CHECK:STDOUT: %n.param_patt.396: %pattern_type.e0b = value_param_pattern [template] -// CHECK:STDOUT: %n.patt.f9c: %pattern_type.e0b = wrapper_binding_pattern n, %n.param_patt.396 [template] -// CHECK:STDOUT: %.764: Core.Form = init_form %.3e1 [template] -// CHECK:STDOUT: %return.param_patt.fc1: %pattern_type.e0b = out_param_pattern [template] -// CHECK:STDOUT: %return.patt.fcc: %pattern_type.e0b = return_slot_pattern %return.param_patt.fc1, %.3e1 [template] +// CHECK:STDOUT: %.c0f: = convert_to_value_action %.2db, type [template] +// CHECK:STDOUT: %.2b1: type = splice_inst %.c0f [template] +// CHECK:STDOUT: %pattern_type.731: type = pattern_type %.2b1 [template] +// CHECK:STDOUT: %n.param_patt.b5f: %pattern_type.731 = value_param_pattern [template] +// CHECK:STDOUT: %n.patt.164: %pattern_type.731 = wrapper_binding_pattern n, %n.param_patt.b5f [template] +// CHECK:STDOUT: %.a5c: Core.Form = init_form %.2b1 [template] +// CHECK:STDOUT: %return.param_patt.4cd: %pattern_type.731 = out_param_pattern [template] +// CHECK:STDOUT: %return.patt.a02: %pattern_type.731 = return_slot_pattern %return.param_patt.4cd, %.2b1 [template] // CHECK:STDOUT: %Class.F.type.9829b4.2: type = fn_type @Class.F.loc18, @Class(%T) [template] // CHECK:STDOUT: %Class.F.c6358f.2: %Class.F.type.9829b4.2 = struct_value () [template] -// CHECK:STDOUT: %require_complete.b6b0e1.1: = require_complete_type %.3cdd63.1 [template] -// CHECK:STDOUT: %require_complete.b6b0e1.2: = require_complete_type %.3cdd63.2 [template] +// CHECK:STDOUT: %require_complete.67aa49.1: = require_complete_type %.c0c9e0.1 [template] +// CHECK:STDOUT: %require_complete.67aa49.2: = require_complete_type %.c0c9e0.2 [template] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] -// CHECK:STDOUT: %.3a748a.1: type = type_of_inst @Class.F.loc18.%.loc19_11.11 [template] -// CHECK:STDOUT: %.c3d21a.1: %.3a748a.1 = splice_inst @Class.F.loc18.%.loc19_11.11 [template] -// CHECK:STDOUT: %.e294f6.1: type = type_of_inst @Class.F.loc18.%.loc19_11.14 [template] -// CHECK:STDOUT: %.491b27.1: %.e294f6.1 = splice_inst @Class.F.loc18.%.loc19_11.14 [template] -// CHECK:STDOUT: %.516: type = type_of_inst @Class.F.loc18.%.loc19_11.17 [template] -// CHECK:STDOUT: %.3f2: %.516 = splice_inst @Class.F.loc18.%.loc19_11.17 [template] -// CHECK:STDOUT: %.8db: type = type_of_inst @Class.F.loc18.%.loc19_11.20 [template] -// CHECK:STDOUT: %.d67: %.8db = splice_inst @Class.F.loc18.%.loc19_11.20 [template] -// CHECK:STDOUT: %.a56: %.3cdd63.2 = splice_inst @Class.F.loc18.%.loc19_11.23 [template] +// CHECK:STDOUT: %.d5a14b.1: type = type_of_inst @Class.F.loc18.%.loc19_11.11 [template] +// CHECK:STDOUT: %.13a60a.1: %.d5a14b.1 = splice_inst @Class.F.loc18.%.loc19_11.11 [template] +// CHECK:STDOUT: %.818a0b.1: type = type_of_inst @Class.F.loc18.%.loc19_11.14 [template] +// CHECK:STDOUT: %.3f02f6.1: %.818a0b.1 = splice_inst @Class.F.loc18.%.loc19_11.14 [template] +// CHECK:STDOUT: %.e73: type = type_of_inst @Class.F.loc18.%.loc19_11.17 [template] +// CHECK:STDOUT: %.442: %.e73 = splice_inst @Class.F.loc18.%.loc19_11.17 [template] +// CHECK:STDOUT: %.94c: type = type_of_inst @Class.F.loc18.%.loc19_11.20 [template] +// CHECK:STDOUT: %.776: %.94c = splice_inst @Class.F.loc18.%.loc19_11.20 [template] +// CHECK:STDOUT: %.0cb: %.c0c9e0.2 = splice_inst @Class.F.loc18.%.loc19_11.23 [template] // CHECK:STDOUT: %.96c438.3: type = type_of_inst @Class.G.loc29.%.loc29_40.1 [template] // CHECK:STDOUT: %.8220de.3: %.96c438.3 = splice_inst @Class.G.loc29.%.loc29_40.1 [template] -// CHECK:STDOUT: %.3cdd63.3: type = splice_inst @Class.G.loc29.%.loc29_40.4 [template] -// CHECK:STDOUT: %.a428e6.2: Core.Form = init_form %.3cdd63.3 [template] -// CHECK:STDOUT: %pattern_type.8c644d.3: type = pattern_type %.3cdd63.3 [template] -// CHECK:STDOUT: %return.param_patt.eed287.2: %pattern_type.8c644d.3 = out_param_pattern [template] -// CHECK:STDOUT: %return.patt.7881ad.2: %pattern_type.8c644d.3 = return_slot_pattern %return.param_patt.eed287.2, %.3cdd63.3 [template] +// CHECK:STDOUT: %.c0c9e0.3: type = splice_inst @Class.G.loc29.%.loc29_40.4 [template] +// CHECK:STDOUT: %.cfae01.2: Core.Form = init_form %.c0c9e0.3 [template] +// CHECK:STDOUT: %pattern_type.9646b3.3: type = pattern_type %.c0c9e0.3 [template] +// CHECK:STDOUT: %return.param_patt.6e70c7.2: %pattern_type.9646b3.3 = out_param_pattern [template] +// CHECK:STDOUT: %return.patt.60d394.2: %pattern_type.9646b3.3 = return_slot_pattern %return.param_patt.6e70c7.2, %.c0c9e0.3 [template] // CHECK:STDOUT: %Class.G.type.ea69e8.2: type = fn_type @Class.G.loc29, @Class(%T) [template] // CHECK:STDOUT: %Class.G.5aff6a.2: %Class.G.type.ea69e8.2 = struct_value () [template] // CHECK:STDOUT: %require_complete.4d9: = require_complete_type %Class [template] -// CHECK:STDOUT: %require_complete.b6b0e1.3: = require_complete_type %.3cdd63.3 [template] +// CHECK:STDOUT: %require_complete.67aa49.3: = require_complete_type %.c0c9e0.3 [template] // CHECK:STDOUT: %.dd9: type = type_of_inst @Class.G.loc29.%.loc30_14.3 [template] // CHECK:STDOUT: %.732: %.dd9 = splice_inst @Class.G.loc29.%.loc30_14.3 [template] -// CHECK:STDOUT: %.3a748a.2: type = type_of_inst @Class.G.loc29.%.loc30_16.11 [template] -// CHECK:STDOUT: %.c3d21a.2: %.3a748a.2 = splice_inst @Class.G.loc29.%.loc30_16.11 [template] -// CHECK:STDOUT: %.e294f6.2: type = type_of_inst @Class.G.loc29.%.loc30_16.14 [template] -// CHECK:STDOUT: %.491b27.2: %.e294f6.2 = splice_inst @Class.G.loc29.%.loc30_16.14 [template] -// CHECK:STDOUT: %.b0f: type = type_of_inst @Class.G.loc29.%.loc30_16.17 [template] -// CHECK:STDOUT: %.adc: %.b0f = splice_inst @Class.G.loc29.%.loc30_16.17 [template] -// CHECK:STDOUT: %.09a: type = type_of_inst @Class.G.loc29.%.loc30_16.20 [template] -// CHECK:STDOUT: %.cb0: %.09a = splice_inst @Class.G.loc29.%.loc30_16.20 [template] -// CHECK:STDOUT: %.957: %.3cdd63.3 = splice_inst @Class.G.loc29.%.loc30_16.23 [template] +// CHECK:STDOUT: %.d5a14b.2: type = type_of_inst @Class.G.loc29.%.loc30_16.11 [template] +// CHECK:STDOUT: %.13a60a.2: %.d5a14b.2 = splice_inst @Class.G.loc29.%.loc30_16.11 [template] +// CHECK:STDOUT: %.818a0b.2: type = type_of_inst @Class.G.loc29.%.loc30_16.14 [template] +// CHECK:STDOUT: %.3f02f6.2: %.818a0b.2 = splice_inst @Class.G.loc29.%.loc30_16.14 [template] +// CHECK:STDOUT: %.9f3: type = type_of_inst @Class.G.loc29.%.loc30_16.17 [template] +// CHECK:STDOUT: %.fbe: %.9f3 = splice_inst @Class.G.loc29.%.loc30_16.17 [template] +// CHECK:STDOUT: %.8fa: type = type_of_inst @Class.G.loc29.%.loc30_16.20 [template] +// CHECK:STDOUT: %.d64: %.8fa = splice_inst @Class.G.loc29.%.loc30_16.20 [template] +// CHECK:STDOUT: %.8a4: %.c0c9e0.3 = splice_inst @Class.G.loc29.%.loc30_16.23 [template] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { -// CHECK:STDOUT: %T.patt.loc5_23.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_23.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc5_23.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_23.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_25.1: type = splice_block %.loc5_25.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_25.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_23.2: type = symbolic_binding T, 0, template [template = %T.loc5_23.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %Class.F.decl: %Class.F.type.9829b4.2 = fn_decl @Class.F.loc18 [template = constants.%Class.F.c6358f.2] { -// CHECK:STDOUT: %n.param_patt.loc18_31.1: @Class.F.loc18.%pattern_type.loc18_31 (%pattern_type.8c644d.1) = value_param_pattern [template = %n.param_patt.loc18_31.2 (constants.%n.param_patt.3a5)] -// CHECK:STDOUT: %n.patt.loc18_31.1: @Class.F.loc18.%pattern_type.loc18_31 (%pattern_type.8c644d.1) = wrapper_binding_pattern n, %n.param_patt.loc18_31.1 [template = %n.patt.loc18_31.2 (constants.%n.patt.10a)] -// CHECK:STDOUT: %return.param_patt.loc18_42.1: @Class.F.loc18.%pattern_type.loc18_42 (%pattern_type.8c644d.2) = out_param_pattern [template = %return.param_patt.loc18_42.2 (constants.%return.param_patt.eed287.1)] -// CHECK:STDOUT: %return.patt.loc18_38.1: @Class.F.loc18.%pattern_type.loc18_42 (%pattern_type.8c644d.2) = return_slot_pattern %return.param_patt.loc18_42.1, %.loc18_42.9 [template = %return.patt.loc18_38.2 (constants.%return.patt.7881ad.1)] +// CHECK:STDOUT: %n.param_patt.loc18_31.1: @Class.F.loc18.%pattern_type.loc18_31 (%pattern_type.9646b3.1) = value_param_pattern [template = %n.param_patt.loc18_31.2 (constants.%n.param_patt.58d)] +// CHECK:STDOUT: %n.patt.loc18_31.1: @Class.F.loc18.%pattern_type.loc18_31 (%pattern_type.9646b3.1) = wrapper_binding_pattern n, %n.param_patt.loc18_31.1 [template = %n.patt.loc18_31.2 (constants.%n.patt.1bd)] +// CHECK:STDOUT: %return.param_patt.loc18_42.1: @Class.F.loc18.%pattern_type.loc18_42 (%pattern_type.9646b3.2) = out_param_pattern [template = %return.param_patt.loc18_42.2 (constants.%return.param_patt.6e70c7.1)] +// CHECK:STDOUT: %return.patt.loc18_38.1: @Class.F.loc18.%pattern_type.loc18_42 (%pattern_type.9646b3.2) = return_slot_pattern %return.param_patt.loc18_42.1, %.loc18_42.9 [template = %return.patt.loc18_38.2 (constants.%return.patt.60d394.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18_22.1: type = splice_block %.loc18_22.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc18_22.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc18_20: type = symbolic_binding T, 0, template [template = @Class.%T.loc5_23.1 (constants.%T)] // CHECK:STDOUT: %T.ref.loc18_41: type = name_ref T, %T.loc18_20 [template = %T.loc18_33 (constants.%T)] // CHECK:STDOUT: %.loc18_42.7: type = type_of_inst %.loc18_42.1 [template = %.loc18_42.2 (constants.%.96c438.2)] // CHECK:STDOUT: %.loc18_42.8: @Class.F.loc18.%.loc18_42.2 (%.96c438.2) = splice_inst %.loc18_42.1 [template = %.loc18_42.3 (constants.%.8220de.2)] -// CHECK:STDOUT: %.loc18_42.9: type = splice_inst %.loc18_42.4 [template = %.loc18_42.5 (constants.%.3cdd63.2)] -// CHECK:STDOUT: %.loc18_42.10: Core.Form = init_form %.loc18_42.9 [template = %.loc18_42.6 (constants.%.a428e6.1)] -// CHECK:STDOUT: %n.param: @Class.F.loc18.%.loc18_34.5 (%.3cdd63.1) = value_param call_param0 -// CHECK:STDOUT: %.loc18_34.6: type = splice_block %.loc18_34.9 [template = %.loc18_34.5 (constants.%.3cdd63.1)] { +// CHECK:STDOUT: %.loc18_42.9: type = splice_inst %.loc18_42.4 [template = %.loc18_42.5 (constants.%.c0c9e0.2)] +// CHECK:STDOUT: %.loc18_42.10: Core.Form = init_form %.loc18_42.9 [template = %.loc18_42.6 (constants.%.cfae01.1)] +// CHECK:STDOUT: %n.param: @Class.F.loc18.%.loc18_34.5 (%.c0c9e0.1) = value_param call_param0 +// CHECK:STDOUT: %.loc18_34.6: type = splice_block %.loc18_34.9 [template = %.loc18_34.5 (constants.%.c0c9e0.1)] { // CHECK:STDOUT: %T.ref.loc18_33: type = name_ref T, %T.loc18_20 [template = %T.loc18_33 (constants.%T)] // CHECK:STDOUT: %.loc18_34.7: type = type_of_inst %.loc18_34.1 [template = %.loc18_34.2 (constants.%.96c438.1)] // CHECK:STDOUT: %.loc18_34.8: @Class.F.loc18.%.loc18_34.2 (%.96c438.1) = splice_inst %.loc18_34.1 [template = %.loc18_34.3 (constants.%.8220de.1)] -// CHECK:STDOUT: %.loc18_34.9: type = splice_inst %.loc18_34.4 [template = %.loc18_34.5 (constants.%.3cdd63.1)] +// CHECK:STDOUT: %.loc18_34.9: type = splice_inst %.loc18_34.4 [template = %.loc18_34.5 (constants.%.c0c9e0.1)] // CHECK:STDOUT: } -// CHECK:STDOUT: %n: @Class.F.loc18.%.loc18_34.5 (%.3cdd63.1) = wrapper_binding n, %n.param -// CHECK:STDOUT: %return.param: ref @Class.F.loc18.%.loc18_42.5 (%.3cdd63.2) = out_param call_param1 -// CHECK:STDOUT: %return: ref @Class.F.loc18.%.loc18_42.5 (%.3cdd63.2) = return_slot %return.param +// CHECK:STDOUT: %n: @Class.F.loc18.%.loc18_34.5 (%.c0c9e0.1) = wrapper_binding n, %n.param +// CHECK:STDOUT: %return.param: ref @Class.F.loc18.%.loc18_42.5 (%.c0c9e0.2) = out_param call_param1 +// CHECK:STDOUT: %return: ref @Class.F.loc18.%.loc18_42.5 (%.c0c9e0.2) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Class.G.decl: %Class.G.type.ea69e8.2 = fn_decl @Class.G.loc29 [template = constants.%Class.G.5aff6a.2] { // CHECK:STDOUT: %self.param_patt.loc29_30.1: @Class.G.loc29.%pattern_type.loc29_30 (%pattern_type.36e) = value_param_pattern [template = %self.param_patt.loc29_30.2 (constants.%self.param_patt.f93)] // CHECK:STDOUT: %self.patt.loc29_30.1: @Class.G.loc29.%pattern_type.loc29_30 (%pattern_type.36e) = wrapper_binding_pattern self, %self.param_patt.loc29_30.1 [template = %self.patt.loc29_30.2 (constants.%self.patt.1dd)] -// CHECK:STDOUT: %return.param_patt.loc29_40.1: @Class.G.loc29.%pattern_type.loc29_40 (%pattern_type.8c644d.3) = out_param_pattern [template = %return.param_patt.loc29_40.2 (constants.%return.param_patt.eed287.2)] -// CHECK:STDOUT: %return.patt.loc29_36.1: @Class.G.loc29.%pattern_type.loc29_40 (%pattern_type.8c644d.3) = return_slot_pattern %return.param_patt.loc29_40.1, %.loc29_40.9 [template = %return.patt.loc29_36.2 (constants.%return.patt.7881ad.2)] +// CHECK:STDOUT: %return.param_patt.loc29_40.1: @Class.G.loc29.%pattern_type.loc29_40 (%pattern_type.9646b3.3) = out_param_pattern [template = %return.param_patt.loc29_40.2 (constants.%return.param_patt.6e70c7.2)] +// CHECK:STDOUT: %return.patt.loc29_36.1: @Class.G.loc29.%pattern_type.loc29_40 (%pattern_type.9646b3.3) = return_slot_pattern %return.param_patt.loc29_40.1, %.loc29_40.9 [template = %return.patt.loc29_36.2 (constants.%return.patt.60d394.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc29_22.1: type = splice_block %.loc29_22.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc29_22.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc29_20: type = symbolic_binding T, 0, template [template = @Class.%T.loc5_23.1 (constants.%T)] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc29_20 [template = %T.loc29_30 (constants.%T)] // CHECK:STDOUT: %.loc29_40.7: type = type_of_inst %.loc29_40.1 [template = %.loc29_40.2 (constants.%.96c438.3)] // CHECK:STDOUT: %.loc29_40.8: @Class.G.loc29.%.loc29_40.2 (%.96c438.3) = splice_inst %.loc29_40.1 [template = %.loc29_40.3 (constants.%.8220de.3)] -// CHECK:STDOUT: %.loc29_40.9: type = splice_inst %.loc29_40.4 [template = %.loc29_40.5 (constants.%.3cdd63.3)] -// CHECK:STDOUT: %.loc29_40.10: Core.Form = init_form %.loc29_40.9 [template = %.loc29_40.6 (constants.%.a428e6.2)] +// CHECK:STDOUT: %.loc29_40.9: type = splice_inst %.loc29_40.4 [template = %.loc29_40.5 (constants.%.c0c9e0.3)] +// CHECK:STDOUT: %.loc29_40.10: Core.Form = init_form %.loc29_40.9 [template = %.loc29_40.6 (constants.%.cfae01.2)] // CHECK:STDOUT: %self.param: @Class.G.loc29.%Class (%Class) = value_param call_param0 // CHECK:STDOUT: %.loc29_30.1: type = splice_block %Self.ref [template = %Class (constants.%Class)] { // CHECK:STDOUT: %.loc29_30.2: type = specific_constant constants.%Class, @Class(constants.%T) [template = %Class (constants.%Class)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc29_30.2 [template = %Class (constants.%Class)] // CHECK:STDOUT: } // CHECK:STDOUT: %self: @Class.G.loc29.%Class (%Class) = wrapper_binding self, %self.param -// CHECK:STDOUT: %return.param: ref @Class.G.loc29.%.loc29_40.5 (%.3cdd63.3) = out_param call_param1 -// CHECK:STDOUT: %return: ref @Class.G.loc29.%.loc29_40.5 (%.3cdd63.3) = return_slot %return.param +// CHECK:STDOUT: %return.param: ref @Class.G.loc29.%.loc29_40.5 (%.c0c9e0.3) = out_param call_param1 +// CHECK:STDOUT: %return: ref @Class.G.loc29.%.loc29_40.5 (%.c0c9e0.3) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class(%T.loc5_23.2: type) { -// CHECK:STDOUT: %T.patt.loc5_23.2: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_23.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc5_23.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc5_23.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc5_23.1: type = symbolic_binding T, 0, template [template = %T.loc5_23.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -293,51 +293,51 @@ fn Class(template T: type).G(self) -> T.U { // CHECK:STDOUT: %.loc18_34.2: type = type_of_inst %.loc18_34.1 [template = %.loc18_34.2 (constants.%.96c438.1)] // CHECK:STDOUT: %.loc18_34.3: @Class.F.loc18.%.loc18_34.2 (%.96c438.1) = splice_inst %.loc18_34.1 [template = %.loc18_34.3 (constants.%.8220de.1)] // CHECK:STDOUT: %.loc18_34.4: = convert_to_value_action %.loc18_34.8, type [template] -// CHECK:STDOUT: %.loc18_34.5: type = splice_inst %.loc18_34.4 [template = %.loc18_34.5 (constants.%.3cdd63.1)] -// CHECK:STDOUT: %pattern_type.loc18_31: type = pattern_type %.loc18_34.5 [template = %pattern_type.loc18_31 (constants.%pattern_type.8c644d.1)] -// CHECK:STDOUT: %n.param_patt.loc18_31.2: @Class.F.loc18.%pattern_type.loc18_31 (%pattern_type.8c644d.1) = value_param_pattern [template = %n.param_patt.loc18_31.2 (constants.%n.param_patt.3a5)] -// CHECK:STDOUT: %n.patt.loc18_31.2: @Class.F.loc18.%pattern_type.loc18_31 (%pattern_type.8c644d.1) = wrapper_binding_pattern n, %n.param_patt.loc18_31.2 [template = %n.patt.loc18_31.2 (constants.%n.patt.10a)] +// CHECK:STDOUT: %.loc18_34.5: type = splice_inst %.loc18_34.4 [template = %.loc18_34.5 (constants.%.c0c9e0.1)] +// CHECK:STDOUT: %pattern_type.loc18_31: type = pattern_type %.loc18_34.5 [template = %pattern_type.loc18_31 (constants.%pattern_type.9646b3.1)] +// CHECK:STDOUT: %n.param_patt.loc18_31.2: @Class.F.loc18.%pattern_type.loc18_31 (%pattern_type.9646b3.1) = value_param_pattern [template = %n.param_patt.loc18_31.2 (constants.%n.param_patt.58d)] +// CHECK:STDOUT: %n.patt.loc18_31.2: @Class.F.loc18.%pattern_type.loc18_31 (%pattern_type.9646b3.1) = wrapper_binding_pattern n, %n.param_patt.loc18_31.2 [template = %n.patt.loc18_31.2 (constants.%n.patt.1bd)] // CHECK:STDOUT: %.loc18_42.1: = access_member_action %T.ref.loc18_41, U [template] // CHECK:STDOUT: %.loc18_42.2: type = type_of_inst %.loc18_42.1 [template = %.loc18_42.2 (constants.%.96c438.2)] // CHECK:STDOUT: %.loc18_42.3: @Class.F.loc18.%.loc18_42.2 (%.96c438.2) = splice_inst %.loc18_42.1 [template = %.loc18_42.3 (constants.%.8220de.2)] // CHECK:STDOUT: %.loc18_42.4: = convert_to_value_action %.loc18_42.8, type [template] -// CHECK:STDOUT: %.loc18_42.5: type = splice_inst %.loc18_42.4 [template = %.loc18_42.5 (constants.%.3cdd63.2)] -// CHECK:STDOUT: %.loc18_42.6: Core.Form = init_form %.loc18_42.5 [template = %.loc18_42.6 (constants.%.a428e6.1)] -// CHECK:STDOUT: %pattern_type.loc18_42: type = pattern_type %.loc18_42.5 [template = %pattern_type.loc18_42 (constants.%pattern_type.8c644d.2)] -// CHECK:STDOUT: %return.param_patt.loc18_42.2: @Class.F.loc18.%pattern_type.loc18_42 (%pattern_type.8c644d.2) = out_param_pattern [template = %return.param_patt.loc18_42.2 (constants.%return.param_patt.eed287.1)] -// CHECK:STDOUT: %return.patt.loc18_38.2: @Class.F.loc18.%pattern_type.loc18_42 (%pattern_type.8c644d.2) = return_slot_pattern %return.param_patt.loc18_42.2, %.loc18_42.5 [template = %return.patt.loc18_38.2 (constants.%return.patt.7881ad.1)] +// CHECK:STDOUT: %.loc18_42.5: type = splice_inst %.loc18_42.4 [template = %.loc18_42.5 (constants.%.c0c9e0.2)] +// CHECK:STDOUT: %.loc18_42.6: Core.Form = init_form %.loc18_42.5 [template = %.loc18_42.6 (constants.%.cfae01.1)] +// CHECK:STDOUT: %pattern_type.loc18_42: type = pattern_type %.loc18_42.5 [template = %pattern_type.loc18_42 (constants.%pattern_type.9646b3.2)] +// CHECK:STDOUT: %return.param_patt.loc18_42.2: @Class.F.loc18.%pattern_type.loc18_42 (%pattern_type.9646b3.2) = out_param_pattern [template = %return.param_patt.loc18_42.2 (constants.%return.param_patt.6e70c7.1)] +// CHECK:STDOUT: %return.patt.loc18_38.2: @Class.F.loc18.%pattern_type.loc18_42 (%pattern_type.9646b3.2) = return_slot_pattern %return.param_patt.loc18_42.2, %.loc18_42.5 [template = %return.patt.loc18_38.2 (constants.%return.patt.60d394.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %require_complete.loc18_31: = require_complete_type %.loc18_34.5 [template = %require_complete.loc18_31 (constants.%require_complete.b6b0e1.1)] -// CHECK:STDOUT: %require_complete.loc18_38: = require_complete_type %.loc18_42.5 [template = %require_complete.loc18_38 (constants.%require_complete.b6b0e1.2)] -// CHECK:STDOUT: %.loc19_11.11: = call_action (constants.%ImplicitAs.generic, constants.%.3cdd63.2), false [template] -// CHECK:STDOUT: %.loc19_11.12: type = type_of_inst %.loc19_11.11 [template = %.loc19_11.12 (constants.%.3a748a.1)] -// CHECK:STDOUT: %.loc19_11.13: @Class.F.loc18.%.loc19_11.12 (%.3a748a.1) = splice_inst %.loc19_11.11 [template = %.loc19_11.13 (constants.%.c3d21a.1)] +// CHECK:STDOUT: %require_complete.loc18_31: = require_complete_type %.loc18_34.5 [template = %require_complete.loc18_31 (constants.%require_complete.67aa49.1)] +// CHECK:STDOUT: %require_complete.loc18_38: = require_complete_type %.loc18_42.5 [template = %require_complete.loc18_38 (constants.%require_complete.67aa49.2)] +// CHECK:STDOUT: %.loc19_11.11: = call_action (constants.%ImplicitAs.generic, constants.%.c0c9e0.2), false [template] +// CHECK:STDOUT: %.loc19_11.12: type = type_of_inst %.loc19_11.11 [template = %.loc19_11.12 (constants.%.d5a14b.1)] +// CHECK:STDOUT: %.loc19_11.13: @Class.F.loc18.%.loc19_11.12 (%.d5a14b.1) = splice_inst %.loc19_11.11 [template = %.loc19_11.13 (constants.%.13a60a.1)] // CHECK:STDOUT: %.loc19_11.14: = access_member_action %.loc19_11.2, Convert [template] -// CHECK:STDOUT: %.loc19_11.15: type = type_of_inst %.loc19_11.14 [template = %.loc19_11.15 (constants.%.e294f6.1)] -// CHECK:STDOUT: %.loc19_11.16: @Class.F.loc18.%.loc19_11.15 (%.e294f6.1) = splice_inst %.loc19_11.14 [template = %.loc19_11.16 (constants.%.491b27.1)] +// CHECK:STDOUT: %.loc19_11.15: type = type_of_inst %.loc19_11.14 [template = %.loc19_11.15 (constants.%.818a0b.1)] +// CHECK:STDOUT: %.loc19_11.16: @Class.F.loc18.%.loc19_11.15 (%.818a0b.1) = splice_inst %.loc19_11.14 [template = %.loc19_11.16 (constants.%.3f02f6.1)] // CHECK:STDOUT: %.loc19_11.17: = compound_member_access_action %n.ref, %.loc19_11.4 [template] -// CHECK:STDOUT: %.loc19_11.18: type = type_of_inst %.loc19_11.17 [template = %.loc19_11.18 (constants.%.516)] -// CHECK:STDOUT: %.loc19_11.19: @Class.F.loc18.%.loc19_11.18 (%.516) = splice_inst %.loc19_11.17 [template = %.loc19_11.19 (constants.%.3f2)] +// CHECK:STDOUT: %.loc19_11.18: type = type_of_inst %.loc19_11.17 [template = %.loc19_11.18 (constants.%.e73)] +// CHECK:STDOUT: %.loc19_11.19: @Class.F.loc18.%.loc19_11.18 (%.e73) = splice_inst %.loc19_11.17 [template = %.loc19_11.19 (constants.%.442)] // CHECK:STDOUT: %.loc19_11.20: = call_action (%.loc19_11.6), true [template] -// CHECK:STDOUT: %.loc19_11.21: type = type_of_inst %.loc19_11.20 [template = %.loc19_11.21 (constants.%.8db)] -// CHECK:STDOUT: %.loc19_11.22: @Class.F.loc18.%.loc19_11.21 (%.8db) = splice_inst %.loc19_11.20 [template = %.loc19_11.22 (constants.%.d67)] +// CHECK:STDOUT: %.loc19_11.21: type = type_of_inst %.loc19_11.20 [template = %.loc19_11.21 (constants.%.94c)] +// CHECK:STDOUT: %.loc19_11.22: @Class.F.loc18.%.loc19_11.21 (%.94c) = splice_inst %.loc19_11.20 [template = %.loc19_11.22 (constants.%.776)] // CHECK:STDOUT: %.loc19_11.23: = convert_to_category_action %.loc19_11.9, element10 [template] -// CHECK:STDOUT: %.loc19_11.24: @Class.F.loc18.%.loc18_42.5 (%.3cdd63.2) = splice_inst %.loc19_11.23 [template = %.loc19_11.24 (constants.%.a56)] +// CHECK:STDOUT: %.loc19_11.24: @Class.F.loc18.%.loc18_42.5 (%.c0c9e0.2) = splice_inst %.loc19_11.23 [template = %.loc19_11.24 (constants.%.0cb)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%n.param: @Class.F.loc18.%.loc18_34.5 (%.3cdd63.1)) -> out %return.param: @Class.F.loc18.%.loc18_42.5 (%.3cdd63.2) { +// CHECK:STDOUT: fn(%n.param: @Class.F.loc18.%.loc18_34.5 (%.c0c9e0.1)) -> out %return.param: @Class.F.loc18.%.loc18_42.5 (%.c0c9e0.2) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %n.ref: @Class.F.loc18.%.loc18_34.5 (%.3cdd63.1) = name_ref n, %n -// CHECK:STDOUT: %.loc19_11.1: type = type_of_inst %.loc19_11.11 [template = %.loc19_11.12 (constants.%.3a748a.1)] -// CHECK:STDOUT: %.loc19_11.2: @Class.F.loc18.%.loc19_11.12 (%.3a748a.1) = splice_inst %.loc19_11.11 [template = %.loc19_11.13 (constants.%.c3d21a.1)] -// CHECK:STDOUT: %.loc19_11.3: type = type_of_inst %.loc19_11.14 [template = %.loc19_11.15 (constants.%.e294f6.1)] -// CHECK:STDOUT: %.loc19_11.4: @Class.F.loc18.%.loc19_11.15 (%.e294f6.1) = splice_inst %.loc19_11.14 [template = %.loc19_11.16 (constants.%.491b27.1)] -// CHECK:STDOUT: %.loc19_11.5: type = type_of_inst %.loc19_11.17 [template = %.loc19_11.18 (constants.%.516)] -// CHECK:STDOUT: %.loc19_11.6: @Class.F.loc18.%.loc19_11.18 (%.516) = splice_inst %.loc19_11.17 [template = %.loc19_11.19 (constants.%.3f2)] -// CHECK:STDOUT: %.loc19_11.7: type = type_of_inst %.loc19_11.20 [template = %.loc19_11.21 (constants.%.8db)] -// CHECK:STDOUT: %.loc19_11.8: @Class.F.loc18.%.loc19_11.21 (%.8db) = splice_inst %.loc19_11.20 [template = %.loc19_11.22 (constants.%.d67)] -// CHECK:STDOUT: %.loc19_11.9: @Class.F.loc18.%.loc18_42.5 (%.3cdd63.2) = converted %n.ref, %.loc19_11.8 [template = %.loc19_11.22 (constants.%.d67)] -// CHECK:STDOUT: %.loc19_11.10: @Class.F.loc18.%.loc18_42.5 (%.3cdd63.2) = splice_inst %.loc19_11.23 [template = %.loc19_11.24 (constants.%.a56)] +// CHECK:STDOUT: %n.ref: @Class.F.loc18.%.loc18_34.5 (%.c0c9e0.1) = name_ref n, %n +// CHECK:STDOUT: %.loc19_11.1: type = type_of_inst %.loc19_11.11 [template = %.loc19_11.12 (constants.%.d5a14b.1)] +// CHECK:STDOUT: %.loc19_11.2: @Class.F.loc18.%.loc19_11.12 (%.d5a14b.1) = splice_inst %.loc19_11.11 [template = %.loc19_11.13 (constants.%.13a60a.1)] +// CHECK:STDOUT: %.loc19_11.3: type = type_of_inst %.loc19_11.14 [template = %.loc19_11.15 (constants.%.818a0b.1)] +// CHECK:STDOUT: %.loc19_11.4: @Class.F.loc18.%.loc19_11.15 (%.818a0b.1) = splice_inst %.loc19_11.14 [template = %.loc19_11.16 (constants.%.3f02f6.1)] +// CHECK:STDOUT: %.loc19_11.5: type = type_of_inst %.loc19_11.17 [template = %.loc19_11.18 (constants.%.e73)] +// CHECK:STDOUT: %.loc19_11.6: @Class.F.loc18.%.loc19_11.18 (%.e73) = splice_inst %.loc19_11.17 [template = %.loc19_11.19 (constants.%.442)] +// CHECK:STDOUT: %.loc19_11.7: type = type_of_inst %.loc19_11.20 [template = %.loc19_11.21 (constants.%.94c)] +// CHECK:STDOUT: %.loc19_11.8: @Class.F.loc18.%.loc19_11.21 (%.94c) = splice_inst %.loc19_11.20 [template = %.loc19_11.22 (constants.%.776)] +// CHECK:STDOUT: %.loc19_11.9: @Class.F.loc18.%.loc18_42.5 (%.c0c9e0.2) = converted %n.ref, %.loc19_11.8 [template = %.loc19_11.22 (constants.%.776)] +// CHECK:STDOUT: %.loc19_11.10: @Class.F.loc18.%.loc18_42.5 (%.c0c9e0.2) = splice_inst %.loc19_11.23 [template = %.loc19_11.24 (constants.%.0cb)] // CHECK:STDOUT: return %.loc19_11.10 to %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -352,48 +352,48 @@ fn Class(template T: type).G(self) -> T.U { // CHECK:STDOUT: %.loc29_40.2: type = type_of_inst %.loc29_40.1 [template = %.loc29_40.2 (constants.%.96c438.3)] // CHECK:STDOUT: %.loc29_40.3: @Class.G.loc29.%.loc29_40.2 (%.96c438.3) = splice_inst %.loc29_40.1 [template = %.loc29_40.3 (constants.%.8220de.3)] // CHECK:STDOUT: %.loc29_40.4: = convert_to_value_action %.loc29_40.8, type [template] -// CHECK:STDOUT: %.loc29_40.5: type = splice_inst %.loc29_40.4 [template = %.loc29_40.5 (constants.%.3cdd63.3)] -// CHECK:STDOUT: %.loc29_40.6: Core.Form = init_form %.loc29_40.5 [template = %.loc29_40.6 (constants.%.a428e6.2)] -// CHECK:STDOUT: %pattern_type.loc29_40: type = pattern_type %.loc29_40.5 [template = %pattern_type.loc29_40 (constants.%pattern_type.8c644d.3)] -// CHECK:STDOUT: %return.param_patt.loc29_40.2: @Class.G.loc29.%pattern_type.loc29_40 (%pattern_type.8c644d.3) = out_param_pattern [template = %return.param_patt.loc29_40.2 (constants.%return.param_patt.eed287.2)] -// CHECK:STDOUT: %return.patt.loc29_36.2: @Class.G.loc29.%pattern_type.loc29_40 (%pattern_type.8c644d.3) = return_slot_pattern %return.param_patt.loc29_40.2, %.loc29_40.5 [template = %return.patt.loc29_36.2 (constants.%return.patt.7881ad.2)] +// CHECK:STDOUT: %.loc29_40.5: type = splice_inst %.loc29_40.4 [template = %.loc29_40.5 (constants.%.c0c9e0.3)] +// CHECK:STDOUT: %.loc29_40.6: Core.Form = init_form %.loc29_40.5 [template = %.loc29_40.6 (constants.%.cfae01.2)] +// CHECK:STDOUT: %pattern_type.loc29_40: type = pattern_type %.loc29_40.5 [template = %pattern_type.loc29_40 (constants.%pattern_type.9646b3.3)] +// CHECK:STDOUT: %return.param_patt.loc29_40.2: @Class.G.loc29.%pattern_type.loc29_40 (%pattern_type.9646b3.3) = out_param_pattern [template = %return.param_patt.loc29_40.2 (constants.%return.param_patt.6e70c7.2)] +// CHECK:STDOUT: %return.patt.loc29_36.2: @Class.G.loc29.%pattern_type.loc29_40 (%pattern_type.9646b3.3) = return_slot_pattern %return.param_patt.loc29_40.2, %.loc29_40.5 [template = %return.patt.loc29_36.2 (constants.%return.patt.60d394.2)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc29_30: = require_complete_type %Class [template = %require_complete.loc29_30 (constants.%require_complete.4d9)] -// CHECK:STDOUT: %require_complete.loc29_36: = require_complete_type %.loc29_40.5 [template = %require_complete.loc29_36 (constants.%require_complete.b6b0e1.3)] +// CHECK:STDOUT: %require_complete.loc29_36: = require_complete_type %.loc29_40.5 [template = %require_complete.loc29_36 (constants.%require_complete.67aa49.3)] // CHECK:STDOUT: %.loc30_14.3: = access_member_action %self.ref, n [template] // CHECK:STDOUT: %.loc30_14.4: type = type_of_inst %.loc30_14.3 [template = %.loc30_14.4 (constants.%.dd9)] // CHECK:STDOUT: %.loc30_14.5: @Class.G.loc29.%.loc30_14.4 (%.dd9) = splice_inst %.loc30_14.3 [template = %.loc30_14.5 (constants.%.732)] -// CHECK:STDOUT: %.loc30_16.11: = call_action (constants.%ImplicitAs.generic, constants.%.3cdd63.3), false [template] -// CHECK:STDOUT: %.loc30_16.12: type = type_of_inst %.loc30_16.11 [template = %.loc30_16.12 (constants.%.3a748a.2)] -// CHECK:STDOUT: %.loc30_16.13: @Class.G.loc29.%.loc30_16.12 (%.3a748a.2) = splice_inst %.loc30_16.11 [template = %.loc30_16.13 (constants.%.c3d21a.2)] +// CHECK:STDOUT: %.loc30_16.11: = call_action (constants.%ImplicitAs.generic, constants.%.c0c9e0.3), false [template] +// CHECK:STDOUT: %.loc30_16.12: type = type_of_inst %.loc30_16.11 [template = %.loc30_16.12 (constants.%.d5a14b.2)] +// CHECK:STDOUT: %.loc30_16.13: @Class.G.loc29.%.loc30_16.12 (%.d5a14b.2) = splice_inst %.loc30_16.11 [template = %.loc30_16.13 (constants.%.13a60a.2)] // CHECK:STDOUT: %.loc30_16.14: = access_member_action %.loc30_16.2, Convert [template] -// CHECK:STDOUT: %.loc30_16.15: type = type_of_inst %.loc30_16.14 [template = %.loc30_16.15 (constants.%.e294f6.2)] -// CHECK:STDOUT: %.loc30_16.16: @Class.G.loc29.%.loc30_16.15 (%.e294f6.2) = splice_inst %.loc30_16.14 [template = %.loc30_16.16 (constants.%.491b27.2)] +// CHECK:STDOUT: %.loc30_16.15: type = type_of_inst %.loc30_16.14 [template = %.loc30_16.15 (constants.%.818a0b.2)] +// CHECK:STDOUT: %.loc30_16.16: @Class.G.loc29.%.loc30_16.15 (%.818a0b.2) = splice_inst %.loc30_16.14 [template = %.loc30_16.16 (constants.%.3f02f6.2)] // CHECK:STDOUT: %.loc30_16.17: = compound_member_access_action %.loc30_14.2, %.loc30_16.4 [template] -// CHECK:STDOUT: %.loc30_16.18: type = type_of_inst %.loc30_16.17 [template = %.loc30_16.18 (constants.%.b0f)] -// CHECK:STDOUT: %.loc30_16.19: @Class.G.loc29.%.loc30_16.18 (%.b0f) = splice_inst %.loc30_16.17 [template = %.loc30_16.19 (constants.%.adc)] +// CHECK:STDOUT: %.loc30_16.18: type = type_of_inst %.loc30_16.17 [template = %.loc30_16.18 (constants.%.9f3)] +// CHECK:STDOUT: %.loc30_16.19: @Class.G.loc29.%.loc30_16.18 (%.9f3) = splice_inst %.loc30_16.17 [template = %.loc30_16.19 (constants.%.fbe)] // CHECK:STDOUT: %.loc30_16.20: = call_action (%.loc30_16.6), true [template] -// CHECK:STDOUT: %.loc30_16.21: type = type_of_inst %.loc30_16.20 [template = %.loc30_16.21 (constants.%.09a)] -// CHECK:STDOUT: %.loc30_16.22: @Class.G.loc29.%.loc30_16.21 (%.09a) = splice_inst %.loc30_16.20 [template = %.loc30_16.22 (constants.%.cb0)] +// CHECK:STDOUT: %.loc30_16.21: type = type_of_inst %.loc30_16.20 [template = %.loc30_16.21 (constants.%.8fa)] +// CHECK:STDOUT: %.loc30_16.22: @Class.G.loc29.%.loc30_16.21 (%.8fa) = splice_inst %.loc30_16.20 [template = %.loc30_16.22 (constants.%.d64)] // CHECK:STDOUT: %.loc30_16.23: = convert_to_category_action %.loc30_16.9, element10 [template] -// CHECK:STDOUT: %.loc30_16.24: @Class.G.loc29.%.loc29_40.5 (%.3cdd63.3) = splice_inst %.loc30_16.23 [template = %.loc30_16.24 (constants.%.957)] +// CHECK:STDOUT: %.loc30_16.24: @Class.G.loc29.%.loc29_40.5 (%.c0c9e0.3) = splice_inst %.loc30_16.23 [template = %.loc30_16.24 (constants.%.8a4)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%self.param: @Class.G.loc29.%Class (%Class)) -> out %return.param: @Class.G.loc29.%.loc29_40.5 (%.3cdd63.3) { +// CHECK:STDOUT: fn(%self.param: @Class.G.loc29.%Class (%Class)) -> out %return.param: @Class.G.loc29.%.loc29_40.5 (%.c0c9e0.3) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %self.ref: @Class.G.loc29.%Class (%Class) = name_ref self, %self // CHECK:STDOUT: %.loc30_14.1: type = type_of_inst %.loc30_14.3 [template = %.loc30_14.4 (constants.%.dd9)] // CHECK:STDOUT: %.loc30_14.2: @Class.G.loc29.%.loc30_14.4 (%.dd9) = splice_inst %.loc30_14.3 [template = %.loc30_14.5 (constants.%.732)] -// CHECK:STDOUT: %.loc30_16.1: type = type_of_inst %.loc30_16.11 [template = %.loc30_16.12 (constants.%.3a748a.2)] -// CHECK:STDOUT: %.loc30_16.2: @Class.G.loc29.%.loc30_16.12 (%.3a748a.2) = splice_inst %.loc30_16.11 [template = %.loc30_16.13 (constants.%.c3d21a.2)] -// CHECK:STDOUT: %.loc30_16.3: type = type_of_inst %.loc30_16.14 [template = %.loc30_16.15 (constants.%.e294f6.2)] -// CHECK:STDOUT: %.loc30_16.4: @Class.G.loc29.%.loc30_16.15 (%.e294f6.2) = splice_inst %.loc30_16.14 [template = %.loc30_16.16 (constants.%.491b27.2)] -// CHECK:STDOUT: %.loc30_16.5: type = type_of_inst %.loc30_16.17 [template = %.loc30_16.18 (constants.%.b0f)] -// CHECK:STDOUT: %.loc30_16.6: @Class.G.loc29.%.loc30_16.18 (%.b0f) = splice_inst %.loc30_16.17 [template = %.loc30_16.19 (constants.%.adc)] -// CHECK:STDOUT: %.loc30_16.7: type = type_of_inst %.loc30_16.20 [template = %.loc30_16.21 (constants.%.09a)] -// CHECK:STDOUT: %.loc30_16.8: @Class.G.loc29.%.loc30_16.21 (%.09a) = splice_inst %.loc30_16.20 [template = %.loc30_16.22 (constants.%.cb0)] -// CHECK:STDOUT: %.loc30_16.9: @Class.G.loc29.%.loc29_40.5 (%.3cdd63.3) = converted %.loc30_14.2, %.loc30_16.8 [template = %.loc30_16.22 (constants.%.cb0)] -// CHECK:STDOUT: %.loc30_16.10: @Class.G.loc29.%.loc29_40.5 (%.3cdd63.3) = splice_inst %.loc30_16.23 [template = %.loc30_16.24 (constants.%.957)] +// CHECK:STDOUT: %.loc30_16.1: type = type_of_inst %.loc30_16.11 [template = %.loc30_16.12 (constants.%.d5a14b.2)] +// CHECK:STDOUT: %.loc30_16.2: @Class.G.loc29.%.loc30_16.12 (%.d5a14b.2) = splice_inst %.loc30_16.11 [template = %.loc30_16.13 (constants.%.13a60a.2)] +// CHECK:STDOUT: %.loc30_16.3: type = type_of_inst %.loc30_16.14 [template = %.loc30_16.15 (constants.%.818a0b.2)] +// CHECK:STDOUT: %.loc30_16.4: @Class.G.loc29.%.loc30_16.15 (%.818a0b.2) = splice_inst %.loc30_16.14 [template = %.loc30_16.16 (constants.%.3f02f6.2)] +// CHECK:STDOUT: %.loc30_16.5: type = type_of_inst %.loc30_16.17 [template = %.loc30_16.18 (constants.%.9f3)] +// CHECK:STDOUT: %.loc30_16.6: @Class.G.loc29.%.loc30_16.18 (%.9f3) = splice_inst %.loc30_16.17 [template = %.loc30_16.19 (constants.%.fbe)] +// CHECK:STDOUT: %.loc30_16.7: type = type_of_inst %.loc30_16.20 [template = %.loc30_16.21 (constants.%.8fa)] +// CHECK:STDOUT: %.loc30_16.8: @Class.G.loc29.%.loc30_16.21 (%.8fa) = splice_inst %.loc30_16.20 [template = %.loc30_16.22 (constants.%.d64)] +// CHECK:STDOUT: %.loc30_16.9: @Class.G.loc29.%.loc29_40.5 (%.c0c9e0.3) = converted %.loc30_14.2, %.loc30_16.8 [template = %.loc30_16.22 (constants.%.d64)] +// CHECK:STDOUT: %.loc30_16.10: @Class.G.loc29.%.loc29_40.5 (%.c0c9e0.3) = splice_inst %.loc30_16.23 [template = %.loc30_16.24 (constants.%.8a4)] // CHECK:STDOUT: return %.loc30_16.10 to %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -441,20 +441,20 @@ fn Class(template T: type).G(self) -> T.U { // CHECK:STDOUT: %.loc18_34.1 => constants.%.3d9 // CHECK:STDOUT: %.loc18_34.2 => constants.%.cf6 // CHECK:STDOUT: %.loc18_34.3 => constants.%.2db -// CHECK:STDOUT: %.loc18_34.4 => constants.%.dd0 -// CHECK:STDOUT: %.loc18_34.5 => constants.%.3e1 -// CHECK:STDOUT: %pattern_type.loc18_31 => constants.%pattern_type.e0b -// CHECK:STDOUT: %n.param_patt.loc18_31.2 => constants.%n.param_patt.396 -// CHECK:STDOUT: %n.patt.loc18_31.2 => constants.%n.patt.f9c +// CHECK:STDOUT: %.loc18_34.4 => constants.%.c0f +// CHECK:STDOUT: %.loc18_34.5 => constants.%.2b1 +// CHECK:STDOUT: %pattern_type.loc18_31 => constants.%pattern_type.731 +// CHECK:STDOUT: %n.param_patt.loc18_31.2 => constants.%n.param_patt.b5f +// CHECK:STDOUT: %n.patt.loc18_31.2 => constants.%n.patt.164 // CHECK:STDOUT: %.loc18_42.1 => constants.%.3d9 // CHECK:STDOUT: %.loc18_42.2 => constants.%.cf6 // CHECK:STDOUT: %.loc18_42.3 => constants.%.2db -// CHECK:STDOUT: %.loc18_42.4 => constants.%.dd0 -// CHECK:STDOUT: %.loc18_42.5 => constants.%.3e1 -// CHECK:STDOUT: %.loc18_42.6 => constants.%.764 -// CHECK:STDOUT: %pattern_type.loc18_42 => constants.%pattern_type.e0b -// CHECK:STDOUT: %return.param_patt.loc18_42.2 => constants.%return.param_patt.fc1 -// CHECK:STDOUT: %return.patt.loc18_38.2 => constants.%return.patt.fcc +// CHECK:STDOUT: %.loc18_42.4 => constants.%.c0f +// CHECK:STDOUT: %.loc18_42.5 => constants.%.2b1 +// CHECK:STDOUT: %.loc18_42.6 => constants.%.a5c +// CHECK:STDOUT: %pattern_type.loc18_42 => constants.%pattern_type.731 +// CHECK:STDOUT: %return.param_patt.loc18_42.2 => constants.%return.param_patt.4cd +// CHECK:STDOUT: %return.patt.loc18_38.2 => constants.%return.patt.a02 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Class.G.loc29(constants.%T) { @@ -466,11 +466,11 @@ fn Class(template T: type).G(self) -> T.U { // CHECK:STDOUT: %.loc29_40.1 => constants.%.3d9 // CHECK:STDOUT: %.loc29_40.2 => constants.%.cf6 // CHECK:STDOUT: %.loc29_40.3 => constants.%.2db -// CHECK:STDOUT: %.loc29_40.4 => constants.%.dd0 -// CHECK:STDOUT: %.loc29_40.5 => constants.%.3e1 -// CHECK:STDOUT: %.loc29_40.6 => constants.%.764 -// CHECK:STDOUT: %pattern_type.loc29_40 => constants.%pattern_type.e0b -// CHECK:STDOUT: %return.param_patt.loc29_40.2 => constants.%return.param_patt.fc1 -// CHECK:STDOUT: %return.patt.loc29_36.2 => constants.%return.patt.fcc +// CHECK:STDOUT: %.loc29_40.4 => constants.%.c0f +// CHECK:STDOUT: %.loc29_40.5 => constants.%.2b1 +// CHECK:STDOUT: %.loc29_40.6 => constants.%.a5c +// CHECK:STDOUT: %pattern_type.loc29_40 => constants.%pattern_type.731 +// CHECK:STDOUT: %return.param_patt.loc29_40.2 => constants.%return.param_patt.4cd +// CHECK:STDOUT: %return.patt.loc29_36.2 => constants.%return.patt.a02 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/generic/template/operator.carbon b/toolchain/check/testdata/generic/template/operator.carbon index 40a41bfa06d1..f442bf5ba65e 100644 --- a/toolchain/check/testdata/generic/template/operator.carbon +++ b/toolchain/check/testdata/generic/template/operator.carbon @@ -77,6 +77,7 @@ fn G() { // CHECK:STDOUT: --- assign.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -85,10 +86,9 @@ fn G() { // CHECK:STDOUT: %C.elem: type = unbound_element_type %C, %i32 [concrete] // CHECK:STDOUT: %struct_type.x.a15: type = struct_type {.x: %i32} [concrete] // CHECK:STDOUT: %complete_type.0c6: = complete_type_witness %struct_type.x.a15 [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47011.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt.3a0592.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template] // CHECK:STDOUT: %T.67db0b.1: type = symbolic_binding T, 0, template [template] // CHECK:STDOUT: %pattern_type.51d1c4.1: type = pattern_type %T.67db0b.1 [template] // CHECK:STDOUT: %t.param_patt.d4a: %pattern_type.51d1c4.1 = ref_param_pattern [template] @@ -187,12 +187,12 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc8_16.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc8_16.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc8_16.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc8_16.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %t.param_patt.loc8_29.1: @F.%pattern_type (%pattern_type.51d1c4.1) = ref_param_pattern [template = %t.param_patt.loc8_29.2 (constants.%t.param_patt.d4a)] // CHECK:STDOUT: %t.patt.loc8_29.1: @F.%pattern_type (%pattern_type.51d1c4.1) = wrapper_binding_pattern t, %t.param_patt.loc8_29.1 [template = %t.patt.loc8_29.2 (constants.%t.patt.e90)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_18.1: type = splice_block %.loc8_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_16.2: type = symbolic_binding T, 0, template [template = %T.loc8_16.1 (constants.%T.67db0b.1)] @@ -203,7 +203,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc8_16.2: type) { -// CHECK:STDOUT: %T.patt.loc8_16.2: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc8_16.2 (constants.%T.patt.d47011.1)] +// CHECK:STDOUT: %T.patt.loc8_16.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc8_16.2 (constants.%T.patt.3a0592.1)] // CHECK:STDOUT: %T.loc8_16.1: type = symbolic_binding T, 0, template [template = %T.loc8_16.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc8_16.1 [template = %pattern_type (constants.%pattern_type.51d1c4.1)] // CHECK:STDOUT: %t.param_patt.loc8_29.2: @F.%pattern_type (%pattern_type.51d1c4.1) = ref_param_pattern [template = %t.param_patt.loc8_29.2 (constants.%t.param_patt.d4a)] @@ -255,7 +255,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.67db0b.1) { -// CHECK:STDOUT: %T.patt.loc8_16.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc8_16.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc8_16.1 => constants.%T.67db0b.1 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d1c4.1 // CHECK:STDOUT: %t.param_patt.loc8_29.2 => constants.%t.param_patt.d4a @@ -263,7 +263,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%C) { -// CHECK:STDOUT: %T.patt.loc8_16.2 => constants.%T.patt.d47011.1 +// CHECK:STDOUT: %T.patt.loc8_16.2 => constants.%T.patt.3a0592.1 // CHECK:STDOUT: %T.loc8_16.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.98b // CHECK:STDOUT: %t.param_patt.loc8_29.2 => constants.%t.param_patt.df1 diff --git a/toolchain/check/testdata/generic/template/template_access_assoc_const.carbon b/toolchain/check/testdata/generic/template/template_access_assoc_const.carbon index bb25c6d0c129..051b46621d7e 100644 --- a/toolchain/check/testdata/generic/template/template_access_assoc_const.carbon +++ b/toolchain/check/testdata/generic/template/template_access_assoc_const.carbon @@ -29,71 +29,71 @@ interface I(template T: type, N: T.I1) { // CHECK:STDOUT: --- template_access_assoc_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template] // CHECK:STDOUT: %T: type = symbolic_binding T, 0, template [template] // CHECK:STDOUT: %.79c: type = type_of_inst @I.%.loc16_35.1 [template] // CHECK:STDOUT: %.e63: %.79c = splice_inst @I.%.loc16_35.1 [template] -// CHECK:STDOUT: %.c68: type = splice_inst @I.%.loc16_35.4 [template] -// CHECK:STDOUT: %pattern_type.6d1: type = pattern_type %.c68 [template] -// CHECK:STDOUT: %N.patt.718: %pattern_type.6d1 = symbolic_binding_pattern N, 1 [template] -// CHECK:STDOUT: %N: %.c68 = symbolic_binding N, 1 [template] +// CHECK:STDOUT: %.c96: type = splice_inst @I.%.loc16_35.4 [template] +// CHECK:STDOUT: %pattern_type.9f6: type = pattern_type %.c96 [template] +// CHECK:STDOUT: %N.patt.b37: %pattern_type.9f6 = symbolic_binding_pattern N, 1 [template] +// CHECK:STDOUT: %N: %.c96 = symbolic_binding N, 1 [template] // CHECK:STDOUT: %.299: = access_member_action %T, I1 [template] // CHECK:STDOUT: %.912: type = type_of_inst %.299 [template] // CHECK:STDOUT: %.a7e: %.912 = splice_inst %.299 [template] -// CHECK:STDOUT: %.32e: = convert_to_value_action %.a7e, type [template] -// CHECK:STDOUT: %.408: type = splice_inst %.32e [template] -// CHECK:STDOUT: %pattern_type.d1e: type = pattern_type %.408 [template] -// CHECK:STDOUT: %N.patt.47e: %pattern_type.d1e = symbolic_binding_pattern N, 1 [template] +// CHECK:STDOUT: %.2f4: = convert_to_value_action %.a7e, type [template] +// CHECK:STDOUT: %.2ad: type = splice_inst %.2f4 [template] +// CHECK:STDOUT: %pattern_type.11c: type = pattern_type %.2ad [template] +// CHECK:STDOUT: %N.patt.0f4: %pattern_type.11c = symbolic_binding_pattern N, 1 [template] // CHECK:STDOUT: %I.type.335: type = generic_interface_type @I [concrete] // CHECK:STDOUT: %I.generic: %I.type.335 = struct_value () [concrete] -// CHECK:STDOUT: %I.type.223: type = facet_type <@I, @I(%T, %N)> [template] -// CHECK:STDOUT: %Self: %I.type.223 = symbolic_binding Self, 2 [template] +// CHECK:STDOUT: %I.type.c6a: type = facet_type <@I, @I(%T, %N)> [template] +// CHECK:STDOUT: %Self: %I.type.c6a = symbolic_binding Self, 2 [template] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I, @I(%T, %N) [template] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.WithSelf.%I1 [template] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %I.decl: %I.type.335 = interface_decl @I [concrete = constants.%I.generic] { -// CHECK:STDOUT: %T.patt.loc16_23.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc16_23.2 (constants.%T.patt)] -// CHECK:STDOUT: %N.patt.loc16_32.1: @I.%pattern_type (%pattern_type.6d1) = symbolic_binding_pattern N, 1 [template = %N.patt.loc16_32.2 (constants.%N.patt.718)] +// CHECK:STDOUT: %T.patt.loc16_23.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc16_23.2 (constants.%T.patt)] +// CHECK:STDOUT: %N.patt.loc16_32.1: @I.%pattern_type (%pattern_type.9f6) = symbolic_binding_pattern N, 1 [template = %N.patt.loc16_32.2 (constants.%N.patt.b37)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc16_25.1: type = splice_block %.loc16_25.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc16_23: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc16_23: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc16_25.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc16_23.2: type = symbolic_binding T, 0, template [template = %T.loc16_23.1 (constants.%T)] -// CHECK:STDOUT: %.loc16_35.6: type = splice_block %.loc16_35.9 [template = %.loc16_35.5 (constants.%.c68)] { -// CHECK:STDOUT: %.Self.frozen.loc16_32: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.loc16_35.6: type = splice_block %.loc16_35.9 [template = %.loc16_35.5 (constants.%.c96)] { +// CHECK:STDOUT: %.Self.frozen.loc16_32: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc16_23.2 [template = %T.loc16_23.1 (constants.%T)] // CHECK:STDOUT: %.loc16_35.7: type = type_of_inst %.loc16_35.1 [template = %.loc16_35.2 (constants.%.79c)] // CHECK:STDOUT: %.loc16_35.8: @I.%.loc16_35.2 (%.79c) = splice_inst %.loc16_35.1 [template = %.loc16_35.3 (constants.%.e63)] -// CHECK:STDOUT: %.loc16_35.9: type = splice_inst %.loc16_35.4 [template = %.loc16_35.5 (constants.%.c68)] +// CHECK:STDOUT: %.loc16_35.9: type = splice_inst %.loc16_35.4 [template = %.loc16_35.5 (constants.%.c96)] // CHECK:STDOUT: } -// CHECK:STDOUT: %N.loc16_32.2: @I.%.loc16_35.5 (%.c68) = symbolic_binding N, 1 [template = %N.loc16_32.1 (constants.%N)] +// CHECK:STDOUT: %N.loc16_32.2: @I.%.loc16_35.5 (%.c96) = symbolic_binding N, 1 [template = %N.loc16_32.1 (constants.%N)] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @I(%T.loc16_23.2: type, %N.loc16_32.2: @I.%.loc16_35.5 (%.c68)) { -// CHECK:STDOUT: %T.patt.loc16_23.2: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc16_23.2 (constants.%T.patt)] +// CHECK:STDOUT: generic interface @I(%T.loc16_23.2: type, %N.loc16_32.2: @I.%.loc16_35.5 (%.c96)) { +// CHECK:STDOUT: %T.patt.loc16_23.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc16_23.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc16_23.1: type = symbolic_binding T, 0, template [template = %T.loc16_23.1 (constants.%T)] // CHECK:STDOUT: %.loc16_35.1: = access_member_action %T.ref, I1 [template] // CHECK:STDOUT: %.loc16_35.2: type = type_of_inst %.loc16_35.1 [template = %.loc16_35.2 (constants.%.79c)] // CHECK:STDOUT: %.loc16_35.3: @I.%.loc16_35.2 (%.79c) = splice_inst %.loc16_35.1 [template = %.loc16_35.3 (constants.%.e63)] // CHECK:STDOUT: %.loc16_35.4: = convert_to_value_action %.loc16_35.8, type [template] -// CHECK:STDOUT: %.loc16_35.5: type = splice_inst %.loc16_35.4 [template = %.loc16_35.5 (constants.%.c68)] -// CHECK:STDOUT: %pattern_type: type = pattern_type %.loc16_35.5 [template = %pattern_type (constants.%pattern_type.6d1)] -// CHECK:STDOUT: %N.patt.loc16_32.2: @I.%pattern_type (%pattern_type.6d1) = symbolic_binding_pattern N, 1 [template = %N.patt.loc16_32.2 (constants.%N.patt.718)] -// CHECK:STDOUT: %N.loc16_32.1: @I.%.loc16_35.5 (%.c68) = symbolic_binding N, 1 [template = %N.loc16_32.1 (constants.%N)] +// CHECK:STDOUT: %.loc16_35.5: type = splice_inst %.loc16_35.4 [template = %.loc16_35.5 (constants.%.c96)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %.loc16_35.5 [template = %pattern_type (constants.%pattern_type.9f6)] +// CHECK:STDOUT: %N.patt.loc16_32.2: @I.%pattern_type (%pattern_type.9f6) = symbolic_binding_pattern N, 1 [template = %N.patt.loc16_32.2 (constants.%N.patt.b37)] +// CHECK:STDOUT: %N.loc16_32.1: @I.%.loc16_35.5 (%.c96) = symbolic_binding N, 1 [template = %N.loc16_32.1 (constants.%N)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%T.loc16_23.1, %N.loc16_32.1)> [template = %I.type (constants.%I.type.223)] -// CHECK:STDOUT: %Self.loc16_40.2: @I.%I.type (%I.type.223) = symbolic_binding Self, 2 [template = %Self.loc16_40.2 (constants.%Self)] +// CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%T.loc16_23.1, %N.loc16_32.1)> [template = %I.type (constants.%I.type.c6a)] +// CHECK:STDOUT: %Self.loc16_40.2: @I.%I.type (%I.type.c6a) = symbolic_binding Self, 2 [template = %Self.loc16_40.2 (constants.%Self)] // CHECK:STDOUT: // CHECK:STDOUT: interface { -// CHECK:STDOUT: %Self.loc16_40.1: @I.%I.type (%I.type.223) = symbolic_binding Self, 2 [template = %Self.loc16_40.2 (constants.%Self)] +// CHECK:STDOUT: %Self.loc16_40.1: @I.%I.type (%I.type.c6a) = symbolic_binding Self, 2 [template = %Self.loc16_40.2 (constants.%Self)] // CHECK:STDOUT: %I.WithSelf.decl = interface_with_self_decl @I [concrete] // CHECK:STDOUT: // CHECK:STDOUT: !with Self: @@ -116,10 +116,10 @@ interface I(template T: type, N: T.I1) { // CHECK:STDOUT: %.loc16_35.1 => constants.%.299 // CHECK:STDOUT: %.loc16_35.2 => constants.%.912 // CHECK:STDOUT: %.loc16_35.3 => constants.%.a7e -// CHECK:STDOUT: %.loc16_35.4 => constants.%.32e -// CHECK:STDOUT: %.loc16_35.5 => constants.%.408 -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.d1e -// CHECK:STDOUT: %N.patt.loc16_32.2 => constants.%N.patt.47e +// CHECK:STDOUT: %.loc16_35.4 => constants.%.2f4 +// CHECK:STDOUT: %.loc16_35.5 => constants.%.2ad +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.11c +// CHECK:STDOUT: %N.patt.loc16_32.2 => constants.%N.patt.0f4 // CHECK:STDOUT: %N.loc16_32.1 => constants.%N // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/generic/template/unimplemented.carbon b/toolchain/check/testdata/generic/template/unimplemented.carbon index 9773ee946b15..6a80cb2b66e1 100644 --- a/toolchain/check/testdata/generic/template/unimplemented.carbon +++ b/toolchain/check/testdata/generic/template/unimplemented.carbon @@ -48,10 +48,10 @@ fn F(template c: C) { // CHECK:STDOUT: --- fail_todo_unimplemented_operator.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template] // CHECK:STDOUT: %T: type = symbolic_binding T, 0, template [template] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [template] // CHECK:STDOUT: %x.param_patt: %pattern_type.51d = value_param_pattern [template] @@ -79,12 +79,12 @@ fn F(template c: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc6_16.1: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc6_16.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_16.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc6_16.2 (constants.%T.patt)] // CHECK:STDOUT: %x.param_patt.loc6_25.1: @F.%pattern_type (%pattern_type.51d) = value_param_pattern [template = %x.param_patt.loc6_25.2 (constants.%x.param_patt)] // CHECK:STDOUT: %x.patt.loc6_25.1: @F.%pattern_type (%pattern_type.51d) = wrapper_binding_pattern x, %x.param_patt.loc6_25.1 [template = %x.patt.loc6_25.2 (constants.%x.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_18.1: type = splice_block %.loc6_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_16.2: type = symbolic_binding T, 0, template [template = %T.loc6_16.1 (constants.%T)] @@ -95,7 +95,7 @@ fn F(template c: C) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc6_16.2: type) { -// CHECK:STDOUT: %T.patt.loc6_16.2: %pattern_type.98f = symbolic_binding_pattern T, 0, template [template = %T.patt.loc6_16.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_16.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0, template [template = %T.patt.loc6_16.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_16.1: type = symbolic_binding T, 0, template [template = %T.loc6_16.1 (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc6_16.1 [template = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: %x.param_patt.loc6_25.2: @F.%pattern_type (%pattern_type.51d) = value_param_pattern [template = %x.param_patt.loc6_25.2 (constants.%x.param_patt)] @@ -132,6 +132,7 @@ fn F(template c: C) { // CHECK:STDOUT: --- fail_todo_unimplemented_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -140,8 +141,7 @@ fn F(template c: C) { // CHECK:STDOUT: %C.elem: type = unbound_element_type %C, %i32 [concrete] // CHECK:STDOUT: %struct_type.n: type = struct_type {.n: %i32} [concrete] // CHECK:STDOUT: %complete_type.cdf: = complete_type_witness %struct_type.n [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] // CHECK:STDOUT: %c.patt: %pattern_type.98b = symbolic_binding_pattern c, 0, template [template] // CHECK:STDOUT: %c: %C = symbolic_binding c, 0, template [template] @@ -174,7 +174,7 @@ fn F(template c: C) { // CHECK:STDOUT: %c.patt.loc11_16.1: %pattern_type.98b = symbolic_binding_pattern c, 0, template [template = %c.patt.loc11_16.2 (constants.%c.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %c.loc11_16.2: %C = symbolic_binding c, 0, template [template = %c.loc11_16.1 (constants.%c)] diff --git a/toolchain/check/testdata/generic/var_param.carbon b/toolchain/check/testdata/generic/var_param.carbon index bced11e5253d..132a52826a41 100644 --- a/toolchain/check/testdata/generic/var_param.carbon +++ b/toolchain/check/testdata/generic/var_param.carbon @@ -31,6 +31,7 @@ fn Test(x: i32) { // CHECK:STDOUT: --- var_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -41,8 +42,7 @@ fn Test(x: i32) { // CHECK:STDOUT: %I.facet: %I.type = facet_value %i32, (%I.impl_witness) [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: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.6cb: type = pattern_type %I.type [concrete] // CHECK:STDOUT: %T.patt.1df: %pattern_type.6cb = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.dda: %I.type = symbolic_binding T, 0 [symbolic] @@ -82,7 +82,7 @@ fn Test(x: i32) { // CHECK:STDOUT: %x.param_patt.loc22_24.1: @TestOp.%pattern_type (%pattern_type.b3a) = var_param_pattern %x.patt.loc22_29.1 [symbolic = %x.param_patt.loc22_24.2 (constants.%x.param_patt.1e1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc22_14: type = splice_block %I.ref [concrete = constants.%I.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// 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.loc22_12.2: %I.type = symbolic_binding T, 0 [symbolic = %T.loc22_12.1 (constants.%T.dda)] diff --git a/toolchain/check/testdata/global/basics.carbon b/toolchain/check/testdata/global/basics.carbon index c8fd14c2e48d..583c048ef4bb 100644 --- a/toolchain/check/testdata/global/basics.carbon +++ b/toolchain/check/testdata/global/basics.carbon @@ -56,6 +56,7 @@ var a: A = Make(); // CHECK:STDOUT: --- decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] @@ -102,6 +103,7 @@ var a: A = Make(); // CHECK:STDOUT: --- simple_init.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_struct_type [concrete] @@ -134,6 +136,7 @@ var a: A = Make(); // CHECK:STDOUT: --- simple_init_with_fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_struct_type [concrete] @@ -167,6 +170,7 @@ var a: A = Make(); // CHECK:STDOUT: --- class_init.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %A [concrete] @@ -198,6 +202,7 @@ var a: A = Make(); // CHECK:STDOUT: --- class_init_from_fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %A [concrete] // CHECK:STDOUT: %Make.type: type = fn_type @Make [concrete] diff --git a/toolchain/check/testdata/if/basics.carbon b/toolchain/check/testdata/if/basics.carbon index 0a4703f509cb..0442c52d3e49 100644 --- a/toolchain/check/testdata/if/basics.carbon +++ b/toolchain/check/testdata/if/basics.carbon @@ -110,6 +110,7 @@ fn VarScope(b: bool) -> bool { // CHECK:STDOUT: --- else.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -159,6 +160,7 @@ fn VarScope(b: bool) -> bool { // CHECK:STDOUT: --- no_else.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -201,6 +203,7 @@ fn VarScope(b: bool) -> bool { // CHECK:STDOUT: --- unreachable_fallthrough.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %b.param_patt: %pattern_type.831 = value_param_pattern [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.831 = wrapper_binding_pattern b, %b.param_patt [concrete] diff --git a/toolchain/check/testdata/if/lifetime.carbon b/toolchain/check/testdata/if/lifetime.carbon index 78b1d44aa03c..0f6cffcba76d 100644 --- a/toolchain/check/testdata/if/lifetime.carbon +++ b/toolchain/check/testdata/if/lifetime.carbon @@ -33,6 +33,7 @@ fn F() { // CHECK:STDOUT: --- condition_lifetime.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %A.F.type: type = fn_type @A.F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/if_expr/basic.carbon b/toolchain/check/testdata/if_expr/basic.carbon index 523391149e8d..c34175642b44 100644 --- a/toolchain/check/testdata/if_expr/basic.carbon +++ b/toolchain/check/testdata/if_expr/basic.carbon @@ -20,6 +20,7 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %b.param_patt: %pattern_type.831 = value_param_pattern [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.831 = wrapper_binding_pattern b, %b.param_patt [concrete] diff --git a/toolchain/check/testdata/if_expr/constant_condition.carbon b/toolchain/check/testdata/if_expr/constant_condition.carbon index 019d3953e408..d2fbc0808050 100644 --- a/toolchain/check/testdata/if_expr/constant_condition.carbon +++ b/toolchain/check/testdata/if_expr/constant_condition.carbon @@ -38,6 +38,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: --- constant_condition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -54,7 +55,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] @@ -114,8 +115,8 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %Destroy.WithSelf.Op.403171.1: %Destroy.WithSelf.Op.type.ef016f.1 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.ef016f.3: type = fn_type @Destroy.WithSelf.Op.loc27_3.2 [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.403171.3: %Destroy.WithSelf.Op.type.ef016f.3 = struct_value () [concrete] -// CHECK:STDOUT: %t.param_patt: %pattern_type.98f = value_param_pattern [concrete] -// CHECK:STDOUT: %t.patt: %pattern_type.98f = wrapper_binding_pattern t, %t.param_patt [concrete] +// CHECK:STDOUT: %t.param_patt: %pattern_type.9a5 = value_param_pattern [concrete] +// CHECK:STDOUT: %t.patt: %pattern_type.9a5 = wrapper_binding_pattern t, %t.param_patt [concrete] // CHECK:STDOUT: %PartiallyConstant.type: type = fn_type @PartiallyConstant [concrete] // CHECK:STDOUT: %PartiallyConstant: %PartiallyConstant.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -198,8 +199,8 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %PartiallyConstant.decl: %PartiallyConstant.type = fn_decl @PartiallyConstant [concrete = constants.%PartiallyConstant] { -// CHECK:STDOUT: %t.param_patt: %pattern_type.98f = value_param_pattern [concrete = constants.%t.param_patt] -// CHECK:STDOUT: %t.patt: %pattern_type.98f = wrapper_binding_pattern t, %t.param_patt [concrete = constants.%t.patt] +// CHECK:STDOUT: %t.param_patt: %pattern_type.9a5 = value_param_pattern [concrete = constants.%t.param_patt] +// CHECK:STDOUT: %t.patt: %pattern_type.9a5 = wrapper_binding_pattern t, %t.param_patt [concrete = constants.%t.patt] // CHECK:STDOUT: %return.param_patt: %pattern_type.6b6 = out_param_pattern [concrete = constants.%return.param_patt.a9a] // CHECK:STDOUT: %return.patt: %pattern_type.6b6 = return_slot_pattern %return.param_patt, %i32.loc32 [concrete = constants.%return.patt.e1b] // CHECK:STDOUT: } { diff --git a/toolchain/check/testdata/if_expr/control_flow.carbon b/toolchain/check/testdata/if_expr/control_flow.carbon index 79aef7991811..738668de8b9e 100644 --- a/toolchain/check/testdata/if_expr/control_flow.carbon +++ b/toolchain/check/testdata/if_expr/control_flow.carbon @@ -22,6 +22,7 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: --- control_flow.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/if_expr/fail_not_in_function.carbon b/toolchain/check/testdata/if_expr/fail_not_in_function.carbon index 385d5408a02b..57d3cf05b8ce 100644 --- a/toolchain/check/testdata/if_expr/fail_not_in_function.carbon +++ b/toolchain/check/testdata/if_expr/fail_not_in_function.carbon @@ -87,6 +87,7 @@ fn F() { // CHECK:STDOUT: --- fail_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -100,8 +101,9 @@ fn F() { // CHECK:STDOUT: --- fail_nested_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -113,7 +115,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(.inst{{[0-9A-F]+}}.loc4_15: type) { -// CHECK:STDOUT: %T.patt.loc4_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/if_expr/fail_partial_constant.carbon b/toolchain/check/testdata/if_expr/fail_partial_constant.carbon index 0c74809f1215..1d15318b3374 100644 --- a/toolchain/check/testdata/if_expr/fail_partial_constant.carbon +++ b/toolchain/check/testdata/if_expr/fail_partial_constant.carbon @@ -47,6 +47,7 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: --- fail_non_constant_condition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %b.param_patt: %pattern_type.831 = value_param_pattern [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.831 = wrapper_binding_pattern b, %b.param_patt [concrete] @@ -124,9 +125,10 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: --- fail_non_constant_result.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %t.param_patt: %pattern_type.98f = value_param_pattern [concrete] -// CHECK:STDOUT: %t.patt: %pattern_type.98f = wrapper_binding_pattern t, %t.param_patt [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %t.param_patt: %pattern_type.9a5 = value_param_pattern [concrete] +// CHECK:STDOUT: %t.patt: %pattern_type.9a5 = wrapper_binding_pattern t, %t.param_patt [concrete] // CHECK:STDOUT: %ChosenBranchIsNonConstant.type: type = fn_type @ChosenBranchIsNonConstant [concrete] // CHECK:STDOUT: %ChosenBranchIsNonConstant: %ChosenBranchIsNonConstant.type = struct_value () [concrete] // CHECK:STDOUT: %true: bool = bool_literal true [concrete] @@ -157,8 +159,8 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ChosenBranchIsNonConstant.decl: %ChosenBranchIsNonConstant.type = fn_decl @ChosenBranchIsNonConstant [concrete = constants.%ChosenBranchIsNonConstant] { -// CHECK:STDOUT: %t.param_patt: %pattern_type.98f = value_param_pattern [concrete = constants.%t.param_patt] -// CHECK:STDOUT: %t.patt: %pattern_type.98f = wrapper_binding_pattern t, %t.param_patt [concrete = constants.%t.patt] +// CHECK:STDOUT: %t.param_patt: %pattern_type.9a5 = value_param_pattern [concrete = constants.%t.param_patt] +// CHECK:STDOUT: %t.patt: %pattern_type.9a5 = wrapper_binding_pattern t, %t.param_patt [concrete = constants.%t.patt] // CHECK:STDOUT: } { // CHECK:STDOUT: %t.param: type = value_param call_param0 // CHECK:STDOUT: %.loc4: type = type_literal type [concrete = type] diff --git a/toolchain/check/testdata/if_expr/nested.carbon b/toolchain/check/testdata/if_expr/nested.carbon index 6273f2fcdd65..d964ba3916e7 100644 --- a/toolchain/check/testdata/if_expr/nested.carbon +++ b/toolchain/check/testdata/if_expr/nested.carbon @@ -19,6 +19,7 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: --- nested.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type.831 = value_param_pattern [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.831 = wrapper_binding_pattern a, %a.param_patt [concrete] diff --git a/toolchain/check/testdata/if_expr/struct.carbon b/toolchain/check/testdata/if_expr/struct.carbon index 1fed93f16b49..5ddb2db1d75d 100644 --- a/toolchain/check/testdata/if_expr/struct.carbon +++ b/toolchain/check/testdata/if_expr/struct.carbon @@ -22,6 +22,7 @@ fn F(cond: bool) { // CHECK:STDOUT: --- struct.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/impl/assoc_const_self.carbon b/toolchain/check/testdata/impl/assoc_const_self.carbon index d56385b0eccc..ff8f741dce5f 100644 --- a/toolchain/check/testdata/impl/assoc_const_self.carbon +++ b/toolchain/check/testdata/impl/assoc_const_self.carbon @@ -104,6 +104,7 @@ fn CallF() { // CHECK:STDOUT: --- assoc_const_self.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: %Self.as_type.c84: type = facet_access_type %Self.37e [symbolic] @@ -122,8 +123,6 @@ fn CallF() { // CHECK:STDOUT: %I_where.type.b84: type = facet_type <@I where %impl.elem0.ca3 = %empty_struct> [concrete] // CHECK:STDOUT: %.aaf: = impl_self_witness %empty_struct_type, @I [concrete] // CHECK:STDOUT: %I.impl_witness.57e: = impl_witness @empty_struct_type.as.I.impl.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %empty_struct.type.facet: %type = facet_value %empty_struct_type, () [concrete] // CHECK:STDOUT: %I.facet.f72: %I.type = facet_value %empty_struct_type, (%I.impl_witness.57e) [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -133,7 +132,6 @@ fn CallF() { // CHECK:STDOUT: %I_where.type.8e4: type = facet_type <@I where %impl.elem0.ca3 = %int_0.5c6> [concrete] // CHECK:STDOUT: %.2a7: = impl_self_witness %i32, @I [concrete] // CHECK:STDOUT: %I.impl_witness.8f5: = impl_witness @i32.as.I.impl.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %Int.type.facet: %type = facet_value %i32, () [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] @@ -274,9 +272,9 @@ fn CallF() { // CHECK:STDOUT: %Self.as_type => constants.%.Self.frozen.as_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%empty_struct.type.facet) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%empty_struct_type) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%empty_struct.type.facet +// CHECK:STDOUT: %Self => constants.%empty_struct_type // CHECK:STDOUT: %Self.as_type => constants.%empty_struct_type // CHECK:STDOUT: } // CHECK:STDOUT: @@ -286,9 +284,9 @@ fn CallF() { // CHECK:STDOUT: %Self.as_type => constants.%empty_struct_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%Int.type.facet) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%i32) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%Int.type.facet +// CHECK:STDOUT: %Self => constants.%i32 // CHECK:STDOUT: %Self.as_type => constants.%i32 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -301,6 +299,7 @@ fn CallF() { // CHECK:STDOUT: --- fail_assoc_const_mismatch.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: %Self.as_type.c84: type = facet_access_type %Self.37e [symbolic] @@ -320,8 +319,6 @@ fn CallF() { // CHECK:STDOUT: %I_where.type: type = facet_type <@I where %impl.elem0.ca3 = %int_0> [concrete] // CHECK:STDOUT: %.aaf: = impl_self_witness %empty_struct_type, @I [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness @empty_struct_type.as.I.impl.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %empty_struct.type.facet: %type = facet_value %empty_struct_type, () [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %empty_struct_type, (%I.impl_witness) [concrete] @@ -406,9 +403,9 @@ fn CallF() { // CHECK:STDOUT: %Self.as_type => constants.%.Self.frozen.as_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%empty_struct.type.facet) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%empty_struct_type) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%empty_struct.type.facet +// CHECK:STDOUT: %Self => constants.%empty_struct_type // CHECK:STDOUT: %Self.as_type => constants.%empty_struct_type // CHECK:STDOUT: } // CHECK:STDOUT: @@ -421,6 +418,7 @@ fn CallF() { // CHECK:STDOUT: --- fail_assoc_const_not_constant_after_conversion.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: %Self.as_type.c84: type = facet_access_type %Self.37e [symbolic] @@ -460,8 +458,6 @@ fn CallF() { // CHECK:STDOUT: %I_where.type: type = facet_type <@I where %impl.elem0.ca3 = %empty_tuple> [concrete] // CHECK:STDOUT: %.b7f: = impl_self_witness %C, @I [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness @C.as.I.impl.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] // CHECK:STDOUT: %.c8c: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.1f2, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %empty_tuple.type.as.ImplicitAs.impl.Convert.bound: = bound_method %empty_tuple, %empty_tuple.type.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] @@ -608,9 +604,9 @@ fn CallF() { // CHECK:STDOUT: %Self.as_type => constants.%.Self.frozen.as_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%C.type.facet) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%C) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%C.type.facet +// CHECK:STDOUT: %Self => constants.%C // CHECK:STDOUT: %Self.as_type => constants.%C // CHECK:STDOUT: } // CHECK:STDOUT: @@ -623,8 +619,8 @@ fn CallF() { // CHECK:STDOUT: --- fail_monomorphization_failure.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] // CHECK:STDOUT: %N.patt: %pattern_type.dc0 = symbolic_binding_pattern N, 0 [symbolic] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -682,7 +678,7 @@ fn CallF() { // CHECK:STDOUT: %N.patt.loc4_14.1: %pattern_type.dc0 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc4_14.2 (constants.%N.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %IntLiteral.ref [concrete = Core.IntLiteral] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %IntLiteral.ref: type = name_ref IntLiteral, imports.%Core.IntLiteral [concrete = Core.IntLiteral] // CHECK:STDOUT: } @@ -778,13 +774,13 @@ fn CallF() { // CHECK:STDOUT: --- fail_todo_constrained_fn.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: %Self.as_type.c84: type = facet_access_type %Self.37e [symbolic] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0.660: %I.assoc_type = assoc_entity element0, @I.WithSelf.%V [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.3a0: %I.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -832,7 +828,7 @@ fn CallF() { // CHECK:STDOUT: %T.patt.loc8_15.1: %pattern_type.692 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_19.1: type = splice_block %.loc8_19.2 [concrete = constants.%I_where.type.14de72.1] { -// CHECK:STDOUT: %.Self.frozen.loc8_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc8_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.frozen.loc8_19: %I.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.3a0] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %I.ref [concrete] diff --git a/toolchain/check/testdata/impl/basic.carbon b/toolchain/check/testdata/impl/basic.carbon index 8125dd675d72..ee1c171bf5c2 100644 --- a/toolchain/check/testdata/impl/basic.carbon +++ b/toolchain/check/testdata/impl/basic.carbon @@ -113,6 +113,7 @@ final impl C(invalid) as I {} // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Simple.type: type = facet_type <@Simple> [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %.dd3: = impl_self_witness %C, @Simple [concrete] diff --git a/toolchain/check/testdata/impl/compound.carbon b/toolchain/check/testdata/impl/compound.carbon index ddcb75b6a82c..47d91d438097 100644 --- a/toolchain/check/testdata/impl/compound.carbon +++ b/toolchain/check/testdata/impl/compound.carbon @@ -124,10 +124,10 @@ fn InstanceCallFail() { // CHECK:STDOUT: --- core.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %Dest.patt: %pattern_type.98f = symbolic_binding_pattern Dest, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %Dest.patt: %pattern_type.9a5 = symbolic_binding_pattern Dest, 0 [symbolic] // CHECK:STDOUT: %Dest: type = symbolic_binding Dest, 0 [symbolic] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] @@ -152,10 +152,10 @@ fn InstanceCallFail() { // CHECK:STDOUT: .ImplicitAs = %ImplicitAs.decl // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.decl: %ImplicitAs.type.0ff = interface_decl @ImplicitAs [concrete = constants.%ImplicitAs.generic] { -// CHECK:STDOUT: %Dest.patt.loc3_26.1: %pattern_type.98f = symbolic_binding_pattern Dest, 0 [symbolic = %Dest.patt.loc3_26.2 (constants.%Dest.patt)] +// CHECK:STDOUT: %Dest.patt.loc3_26.1: %pattern_type.9a5 = symbolic_binding_pattern Dest, 0 [symbolic = %Dest.patt.loc3_26.2 (constants.%Dest.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_28.1: type = splice_block %.loc3_28.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc3_28.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %Dest.loc3_26.2: type = symbolic_binding Dest, 0 [symbolic = %Dest.loc3_26.1 (constants.%Dest)] @@ -163,7 +163,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @ImplicitAs(%Dest.loc3_26.2: type) { -// CHECK:STDOUT: %Dest.patt.loc3_26.2: %pattern_type.98f = symbolic_binding_pattern Dest, 0 [symbolic = %Dest.patt.loc3_26.2 (constants.%Dest.patt)] +// CHECK:STDOUT: %Dest.patt.loc3_26.2: %pattern_type.9a5 = symbolic_binding_pattern Dest, 0 [symbolic = %Dest.patt.loc3_26.2 (constants.%Dest.patt)] // CHECK:STDOUT: %Dest.loc3_26.1: type = symbolic_binding Dest, 0 [symbolic = %Dest.loc3_26.1 (constants.%Dest)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -247,6 +247,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: --- non-instance_success.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NonInstance1.type: type = facet_type <@NonInstance1> [concrete] // CHECK:STDOUT: %Self: %NonInstance1.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %NonInstance1.WithSelf.F1.type.448: type = fn_type @NonInstance1.WithSelf.F1, @NonInstance1.WithSelf(%Self) [symbolic] @@ -355,6 +356,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: --- fail_non-instance.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NonInstance2.type: type = facet_type <@NonInstance2> [concrete] // CHECK:STDOUT: %Self.598: %NonInstance2.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %NonInstance2.WithSelf.F2.type.9a0: type = fn_type @NonInstance2.WithSelf.F2, @NonInstance2.WithSelf(%Self.598) [symbolic] @@ -380,8 +382,8 @@ fn InstanceCallFail() { // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] // CHECK:STDOUT: %Dest: type = symbolic_binding Dest, 0 [symbolic] // CHECK:STDOUT: %ImplicitAs.type.3aa: type = facet_type <@ImplicitAs, @ImplicitAs(%Dest)> [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %Dest.patt: %pattern_type.98f = symbolic_binding_pattern Dest, 0 [symbolic] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %Dest.patt: %pattern_type.9a5 = symbolic_binding_pattern Dest, 0 [symbolic] // CHECK:STDOUT: %Self.294: %ImplicitAs.type.3aa = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %ImplicitAs.assoc_type.fcc: type = assoc_entity_type @ImplicitAs, @ImplicitAs(%Dest) [symbolic] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.97e: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Dest, %Self.294) [symbolic] @@ -465,7 +467,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @ImplicitAs(imports.%Core.import_ref.b3bc94.3: type) [from "core.carbon"] { -// CHECK:STDOUT: %Dest.patt: %pattern_type.98f = symbolic_binding_pattern Dest, 0 [symbolic = %Dest.patt (constants.%Dest.patt)] +// CHECK:STDOUT: %Dest.patt: %pattern_type.9a5 = symbolic_binding_pattern Dest, 0 [symbolic = %Dest.patt (constants.%Dest.patt)] // CHECK:STDOUT: %Dest: type = symbolic_binding Dest, 0 [symbolic = %Dest (constants.%Dest)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -589,6 +591,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: --- fail_non-instance_indirect.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NonInstance3.type: type = facet_type <@NonInstance3> [concrete] // CHECK:STDOUT: %Self.6e1: %NonInstance3.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %NonInstance3.WithSelf.F3.type.be9: type = fn_type @NonInstance3.WithSelf.F3, @NonInstance3.WithSelf(%Self.6e1) [symbolic] @@ -615,8 +618,8 @@ fn InstanceCallFail() { // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] // CHECK:STDOUT: %Dest: type = symbolic_binding Dest, 0 [symbolic] // CHECK:STDOUT: %ImplicitAs.type.3aa: type = facet_type <@ImplicitAs, @ImplicitAs(%Dest)> [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %Dest.patt: %pattern_type.98f = symbolic_binding_pattern Dest, 0 [symbolic] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %Dest.patt: %pattern_type.9a5 = symbolic_binding_pattern Dest, 0 [symbolic] // CHECK:STDOUT: %Self.294: %ImplicitAs.type.3aa = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %ImplicitAs.assoc_type.fcc: type = assoc_entity_type @ImplicitAs, @ImplicitAs(%Dest) [symbolic] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.97e: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Dest, %Self.294) [symbolic] @@ -701,7 +704,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @ImplicitAs(imports.%Core.import_ref.b3bc94.3: type) [from "core.carbon"] { -// CHECK:STDOUT: %Dest.patt: %pattern_type.98f = symbolic_binding_pattern Dest, 0 [symbolic = %Dest.patt (constants.%Dest.patt)] +// CHECK:STDOUT: %Dest.patt: %pattern_type.9a5 = symbolic_binding_pattern Dest, 0 [symbolic = %Dest.patt (constants.%Dest.patt)] // CHECK:STDOUT: %Dest: type = symbolic_binding Dest, 0 [symbolic = %Dest (constants.%Dest)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -826,6 +829,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: --- instance_success.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Instance1.type: type = facet_type <@Instance1> [concrete] // CHECK:STDOUT: %Self: %Instance1.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] @@ -1025,6 +1029,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: --- fail_instance.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Instance2.type: type = facet_type <@Instance2> [concrete] // CHECK:STDOUT: %Self: %Instance2.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] diff --git a/toolchain/check/testdata/impl/declaration.carbon b/toolchain/check/testdata/impl/declaration.carbon index 5f428457aeae..d2f549f935b3 100644 --- a/toolchain/check/testdata/impl/declaration.carbon +++ b/toolchain/check/testdata/impl/declaration.carbon @@ -21,6 +21,7 @@ impl i32 as I {} // CHECK:STDOUT: --- declaration.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] diff --git a/toolchain/check/testdata/impl/empty.carbon b/toolchain/check/testdata/impl/empty.carbon index 8843c153bf17..b8e7c2186199 100644 --- a/toolchain/check/testdata/impl/empty.carbon +++ b/toolchain/check/testdata/impl/empty.carbon @@ -21,6 +21,7 @@ impl i32 as Empty { // CHECK:STDOUT: --- empty.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Empty.type: type = facet_type <@Empty> [concrete] // CHECK:STDOUT: %Self: %Empty.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] diff --git a/toolchain/check/testdata/impl/error_recovery.carbon b/toolchain/check/testdata/impl/error_recovery.carbon index 63d670c71b37..300a917e5d96 100644 --- a/toolchain/check/testdata/impl/error_recovery.carbon +++ b/toolchain/check/testdata/impl/error_recovery.carbon @@ -137,6 +137,7 @@ impl C as I { // CHECK:STDOUT: --- fail_runtime_generic_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %.b7f: = impl_self_witness %C, @I [concrete] @@ -163,11 +164,11 @@ impl C as I { // CHECK:STDOUT: --- fail_nonfinal_lookup_impl_witness_error_in_import.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -182,10 +183,10 @@ impl C as I { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { -// CHECK:STDOUT: %T.patt.loc13_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc13_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_17.1: type = splice_block %.loc13_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc13_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc13_15.1 (constants.%T)] @@ -193,7 +194,7 @@ impl C as I { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @G(%T.loc13_15.2: type) { -// CHECK:STDOUT: %T.patt.loc13_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc13_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc13_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc13_15.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -222,11 +223,11 @@ impl C as I { // CHECK:STDOUT: --- fail_nonfinal_lookup_impl_witness_error.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -242,10 +243,10 @@ impl C as I { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { -// CHECK:STDOUT: %T.patt.loc13_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc13_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_17.1: type = splice_block %.loc13_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc13_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc13_15.1 (constants.%T)] @@ -253,7 +254,7 @@ impl C as I { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @G(%T.loc13_15.2: type) { -// CHECK:STDOUT: %T.patt.loc13_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc13_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc13_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc13_15.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -293,6 +294,7 @@ impl C as I { // CHECK:STDOUT: --- fail_final_lookup_impl_witness_error.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/impl/extend_impl.carbon b/toolchain/check/testdata/impl/extend_impl.carbon index cf749c704749..cee4d6635c23 100644 --- a/toolchain/check/testdata/impl/extend_impl.carbon +++ b/toolchain/check/testdata/impl/extend_impl.carbon @@ -110,6 +110,7 @@ extend impl nonexistent* as I {} // CHECK:STDOUT: --- extend_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF> [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %.ba1: = impl_self_witness %C, @HasF [concrete] diff --git a/toolchain/check/testdata/impl/extend_impl_generic.carbon b/toolchain/check/testdata/impl/extend_impl_generic.carbon index a592fe31b48b..6e1588e312c5 100644 --- a/toolchain/check/testdata/impl/extend_impl_generic.carbon +++ b/toolchain/check/testdata/impl/extend_impl_generic.carbon @@ -55,10 +55,10 @@ class X(U: type) { // CHECK:STDOUT: --- extend_impl_generic_interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %HasF.type.c96: type = generic_interface_type @HasF [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -130,9 +130,8 @@ class X(U: type) { // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.6b6 = value_binding_pattern a [concrete] -// CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.type.eae: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%Param, %C.type.facet) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.eba: %HasF.WithSelf.F.type.eae = struct_value () [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.type.846: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%Param, %C) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.2c6: %HasF.WithSelf.F.type.846 = struct_value () [concrete] // CHECK:STDOUT: %.23a: type = fn_type_with_self_type %HasF.WithSelf.F.type.744, %HasF.facet [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.6b6 = ref_binding_pattern b [concrete] // CHECK:STDOUT: %b.var_patt: %pattern_type.6b6 = var_pattern %b.patt [concrete] @@ -182,10 +181,10 @@ class X(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasF.decl: %HasF.type.c96 = interface_decl @HasF [concrete = constants.%HasF.generic] { -// CHECK:STDOUT: %T.patt.loc4_17.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_17.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_17.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T.67d)] @@ -203,7 +202,7 @@ class X(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @HasF(%T.loc4_17.2: type) { -// CHECK:STDOUT: %T.patt.loc4_17.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_17.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc4_17.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -319,7 +318,7 @@ class X(U: type) { // CHECK:STDOUT: fn @G(%c.param: %C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.ref.loc21: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %.loc21_24: %HasF.assoc_type.aee = specific_constant @HasF.WithSelf.%assoc0.loc5_14.1, @HasF.WithSelf(constants.%Param, constants.%C.type.facet) [concrete = constants.%assoc0.be0] +// CHECK:STDOUT: %.loc21_24: %HasF.assoc_type.aee = specific_constant @HasF.WithSelf.%assoc0.loc5_14.1, @HasF.WithSelf(constants.%Param, constants.%C) [concrete = constants.%assoc0.be0] // CHECK:STDOUT: %F.ref.loc21: %HasF.assoc_type.aee = name_ref F, %.loc21_24 [concrete = constants.%assoc0.be0] // CHECK:STDOUT: %impl.elem0.loc21: %.23a = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] // CHECK:STDOUT: %.loc21_27.1: ref %Param = temporary_storage @@ -335,7 +334,7 @@ class X(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var_storage %b.var_patt // CHECK:STDOUT: %c.ref: %C = name_ref c, %c -// CHECK:STDOUT: %.loc22_24: %HasF.assoc_type.aee = specific_constant @HasF.WithSelf.%assoc0.loc5_14.1, @HasF.WithSelf(constants.%Param, constants.%C.type.facet) [concrete = constants.%assoc0.be0] +// CHECK:STDOUT: %.loc22_24: %HasF.assoc_type.aee = specific_constant @HasF.WithSelf.%assoc0.loc5_14.1, @HasF.WithSelf(constants.%Param, constants.%C) [concrete = constants.%assoc0.be0] // CHECK:STDOUT: %F.ref.loc22: %HasF.assoc_type.aee = name_ref F, %.loc22_24 [concrete = constants.%assoc0.be0] // CHECK:STDOUT: %impl.elem0.loc22_24: %.23a = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] // CHECK:STDOUT: %.loc22_27.1: ref %Param = temporary_storage @@ -383,7 +382,7 @@ class X(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HasF(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc4_17.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_17.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_17.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: @@ -398,7 +397,7 @@ class X(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HasF(constants.%Param) { -// CHECK:STDOUT: %T.patt.loc4_17.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_17.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_17.1 => constants.%Param // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -436,13 +435,13 @@ class X(U: type) { // CHECK:STDOUT: %return.patt.loc5_10.2 => constants.%return.patt.fb6 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasF.WithSelf(constants.%Param, constants.%C.type.facet) { +// CHECK:STDOUT: specific @HasF.WithSelf(constants.%Param, constants.%C) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%Param // CHECK:STDOUT: %HasF.type => constants.%HasF.type.9e1 -// CHECK:STDOUT: %Self => constants.%C.type.facet -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.eae -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.eba +// CHECK:STDOUT: %Self => constants.%C +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.846 +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.2c6 // CHECK:STDOUT: %HasF.assoc_type => constants.%HasF.assoc_type.aee // CHECK:STDOUT: %assoc0.loc5_14.2 => constants.%assoc0.be0 // CHECK:STDOUT: } @@ -450,10 +449,10 @@ class X(U: type) { // CHECK:STDOUT: --- extend_impl_generic_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %I.type.335: type = generic_interface_type @I [concrete] // CHECK:STDOUT: %I.generic: %I.type.335 = struct_value () [concrete] @@ -470,7 +469,7 @@ class X(U: type) { // CHECK:STDOUT: %I.WithSelf.F.5f2714.1: %I.WithSelf.F.type.09f79b.1 = struct_value () [symbolic] // CHECK:STDOUT: %I.assoc_type.b71f2b.1: type = assoc_entity_type @I, @I(%T) [symbolic] // CHECK:STDOUT: %assoc0.13b5f8.1: %I.assoc_type.b71f2b.1 = assoc_entity element0, @I.WithSelf.%I.WithSelf.F.decl [symbolic] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %X.type: type = generic_class_type @X [concrete] // CHECK:STDOUT: %X.generic: %X.type = struct_value () [concrete] @@ -516,19 +515,19 @@ class X(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: %I.type.335 = interface_decl @I [concrete = constants.%I.generic] { -// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: type = splice_block %.loc4_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: %X.type = class_decl @X [concrete = constants.%X.generic] { -// CHECK:STDOUT: %U.patt.loc8_10.1: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc8_10.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc8_10.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc8_10.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_12.1: type = splice_block %.loc8_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc8_10.2: type = symbolic_binding U, 0 [symbolic = %U.loc8_10.1 (constants.%U)] @@ -536,7 +535,7 @@ class X(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @I(%T.loc4_14.2: type) { -// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -621,7 +620,7 @@ class X(U: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @X(%U.loc8_10.2: type) { -// CHECK:STDOUT: %U.patt.loc8_10.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc8_10.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc8_10.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc8_10.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc8_10.1: type = symbolic_binding U, 0 [symbolic = %U.loc8_10.1 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/impl/fail_alias.carbon b/toolchain/check/testdata/impl/fail_alias.carbon index 1b1b114c0f76..47fe3eb6232d 100644 --- a/toolchain/check/testdata/impl/fail_alias.carbon +++ b/toolchain/check/testdata/impl/fail_alias.carbon @@ -32,6 +32,7 @@ impl AC as AI {} // CHECK:STDOUT: --- fail_alias.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %C: type = class_type @C [concrete] diff --git a/toolchain/check/testdata/impl/fail_call_invalid.carbon b/toolchain/check/testdata/impl/fail_call_invalid.carbon index a16bc1712a89..00282b0f6a44 100644 --- a/toolchain/check/testdata/impl/fail_call_invalid.carbon +++ b/toolchain/check/testdata/impl/fail_call_invalid.carbon @@ -32,6 +32,7 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: --- fail_call_invalid.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Simple.type: type = facet_type <@Simple> [concrete] // CHECK:STDOUT: %Self: %Simple.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] diff --git a/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon b/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon index 22e6726b352c..e09a5bc24901 100644 --- a/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon +++ b/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon @@ -29,10 +29,10 @@ class C { // CHECK:STDOUT: --- fail_extend_impl_forall.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %GenericInterface.type.26e: type = generic_interface_type @GenericInterface [concrete] // CHECK:STDOUT: %GenericInterface.generic: %GenericInterface.type.26e = struct_value () [concrete] @@ -61,10 +61,10 @@ class C { // CHECK:STDOUT: .C = %C.decl // CHECK:STDOUT: } // CHECK:STDOUT: %GenericInterface.decl: %GenericInterface.type.26e = interface_decl @GenericInterface [concrete = constants.%GenericInterface.generic] { -// CHECK:STDOUT: %T.patt.loc15_29.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_29.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_29.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_29.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_31.1: type = splice_block %.loc15_31.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_31.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_29.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_29.1 (constants.%T)] @@ -73,7 +73,7 @@ class C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @GenericInterface(%T.loc15_29.2: type) { -// CHECK:STDOUT: %T.patt.loc15_29.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_29.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_29.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_29.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc15_29.1: type = symbolic_binding T, 0 [symbolic = %T.loc15_29.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -107,7 +107,7 @@ class C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @C.as.GenericInterface.impl(%T.loc24_24.2: type) { -// CHECK:STDOUT: %T.patt.loc24_24.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc24_24.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc24_24.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc24_24.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc24_24.1: type = symbolic_binding T, 0 [symbolic = %T.loc24_24.1 (constants.%T)] // CHECK:STDOUT: %GenericInterface.type.loc24_53.1: type = facet_type <@GenericInterface, @GenericInterface(%T.loc24_24.1)> [symbolic = %GenericInterface.type.loc24_53.1 (constants.%GenericInterface.type.4e1)] // CHECK:STDOUT: %.loc24_55: = impl_self_witness constants.%C, @GenericInterface, @GenericInterface(%T.loc24_24.1) [symbolic = %.loc24_55 (constants.%.9b3)] @@ -139,14 +139,14 @@ class C { // CHECK:STDOUT: // CHECK:STDOUT: class @C { // CHECK:STDOUT: impl_decl @C.as.GenericInterface.impl [concrete] { -// CHECK:STDOUT: %T.patt.loc24_24.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc24_24.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc24_24.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc24_24.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %GenericInterface.ref: %GenericInterface.type.26e = name_ref GenericInterface, file.%GenericInterface.decl [concrete = constants.%GenericInterface.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc24_24.2 [symbolic = %T.loc24_24.1 (constants.%T)] // CHECK:STDOUT: %GenericInterface.type.loc24_53.2: type = facet_type <@GenericInterface, @GenericInterface(constants.%T)> [symbolic = %GenericInterface.type.loc24_53.1 (constants.%GenericInterface.type.4e1)] // CHECK:STDOUT: %.loc24_26.1: type = splice_block %.loc24_26.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc24_26.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc24_24.2: type = symbolic_binding T, 0 [symbolic = %T.loc24_24.1 (constants.%T)] diff --git a/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon b/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon index 9688484eedbc..70b8966b150b 100644 --- a/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon +++ b/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon @@ -67,6 +67,7 @@ fn F() { // CHECK:STDOUT: --- fail_extend_impl_file_scope.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -122,6 +123,7 @@ fn F() { // CHECK:STDOUT: --- fail_extend_impl_function_scope.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %Self: %J.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] @@ -186,6 +188,7 @@ fn F() { // CHECK:STDOUT: --- fail_extend_impl_self_interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self.cb6: %Z.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Z.WithSelf.Zero.type.68b: type = fn_type @Z.WithSelf.Zero, @Z.WithSelf(%Self.cb6) [symbolic] @@ -210,10 +213,8 @@ fn F() { // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %Point.val: %Point = struct_value () [concrete] // CHECK:STDOUT: %.e6b: ref %Point = temporary invalid, %Point.val [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %Point.type.facet: %type = facet_value %Point, () [concrete] -// CHECK:STDOUT: %Z.WithSelf.Zero.type.356: type = fn_type @Z.WithSelf.Zero, @Z.WithSelf(%Point.type.facet) [concrete] -// CHECK:STDOUT: %Z.WithSelf.Zero.237: %Z.WithSelf.Zero.type.356 = struct_value () [concrete] +// CHECK:STDOUT: %Z.WithSelf.Zero.type.7b8: type = fn_type @Z.WithSelf.Zero, @Z.WithSelf(%Point) [concrete] +// CHECK:STDOUT: %Z.WithSelf.Zero.3cb: %Z.WithSelf.Zero.type.7b8 = struct_value () [concrete] // CHECK:STDOUT: %.dfa: type = fn_type_with_self_type %Z.WithSelf.Zero.type.896, %Z.facet [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.ef016f.2: type = fn_type @Destroy.WithSelf.Op.loc25_7.2 [concrete] @@ -375,10 +376,10 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: specific @Z.WithSelf.Zero(constants.%Z.facet) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @Z.WithSelf(constants.%Point.type.facet) { +// CHECK:STDOUT: specific @Z.WithSelf(constants.%Point) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%Point.type.facet -// CHECK:STDOUT: %Z.WithSelf.Zero.type => constants.%Z.WithSelf.Zero.type.356 -// CHECK:STDOUT: %Z.WithSelf.Zero => constants.%Z.WithSelf.Zero.237 +// CHECK:STDOUT: %Self => constants.%Point +// CHECK:STDOUT: %Z.WithSelf.Zero.type => constants.%Z.WithSelf.Zero.type.7b8 +// CHECK:STDOUT: %Z.WithSelf.Zero => constants.%Z.WithSelf.Zero.3cb // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/fail_extend_impl_type_as.carbon b/toolchain/check/testdata/impl/fail_extend_impl_type_as.carbon index 873826d38680..772c78f99fdb 100644 --- a/toolchain/check/testdata/impl/fail_extend_impl_type_as.carbon +++ b/toolchain/check/testdata/impl/fail_extend_impl_type_as.carbon @@ -51,6 +51,7 @@ class E { // CHECK:STDOUT: --- fail_extend_impl_type_as.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %C: type = class_type @C [concrete] diff --git a/toolchain/check/testdata/impl/fail_extend_non_interface.carbon b/toolchain/check/testdata/impl/fail_extend_non_interface.carbon index 24ff9d937653..af1a93bbbcab 100644 --- a/toolchain/check/testdata/impl/fail_extend_non_interface.carbon +++ b/toolchain/check/testdata/impl/fail_extend_non_interface.carbon @@ -23,6 +23,7 @@ class C { // CHECK:STDOUT: --- fail_extend_non_interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/impl/fail_extend_partially_defined_interface.carbon b/toolchain/check/testdata/impl/fail_extend_partially_defined_interface.carbon index 3679dfe70437..5156f24c490c 100644 --- a/toolchain/check/testdata/impl/fail_extend_partially_defined_interface.carbon +++ b/toolchain/check/testdata/impl/fail_extend_partially_defined_interface.carbon @@ -28,6 +28,7 @@ interface I { // CHECK:STDOUT: --- fail_extend_partially_defined_interface.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %C: type = class_type @C, @C(%Self) [symbolic] diff --git a/toolchain/check/testdata/impl/fail_extend_undefined_interface.carbon b/toolchain/check/testdata/impl/fail_extend_undefined_interface.carbon index aba0dc49d378..233c97c76f30 100644 --- a/toolchain/check/testdata/impl/fail_extend_undefined_interface.carbon +++ b/toolchain/check/testdata/impl/fail_extend_undefined_interface.carbon @@ -33,6 +33,7 @@ fn F(c: C) { // CHECK:STDOUT: --- fail_extend_undefined_interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %.b7f: = impl_self_witness %C, @I [concrete] diff --git a/toolchain/check/testdata/impl/fail_impl_as_scope.carbon b/toolchain/check/testdata/impl/fail_impl_as_scope.carbon index d7ff392d9f1d..884a3f00cd8b 100644 --- a/toolchain/check/testdata/impl/fail_impl_as_scope.carbon +++ b/toolchain/check/testdata/impl/fail_impl_as_scope.carbon @@ -103,6 +103,7 @@ class X { // CHECK:STDOUT: --- fail_impl_as_file_scope.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] @@ -170,6 +171,7 @@ class X { // CHECK:STDOUT: --- fail_impl_as_function_scope.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %Self: %J.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] @@ -237,6 +239,7 @@ class X { // CHECK:STDOUT: --- fail_impl_as_self_interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self.cb6: %Z.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Z.WithSelf.Zero.type.68b: type = fn_type @Z.WithSelf.Zero, @Z.WithSelf(%Self.cb6) [symbolic] @@ -551,6 +554,7 @@ class X { // CHECK:STDOUT: --- fail_impl_as_other_interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %Self.d0c: %A.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %A.WithSelf.B.type.ab5: type = fn_type @A.WithSelf.B, @A.WithSelf(%Self.d0c) [symbolic] diff --git a/toolchain/check/testdata/impl/fail_impl_bad_assoc_const.carbon b/toolchain/check/testdata/impl/fail_impl_bad_assoc_const.carbon index 8c082a66947a..7b5343b02dc0 100644 --- a/toolchain/check/testdata/impl/fail_impl_bad_assoc_const.carbon +++ b/toolchain/check/testdata/impl/fail_impl_bad_assoc_const.carbon @@ -26,6 +26,7 @@ impl () as I {} // CHECK:STDOUT: --- fail_impl_bad_assoc_const.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] diff --git a/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon b/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon index 627ee600eca4..eddede018a9a 100644 --- a/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon +++ b/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon @@ -217,6 +217,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: --- fail_impl_bad_assoc_fn.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.dcc: type = fn_type @I.WithSelf.F, @I.WithSelf(%Self.37e) [symbolic] @@ -378,8 +379,8 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %struct_type.x.y.4c5: type = struct_type {.x: %Self.as_type.8ab, .y: %i32} [symbolic] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.b6a: %tuple.type.24b = tuple_value (%ptr.a16, %struct_type.x.y.4c5) [symbolic] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.bb5: %tuple.type.693 = tuple_value (%ptr.a16, %struct_type.x.y.4c5) [symbolic] // CHECK:STDOUT: %tuple.type.c49: type = tuple_type (%ptr.a16, %struct_type.x.y.4c5) [symbolic] // CHECK:STDOUT: %pattern_type.60a: type = pattern_type %tuple.type.c49 [symbolic] // CHECK:STDOUT: %x.param_patt.e85: %pattern_type.60a = value_param_pattern [symbolic] @@ -399,7 +400,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %SelfNested.impl_witness.09d: = impl_witness @SelfNestedBadParam.as.SelfNested.impl.%SelfNested.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.52e: type = ptr_type %SelfNestedBadParam [concrete] // CHECK:STDOUT: %struct_type.x.y.fb8: type = struct_type {.x: %i32, .y: %i32} [concrete] -// CHECK:STDOUT: %tuple.991: %tuple.type.24b = tuple_value (%ptr.52e, %struct_type.x.y.fb8) [concrete] +// CHECK:STDOUT: %tuple.8bb: %tuple.type.693 = tuple_value (%ptr.52e, %struct_type.x.y.fb8) [concrete] // CHECK:STDOUT: %tuple.type.e57: type = tuple_type (%ptr.52e, %struct_type.x.y.fb8) [concrete] // CHECK:STDOUT: %pattern_type.a68: type = pattern_type %tuple.type.e57 [concrete] // CHECK:STDOUT: %x.param_patt.140: %pattern_type.a68 = value_param_pattern [concrete] @@ -415,7 +416,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %SelfNested.WithSelf.F.type.398: type = fn_type @SelfNested.WithSelf.F, @SelfNested.WithSelf(%SelfNested.facet.d0d) [concrete] // CHECK:STDOUT: %SelfNested.WithSelf.F.175: %SelfNested.WithSelf.F.type.398 = struct_value () [concrete] // CHECK:STDOUT: %struct_type.x.y.da2: type = struct_type {.x: %SelfNestedBadParam, .y: %i32} [concrete] -// CHECK:STDOUT: %tuple.09d: %tuple.type.24b = tuple_value (%ptr.52e, %struct_type.x.y.da2) [concrete] +// CHECK:STDOUT: %tuple.edc: %tuple.type.693 = tuple_value (%ptr.52e, %struct_type.x.y.da2) [concrete] // CHECK:STDOUT: %tuple.type.9ab: type = tuple_type (%ptr.52e, %struct_type.x.y.da2) [concrete] // CHECK:STDOUT: %pattern_type.94f: type = pattern_type %tuple.type.9ab [concrete] // CHECK:STDOUT: %x.param_patt.7b9: %pattern_type.94f = value_param_pattern [concrete] @@ -430,7 +431,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %SelfNested.impl_witness.849: = impl_witness @SelfNestedBadReturnType.as.SelfNested.impl.%SelfNested.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.f55: type = ptr_type %SelfNestedBadReturnType [concrete] // CHECK:STDOUT: %struct_type.x.y.f6a: type = struct_type {.x: %SelfNestedBadReturnType, .y: %i32} [concrete] -// CHECK:STDOUT: %tuple.96d: %tuple.type.24b = tuple_value (%ptr.f55, %struct_type.x.y.f6a) [concrete] +// CHECK:STDOUT: %tuple.0f3: %tuple.type.693 = tuple_value (%ptr.f55, %struct_type.x.y.f6a) [concrete] // CHECK:STDOUT: %tuple.type.829: type = tuple_type (%ptr.f55, %struct_type.x.y.f6a) [concrete] // CHECK:STDOUT: %pattern_type.5c2: type = pattern_type %tuple.type.829 [concrete] // CHECK:STDOUT: %x.param_patt.7be: %pattern_type.5c2 = value_param_pattern [concrete] @@ -582,7 +583,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %.loc184_24: type = converted %Self.ref.loc184_24, %Self.as_type.loc184_24 [symbolic = %Self.as_type.loc184_16.1 (constants.%Self.as_type.8ab)] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.x.y.loc184_37.2: type = struct_type {.x: @SelfNested.WithSelf.F.%Self.as_type.loc184_16.1 (%Self.as_type.8ab), .y: %i32} [symbolic = %struct_type.x.y.loc184_37.1 (constants.%struct_type.x.y.4c5)] -// CHECK:STDOUT: %.loc184_38.2: %tuple.type.24b = tuple_literal (%ptr.loc184_16.2, %struct_type.x.y.loc184_37.2) [symbolic = %tuple (constants.%tuple.b6a)] +// CHECK:STDOUT: %.loc184_38.2: %tuple.type.693 = tuple_literal (%ptr.loc184_16.2, %struct_type.x.y.loc184_37.2) [symbolic = %tuple (constants.%tuple.bb5)] // CHECK:STDOUT: %.loc184_38.3: type = converted %.loc184_38.2, constants.%tuple.type.c49 [symbolic = %tuple.type (constants.%tuple.type.c49)] // CHECK:STDOUT: } // CHECK:STDOUT: %x: @SelfNested.WithSelf.F.%tuple.type (%tuple.type.c49) = wrapper_binding x, %x.param @@ -951,7 +952,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %i32.loc196_40: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc196_49: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.x.y: type = struct_type {.x: %i32, .y: %i32} [concrete = constants.%struct_type.x.y.fb8] -// CHECK:STDOUT: %.loc196_53.2: %tuple.type.24b = tuple_literal (%ptr, %struct_type.x.y) [concrete = constants.%tuple.991] +// CHECK:STDOUT: %.loc196_53.2: %tuple.type.693 = tuple_literal (%ptr, %struct_type.x.y) [concrete = constants.%tuple.8bb] // CHECK:STDOUT: %.loc196_53.3: type = converted %.loc196_53.2, constants.%tuple.type.e57 [concrete = constants.%tuple.type.e57] // CHECK:STDOUT: } // CHECK:STDOUT: %x: %tuple.type.e57 = wrapper_binding x, %x.param @@ -998,7 +999,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %SelfNestedBadReturnType.ref.loc212_45: type = name_ref SelfNestedBadReturnType, file.%SelfNestedBadReturnType.decl [concrete = constants.%SelfNestedBadReturnType] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.x.y: type = struct_type {.x: %SelfNestedBadReturnType, .y: %i32} [concrete = constants.%struct_type.x.y.f6a] -// CHECK:STDOUT: %.loc212_78.2: %tuple.type.24b = tuple_literal (%ptr, %struct_type.x.y) [concrete = constants.%tuple.96d] +// CHECK:STDOUT: %.loc212_78.2: %tuple.type.693 = tuple_literal (%ptr, %struct_type.x.y) [concrete = constants.%tuple.0f3] // CHECK:STDOUT: %.loc212_78.3: type = converted %.loc212_78.2, constants.%tuple.type.829 [concrete = constants.%tuple.type.829] // CHECK:STDOUT: } // CHECK:STDOUT: %x: %tuple.type.829 = wrapper_binding x, %x.param @@ -1315,7 +1316,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %Self.as_type.loc184_16.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc184_16.1 (constants.%Self.as_type.8ab)] // CHECK:STDOUT: %ptr.loc184_16.1: type = ptr_type %Self.as_type.loc184_16.1 [symbolic = %ptr.loc184_16.1 (constants.%ptr.a16)] // CHECK:STDOUT: %struct_type.x.y.loc184_37.1: type = struct_type {.x: @SelfNested.WithSelf.F.%Self.as_type.loc184_16.1 (%Self.as_type.8ab), .y: %i32} [symbolic = %struct_type.x.y.loc184_37.1 (constants.%struct_type.x.y.4c5)] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%ptr.loc184_16.1, %struct_type.x.y.loc184_37.1) [symbolic = %tuple (constants.%tuple.b6a)] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%ptr.loc184_16.1, %struct_type.x.y.loc184_37.1) [symbolic = %tuple (constants.%tuple.bb5)] // CHECK:STDOUT: %tuple.type: type = tuple_type (%ptr.loc184_16.1, %struct_type.x.y.loc184_37.1) [symbolic = %tuple.type (constants.%tuple.type.c49)] // CHECK:STDOUT: %pattern_type.loc184_9: type = pattern_type %tuple.type [symbolic = %pattern_type.loc184_9 (constants.%pattern_type.60a)] // CHECK:STDOUT: %x.param_patt.loc184_9.2: @SelfNested.WithSelf.F.%pattern_type.loc184_9 (%pattern_type.60a) = value_param_pattern [symbolic = %x.param_patt.loc184_9.2 (constants.%x.param_patt.e85)] @@ -1482,7 +1483,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %Self.as_type.loc184_16.1 => constants.%Self.as_type.8ab // CHECK:STDOUT: %ptr.loc184_16.1 => constants.%ptr.a16 // CHECK:STDOUT: %struct_type.x.y.loc184_37.1 => constants.%struct_type.x.y.4c5 -// CHECK:STDOUT: %tuple => constants.%tuple.b6a +// CHECK:STDOUT: %tuple => constants.%tuple.bb5 // CHECK:STDOUT: %tuple.type => constants.%tuple.type.c49 // CHECK:STDOUT: %pattern_type.loc184_9 => constants.%pattern_type.60a // CHECK:STDOUT: %x.param_patt.loc184_9.2 => constants.%x.param_patt.e85 @@ -1506,7 +1507,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %Self.as_type.loc184_16.1 => constants.%SelfNestedBadParam // CHECK:STDOUT: %ptr.loc184_16.1 => constants.%ptr.52e // CHECK:STDOUT: %struct_type.x.y.loc184_37.1 => constants.%struct_type.x.y.da2 -// CHECK:STDOUT: %tuple => constants.%tuple.09d +// CHECK:STDOUT: %tuple => constants.%tuple.edc // CHECK:STDOUT: %tuple.type => constants.%tuple.type.9ab // CHECK:STDOUT: %pattern_type.loc184_9 => constants.%pattern_type.94f // CHECK:STDOUT: %x.param_patt.loc184_9.2 => constants.%x.param_patt.7b9 @@ -1530,7 +1531,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %Self.as_type.loc184_16.1 => constants.%SelfNestedBadReturnType // CHECK:STDOUT: %ptr.loc184_16.1 => constants.%ptr.f55 // CHECK:STDOUT: %struct_type.x.y.loc184_37.1 => constants.%struct_type.x.y.f6a -// CHECK:STDOUT: %tuple => constants.%tuple.96d +// CHECK:STDOUT: %tuple => constants.%tuple.0f3 // CHECK:STDOUT: %tuple.type => constants.%tuple.type.829 // CHECK:STDOUT: %pattern_type.loc184_9 => constants.%pattern_type.5c2 // CHECK:STDOUT: %x.param_patt.loc184_9.2 => constants.%x.param_patt.7be diff --git a/toolchain/check/testdata/impl/fail_impl_bad_interface.carbon b/toolchain/check/testdata/impl/fail_impl_bad_interface.carbon index 9f100ad7a68e..a89515ed5765 100644 --- a/toolchain/check/testdata/impl/fail_impl_bad_interface.carbon +++ b/toolchain/check/testdata/impl/fail_impl_bad_interface.carbon @@ -29,7 +29,7 @@ impl i32 as false {} library "[[@TEST_NAME]]"; -// CHECK:STDERR: fail_impl_as_type.carbon:[[@LINE+4]]:1: error: impl as non-facet type `type` [ImplAsNonFacetType] +// CHECK:STDERR: fail_impl_as_type.carbon:[[@LINE+4]]:1: error: impl as 0 interfaces, expected 1 [ImplOfNotOneInterface] // CHECK:STDERR: impl bool as type {} // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~ // CHECK:STDERR: @@ -60,6 +60,7 @@ impl {.a: bool} as type where .Self impls I {} // CHECK:STDOUT: --- fail_impl_as_false.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -100,6 +101,10 @@ impl {.a: bool} as type where .Self impls I {} // CHECK:STDOUT: // CHECK:STDOUT: --- fail_impl_as_type.carbon // CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core: = namespace file.%Core.import, [concrete] { // CHECK:STDOUT: .Bool = %Core.Bool @@ -129,15 +134,13 @@ impl {.a: bool} as type where .Self impls I {} // CHECK:STDOUT: --- fail_impl_as_type_where.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %Float.type: type = generic_class_type @Float [concrete] // CHECK:STDOUT: %Float.generic: %Float.type = struct_value () [concrete] // CHECK:STDOUT: %f64: type = class_type @Float, @Float(%int_64) [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen [symbolic_self] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -157,21 +160,17 @@ impl {.a: bool} as type where .Self impls I {} // CHECK:STDOUT: impl_decl @f64.as..impl [concrete] {} { // CHECK:STDOUT: %f64: type = type_literal constants.%f64 [concrete = constants.%f64] // CHECK:STDOUT: %.loc8_13: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc8_13 [concrete] -// CHECK:STDOUT: %.Self.ref.loc8_24.1: %type = name_ref .Self, %.Self.frozen [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.ref.loc8_24.1: type = name_ref .Self, %.Self.frozen [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_36: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.as_type.loc8_24.1: type = facet_access_type %.Self.ref.loc8_24.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %.loc8_24.1: type = converted %.Self.ref.loc8_24.1, %.Self.as_type.loc8_24.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %impls.loc8_30.1 = requirement_impls %.loc8_24.1, %.loc8_36 [concrete] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.ref.loc8_24.2: %type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.as_type.loc8_24.2: type = facet_access_type %.Self.ref.loc8_24.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %.loc8_24.2: type = converted %.Self.ref.loc8_24.1, %.Self.as_type.loc8_24.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %impls.loc8_30.2 = requirement_impls %.loc8_24.2, %.loc8_36 [concrete] -// CHECK:STDOUT: %.loc8_18: type = where_expr [concrete = constants.%type] { +// CHECK:STDOUT: %impls.loc8_30.1 = requirement_impls %.Self.ref.loc8_24.1, %.loc8_36 [concrete] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.Self.ref.loc8_24.2: type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %impls.loc8_30.2 = requirement_impls %.Self.ref.loc8_24.2, %.loc8_36 [concrete] +// CHECK:STDOUT: %.loc8_18: type = where_expr [concrete = type] { // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc8_13 [concrete] -// CHECK:STDOUT: %impls.loc8_30.2 = requirement_impls %.loc8_24.2, %.loc8_36 [concrete] +// CHECK:STDOUT: %impls.loc8_30.2 = requirement_impls %.Self.ref.loc8_24.2, %.loc8_36 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -185,14 +184,12 @@ impl {.a: bool} as type where .Self impls I {} // CHECK:STDOUT: --- fail_impl_as_type_where_impls_interface.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: bool} [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen [symbolic_self] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %type_where: type = facet_type [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -216,21 +213,17 @@ impl {.a: bool} as type where .Self impls I {} // CHECK:STDOUT: %.loc10_11: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: bool} [concrete = constants.%struct_type.a] // CHECK:STDOUT: %.loc10_20: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc10_20 [concrete] -// CHECK:STDOUT: %.Self.ref.loc10_31.1: %type = name_ref .Self, %.Self.frozen [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.ref.loc10_31.1: type = name_ref .Self, %.Self.frozen [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] -// CHECK:STDOUT: %.Self.as_type.loc10_31.1: type = facet_access_type %.Self.ref.loc10_31.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %.loc10_31.1: type = converted %.Self.ref.loc10_31.1, %.Self.as_type.loc10_31.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %impls.loc10_37.1 = requirement_impls %.loc10_31.1, %I.ref [concrete] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.ref.loc10_31.2: %type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.as_type.loc10_31.2: type = facet_access_type %.Self.ref.loc10_31.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %.loc10_31.2: type = converted %.Self.ref.loc10_31.1, %.Self.as_type.loc10_31.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %impls.loc10_37.2 = requirement_impls %.loc10_31.2, %I.ref [concrete] +// CHECK:STDOUT: %impls.loc10_37.1 = requirement_impls %.Self.ref.loc10_31.1, %I.ref [concrete] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.Self.ref.loc10_31.2: type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %impls.loc10_37.2 = requirement_impls %.Self.ref.loc10_31.2, %I.ref [concrete] // CHECK:STDOUT: %.loc10_25: type = where_expr [concrete = constants.%type_where] { // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc10_20 [concrete] -// CHECK:STDOUT: %impls.loc10_37.2 = requirement_impls %.loc10_31.2, %I.ref [concrete] +// CHECK:STDOUT: %impls.loc10_37.2 = requirement_impls %.Self.ref.loc10_31.2, %I.ref [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/fail_impl_bad_type.carbon b/toolchain/check/testdata/impl/fail_impl_bad_type.carbon index f2452b3154c1..59dbafac398b 100644 --- a/toolchain/check/testdata/impl/fail_impl_bad_type.carbon +++ b/toolchain/check/testdata/impl/fail_impl_bad_type.carbon @@ -26,6 +26,7 @@ impl true as I {} // CHECK:STDOUT: --- fail_impl_bad_type.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: %true: bool = bool_literal true [concrete] diff --git a/toolchain/check/testdata/impl/fail_redefinition.carbon b/toolchain/check/testdata/impl/fail_redefinition.carbon index 1bdf2dab6bdb..58156a4b9ff8 100644 --- a/toolchain/check/testdata/impl/fail_redefinition.carbon +++ b/toolchain/check/testdata/impl/fail_redefinition.carbon @@ -28,6 +28,7 @@ impl i32 as I {} // CHECK:STDOUT: --- fail_redefinition.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] diff --git a/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon b/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon index 4c8058373e02..225947e9a297 100644 --- a/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon +++ b/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon @@ -42,10 +42,10 @@ impl i32 as I { // CHECK:STDOUT: --- fail_self_type_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.51d1c4.1: type = pattern_type %T [symbolic] // CHECK:STDOUT: %X.patt.9f0: %pattern_type.51d1c4.1 = symbolic_binding_pattern X, 1 [symbolic] @@ -85,11 +85,11 @@ impl i32 as I { // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %.2a7: = impl_self_witness %i32, @I [concrete] // CHECK:STDOUT: %I.impl_witness.8f5: = impl_witness @i32.as.I.impl.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %X.patt.014: %pattern_type.98f = symbolic_binding_pattern X, 1 [symbolic] -// CHECK:STDOUT: %C.8dc: type = class_type @C, @C(type, %i32) [concrete] -// CHECK:STDOUT: %pattern_type.900: type = pattern_type %C.8dc [concrete] -// CHECK:STDOUT: %c.param_patt.e0e: %pattern_type.900 = value_param_pattern [concrete] -// CHECK:STDOUT: %c.patt.831: %pattern_type.900 = wrapper_binding_pattern c, %c.param_patt.e0e [concrete] +// CHECK:STDOUT: %X.patt.cb8: %pattern_type.9a5 = symbolic_binding_pattern X, 1 [symbolic] +// CHECK:STDOUT: %C.2f7: type = class_type @C, @C(type, %i32) [concrete] +// CHECK:STDOUT: %pattern_type.756: type = pattern_type %C.2f7 [concrete] +// CHECK:STDOUT: %c.param_patt.4c4: %pattern_type.756 = value_param_pattern [concrete] +// CHECK:STDOUT: %c.patt.6b4: %pattern_type.756 = wrapper_binding_pattern c, %c.param_patt.4c4 [concrete] // CHECK:STDOUT: %i32.as.I.impl.F.type.48cdab.1: type = fn_type @i32.as.I.impl.F.loc39_18.1 [concrete] // CHECK:STDOUT: %i32.as.I.impl.F.bd5be1.1: %i32.as.I.impl.F.type.48cdab.1 = struct_value () [concrete] // CHECK:STDOUT: %I.facet.190: %I.type = facet_value %i32, (%I.impl_witness.8f5) [concrete] @@ -109,9 +109,9 @@ impl i32 as I { // CHECK:STDOUT: %ImplicitAs.assoc_type.fcc: type = assoc_entity_type @ImplicitAs, @ImplicitAs(%Dest) [symbolic] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.97e: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Dest, %Self.294) [symbolic] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.945: %ImplicitAs.WithSelf.Convert.type.97e = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.type.803: type = facet_type <@ImplicitAs, @ImplicitAs(%C.8dc)> [concrete] -// CHECK:STDOUT: %ImplicitAs.assoc_type.385: type = assoc_entity_type @ImplicitAs, @ImplicitAs(%C.8dc) [concrete] -// CHECK:STDOUT: %assoc0.82f: %ImplicitAs.assoc_type.385 = assoc_entity element0, imports.%Core.import_ref.cb2 [concrete] +// CHECK:STDOUT: %ImplicitAs.type.2d4: type = facet_type <@ImplicitAs, @ImplicitAs(%C.2f7)> [concrete] +// CHECK:STDOUT: %ImplicitAs.assoc_type.259: type = assoc_entity_type @ImplicitAs, @ImplicitAs(%C.2f7) [concrete] +// CHECK:STDOUT: %assoc0.f3b: %ImplicitAs.assoc_type.259 = assoc_entity element0, imports.%Core.import_ref.cb2 [concrete] // CHECK:STDOUT: %assoc0.0ac: %ImplicitAs.assoc_type.fcc = assoc_entity element0, imports.%Core.import_ref.f9d [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -139,16 +139,16 @@ impl i32 as I { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { -// CHECK:STDOUT: %T.patt.loc17_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc17_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc17_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc17_10.2 (constants.%T.patt)] // CHECK:STDOUT: %X.patt.loc17_19.1: @C.%pattern_type (%pattern_type.51d1c4.1) = symbolic_binding_pattern X, 1 [symbolic = %X.patt.loc17_19.2 (constants.%X.patt.9f0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17_12.1: type = splice_block %.loc17_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc17_10: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc17_10: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc17_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc17_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc17_10.1 (constants.%T)] // CHECK:STDOUT: %.loc17_21: type = splice_block %T.ref [symbolic = %T.loc17_10.1 (constants.%T)] { -// CHECK:STDOUT: %.Self.frozen.loc17_19: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc17_19: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc17_10.2 [symbolic = %T.loc17_10.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.loc17_19.2: @C.%T.loc17_10.1 (%T) = symbolic_binding X, 1 [symbolic = %X.loc17_19.1 (constants.%X)] @@ -225,16 +225,16 @@ impl i32 as I { // CHECK:STDOUT: // CHECK:STDOUT: impl @i32.as.I.impl: %i32 as %I.ref { // CHECK:STDOUT: %i32.as.I.impl.F.decl.loc39_18.1: %i32.as.I.impl.F.type.48cdab.1 = fn_decl @i32.as.I.impl.F.loc39_18.1 [concrete = constants.%i32.as.I.impl.F.bd5be1.1] { -// CHECK:STDOUT: %c.param_patt: %pattern_type.900 = value_param_pattern [concrete = constants.%c.param_patt.e0e] -// CHECK:STDOUT: %c.patt: %pattern_type.900 = wrapper_binding_pattern c, %c.param_patt [concrete = constants.%c.patt.831] +// CHECK:STDOUT: %c.param_patt: %pattern_type.756 = value_param_pattern [concrete = constants.%c.param_patt.4c4] +// CHECK:STDOUT: %c.patt: %pattern_type.756 = wrapper_binding_pattern c, %c.param_patt [concrete = constants.%c.patt.6b4] // CHECK:STDOUT: } { -// CHECK:STDOUT: %c.param: %C.8dc = value_param call_param0 -// CHECK:STDOUT: %.loc39: type = splice_block %C [concrete = constants.%C.8dc] { +// CHECK:STDOUT: %c.param: %C.2f7 = value_param call_param0 +// CHECK:STDOUT: %.loc39: type = splice_block %C [concrete = constants.%C.2f7] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %C: type = class_type @C, @C(type, constants.%i32) [concrete = constants.%C.8dc] +// CHECK:STDOUT: %C: type = class_type @C, @C(type, constants.%i32) [concrete = constants.%C.2f7] // CHECK:STDOUT: } -// CHECK:STDOUT: %c: %C.8dc = wrapper_binding c, %c.param +// CHECK:STDOUT: %c: %C.2f7 = wrapper_binding c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: %i32.as.I.impl.F.decl.loc39_18.2: %i32.as.I.impl.F.type.48cdab.2 = fn_decl @i32.as.I.impl.F.loc39_18.2 [concrete = constants.%i32.as.I.impl.F.bd5be1.2] { // CHECK:STDOUT: %.1: %pattern_type.03a = specific_constant constants.%c.param_patt.322, @I.WithSelf.F(constants.%I.facet.190) [concrete = constants.%c.param_patt.322] @@ -254,7 +254,7 @@ impl i32 as I { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(%T.loc17_10.2: type, %X.loc17_19.2: @C.%T.loc17_10.1 (%T)) { -// CHECK:STDOUT: %T.patt.loc17_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc17_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc17_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc17_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc17_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc17_10.1 (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc17_10.1 [symbolic = %pattern_type (constants.%pattern_type.51d1c4.1)] // CHECK:STDOUT: %X.patt.loc17_19.2: @C.%pattern_type (%pattern_type.51d1c4.1) = symbolic_binding_pattern X, 1 [symbolic = %X.patt.loc17_19.2 (constants.%X.patt.9f0)] @@ -283,15 +283,15 @@ impl i32 as I { // CHECK:STDOUT: // CHECK:STDOUT: fn @bool.as.I.impl.F(%c.param: %C.a2c); // CHECK:STDOUT: -// CHECK:STDOUT: fn @i32.as.I.impl.F.loc39_18.1(%c.param: %C.8dc); +// CHECK:STDOUT: fn @i32.as.I.impl.F.loc39_18.1(%c.param: %C.2f7); // CHECK:STDOUT: // CHECK:STDOUT: fn @i32.as.I.impl.F.loc39_18.2(%c.param: %C.1e0) [thunk @i32.as.I.impl.%i32.as.I.impl.F.decl.loc39_18.1 for @I.WithSelf.%I.WithSelf.F.decl, @I.WithSelf.F(constants.%I.facet.190)] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %i32.as.I.impl.F.type.48cdab.1 = name_ref F, @i32.as.I.impl.%i32.as.I.impl.F.decl.loc39_18.1 [concrete = constants.%i32.as.I.impl.F.bd5be1.1] -// CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%C.8dc)> [concrete = constants.%ImplicitAs.type.803] -// CHECK:STDOUT: %.2: %ImplicitAs.assoc_type.385 = specific_constant imports.%Core.import_ref.484, @ImplicitAs.WithSelf(constants.%C.8dc, constants.%Self.294) [concrete = constants.%assoc0.82f] -// CHECK:STDOUT: %Convert.ref: %ImplicitAs.assoc_type.385 = name_ref Convert, %.2 [concrete = constants.%assoc0.82f] -// CHECK:STDOUT: %.3: %C.8dc = converted %c.param, [concrete = ] +// CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%C.2f7)> [concrete = constants.%ImplicitAs.type.2d4] +// CHECK:STDOUT: %.2: %ImplicitAs.assoc_type.259 = specific_constant imports.%Core.import_ref.484, @ImplicitAs.WithSelf(constants.%C.2f7, constants.%Self.294) [concrete = constants.%assoc0.f3b] +// CHECK:STDOUT: %Convert.ref: %ImplicitAs.assoc_type.259 = name_ref Convert, %.2 [concrete = constants.%assoc0.f3b] +// CHECK:STDOUT: %.3: %C.2f7 = converted %c.param, [concrete = ] // CHECK:STDOUT: %i32.as.I.impl.F.call: init %empty_tuple.type = call %F.ref() // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -353,8 +353,8 @@ impl i32 as I { // CHECK:STDOUT: specific @C(type, constants.%i32) { // CHECK:STDOUT: %T.patt.loc17_10.2 => constants.%T.patt // CHECK:STDOUT: %T.loc17_10.1 => type -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.98f -// CHECK:STDOUT: %X.patt.loc17_19.2 => constants.%X.patt.014 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a5 +// CHECK:STDOUT: %X.patt.loc17_19.2 => constants.%X.patt.cb8 // CHECK:STDOUT: %X.loc17_19.1 => constants.%i32 // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/impl/forward_decls.carbon b/toolchain/check/testdata/impl/forward_decls.carbon index f941c1e2d462..db70778becad 100644 --- a/toolchain/check/testdata/impl/forward_decls.carbon +++ b/toolchain/check/testdata/impl/forward_decls.carbon @@ -233,6 +233,7 @@ impl C as Y {} // CHECK:STDOUT: --- empty.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -302,6 +303,7 @@ impl C as Y {} // CHECK:STDOUT: --- method.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -405,16 +407,17 @@ impl C as Y {} // CHECK:STDOUT: --- combine.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %I.type, %type.as.BitAndWith.impl.Op [concrete] @@ -449,7 +452,7 @@ impl C as Y {} // CHECK:STDOUT: %.loc4_7.2: type = converted %.loc4_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref.loc4_12: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] // CHECK:STDOUT: %I.ref.loc4_16: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] -// CHECK:STDOUT: %impl.elem0.loc4: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc4: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc4: = bound_method %I.ref.loc4_12, %impl.elem0.loc4 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc4: init type = call %bound_method.loc4(%I.ref.loc4_12, %I.ref.loc4_16) [concrete = constants.%I.type] // CHECK:STDOUT: } @@ -462,7 +465,7 @@ impl C as Y {} // CHECK:STDOUT: %.loc7_7.2: type = converted %.loc7_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref.loc7_12: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] // CHECK:STDOUT: %I.ref.loc7_16: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] -// CHECK:STDOUT: %impl.elem0.loc7: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc7: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc7: = bound_method %I.ref.loc7_12, %impl.elem0.loc7 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc7: init type = call %bound_method.loc7(%I.ref.loc7_12, %I.ref.loc7_16) [concrete = constants.%I.type] // CHECK:STDOUT: } @@ -500,6 +503,7 @@ impl C as Y {} // CHECK:STDOUT: --- associated_const.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] @@ -623,6 +627,7 @@ impl C as Y {} // CHECK:STDOUT: --- associated_const_compound_member_access.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] @@ -778,6 +783,7 @@ impl C as Y {} // CHECK:STDOUT: --- associated_const_of_facet.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] @@ -935,6 +941,7 @@ impl C as Y {} // CHECK:STDOUT: --- fail_unset_associated_const.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] @@ -1043,6 +1050,7 @@ impl C as Y {} // CHECK:STDOUT: --- fail_associated_const_before_interface_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: %C: type = class_type @C [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] @@ -1152,8 +1160,8 @@ impl C as Y {} // CHECK:STDOUT: --- associated_const_of_parameterized.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %U.patt: %pattern_type = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 0 [symbolic] @@ -1203,7 +1211,7 @@ impl C as Y {} // CHECK:STDOUT: %U.patt.loc3_14.1: %pattern_type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc3_14.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_16.1: type = splice_block %.loc3_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc3_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc3_14.2: type = symbolic_binding U, 0 [symbolic = %U.loc3_14.1 (constants.%U)] @@ -1351,14 +1359,14 @@ impl C as Y {} // CHECK:STDOUT: --- find_incomplete_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %.393: = impl_self_witness %D, @I [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness @D.as.I.impl.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.6cb: type = pattern_type %I.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.6cb = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %I.type = symbolic_binding T, 0 [symbolic] @@ -1402,7 +1410,7 @@ impl C as Y {} // CHECK:STDOUT: %T.patt.loc12: %pattern_type.6cb = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %I.ref.loc6 [concrete = constants.%I.type] { -// CHECK:STDOUT: %.Self.frozen.loc6: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %I.ref.loc6: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_10.2: %I.type = symbolic_binding T, 0 [symbolic = %T.loc6_10.1 (constants.%T)] @@ -1431,7 +1439,7 @@ impl C as Y {} // CHECK:STDOUT: %T.patt.loc12: %pattern_type.6cb = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12: type = splice_block %I.ref.loc12 [concrete = constants.%I.type] { -// CHECK:STDOUT: %.Self.frozen.loc12: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc12: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %I.ref.loc12: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12: %I.type = symbolic_binding T, 0 [symbolic = %T.loc6_10.1 (constants.%T)] @@ -1523,17 +1531,18 @@ impl C as Y {} // CHECK:STDOUT: --- fail_todo_two_interfaces.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %I.type, %type.as.BitAndWith.impl.Op [concrete] @@ -1569,7 +1578,7 @@ impl C as Y {} // CHECK:STDOUT: %.loc10_7.2: type = converted %.loc10_7.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl.loc4 [concrete = constants.%J.type] -// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %I.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%I.ref, %J.ref) [concrete = constants.%facet_type] // CHECK:STDOUT: } @@ -1608,6 +1617,7 @@ impl C as Y {} // CHECK:STDOUT: --- fail_never_assigned_associated_const.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] @@ -1745,9 +1755,9 @@ impl C as Y {} // CHECK:STDOUT: --- example_from_proposal_5168.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X.type: type = facet_type <@X> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.ffc: type = pattern_type %X.type [concrete] // CHECK:STDOUT: %_.patt: %pattern_type.ffc = symbolic_binding_pattern _, 0 [symbolic] // CHECK:STDOUT: %_: %X.type = symbolic_binding _, 0 [symbolic] @@ -1809,7 +1819,7 @@ impl C as Y {} // CHECK:STDOUT: %_.patt.loc34: %pattern_type.ffc = symbolic_binding_pattern _, 0 [symbolic = %_.patt.loc6 (constants.%_.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %X.ref.loc6 [concrete = constants.%X.type] { -// CHECK:STDOUT: %.Self.frozen.loc6: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %X.ref.loc6: type = name_ref X, file.%X.decl.loc3 [concrete = constants.%X.type] // CHECK:STDOUT: } // CHECK:STDOUT: %_.loc6_15.2: %X.type = symbolic_binding _, 0 [symbolic = %_.loc6_15.1 (constants.%_)] @@ -1820,7 +1830,7 @@ impl C as Y {} // CHECK:STDOUT: %u.patt.loc35: @G.%pattern_type (%pattern_type.fa2) = wrapper_binding_pattern u, %u.param_patt.loc35 [symbolic = %u.patt.loc7 (constants.%u.patt.41e)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_9: type = splice_block %X.ref.loc7 [concrete = constants.%X.type] { -// CHECK:STDOUT: %.Self.frozen.loc7: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc7: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %X.ref.loc7: type = name_ref X, file.%X.decl.loc3 [concrete = constants.%X.type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc7_7.2: %X.type = symbolic_binding U, 0 [symbolic = %U.loc7_7.1 (constants.%U)] @@ -1854,7 +1864,7 @@ impl C as Y {} // CHECK:STDOUT: %_.patt.loc34: %pattern_type.ffc = symbolic_binding_pattern _, 0 [symbolic = %_.patt.loc6 (constants.%_.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc34: type = splice_block %X.ref.loc34 [concrete = constants.%X.type] { -// CHECK:STDOUT: %.Self.frozen.loc34: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc34: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %X.ref.loc34: type = name_ref X, file.%X.decl.loc3 [concrete = constants.%X.type] // CHECK:STDOUT: } // CHECK:STDOUT: %_.loc34: %X.type = symbolic_binding _, 0 [symbolic = %_.loc6_15.1 (constants.%_)] @@ -1865,7 +1875,7 @@ impl C as Y {} // CHECK:STDOUT: %u.patt.loc35: @G.%pattern_type (%pattern_type.fa2) = wrapper_binding_pattern u, %u.param_patt.loc35 [symbolic = %u.patt.loc7 (constants.%u.patt.41e)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc35_9: type = splice_block %X.ref.loc35 [concrete = constants.%X.type] { -// CHECK:STDOUT: %.Self.frozen.loc35: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc35: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %X.ref.loc35: type = name_ref X, file.%X.decl.loc3 [concrete = constants.%X.type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc35: %X.type = symbolic_binding U, 0 [symbolic = %U.loc7_7.1 (constants.%U)] diff --git a/toolchain/check/testdata/impl/generic_redeclaration.carbon b/toolchain/check/testdata/impl/generic_redeclaration.carbon index 07af3b30c773..f27ce8f9295f 100644 --- a/toolchain/check/testdata/impl/generic_redeclaration.carbon +++ b/toolchain/check/testdata/impl/generic_redeclaration.carbon @@ -101,6 +101,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: --- same_self_and_interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Interface.type: type = facet_type <@Interface> [concrete] // CHECK:STDOUT: %Self.3ce: %Interface.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] @@ -111,8 +112,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %Self.a32: %K.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %L.type: type = facet_type <@L> [concrete] // CHECK:STDOUT: %Self.480: %L.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.6cb: type = pattern_type %I.type [concrete] // CHECK:STDOUT: %T.patt.1df: %pattern_type.6cb = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.dda: %I.type = symbolic_binding T, 0 [symbolic] @@ -174,7 +174,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %.loc12_20: type = converted %T.ref.loc12, %T.as_type.loc12_20.1 [symbolic = %T.as_type.loc12_20.2 (constants.%T.as_type.b38)] // CHECK:STDOUT: %Interface.ref.loc12: type = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.type] // CHECK:STDOUT: %.loc12_17: type = splice_block %I.ref.loc12 [concrete = constants.%I.type] { -// CHECK:STDOUT: %.Self.frozen.loc12: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc12: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %I.ref.loc12: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12_15.1: %I.type = symbolic_binding T, 0 [symbolic = %T.loc12_15.2 (constants.%T.dda)] @@ -188,7 +188,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %.loc13_20: type = converted %T.ref.loc13, %T.as_type.loc13_20.1 [symbolic = %T.as_type.loc13_20.2 (constants.%T.as_type.d90)] // CHECK:STDOUT: %Interface.ref.loc13: type = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.type] // CHECK:STDOUT: %.loc13_17: type = splice_block %J.ref.loc13 [concrete = constants.%J.type] { -// CHECK:STDOUT: %.Self.frozen.loc13: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc13: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %J.ref.loc13: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_15.1: %J.type = symbolic_binding T, 0 [symbolic = %T.loc13_15.2 (constants.%T.e40)] @@ -202,7 +202,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %.loc14_20: type = converted %T.ref.loc14, %T.as_type.loc14_20.1 [symbolic = %T.as_type.loc14_20.2 (constants.%T.as_type.1ea)] // CHECK:STDOUT: %Interface.ref.loc14: type = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.type] // CHECK:STDOUT: %.loc14_17: type = splice_block %K.ref.loc14 [concrete = constants.%K.type] { -// CHECK:STDOUT: %.Self.frozen.loc14: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc14: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %K.ref.loc14: type = name_ref K, file.%K.decl [concrete = constants.%K.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc14_15.1: %K.type = symbolic_binding T, 0 [symbolic = %T.loc14_15.2 (constants.%T.062)] @@ -216,7 +216,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %.loc15_20: type = converted %T.ref.loc15, %T.as_type.loc15_20.1 [symbolic = %T.as_type.loc15_20.2 (constants.%T.as_type.56f)] // CHECK:STDOUT: %Interface.ref.loc15: type = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.type] // CHECK:STDOUT: %.loc15_17: type = splice_block %L.ref.loc15 [concrete = constants.%L.type] { -// CHECK:STDOUT: %.Self.frozen.loc15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %L.ref.loc15: type = name_ref L, file.%L.decl [concrete = constants.%L.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_15.1: %L.type = symbolic_binding T, 0 [symbolic = %T.loc15_15.2 (constants.%T.709)] @@ -230,7 +230,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %.loc20_20: type = converted %T.ref.loc20, %T.as_type.loc20 [symbolic = %T.as_type.loc12_20.2 (constants.%T.as_type.b38)] // CHECK:STDOUT: %Interface.ref.loc20: type = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.type] // CHECK:STDOUT: %.loc20_17: type = splice_block %I.ref.loc20 [concrete = constants.%I.type] { -// CHECK:STDOUT: %.Self.frozen.loc20: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc20: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %I.ref.loc20: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc20: %I.type = symbolic_binding T, 0 [symbolic = %T.loc12_15.2 (constants.%T.dda)] @@ -244,7 +244,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %.loc21_20: type = converted %T.ref.loc21, %T.as_type.loc21 [symbolic = %T.as_type.loc13_20.2 (constants.%T.as_type.d90)] // CHECK:STDOUT: %Interface.ref.loc21: type = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.type] // CHECK:STDOUT: %.loc21_17: type = splice_block %J.ref.loc21 [concrete = constants.%J.type] { -// CHECK:STDOUT: %.Self.frozen.loc21: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc21: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %J.ref.loc21: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc21: %J.type = symbolic_binding T, 0 [symbolic = %T.loc13_15.2 (constants.%T.e40)] @@ -258,7 +258,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %.loc22_20: type = converted %T.ref.loc22, %T.as_type.loc22 [symbolic = %T.as_type.loc14_20.2 (constants.%T.as_type.1ea)] // CHECK:STDOUT: %Interface.ref.loc22: type = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.type] // CHECK:STDOUT: %.loc22_17: type = splice_block %K.ref.loc22 [concrete = constants.%K.type] { -// CHECK:STDOUT: %.Self.frozen.loc22: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc22: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %K.ref.loc22: type = name_ref K, file.%K.decl [concrete = constants.%K.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc22: %K.type = symbolic_binding T, 0 [symbolic = %T.loc14_15.2 (constants.%T.062)] @@ -272,7 +272,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %.loc23_20: type = converted %T.ref.loc23, %T.as_type.loc23 [symbolic = %T.as_type.loc15_20.2 (constants.%T.as_type.56f)] // CHECK:STDOUT: %Interface.ref.loc23: type = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.type] // CHECK:STDOUT: %.loc23_17: type = splice_block %L.ref.loc23 [concrete = constants.%L.type] { -// CHECK:STDOUT: %.Self.frozen.loc23: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc23: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %L.ref.loc23: type = name_ref L, file.%L.decl [concrete = constants.%L.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc23: %L.type = symbolic_binding T, 0 [symbolic = %T.loc15_15.2 (constants.%T.709)] @@ -478,12 +478,12 @@ impl forall [T: type] T as I { // CHECK:STDOUT: --- fail_same_self_and_interface_redefined.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: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %Self.653: %J.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %I.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %I.type = symbolic_binding T, 0 [symbolic] @@ -517,7 +517,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %.loc7_20: type = converted %T.ref, %T.as_type.loc7_20.1 [symbolic = %T.as_type.loc7_20.2 (constants.%T.as_type)] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %.loc7_17: type = splice_block %I.ref [concrete = constants.%I.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// 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.loc7_15.1: %I.type = symbolic_binding T, 0 [symbolic = %T.loc7_15.2 (constants.%T)] @@ -531,7 +531,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %.loc15_20: type = converted %T.ref, %T.as_type.loc15_20.1 [symbolic = %T.as_type.loc15_20.2 (constants.%T.as_type)] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %.loc15_17: type = splice_block %I.ref [concrete = constants.%I.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// 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.loc15_15.1: %I.type = symbolic_binding T, 0 [symbolic = %T.loc15_15.2 (constants.%T)] @@ -623,6 +623,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: --- fail_same_type_different_spelling.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %Self: %I.type = symbolic_binding Self, 0 [symbolic] @@ -716,12 +717,12 @@ impl forall [T: type] T as I { // CHECK:STDOUT: --- fail_redefinition_generic_regions.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: %I.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %.917: = impl_self_witness %T, @I [symbolic] // CHECK:STDOUT: %I.impl_witness: = impl_witness @T.as.I.impl.812d8b.1.%I.impl_witness_table, @T.as.I.impl.812d8b.1(%T) [symbolic] @@ -758,24 +759,24 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: impl_decl @T.as.I.impl.812d8b.1 [concrete] { -// CHECK:STDOUT: %T.patt.loc4_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_15.2 [symbolic = %T.loc4_15.1 (constants.%T)] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc4: = impl_self_witness @T.as.I.impl.812d8b.1.%T.ref, @I [symbolic = @T.as.I.impl.812d8b.1.%.loc4_30 (constants.%.917)] // CHECK:STDOUT: impl_decl @T.as.I.impl.812d8b.2 [concrete] { -// CHECK:STDOUT: %T.patt.loc15_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc15_15.2 [symbolic = %T.loc15_15.1 (constants.%T)] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.loc15_17.1: type = splice_block %.loc15_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_15.1 (constants.%T)] @@ -795,7 +796,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @T.as.I.impl.812d8b.1(%T.loc4_15.2: type) { -// CHECK:STDOUT: %T.patt.loc4_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T)] // CHECK:STDOUT: %.loc4_30: = impl_self_witness %T.loc4_15.1, @I [symbolic = %.loc4_30 (constants.%.917)] // CHECK:STDOUT: %I.impl_witness.loc4_30.2: = impl_witness %I.impl_witness_table, @T.as.I.impl.812d8b.1(%T.loc4_15.1) [symbolic = %I.impl_witness.loc4_30.2 (constants.%I.impl_witness)] @@ -817,7 +818,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @T.as.I.impl.812d8b.2(%T.loc15_15.2: type) { -// CHECK:STDOUT: %T.patt.loc15_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc15_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc15_15.1 (constants.%T)] // CHECK:STDOUT: %.loc15_30: = impl_self_witness %T.loc15_15.1, @I [symbolic = %.loc15_30 (constants.%.917)] // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/impl_as.carbon b/toolchain/check/testdata/impl/impl_as.carbon index 19e780e02bbd..502fdf9bc101 100644 --- a/toolchain/check/testdata/impl/impl_as.carbon +++ b/toolchain/check/testdata/impl/impl_as.carbon @@ -28,6 +28,7 @@ class C { // CHECK:STDOUT: --- impl_as.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Simple.type: type = facet_type <@Simple> [concrete] // CHECK:STDOUT: %Self.f79: %Simple.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Simple.WithSelf.F.type.49c: type = fn_type @Simple.WithSelf.F, @Simple.WithSelf(%Self.f79) [symbolic] diff --git a/toolchain/check/testdata/impl/impl_as_named_constraint.carbon b/toolchain/check/testdata/impl/impl_as_named_constraint.carbon index 0a10bc002a9a..d90a00299ce5 100644 --- a/toolchain/check/testdata/impl/impl_as_named_constraint.carbon +++ b/toolchain/check/testdata/impl/impl_as_named_constraint.carbon @@ -337,6 +337,7 @@ impl forall [T: type] T as GivesI where .X = () {} // CHECK:STDOUT: --- fail_error_self_in_require.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B.type: type = generic_named_constaint_type @B [concrete] // CHECK:STDOUT: %empty_struct: %B.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/impl_assoc_const.carbon b/toolchain/check/testdata/impl/impl_assoc_const.carbon index 7b3b11e02fb5..7960c7bb0978 100644 --- a/toolchain/check/testdata/impl/impl_assoc_const.carbon +++ b/toolchain/check/testdata/impl/impl_assoc_const.carbon @@ -426,6 +426,7 @@ fn G() { // CHECK:STDOUT: --- fail_many_different.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %L.type: type = facet_type <@L> [concrete] // CHECK:STDOUT: %L.assoc_type: type = assoc_entity_type @L [concrete] // CHECK:STDOUT: %assoc0: %L.assoc_type = assoc_entity element0, @L.WithSelf.%W [concrete] @@ -546,6 +547,7 @@ fn G() { // CHECK:STDOUT: --- fail_cycle.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %M.type: type = facet_type <@M> [concrete] // CHECK:STDOUT: %M.assoc_type: type = assoc_entity_type @M [concrete] // CHECK:STDOUT: %assoc0: %M.assoc_type = assoc_entity element0, @M.WithSelf.%X [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 b14025f61a09..280b241cfccc 100644 --- a/toolchain/check/testdata/impl/impl_assoc_const_with_prelude.carbon +++ b/toolchain/check/testdata/impl/impl_assoc_const_with_prelude.carbon @@ -35,6 +35,7 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: --- same_non_type.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: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -277,6 +278,7 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: --- fail_two_different_non_type.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: %int_32: Core.IntLiteral = int_value 32 [concrete] diff --git a/toolchain/check/testdata/impl/impl_assoc_fn_as_alias.carbon b/toolchain/check/testdata/impl/impl_assoc_fn_as_alias.carbon index adbf59e3e58c..e0fac48f71bc 100644 --- a/toolchain/check/testdata/impl/impl_assoc_fn_as_alias.carbon +++ b/toolchain/check/testdata/impl/impl_assoc_fn_as_alias.carbon @@ -25,6 +25,7 @@ class FAlias { // CHECK:STDOUT: --- impl_assoc_fn_as_alias.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.WithSelf.F.type.dcc: type = fn_type @I.WithSelf.F, @I.WithSelf(%Self) [symbolic] diff --git a/toolchain/check/testdata/impl/impl_forall.carbon b/toolchain/check/testdata/impl/impl_forall.carbon index 1674b1844b4d..9cdc36c51cce 100644 --- a/toolchain/check/testdata/impl/impl_forall.carbon +++ b/toolchain/check/testdata/impl/impl_forall.carbon @@ -23,14 +23,14 @@ impl forall [T: type] T as Simple { // CHECK:STDOUT: --- impl_forall.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Simple.type: type = facet_type <@Simple> [concrete] // CHECK:STDOUT: %Self: %Simple.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Simple.WithSelf.F.type.49c: type = fn_type @Simple.WithSelf.F, @Simple.WithSelf(%Self) [symbolic] // CHECK:STDOUT: %Simple.WithSelf.F.66e: %Simple.WithSelf.F.type.49c = struct_value () [symbolic] // CHECK:STDOUT: %Simple.assoc_type: type = assoc_entity_type @Simple [concrete] // CHECK:STDOUT: %assoc0: %Simple.assoc_type = assoc_entity element0, @Simple.WithSelf.%Simple.WithSelf.F.decl [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -54,7 +54,7 @@ impl forall [T: type] T as Simple { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc19_15.2 [symbolic = %T.loc19_15.1 (constants.%T)] // CHECK:STDOUT: %Simple.ref: type = name_ref Simple, file.%Simple.decl [concrete = constants.%Simple.type] // CHECK:STDOUT: %.loc19_17.1: type = splice_block %.loc19_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc19_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc19_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc19_15.1 (constants.%T)] diff --git a/toolchain/check/testdata/impl/impl_thunk.carbon b/toolchain/check/testdata/impl/impl_thunk.carbon index 0d72e035e6ff..c03317e58036 100644 --- a/toolchain/check/testdata/impl/impl_thunk.carbon +++ b/toolchain/check/testdata/impl/impl_thunk.carbon @@ -349,6 +349,7 @@ impl () as I({}) { // CHECK:STDOUT: --- struct_conversion.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -453,6 +454,7 @@ impl () as I({}) { // CHECK:STDOUT: --- inheritance_conversion.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] @@ -559,6 +561,7 @@ impl () as I({}) { // CHECK:STDOUT: --- inheritance_value_conversion.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -618,6 +621,7 @@ impl () as I({}) { // CHECK:STDOUT: --- inheritance_value_conversion_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] @@ -724,6 +728,7 @@ impl () as I({}) { // CHECK:STDOUT: --- inheritance_value_conversion_pointer_addr.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] @@ -830,6 +835,7 @@ impl () as I({}) { // CHECK:STDOUT: --- inheritance_ref_conversion.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -889,6 +895,7 @@ impl () as I({}) { // CHECK:STDOUT: --- form_parameter.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -970,6 +977,7 @@ impl () as I({}) { // CHECK:STDOUT: --- fail_inheritance_value_conversion_copy_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] @@ -1051,10 +1059,10 @@ impl () as I({}) { // CHECK:STDOUT: --- generic_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness @empty_tuple.type.as.I.impl.%I.impl_witness_table [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] @@ -1079,7 +1087,7 @@ impl () as I({}) { // CHECK:STDOUT: %.cb6: Core.Form = init_form %ptr.e8f [symbolic] // CHECK:STDOUT: %return.param_patt.27f: %pattern_type.4f4 = out_param_pattern [symbolic] // CHECK:STDOUT: %return.patt.d67: %pattern_type.4f4 = return_slot_pattern %return.param_patt.27f, %ptr.e8f [symbolic] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %empty_tuple.type.as.I.impl.F.type.48cdab.2: type = fn_type @empty_tuple.type.as.I.impl.F.loc10_33.2 [concrete] // CHECK:STDOUT: %empty_tuple.type.as.I.impl.F.bd5be1.2: %empty_tuple.type.as.I.impl.F.type.48cdab.2 = struct_value () [concrete] // CHECK:STDOUT: %require_complete.d83f06.1: = require_complete_type %U.as_type.c1c [symbolic] @@ -1121,7 +1129,7 @@ impl () as I({}) { // CHECK:STDOUT: %.loc10_31.3: type = converted %U.ref.loc10_31, %U.as_type.loc10_31 [symbolic = %U.as_type.loc10_25.1 (constants.%U.as_type.c1c)] // CHECK:STDOUT: %.loc10_31.4: Core.Form = init_form %.loc10_31.3 [symbolic = %.loc10_31.2 (constants.%.1ce700.2)] // CHECK:STDOUT: %.loc10_15: type = splice_block %Copy.ref [concrete = constants.%Copy.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: } @@ -1220,7 +1228,7 @@ impl () as I({}) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @empty_tuple.type.as.I.impl.F.loc10_33.2(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.1 => constants.%T.67d // CHECK:STDOUT: %ptr => constants.%ptr.e8f // CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4 @@ -1254,10 +1262,10 @@ impl () as I({}) { // CHECK:STDOUT: --- generic_method.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness @empty_tuple.type.as.I.impl.%I.impl_witness_table [concrete] @@ -1286,7 +1294,7 @@ impl () as I({}) { // CHECK:STDOUT: %.cb6: Core.Form = init_form %ptr.e8f [symbolic] // CHECK:STDOUT: %return.param_patt.27f: %pattern_type.4f4 = out_param_pattern [symbolic] // CHECK:STDOUT: %return.patt.d67: %pattern_type.4f4 = return_slot_pattern %return.param_patt.27f, %ptr.e8f [symbolic] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %empty_tuple.type.as.I.impl.F.type.48cdab.2: type = fn_type @empty_tuple.type.as.I.impl.F.loc10_50.2 [concrete] // CHECK:STDOUT: %empty_tuple.type.as.I.impl.F.bd5be1.2: %empty_tuple.type.as.I.impl.F.type.48cdab.2 = struct_value () [concrete] // CHECK:STDOUT: %require_complete.d83f06.1: = require_complete_type %U.as_type.c1c [symbolic] @@ -1330,7 +1338,7 @@ impl () as I({}) { // CHECK:STDOUT: %.loc10_48.3: type = converted %U.ref.loc10_48, %U.as_type.loc10_48 [symbolic = %U.as_type.loc10_42.1 (constants.%U.as_type.c1c)] // CHECK:STDOUT: %.loc10_48.4: Core.Form = init_form %.loc10_48.3 [symbolic = %.loc10_48.2 (constants.%.1ce700.2)] // CHECK:STDOUT: %.loc10_15: type = splice_block %Copy.ref [concrete = constants.%Copy.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: } @@ -1437,7 +1445,7 @@ impl () as I({}) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @empty_tuple.type.as.I.impl.F.loc10_50.2(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.1 => constants.%T.67d // CHECK:STDOUT: %ptr => constants.%ptr.e8f // CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4 @@ -1471,6 +1479,7 @@ impl () as I({}) { // CHECK:STDOUT: --- generic_interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] diff --git a/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon b/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon index d1e6155e8986..fec2f01c0dcd 100644 --- a/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon +++ b/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon @@ -105,6 +105,7 @@ fn Call() -> i32 { // CHECK:STDOUT: --- thunk_literal_convert.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] diff --git a/toolchain/check/testdata/impl/import_builtin_call.carbon b/toolchain/check/testdata/impl/import_builtin_call.carbon index b9f118f28db4..d139fae4da8f 100644 --- a/toolchain/check/testdata/impl/import_builtin_call.carbon +++ b/toolchain/check/testdata/impl/import_builtin_call.carbon @@ -89,6 +89,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: --- use_generic_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %MyInt.9fc: type = class_type @MyInt, @MyInt(%int_64) [concrete] // CHECK:STDOUT: %Double.type: type = fn_type @Double [concrete] @@ -112,6 +113,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: --- use_convert_symbolic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete] // CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %int_64.fab: Core.IntLiteral = int_value 64 [concrete] diff --git a/toolchain/check/testdata/impl/import_compound.carbon b/toolchain/check/testdata/impl/import_compound.carbon index 8513e7ef45d7..7e1fb45a8d20 100644 --- a/toolchain/check/testdata/impl/import_compound.carbon +++ b/toolchain/check/testdata/impl/import_compound.carbon @@ -102,6 +102,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: --- lib.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NonInstance.type: type = facet_type <@NonInstance> [concrete] // CHECK:STDOUT: %Self.a14: %NonInstance.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %NonInstance.WithSelf.F.type.0be: type = fn_type @NonInstance.WithSelf.F, @NonInstance.WithSelf(%Self.a14) [symbolic] @@ -319,6 +320,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: --- import_non-instance_success.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NonInstanceCallImport.type: type = fn_type @NonInstanceCallImport [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %NonInstanceCallImport: %NonInstanceCallImport.type = struct_value () [concrete] @@ -423,6 +425,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: --- fail_import_non-instance.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %struct_type.i: type = struct_type {.i: %empty_tuple.type} [concrete] @@ -514,6 +517,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: --- fail_import_non-instance_indirect.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %struct_type.i: type = struct_type {.i: %empty_tuple.type} [concrete] @@ -608,6 +612,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: --- import_instance_success.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %struct_type.i: type = struct_type {.i: %empty_tuple.type} [concrete] @@ -777,6 +782,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: --- fail_import_instance.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %InstanceCallImportFail.type: type = fn_type @InstanceCallImportFail [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %InstanceCallImportFail: %InstanceCallImportFail.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/impl/import_extend_impl.carbon b/toolchain/check/testdata/impl/import_extend_impl.carbon index 6b2551f2311f..e7bc2f3acc88 100644 --- a/toolchain/check/testdata/impl/import_extend_impl.carbon +++ b/toolchain/check/testdata/impl/import_extend_impl.carbon @@ -40,6 +40,7 @@ fn G(c: C) { // CHECK:STDOUT: --- extend_impl_library.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.WithSelf.F.type.dcc: type = fn_type @I.WithSelf.F, @I.WithSelf(%Self) [symbolic] @@ -139,6 +140,7 @@ fn G(c: C) { // CHECK:STDOUT: --- use_imported_class_extend_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -152,10 +154,8 @@ fn G(c: C) { // CHECK:STDOUT: %Self: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.WithSelf.F.type.418: type = fn_type @I.WithSelf.F, @I.WithSelf(%Self) [symbolic] // CHECK:STDOUT: %I.WithSelf.F.ca5: %I.WithSelf.F.type.418 = struct_value () [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.b04: type = fn_type @I.WithSelf.F, @I.WithSelf(%C.type.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.cef: %I.WithSelf.F.type.b04 = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.a90: type = fn_type @I.WithSelf.F, @I.WithSelf(%C) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.040: %I.WithSelf.F.type.a90 = struct_value () [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, imports.%Main.import_ref.9f7 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table [concrete] @@ -253,11 +253,11 @@ fn G(c: C) { // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.F(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%C.type.facet) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%C) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%C.type.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.b04 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.cef +// CHECK:STDOUT: %Self => constants.%C +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.a90 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.040 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { diff --git a/toolchain/check/testdata/impl/import_generic.carbon b/toolchain/check/testdata/impl/import_generic.carbon index 25cbf23f17e0..eecee4f47bda 100644 --- a/toolchain/check/testdata/impl/import_generic.carbon +++ b/toolchain/check/testdata/impl/import_generic.carbon @@ -188,8 +188,8 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: --- basic_import_generic_interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -213,7 +213,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.patt.loc3_14.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_16.1: type = splice_block %.loc3_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc3_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_14.1 (constants.%T)] @@ -222,7 +222,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: type = splice_block %.loc4_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] @@ -327,6 +327,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: --- basic_import_generic_interface.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -353,8 +354,6 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %J.impl_witness: = impl_witness @C.as.J.impl.%J.impl_witness_table [concrete] // CHECK:STDOUT: %Self.043: %J.type.80f = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %complete_type.7da: = complete_type_witness %I.type.81d [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] // CHECK:STDOUT: %J.facet: %J.type.80f = facet_value %C, (%J.impl_witness) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -532,17 +531,17 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %require_complete => constants.%complete_type.7da // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf(constants.%empty_struct_type, constants.%C.type.facet) { +// CHECK:STDOUT: specific @J.WithSelf(constants.%empty_struct_type, constants.%C) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%empty_struct_type // CHECK:STDOUT: %I.type => constants.%I.type.81d // CHECK:STDOUT: %require_complete => constants.%complete_type.7da // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf.Self.as_type.impls.I.type.require(constants.%empty_struct_type, constants.%C.type.facet) { +// CHECK:STDOUT: specific @J.WithSelf.Self.as_type.impls.I.type.require(constants.%empty_struct_type, constants.%C) { // CHECK:STDOUT: %T => constants.%empty_struct_type // CHECK:STDOUT: %J.type => constants.%J.type.80f -// CHECK:STDOUT: %Self => constants.%C.type.facet +// CHECK:STDOUT: %Self => constants.%C // CHECK:STDOUT: %Self.as_type => constants.%C // CHECK:STDOUT: %I.type => constants.%I.type.81d // CHECK:STDOUT: } @@ -557,8 +556,8 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: --- basic_import_generic_constraint.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -582,7 +581,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.patt.loc3_14.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_16.1: type = splice_block %.loc3_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc3_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_14.1 (constants.%T)] @@ -591,7 +590,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.patt.loc4_15.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T)] @@ -695,6 +694,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: --- basic_import_generic_constraint.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -710,8 +710,6 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.e1f642.1 [symbolic] // CHECK:STDOUT: %empty_struct.a40: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %J.type.d682d6.2: type = facet_type <@J, @J(%empty_struct_type)> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] // CHECK:STDOUT: %I.type.81d: type = facet_type <@I, @I(%empty_struct_type)> [concrete] // CHECK:STDOUT: %Self.47c: %I.type.81d = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %complete_type.7da: = complete_type_witness %I.type.81d [concrete] @@ -853,7 +851,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %Self => constants.%Self.e1f642.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf(constants.%empty_struct_type, constants.%C.type.facet) { +// CHECK:STDOUT: specific @J.WithSelf(constants.%empty_struct_type, constants.%C) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%empty_struct_type // CHECK:STDOUT: %I.type => constants.%I.type.81d @@ -873,10 +871,10 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf.Self.as_type.impls.I.type.require(constants.%empty_struct_type, constants.%C.type.facet) { +// CHECK:STDOUT: specific @J.WithSelf.Self.as_type.impls.I.type.require(constants.%empty_struct_type, constants.%C) { // CHECK:STDOUT: %T => constants.%empty_struct_type // CHECK:STDOUT: %J.type => constants.%J.type.d682d6.2 -// CHECK:STDOUT: %Self => constants.%C.type.facet +// CHECK:STDOUT: %Self => constants.%C // CHECK:STDOUT: %Self.as_type => constants.%C // CHECK:STDOUT: %I.type => constants.%I.type.81d // CHECK:STDOUT: } @@ -895,11 +893,11 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: --- import_generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -936,7 +934,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.patt.loc5_14.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_16.1: type = splice_block %.loc5_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_14.1 (constants.%T)] @@ -949,7 +947,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.ref.loc8: type = name_ref T, %T.loc8_15.1 [symbolic = %T.loc8_15.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc8_31.1: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc8_31.2 (constants.%I.type.3fe)] // CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc8: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc8: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.2 (constants.%T)] @@ -963,7 +961,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.ref.loc9: type = name_ref T, %T.loc9 [symbolic = %T.loc8_15.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc9: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc8_31.2 (constants.%I.type.3fe)] // CHECK:STDOUT: %.loc9_17.1: type = splice_block %.loc9_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc9: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc9: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.2 (constants.%T)] @@ -978,7 +976,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc12_31.1: type = ptr_type %T.ref [symbolic = %ptr.loc12_31.2 (constants.%ptr)] // CHECK:STDOUT: %I.type.loc12_32.1: type = facet_type <@I, @I(constants.%ptr)> [symbolic = %I.type.loc12_32.2 (constants.%I.type.a76)] // CHECK:STDOUT: %.loc12_17.1: type = splice_block %.loc12_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc12_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc12_15.2 (constants.%T)] @@ -988,7 +986,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.patt.loc14_15.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14_17.1: type = splice_block %.loc14_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc14_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc14_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc14_15.1 (constants.%T)] @@ -1179,6 +1177,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: --- fail_import_generic.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %I.type.335: type = generic_interface_type @I [concrete] // CHECK:STDOUT: %I.generic: %I.type.335 = struct_value () [concrete] @@ -1198,14 +1197,12 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %Self.74c: %I.type.a76 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %I.impl_witness.500: = impl_witness imports.%I.impl_witness_table.6bd, @C.as.I.impl.238(%T) [symbolic] // CHECK:STDOUT: %require_complete.078: = require_complete_type %I.type.a76 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %N.type.b76: type = generic_named_constaint_type @N [concrete] // CHECK:STDOUT: %empty_struct: %N.type.b76 = struct_value () [concrete] // CHECK:STDOUT: %N.type.d682d6.1: type = facet_type <@N, @N(%T)> [symbolic] // CHECK:STDOUT: %Self.e1f: %N.type.d682d6.1 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.e1f [symbolic] -// CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] // CHECK:STDOUT: %N.type.d682d6.2: type = facet_type <@N, @N(%ptr)> [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1254,7 +1251,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_15.1 [symbolic = %T.loc8_15.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc8_31.1: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc8_31.2 (constants.%I.type.3fe)] // CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.2 (constants.%T)] @@ -1268,7 +1265,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc14_15.1 [symbolic = %T.loc14_15.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc14_31.1: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc14_31.2 (constants.%I.type.3fe)] // CHECK:STDOUT: %.loc14_17.1: type = splice_block %.loc14_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc14_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc14_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc14_15.2 (constants.%T)] @@ -1283,7 +1280,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc20_31.1: type = ptr_type %T.ref [symbolic = %ptr.loc20_31.2 (constants.%ptr)] // CHECK:STDOUT: %I.type.loc20_32.1: type = facet_type <@I, @I(constants.%ptr)> [symbolic = %I.type.loc20_32.2 (constants.%I.type.a76)] // CHECK:STDOUT: %.loc20_17.1: type = splice_block %.loc20_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc20_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc20_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc20_15.2 (constants.%T)] @@ -1298,7 +1295,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc26_31.1: type = ptr_type %T.ref [symbolic = %ptr.loc26_31.2 (constants.%ptr)] // CHECK:STDOUT: %I.type.loc26_32.1: type = facet_type <@I, @I(constants.%ptr)> [symbolic = %I.type.loc26_32.2 (constants.%I.type.a76)] // CHECK:STDOUT: %.loc26_17.1: type = splice_block %.loc26_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc26_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc26_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc26_15.2 (constants.%T)] @@ -1312,7 +1309,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc32_15.1 [symbolic = %T.loc32_15.2 (constants.%T)] // CHECK:STDOUT: %N.type.loc32_31.1: type = facet_type <@N, @N(constants.%T)> [symbolic = %N.type.loc32_31.2 (constants.%N.type.d682d6.1)] // CHECK:STDOUT: %.loc32_17.1: type = splice_block %.loc32_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc32_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc32_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc32_15.2 (constants.%T)] @@ -1327,7 +1324,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc37_31.1: type = ptr_type %T.ref [symbolic = %ptr.loc37_31.2 (constants.%ptr)] // CHECK:STDOUT: %N.type.loc37_32.1: type = facet_type <@N, @N(constants.%ptr)> [symbolic = %N.type.loc37_32.2 (constants.%N.type.d682d6.2)] // CHECK:STDOUT: %.loc37_17.1: type = splice_block %.loc37_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc37_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc37_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc37_15.2 (constants.%T)] @@ -1575,17 +1572,17 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %I.type => constants.%I.type.3fe // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.WithSelf(constants.%T, constants.%C.type.facet) { +// CHECK:STDOUT: specific @N.WithSelf(constants.%T, constants.%C) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %I.type => constants.%I.type.3fe // CHECK:STDOUT: %require_complete => constants.%require_complete.45e // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.WithSelf.Self.as_type.impls.I.type.require(constants.%T, constants.%C.type.facet) { +// CHECK:STDOUT: specific @N.WithSelf.Self.as_type.impls.I.type.require(constants.%T, constants.%C) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %N.type => constants.%N.type.d682d6.1 -// CHECK:STDOUT: %Self => constants.%C.type.facet +// CHECK:STDOUT: %Self => constants.%C // CHECK:STDOUT: %Self.as_type => constants.%C // CHECK:STDOUT: %I.type => constants.%I.type.3fe // CHECK:STDOUT: } @@ -1602,17 +1599,17 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T => constants.%ptr // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.WithSelf(constants.%ptr, constants.%C.type.facet) { +// CHECK:STDOUT: specific @N.WithSelf(constants.%ptr, constants.%C) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%ptr // CHECK:STDOUT: %I.type => constants.%I.type.a76 // CHECK:STDOUT: %require_complete => constants.%require_complete.078 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.WithSelf.Self.as_type.impls.I.type.require(constants.%ptr, constants.%C.type.facet) { +// CHECK:STDOUT: specific @N.WithSelf.Self.as_type.impls.I.type.require(constants.%ptr, constants.%C) { // CHECK:STDOUT: %T => constants.%ptr // CHECK:STDOUT: %N.type => constants.%N.type.d682d6.2 -// CHECK:STDOUT: %Self => constants.%C.type.facet +// CHECK:STDOUT: %Self => constants.%C // CHECK:STDOUT: %Self.as_type => constants.%C // CHECK:STDOUT: %I.type => constants.%I.type.a76 // CHECK:STDOUT: } @@ -1628,11 +1625,11 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: --- import_generic_with_different_specific.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -1662,7 +1659,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.patt.loc5_14.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_16.1: type = splice_block %.loc5_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_14.1 (constants.%T)] @@ -1675,7 +1672,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc7_15.1 [symbolic = %T.loc7_15.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc7_31.1: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc7_31.2 (constants.%I.type.3fe)] // CHECK:STDOUT: %.loc7_17.1: type = splice_block %.loc7_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc7_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_15.2 (constants.%T)] @@ -1685,7 +1682,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.patt.loc9_15.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_17.1: type = splice_block %.loc9_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc9_15.1 (constants.%T)] @@ -1829,6 +1826,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: --- import_generic_with_different_specific.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %I.type.335: type = generic_interface_type @I [concrete] // CHECK:STDOUT: %I.generic: %I.type.335 = struct_value () [concrete] @@ -1842,8 +1840,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %.ece: = impl_self_witness %C, @I, @I(%T) [symbolic] // CHECK:STDOUT: %I.impl_witness.66f: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl.119(%T) [symbolic] // CHECK:STDOUT: %require_complete.45e: = require_complete_type %I.type.3fe [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T [symbolic] // CHECK:STDOUT: %I.type.a76: type = facet_type <@I, @I(%ptr.e8f)> [symbolic] // CHECK:STDOUT: %.5ab: = impl_self_witness %C, @I, @I(%ptr.e8f) [symbolic] @@ -1858,7 +1855,6 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.e1f642.1 [symbolic] // CHECK:STDOUT: %ptr.125: type = ptr_type %ptr.e8f [symbolic] // CHECK:STDOUT: %N.type.d682d6.2: type = facet_type <@N, @N(%ptr.125)> [symbolic] -// CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] // CHECK:STDOUT: %I.type.0a0: type = facet_type <@I, @I(%ptr.125)> [symbolic] // CHECK:STDOUT: %require_complete.6fb: = require_complete_type %I.type.0a0 [symbolic] // CHECK:STDOUT: %.d9e: = impl_self_witness %C, @I, @I(%ptr.125) [symbolic] @@ -1908,7 +1904,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc5_31.1: type = ptr_type %T.ref [symbolic = %ptr.loc5_31.2 (constants.%ptr.e8f)] // CHECK:STDOUT: %I.type.loc5_32.1: type = facet_type <@I, @I(constants.%ptr.e8f)> [symbolic = %I.type.loc5_32.2 (constants.%I.type.a76)] // CHECK:STDOUT: %.loc5_17.1: type = splice_block %.loc5_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc5_15.2 (constants.%T)] @@ -1924,7 +1920,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc6_32.1: type = ptr_type %ptr.loc6_31.1 [symbolic = %ptr.loc6_32.2 (constants.%ptr.125)] // CHECK:STDOUT: %N.type.loc6_33.1: type = facet_type <@N, @N(constants.%ptr.125)> [symbolic = %N.type.loc6_33.2 (constants.%N.type.d682d6.2)] // CHECK:STDOUT: %.loc6_17.1: type = splice_block %.loc6_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_15.2 (constants.%T)] @@ -2115,7 +2111,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %Self => constants.%Self.e1f642.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.WithSelf(constants.%ptr.125, constants.%C.type.facet) { +// CHECK:STDOUT: specific @N.WithSelf(constants.%ptr.125, constants.%C) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%ptr.125 // CHECK:STDOUT: %I.type => constants.%I.type.0a0 @@ -2127,10 +2123,10 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T => constants.%ptr.125 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.WithSelf.Self.as_type.impls.I.type.require(constants.%ptr.125, constants.%C.type.facet) { +// CHECK:STDOUT: specific @N.WithSelf.Self.as_type.impls.I.type.require(constants.%ptr.125, constants.%C) { // CHECK:STDOUT: %T => constants.%ptr.125 // CHECK:STDOUT: %N.type => constants.%N.type.d682d6.2 -// CHECK:STDOUT: %Self => constants.%C.type.facet +// CHECK:STDOUT: %Self => constants.%C // CHECK:STDOUT: %Self.as_type => constants.%C // CHECK:STDOUT: %I.type => constants.%I.type.0a0 // CHECK:STDOUT: } @@ -2159,11 +2155,11 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: --- fail_import_generic_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -2195,7 +2191,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.patt.loc5_14.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_16.1: type = splice_block %.loc5_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_14.1 (constants.%T)] @@ -2204,7 +2200,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.patt.loc7_15.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_17.1: type = splice_block %.loc7_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc7_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_15.1 (constants.%T)] @@ -2217,7 +2213,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc15_15.1 [symbolic = %T.loc15_15.2 (constants.%T)] // CHECK:STDOUT: %J.type.loc15_31.1: type = facet_type <@J, @J(constants.%T)> [symbolic = %J.type.loc15_31.2 (constants.%J.type.5c8)] // CHECK:STDOUT: %.loc15_17.1: type = splice_block %.loc15_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc15_15.2 (constants.%T)] @@ -2232,7 +2228,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc21_31.1: type = ptr_type %T.ref [symbolic = %ptr.loc21_31.2 (constants.%ptr)] // CHECK:STDOUT: %J.type.loc21_32.1: type = facet_type <@J, @J(constants.%ptr)> [symbolic = %J.type.loc21_32.2 (constants.%J.type.c71)] // CHECK:STDOUT: %.loc21_17.1: type = splice_block %.loc21_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc21_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc21_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc21_15.2 (constants.%T)] @@ -2388,6 +2384,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: --- fail_import_generic_decl.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %J.type.23c: type = generic_interface_type @J [concrete] // CHECK:STDOUT: %J.generic: %J.type.23c = struct_value () [concrete] @@ -2404,15 +2401,13 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %.7a3: = impl_self_witness %D, @J, @J(%ptr) [symbolic] // CHECK:STDOUT: %J.type.c71: type = facet_type <@J, @J(%ptr)> [symbolic] // CHECK:STDOUT: %J.impl_witness.90a: = impl_witness imports.%J.impl_witness_table.dd7, @D.as.J.impl.fa6(%T) [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %N.type.b76: type = generic_named_constaint_type @N [concrete] // CHECK:STDOUT: %empty_struct: %N.type.b76 = struct_value () [concrete] // CHECK:STDOUT: %N.type.d682d6.1: type = facet_type <@N, @N(%T)> [symbolic] // CHECK:STDOUT: %Self.e1f: %N.type.d682d6.1 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %require_complete.6ba: = require_complete_type %J.type.5c8 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.e1f [symbolic] -// CHECK:STDOUT: %D.type.facet: %type = facet_value %D, () [concrete] // CHECK:STDOUT: %N.type.d682d6.2: type = facet_type <@N, @N(%ptr)> [symbolic] // CHECK:STDOUT: %require_complete.769: = require_complete_type %J.type.c71 [symbolic] // CHECK:STDOUT: } @@ -2458,7 +2453,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_15.1 [symbolic = %T.loc8_15.2 (constants.%T)] // CHECK:STDOUT: %J.type.loc8_31.1: type = facet_type <@J, @J(constants.%T)> [symbolic = %J.type.loc8_31.2 (constants.%J.type.5c8)] // CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.2 (constants.%T)] @@ -2472,7 +2467,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc14_15.1 [symbolic = %T.loc14_15.2 (constants.%T)] // CHECK:STDOUT: %J.type.loc14_31.1: type = facet_type <@J, @J(constants.%T)> [symbolic = %J.type.loc14_31.2 (constants.%J.type.5c8)] // CHECK:STDOUT: %.loc14_17.1: type = splice_block %.loc14_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc14_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc14_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc14_15.2 (constants.%T)] @@ -2487,7 +2482,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc20_31.1: type = ptr_type %T.ref [symbolic = %ptr.loc20_31.2 (constants.%ptr)] // CHECK:STDOUT: %J.type.loc20_32.1: type = facet_type <@J, @J(constants.%ptr)> [symbolic = %J.type.loc20_32.2 (constants.%J.type.c71)] // CHECK:STDOUT: %.loc20_17.1: type = splice_block %.loc20_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc20_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc20_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc20_15.2 (constants.%T)] @@ -2502,7 +2497,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc26_31.1: type = ptr_type %T.ref [symbolic = %ptr.loc26_31.2 (constants.%ptr)] // CHECK:STDOUT: %J.type.loc26_32.1: type = facet_type <@J, @J(constants.%ptr)> [symbolic = %J.type.loc26_32.2 (constants.%J.type.c71)] // CHECK:STDOUT: %.loc26_17.1: type = splice_block %.loc26_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc26_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc26_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc26_15.2 (constants.%T)] @@ -2516,7 +2511,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc32_15.1 [symbolic = %T.loc32_15.2 (constants.%T)] // CHECK:STDOUT: %N.type.loc32_31.1: type = facet_type <@N, @N(constants.%T)> [symbolic = %N.type.loc32_31.2 (constants.%N.type.d682d6.1)] // CHECK:STDOUT: %.loc32_17.1: type = splice_block %.loc32_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc32_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc32_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc32_15.2 (constants.%T)] @@ -2531,7 +2526,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc38_31.1: type = ptr_type %T.ref [symbolic = %ptr.loc38_31.2 (constants.%ptr)] // CHECK:STDOUT: %N.type.loc38_32.1: type = facet_type <@N, @N(constants.%ptr)> [symbolic = %N.type.loc38_32.2 (constants.%N.type.d682d6.2)] // CHECK:STDOUT: %.loc38_17.1: type = splice_block %.loc38_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc38_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc38_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc38_15.2 (constants.%T)] @@ -2773,17 +2768,17 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %J.type => constants.%J.type.5c8 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.WithSelf(constants.%T, constants.%D.type.facet) { +// CHECK:STDOUT: specific @N.WithSelf(constants.%T, constants.%D) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %J.type => constants.%J.type.5c8 // CHECK:STDOUT: %require_complete => constants.%require_complete.6ba // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.WithSelf.Self.as_type.impls.J.type.require(constants.%T, constants.%D.type.facet) { +// CHECK:STDOUT: specific @N.WithSelf.Self.as_type.impls.J.type.require(constants.%T, constants.%D) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %N.type => constants.%N.type.d682d6.1 -// CHECK:STDOUT: %Self => constants.%D.type.facet +// CHECK:STDOUT: %Self => constants.%D // CHECK:STDOUT: %Self.as_type => constants.%D // CHECK:STDOUT: %J.type => constants.%J.type.5c8 // CHECK:STDOUT: } @@ -2800,17 +2795,17 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T => constants.%ptr // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.WithSelf(constants.%ptr, constants.%D.type.facet) { +// CHECK:STDOUT: specific @N.WithSelf(constants.%ptr, constants.%D) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%ptr // CHECK:STDOUT: %J.type => constants.%J.type.c71 // CHECK:STDOUT: %require_complete => constants.%require_complete.769 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.WithSelf.Self.as_type.impls.J.type.require(constants.%ptr, constants.%D.type.facet) { +// CHECK:STDOUT: specific @N.WithSelf.Self.as_type.impls.J.type.require(constants.%ptr, constants.%D) { // CHECK:STDOUT: %T => constants.%ptr // CHECK:STDOUT: %N.type => constants.%N.type.d682d6.2 -// CHECK:STDOUT: %Self => constants.%D.type.facet +// CHECK:STDOUT: %Self => constants.%D // CHECK:STDOUT: %Self.as_type => constants.%D // CHECK:STDOUT: %J.type => constants.%J.type.c71 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/import_interface_assoc_const.carbon b/toolchain/check/testdata/impl/import_interface_assoc_const.carbon index dbc92a65881b..491e55ec32f6 100644 --- a/toolchain/check/testdata/impl/import_interface_assoc_const.carbon +++ b/toolchain/check/testdata/impl/import_interface_assoc_const.carbon @@ -205,6 +205,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- interface.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.assoc_type: type = assoc_entity_type @I [concrete] @@ -302,6 +303,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C1: type = class_type @C1 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -408,6 +410,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- redecl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C2: type = class_type @C2 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -535,6 +538,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- fail_redecl_adds_rewrites.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C3: type = class_type @C3 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -648,6 +652,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- fail_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C4: type = class_type @C4 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -780,6 +785,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- fail_mismatch_bad_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C5: type = class_type @C5 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -959,6 +965,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- fail_missing_on_definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C6: type = class_type @C6 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -1071,6 +1078,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- fail_two_different.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C7: type = class_type @C7 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -1179,6 +1187,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- fail_two_different_first_bad.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C8: type = class_type @C8 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -1286,6 +1295,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- fail_two_different_second_bad.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C9: type = class_type @C9 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -1392,6 +1402,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- fail_two_different_both_bad.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %CA: type = class_type @CA [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -1497,6 +1508,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- repeated.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %CB: type = class_type @CB [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -1616,6 +1628,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- non-type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %CC: type = class_type @CC [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -1728,6 +1741,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- interface_with_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %IF.type: type = facet_type <@IF> [concrete] // CHECK:STDOUT: %Self: %IF.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %IF.WithSelf.F.type: type = fn_type @IF.WithSelf.F, @IF.WithSelf(%Self) [symbolic] @@ -1770,6 +1784,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: --- fail_where_rewrite_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %CD: type = class_type @CD [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/impl/import_self.carbon b/toolchain/check/testdata/impl/import_self.carbon index 4822dbba633c..c7dd98ce236d 100644 --- a/toolchain/check/testdata/impl/import_self.carbon +++ b/toolchain/check/testdata/impl/import_self.carbon @@ -40,6 +40,7 @@ fn F(x: C, y: C) -> C { // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Add.type: type = facet_type <@Add> [concrete] // CHECK:STDOUT: %Self: %Add.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] @@ -150,6 +151,7 @@ fn F(x: C, y: C) -> C { // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple.af4: %empty_tuple.type = tuple_value () [concrete] diff --git a/toolchain/check/testdata/impl/import_self_specific.carbon b/toolchain/check/testdata/impl/import_self_specific.carbon index 637365e47cdf..2001d4640026 100644 --- a/toolchain/check/testdata/impl/import_self_specific.carbon +++ b/toolchain/check/testdata/impl/import_self_specific.carbon @@ -65,19 +65,19 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: --- impl_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %Self.765: %Y.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %.fdf: = impl_self_witness %T, @Y [symbolic] // CHECK:STDOUT: %Y.impl_witness: = impl_witness @T.as.Y.impl.%Y.impl_witness_table, @T.as.Y.impl(%T) [symbolic] // CHECK:STDOUT: %Y.facet: %Y.type = facet_value %T, (%Y.impl_witness) [symbolic] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self.cb6: %Z.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %.0ce: = impl_self_witness %U, @Z [symbolic] // CHECK:STDOUT: %Z.impl_witness.bc3: = impl_witness @U.as.Z.impl.%Z.impl_witness_table, @U.as.Z.impl(%U) [symbolic] @@ -121,12 +121,12 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: } // CHECK:STDOUT: %Y.decl: type = interface_decl @Y [concrete = constants.%Y.type] {} {} // CHECK:STDOUT: impl_decl @T.as.Y.impl [concrete] { -// CHECK:STDOUT: %T.patt.loc5_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc5_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc5_15.1 [symbolic = %T.loc5_15.2 (constants.%T)] // CHECK:STDOUT: %Y.ref: type = name_ref Y, file.%Y.decl [concrete = constants.%Y.type] // CHECK:STDOUT: %.loc5_17.1: type = splice_block %.loc5_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc5_15.2 (constants.%T)] @@ -134,12 +134,12 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %.loc5: = impl_self_witness @T.as.Y.impl.%T.ref, @Y [symbolic = @T.as.Y.impl.%.loc5_30 (constants.%.fdf)] // CHECK:STDOUT: %Z.decl: type = interface_decl @Z [concrete = constants.%Z.type] {} {} // CHECK:STDOUT: impl_decl @U.as.Z.impl [concrete] { -// CHECK:STDOUT: %U.patt.loc9_15.1: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_15.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc9_15.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_15.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc9_15.1 [symbolic = %U.loc9_15.2 (constants.%U)] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: %.loc9_17.1: type = splice_block %.loc9_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc9_15.1: type = symbolic_binding U, 0 [symbolic = %U.loc9_15.2 (constants.%U)] @@ -149,7 +149,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %V.patt.loc11_10.1: %pattern_type.5d7 = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc11_10.2 (constants.%V.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11: type = splice_block %Z.ref [concrete = constants.%Z.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: } // CHECK:STDOUT: %V.loc11_10.2: %Z.type = symbolic_binding V, 0 [symbolic = %V.loc11_10.1 (constants.%V)] @@ -219,7 +219,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @T.as.Y.impl(%T.loc5_15.1: type) { -// CHECK:STDOUT: %T.patt.loc5_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc5_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc5_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_15.2 (constants.%T)] // CHECK:STDOUT: %.loc5_30: = impl_self_witness %T.loc5_15.2, @Y [symbolic = %.loc5_30 (constants.%.fdf)] // CHECK:STDOUT: %Y.impl_witness.loc5_30.2: = impl_witness %Y.impl_witness_table, @T.as.Y.impl(%T.loc5_15.2) [symbolic = %Y.impl_witness.loc5_30.2 (constants.%Y.impl_witness)] @@ -237,7 +237,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @U.as.Z.impl(%U.loc9_15.1: type) { -// CHECK:STDOUT: %U.patt.loc9_15.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_15.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc9_15.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_15.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc9_15.2: type = symbolic_binding U, 0 [symbolic = %U.loc9_15.2 (constants.%U)] // CHECK:STDOUT: %.loc9_30: = impl_self_witness %U.loc9_15.2, @Z [symbolic = %.loc9_30 (constants.%.0ce)] // CHECK:STDOUT: %Z.impl_witness.loc9_30.2: = impl_witness %Z.impl_witness_table, @U.as.Z.impl(%U.loc9_15.2) [symbolic = %Z.impl_witness.loc9_30.2 (constants.%Z.impl_witness.bc3)] @@ -356,11 +356,11 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: --- impl_use.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %E: type = class_type @E [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.849: type = pattern_type %E [concrete] // CHECK:STDOUT: %N.patt: %pattern_type.849 = symbolic_binding_pattern N, 0 [symbolic] // CHECK:STDOUT: %N: %E = symbolic_binding N, 0 [symbolic] @@ -394,8 +394,8 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %.0ce: = impl_self_witness %U, @Z [symbolic] // CHECK:STDOUT: %Z.impl_witness.d6c: = impl_witness imports.%Z.impl_witness_table, @U.as.Z.impl(%U) [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %.68b: require_specific_def_type = require_specific_def @U.as.Z.impl(%as_type) [symbolic] // CHECK:STDOUT: %Z.impl_witness.65d: = impl_witness imports.%Z.impl_witness_table, @U.as.Z.impl(%as_type) [symbolic] // CHECK:STDOUT: %.7e3: = impl_self_witness %as_type, @Z [symbolic] @@ -411,7 +411,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.383: = impl_witness imports.%Y.impl_witness_table, @T.as.Y.impl(%T) [symbolic] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %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.91c: = impl_witness imports.%Y.impl_witness_table, @T.as.Y.impl(%empty_tuple.type) [concrete] // CHECK:STDOUT: %Y.facet: %Y.type = facet_value %empty_tuple.type, (%Y.impl_witness.91c) [concrete] @@ -481,7 +481,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %N.patt.loc7_10.1: %pattern_type.849 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc7_10.2 (constants.%N.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %E.ref [concrete = constants.%E] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %E.ref: type = name_ref E, file.%E.decl [concrete = constants.%E] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc7_10.2: %E = symbolic_binding N, 0 [symbolic = %N.loc7_10.1 (constants.%N)] @@ -511,7 +511,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %rewrite.loc20_43.2 = requirement_rewrite %impl.elem0.loc20_36.2, %.loc20_46.2 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc20_17: type = splice_block %E.ref [concrete = constants.%E] { -// CHECK:STDOUT: %.Self.frozen.loc20_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc20_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %E.ref: type = name_ref E, file.%E.decl [concrete = constants.%E] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc20_15.2: %E = symbolic_binding N, 0 [symbolic = %N.loc20_15.1 (constants.%N)] @@ -547,7 +547,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // 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.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt (constants.%U.patt)] +// 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.d6c)] @@ -561,7 +561,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // 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: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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)] // CHECK:STDOUT: %Y.impl_witness: = impl_witness imports.%Y.impl_witness_table, @T.as.Y.impl(%T) [symbolic = %Y.impl_witness (constants.%Y.impl_witness.383)] diff --git a/toolchain/check/testdata/impl/import_thunk.carbon b/toolchain/check/testdata/impl/import_thunk.carbon index 1eb5c4d0b071..e5a872f19a1c 100644 --- a/toolchain/check/testdata/impl/import_thunk.carbon +++ b/toolchain/check/testdata/impl/import_thunk.carbon @@ -45,6 +45,7 @@ fn G() { // CHECK:STDOUT: --- a.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -111,8 +112,8 @@ fn G() { // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] @@ -194,7 +195,7 @@ fn G() { // CHECK:STDOUT: %X.patt.loc5_10.1: %pattern_type.cb1 = symbolic_binding_pattern X, 0 [symbolic = %X.patt.loc5_10.2 (constants.%X.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_13.1: type = splice_block %.loc5_13.3 [concrete = constants.%empty_tuple.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_13.2: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc5_13.3: type = converted %.loc5_13.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: } @@ -208,7 +209,7 @@ fn G() { // CHECK:STDOUT: %C.loc7_24.2: type = class_type @C, @C(constants.%Y) [symbolic = %C.loc7_24.1 (constants.%C.6b1ed7.2)] // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: %.loc7_18.1: type = splice_block %.loc7_18.3 [concrete = constants.%empty_tuple.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc7_18.2: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_18.3: type = converted %.loc7_18.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: } @@ -414,6 +415,7 @@ fn G() { // CHECK:STDOUT: --- c.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/impl/import_use_generic.carbon b/toolchain/check/testdata/impl/import_use_generic.carbon index da534448b33a..2f6f757a773b 100644 --- a/toolchain/check/testdata/impl/import_use_generic.carbon +++ b/toolchain/check/testdata/impl/import_use_generic.carbon @@ -56,8 +56,8 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: --- import_generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -90,7 +90,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %T.patt.loc4_10.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_12.1: type = splice_block %.loc4_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_10.1 (constants.%T)] @@ -104,7 +104,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %C.loc10_26.2: type = class_type @C, @C(constants.%T) [symbolic = %C.loc10_26.1 (constants.%C)] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.loc10_17.1: type = splice_block %.loc10_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc10_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc10_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc10_15.1 (constants.%T)] @@ -219,6 +219,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: --- fail_use_in_fn_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -226,8 +227,8 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %C.1d0: type = class_type @C, @C(%T) [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %C.d8e: type = class_type @C, @C(%empty_struct_type) [concrete] // CHECK:STDOUT: %pattern_type.2fd: type = pattern_type %C.d8e [concrete] @@ -338,7 +339,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @C.as.I.impl(imports.%Main.import_ref.b3bc94.3: type) [from "import_generic.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: %C: type = class_type @C, @C(%T) [symbolic = %C (constants.%C.1d0)] // CHECK:STDOUT: %.1: = impl_self_witness %C, @I [symbolic = %.1 (constants.%.41f)] @@ -355,7 +356,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(imports.%Main.import_ref.b3bc94.1: type) [from "import_generic.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/impl/incomplete.carbon b/toolchain/check/testdata/impl/incomplete.carbon index 725beaf01a4d..3c028b2a68bb 100644 --- a/toolchain/check/testdata/impl/incomplete.carbon +++ b/toolchain/check/testdata/impl/incomplete.carbon @@ -210,6 +210,7 @@ interface B { // CHECK:STDOUT: --- fail_empty_struct.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -250,6 +251,7 @@ interface B { // CHECK:STDOUT: --- fail_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -301,6 +303,7 @@ interface B { // CHECK:STDOUT: --- fail_class_no_forward_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -345,6 +348,7 @@ interface B { // CHECK:STDOUT: --- fail_class_with_rewrite.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -415,6 +419,7 @@ interface B { // CHECK:STDOUT: --- incomplete_where.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -561,6 +566,7 @@ interface B { // CHECK:STDOUT: --- incomplete_where_rewrite.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -748,6 +754,7 @@ interface B { // CHECK:STDOUT: --- fail_incomplete_where_definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -832,6 +839,7 @@ interface B { // CHECK:STDOUT: --- fail_declaration_lookup_into_incomplete.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -931,6 +939,7 @@ interface B { // CHECK:STDOUT: --- fail_unidentified_constraint.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X.type: type = facet_type <@X> [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -965,6 +974,7 @@ interface B { // CHECK:STDOUT: --- nested_require_incomplete_interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %Self.d87: %Y.type = symbolic_binding Self, 0 [symbolic] @@ -974,8 +984,7 @@ interface B { // CHECK:STDOUT: %X.assoc_type: type = assoc_entity_type @X [concrete] // CHECK:STDOUT: %assoc0: %X.assoc_type = assoc_entity element0, @X.WithSelf.%X1 [concrete] // CHECK:STDOUT: %Self.as_type.ace: type = facet_access_type %Self.b43 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.5e5: %X.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.5e5 [symbolic_self] // CHECK:STDOUT: %X.lookup_impl_witness.de0: = lookup_impl_witness %.Self.frozen.5e5, @X [symbolic_self] @@ -1007,7 +1016,7 @@ interface B { // CHECK:STDOUT: %T.patt.loc16_22.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc16_22.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc16_26.1: type = splice_block %.loc16_26.2 [concrete = constants.%X_where.type] { -// CHECK:STDOUT: %.Self.frozen.loc16_22: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc16_22: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X.type] // CHECK:STDOUT: %.Self.frozen.loc16_26: %X.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.5e5] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %X.ref [concrete] @@ -1142,6 +1151,7 @@ interface B { // CHECK:STDOUT: --- fail_incomplete_constraint.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %B.type: type = facet_type <@B> [concrete] // CHECK:STDOUT: %Self: %B.type = symbolic_binding Self, 0 [symbolic] diff --git a/toolchain/check/testdata/impl/interface_args.carbon b/toolchain/check/testdata/impl/interface_args.carbon index 2278b9d606cf..909f6d8f8515 100644 --- a/toolchain/check/testdata/impl/interface_args.carbon +++ b/toolchain/check/testdata/impl/interface_args.carbon @@ -111,10 +111,10 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: --- core.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %Dest.patt: %pattern_type.98f = symbolic_binding_pattern Dest, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %Dest.patt: %pattern_type.9a5 = symbolic_binding_pattern Dest, 0 [symbolic] // CHECK:STDOUT: %Dest: type = symbolic_binding Dest, 0 [symbolic] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] @@ -145,10 +145,10 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %ImplicitAs.decl: %ImplicitAs.type.0ff = interface_decl @ImplicitAs [concrete = constants.%ImplicitAs.generic] { -// CHECK:STDOUT: %Dest.patt.loc3_26.1: %pattern_type.98f = symbolic_binding_pattern Dest, 0 [symbolic = %Dest.patt.loc3_26.2 (constants.%Dest.patt)] +// CHECK:STDOUT: %Dest.patt.loc3_26.1: %pattern_type.9a5 = symbolic_binding_pattern Dest, 0 [symbolic = %Dest.patt.loc3_26.2 (constants.%Dest.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_28.1: type = splice_block %.loc3_28.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc3_28.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %Dest.loc3_26.2: type = symbolic_binding Dest, 0 [symbolic = %Dest.loc3_26.1 (constants.%Dest)] @@ -156,7 +156,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @ImplicitAs(%Dest.loc3_26.2: type) { -// CHECK:STDOUT: %Dest.patt.loc3_26.2: %pattern_type.98f = symbolic_binding_pattern Dest, 0 [symbolic = %Dest.patt.loc3_26.2 (constants.%Dest.patt)] +// CHECK:STDOUT: %Dest.patt.loc3_26.2: %pattern_type.9a5 = symbolic_binding_pattern Dest, 0 [symbolic = %Dest.patt.loc3_26.2 (constants.%Dest.patt)] // CHECK:STDOUT: %Dest.loc3_26.1: type = symbolic_binding Dest, 0 [symbolic = %Dest.loc3_26.1 (constants.%Dest)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -240,10 +240,10 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: --- action.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Action.type.538: type = generic_interface_type @Action [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -304,10 +304,10 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Action.decl: %Action.type.538 = interface_decl @Action [concrete = constants.%Action.generic] { -// CHECK:STDOUT: %T.patt.loc4_19.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_19.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_19.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_19.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_21.1: type = splice_block %.loc4_21.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_21.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_19.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_19.1 (constants.%T)] @@ -333,7 +333,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Action(%T.loc4_19.2: type) { -// CHECK:STDOUT: %T.patt.loc4_19.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_19.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_19.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_19.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_19.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_19.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -503,6 +503,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: --- action.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -511,8 +512,8 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Action.generic: %Action.type.538 = struct_value () [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Action.type.cbf: type = facet_type <@Action, @Action(%T)> [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %Self.ea2: %Action.type.cbf = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %Action.assoc_type.1c3: type = assoc_entity_type @Action, @Action(%T) [symbolic] // CHECK:STDOUT: %Action.WithSelf.Op.type.a98: type = fn_type @Action.WithSelf.Op, @Action.WithSelf(%T, %Self.ea2) [symbolic] @@ -598,7 +599,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Action(imports.%Main.import_ref.b3bc94.3: type) [from "action.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -715,6 +716,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: --- fail_action.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -722,8 +724,8 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Action.generic: %Action.type.538 = struct_value () [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Action.type.cbf: type = facet_type <@Action, @Action(%T)> [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %Self.ea2: %Action.type.cbf = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %Action.assoc_type.1c3: type = assoc_entity_type @Action, @Action(%T) [symbolic] // CHECK:STDOUT: %Action.WithSelf.Op.type.a98: type = fn_type @Action.WithSelf.Op, @Action.WithSelf(%T, %Self.ea2) [symbolic] @@ -805,7 +807,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Action(imports.%Main.import_ref.b3bc94.3: type) [from "action.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -922,10 +924,10 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: --- factory.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Factory.type.9da: type = generic_interface_type @Factory [concrete] // CHECK:STDOUT: %Factory.generic: %Factory.type.9da = struct_value () [concrete] @@ -995,10 +997,10 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Factory.decl: %Factory.type.9da = interface_decl @Factory [concrete = constants.%Factory.generic] { -// CHECK:STDOUT: %T.patt.loc4_20.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_20.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_20.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_20.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_22.1: type = splice_block %.loc4_22.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_22.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_20.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_20.1 (constants.%T)] @@ -1015,7 +1017,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Factory(%T.loc4_20.2: type) { -// CHECK:STDOUT: %T.patt.loc4_20.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_20.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_20.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_20.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_20.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_20.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -1243,6 +1245,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: --- factory.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -1250,8 +1253,8 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Factory.generic: %Factory.type.9da = struct_value () [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Factory.type.711: type = facet_type <@Factory, @Factory(%T)> [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %Self.3e3: %Factory.type.711 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %Factory.assoc_type.0ed: type = assoc_entity_type @Factory, @Factory(%T) [symbolic] // CHECK:STDOUT: %Factory.WithSelf.Method.type.d40: type = fn_type @Factory.WithSelf.Method, @Factory.WithSelf(%T, %Self.3e3) [symbolic] @@ -1378,7 +1381,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Factory(imports.%Main.import_ref.b3bc94.4: type) [from "factory.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -1548,6 +1551,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: --- fail_factory.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -1555,8 +1559,8 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Factory.generic: %Factory.type.9da = struct_value () [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Factory.type.711: type = facet_type <@Factory, @Factory(%T)> [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %Self.3e3: %Factory.type.711 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %Factory.assoc_type.0ed: type = assoc_entity_type @Factory, @Factory(%T) [symbolic] // CHECK:STDOUT: %Factory.WithSelf.Method.type.d40: type = fn_type @Factory.WithSelf.Method, @Factory.WithSelf(%T, %Self.3e3) [symbolic] @@ -1674,7 +1678,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Factory(imports.%Main.import_ref.b3bc94.4: type) [from "factory.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/impl/lookup/alias.carbon b/toolchain/check/testdata/impl/lookup/alias.carbon index 6bdd08df1a03..bb15b596e56a 100644 --- a/toolchain/check/testdata/impl/lookup/alias.carbon +++ b/toolchain/check/testdata/impl/lookup/alias.carbon @@ -32,6 +32,7 @@ fn G(c: C) { // CHECK:STDOUT: --- alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF> [concrete] // CHECK:STDOUT: %Self: %HasF.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %HasF.WithSelf.F.type.a73: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%Self) [symbolic] diff --git a/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon b/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon index 201b8c214be8..a389c2e46af8 100644 --- a/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon +++ b/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon @@ -50,6 +50,7 @@ fn G() { // CHECK:STDOUT: --- canonical_query_self.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: %Self.as_type.c84: type = facet_access_type %Self.37e [symbolic] @@ -71,15 +72,14 @@ fn G() { // CHECK:STDOUT: %J.WithSelf.JJ.1d0: %J.WithSelf.JJ.type.e02 = struct_value () [symbolic] // CHECK:STDOUT: %J.assoc_type: type = assoc_entity_type @J [concrete] // CHECK:STDOUT: %assoc0.7d8: %J.assoc_type = assoc_entity element0, @J.WithSelf.%J.WithSelf.JJ.decl [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %I.type, %type.as.BitAndWith.impl.Op [concrete] @@ -134,11 +134,10 @@ fn G() { // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %.5d3: ref %C = temporary invalid, %C.val [concrete] -// CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] -// CHECK:STDOUT: %J.WithSelf.JJ.type.383: type = fn_type @J.WithSelf.JJ, @J.WithSelf(%C.type.facet) [concrete] -// CHECK:STDOUT: %J.WithSelf.JJ.87d: %J.WithSelf.JJ.type.383 = struct_value () [concrete] -// CHECK:STDOUT: %I.WithSelf.II.type.92c: type = fn_type @I.WithSelf.II, @I.WithSelf(%C.type.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.II.03d: %I.WithSelf.II.type.92c = struct_value () [concrete] +// CHECK:STDOUT: %J.WithSelf.JJ.type.c61: type = fn_type @J.WithSelf.JJ, @J.WithSelf(%C) [concrete] +// CHECK:STDOUT: %J.WithSelf.JJ.186: %J.WithSelf.JJ.type.c61 = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.II.type.4be: type = fn_type @I.WithSelf.II, @I.WithSelf(%C) [concrete] +// CHECK:STDOUT: %I.WithSelf.II.622: %I.WithSelf.II.type.4be = struct_value () [concrete] // CHECK:STDOUT: %.c59: type = fn_type_with_self_type %J.WithSelf.JJ.type.088, %J.facet.85d [concrete] // CHECK:STDOUT: %C.as.J.impl.JJ.bound: = bound_method %.5d3, %C.as.J.impl.JJ [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -181,10 +180,10 @@ fn G() { // CHECK:STDOUT: %t.patt.loc22_25.1: @F.%pattern_type (%pattern_type.936) = wrapper_binding_pattern t, %t.param_patt.loc22_25.1 [symbolic = %t.patt.loc22_25.2 (constants.%t.patt.4c5)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc22_19.1: type = splice_block %.loc22_19.3 [concrete = constants.%facet_type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %I.ref.loc22: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %J.ref.loc22: type = name_ref J, file.%J.decl [concrete = constants.%J.type] -// CHECK:STDOUT: %impl.elem0.loc22: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc22: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc22: = bound_method %I.ref.loc22, %impl.elem0.loc22 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method.loc22(%I.ref.loc22, %J.ref.loc22) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc22_19.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type] @@ -573,18 +572,18 @@ fn G() { // CHECK:STDOUT: %self.patt.loc19_9.2 => constants.%self.patt.6f7 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf(constants.%C.type.facet) { +// CHECK:STDOUT: specific @J.WithSelf(constants.%C) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%C.type.facet -// CHECK:STDOUT: %J.WithSelf.JJ.type => constants.%J.WithSelf.JJ.type.383 -// CHECK:STDOUT: %J.WithSelf.JJ => constants.%J.WithSelf.JJ.87d +// CHECK:STDOUT: %Self => constants.%C +// CHECK:STDOUT: %J.WithSelf.JJ.type => constants.%J.WithSelf.JJ.type.c61 +// CHECK:STDOUT: %J.WithSelf.JJ => constants.%J.WithSelf.JJ.186 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%C.type.facet) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%C) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%C.type.facet -// CHECK:STDOUT: %I.WithSelf.II.type => constants.%I.WithSelf.II.type.92c -// CHECK:STDOUT: %I.WithSelf.II => constants.%I.WithSelf.II.03d +// CHECK:STDOUT: %Self => constants.%C +// CHECK:STDOUT: %I.WithSelf.II.type => constants.%I.WithSelf.II.type.4be +// CHECK:STDOUT: %I.WithSelf.II => constants.%I.WithSelf.II.622 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%facet_value) { diff --git a/toolchain/check/testdata/impl/lookup/fail_alias_impl_not_found.carbon b/toolchain/check/testdata/impl/lookup/fail_alias_impl_not_found.carbon index 95d2dbc4366c..ded4e15ec40b 100644 --- a/toolchain/check/testdata/impl/lookup/fail_alias_impl_not_found.carbon +++ b/toolchain/check/testdata/impl/lookup/fail_alias_impl_not_found.carbon @@ -36,6 +36,7 @@ fn F(c: C) { // CHECK:STDOUT: --- fail_alias_impl_not_found.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.WithSelf.F.type: type = fn_type @I.WithSelf.F, @I.WithSelf(%Self) [symbolic] diff --git a/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon b/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon index 4938c08554fd..279f993ec8be 100644 --- a/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon +++ b/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon @@ -51,6 +51,7 @@ fn G() { // CHECK:STDOUT: --- fail_todo_undefined_impl.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.WithSelf.F.type.dcc: type = fn_type @I.WithSelf.F, @I.WithSelf(%Self) [symbolic] @@ -64,10 +65,8 @@ fn G() { // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.b04: type = fn_type @I.WithSelf.F, @I.WithSelf(%C.type.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.cef: %I.WithSelf.F.type.b04 = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.a90: type = fn_type @I.WithSelf.F, @I.WithSelf(%C) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.040: %I.WithSelf.F.type.a90 = struct_value () [concrete] // CHECK:STDOUT: %I.facet.aa5: %I.type = facet_value %C, (%I.impl_witness.490) [concrete] // CHECK:STDOUT: %I.WithSelf.F.type.372: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.aa5) [concrete] // CHECK:STDOUT: %I.WithSelf.F.d46: %I.WithSelf.F.type.372 = struct_value () [concrete] @@ -179,11 +178,11 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.F(constants.%Self) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%C.type.facet) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%C) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%C.type.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.b04 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.cef +// CHECK:STDOUT: %Self => constants.%C +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.a90 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.040 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.aa5) { diff --git a/toolchain/check/testdata/impl/lookup/generic.carbon b/toolchain/check/testdata/impl/lookup/generic.carbon index 8126d1ed09ff..3aa82ab1ccd5 100644 --- a/toolchain/check/testdata/impl/lookup/generic.carbon +++ b/toolchain/check/testdata/impl/lookup/generic.carbon @@ -131,6 +131,7 @@ fn G(x: A) { // CHECK:STDOUT: --- deduced_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF> [concrete] // CHECK:STDOUT: %Self: %HasF.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] @@ -142,10 +143,9 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.WithSelf.F.851: %HasF.WithSelf.F.type.a73 = struct_value () [symbolic] // CHECK:STDOUT: %HasF.assoc_type: type = assoc_entity_type @HasF [concrete] // CHECK:STDOUT: %assoc0: %HasF.assoc_type = assoc_entity element0, @HasF.WithSelf.%HasF.WithSelf.F.decl [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %.989: = impl_self_witness %T, @HasF [symbolic] // CHECK:STDOUT: %HasF.impl_witness.c4c: = impl_witness @T.as.HasF.impl.%HasF.impl_witness_table, @T.as.HasF.impl(%T) [symbolic] @@ -195,12 +195,12 @@ fn G(x: A) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasF.decl: type = interface_decl @HasF [concrete = constants.%HasF.type] {} {} // CHECK:STDOUT: impl_decl @T.as.HasF.impl [concrete] { -// CHECK:STDOUT: %T.patt.loc8_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_15.2 [symbolic = %T.loc8_15.1 (constants.%T)] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] // CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T)] @@ -247,7 +247,7 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @T.as.HasF.impl(%T.loc8_15.2: type) { -// CHECK:STDOUT: %T.patt.loc8_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc8_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T)] // CHECK:STDOUT: %.loc8_33: = impl_self_witness %T.loc8_15.1, @HasF [symbolic = %.loc8_33 (constants.%.989)] // CHECK:STDOUT: %HasF.impl_witness.loc8_33.2: = impl_witness %HasF.impl_witness_table, @T.as.HasF.impl(%T.loc8_15.1) [symbolic = %HasF.impl_witness.loc8_33.2 (constants.%HasF.impl_witness.c4c)] @@ -392,6 +392,7 @@ fn G(x: A) { // CHECK:STDOUT: --- deduced_type_subst.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF> [concrete] // CHECK:STDOUT: %Self.c62: %HasF.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type.5c2: type = facet_access_type %Self.c62 [symbolic] @@ -405,10 +406,9 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.WithSelf.F.851: %HasF.WithSelf.F.type.a73 = struct_value () [symbolic] // CHECK:STDOUT: %HasF.assoc_type: type = assoc_entity_type @HasF [concrete] // CHECK:STDOUT: %assoc0.a0c: %HasF.assoc_type = assoc_entity element0, @HasF.WithSelf.%HasF.WithSelf.F.decl [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T.67d [symbolic] // CHECK:STDOUT: %.1c9: = impl_self_witness %ptr.e8f, @HasF [symbolic] @@ -488,13 +488,13 @@ fn G(x: A) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasF.decl: type = interface_decl @HasF [concrete = constants.%HasF.type] {} {} // CHECK:STDOUT: impl_decl @ptr.as.HasF.impl [concrete] { -// CHECK:STDOUT: %T.patt.loc8_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc8_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_15.2 [symbolic = %T.loc8_15.1 (constants.%T.67d)] // CHECK:STDOUT: %ptr.loc8_24.2: type = ptr_type %T.ref [symbolic = %ptr.loc8_24.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] // CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T.67d)] @@ -559,7 +559,7 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @ptr.as.HasF.impl(%T.loc8_15.2: type) { -// CHECK:STDOUT: %T.patt.loc8_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc8_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc8_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T.67d)] // CHECK:STDOUT: %ptr.loc8_24.1: type = ptr_type %T.loc8_15.1 [symbolic = %ptr.loc8_24.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc8_34: = impl_self_witness %ptr.loc8_24.1, @HasF [symbolic = %.loc8_34 (constants.%.1c9)] @@ -677,7 +677,7 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @ptr.as.HasF.impl(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc8_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc8_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc8_15.1 => constants.%T.67d // CHECK:STDOUT: %ptr.loc8_24.1 => constants.%ptr.e8f // CHECK:STDOUT: %.loc8_34 => constants.%.1c9 @@ -718,7 +718,7 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @ptr.as.HasF.impl(constants.%empty_struct_type) { -// CHECK:STDOUT: %T.patt.loc8_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc8_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc8_15.1 => constants.%empty_struct_type // CHECK:STDOUT: %ptr.loc8_24.1 => constants.%ptr.c28 // CHECK:STDOUT: %.loc8_34 => constants.%.897 @@ -760,6 +760,7 @@ fn G(x: A) { // CHECK:STDOUT: --- deduced_type_argument.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF> [concrete] // CHECK:STDOUT: %Self: %HasF.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] @@ -771,10 +772,9 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.WithSelf.F.851: %HasF.WithSelf.F.type.a73 = struct_value () [symbolic] // CHECK:STDOUT: %HasF.assoc_type: type = assoc_entity_type @HasF [concrete] // CHECK:STDOUT: %assoc0: %HasF.assoc_type = assoc_entity element0, @HasF.WithSelf.%HasF.WithSelf.F.decl [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -829,23 +829,23 @@ fn G(x: A) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasF.decl: type = interface_decl @HasF [concrete = constants.%HasF.type] {} {} // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { -// CHECK:STDOUT: %T.patt.loc8_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_12.1: type = splice_block %.loc8_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_10.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @C.as.HasF.impl [concrete] { -// CHECK:STDOUT: %T.patt.loc10_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc10_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc10_15.2 [symbolic = %T.loc10_15.1 (constants.%T)] // CHECK:STDOUT: %C.loc10_26.2: type = class_type @C, @C(constants.%T) [symbolic = %C.loc10_26.1 (constants.%C.1d0)] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] // CHECK:STDOUT: %.loc10_17.1: type = splice_block %.loc10_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc10_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc10_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc10_15.1 (constants.%T)] @@ -894,7 +894,7 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @C.as.HasF.impl(%T.loc10_15.2: type) { -// CHECK:STDOUT: %T.patt.loc10_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc10_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc10_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc10_15.1 (constants.%T)] // CHECK:STDOUT: %C.loc10_26.1: type = class_type @C, @C(%T.loc10_15.1) [symbolic = %C.loc10_26.1 (constants.%C.1d0)] // CHECK:STDOUT: %.loc10_36: = impl_self_witness %C.loc10_26.1, @HasF [symbolic = %.loc10_36 (constants.%.9f4)] @@ -924,7 +924,7 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(%T.loc8_10.2: type) { -// CHECK:STDOUT: %T.patt.loc8_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc8_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_10.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -1074,10 +1074,10 @@ fn G(x: A) { // CHECK:STDOUT: --- deduced_interface_argument.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %HasF.type.c96: type = generic_interface_type @HasF [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1142,16 +1142,16 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasF.decl: %HasF.type.c96 = interface_decl @HasF [concrete = constants.%HasF.generic] { -// CHECK:STDOUT: %T.patt.loc4_17.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_17.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_17.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @empty_struct_type.as.HasF.impl [concrete] { -// CHECK:STDOUT: %T.patt.loc8_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_24.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc8_24.2: type = converted %.loc8_24.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] @@ -1159,7 +1159,7 @@ fn G(x: A) { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_15.2 [symbolic = %T.loc8_15.1 (constants.%T)] // CHECK:STDOUT: %HasF.type.loc8_35.2: type = facet_type <@HasF, @HasF(constants.%T)> [symbolic = %HasF.type.loc8_35.1 (constants.%HasF.type.daf)] // CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T)] @@ -1179,7 +1179,7 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @HasF(%T.loc4_17.2: type) { -// CHECK:STDOUT: %T.patt.loc4_17.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_17.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_17.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -1216,7 +1216,7 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @empty_struct_type.as.HasF.impl(%T.loc8_15.2: type) { -// CHECK:STDOUT: %T.patt.loc8_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc8_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T)] // CHECK:STDOUT: %HasF.type.loc8_35.1: type = facet_type <@HasF, @HasF(%T.loc8_15.1)> [symbolic = %HasF.type.loc8_35.1 (constants.%HasF.type.daf)] // CHECK:STDOUT: %.loc8_37: = impl_self_witness constants.%empty_struct_type, @HasF, @HasF(%T.loc8_15.1) [symbolic = %.loc8_37 (constants.%.500)] @@ -1401,6 +1401,7 @@ fn G(x: A) { // CHECK:STDOUT: --- fail_incomplete_deduction.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF> [concrete] // CHECK:STDOUT: %Self: %HasF.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] @@ -1411,12 +1412,11 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.WithSelf.F: %HasF.WithSelf.F.type = struct_value () [symbolic] // CHECK:STDOUT: %HasF.assoc_type: type = assoc_entity_type @HasF [concrete] // CHECK:STDOUT: %assoc0: %HasF.assoc_type = assoc_entity element0, @HasF.WithSelf.%HasF.WithSelf.F.decl [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %.989: = impl_self_witness %T, @HasF [symbolic] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness @T.as.HasF.impl.%HasF.impl_witness_table, @T.as.HasF.impl(%T, %U) [symbolic] @@ -1451,18 +1451,18 @@ fn G(x: A) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasF.decl: type = interface_decl @HasF [concrete = constants.%HasF.type] {} {} // CHECK:STDOUT: impl_decl @T.as.HasF.impl [concrete] { -// CHECK:STDOUT: %T.patt.loc12_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt)] -// CHECK:STDOUT: %U.patt.loc12_24.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc12_24.2 (constants.%U.patt)] +// CHECK:STDOUT: %T.patt.loc12_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %U.patt.loc12_24.1: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc12_24.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc12_15.2 [symbolic = %T.loc12_15.1 (constants.%T)] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] // CHECK:STDOUT: %.loc12_17.1: type = splice_block %.loc12_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc12_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc12_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc12_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc12_15.1 (constants.%T)] // CHECK:STDOUT: %.loc12_26.1: type = splice_block %.loc12_26.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc12_24: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc12_24: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc12_26.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc12_24.2: type = symbolic_binding U, 1 [symbolic = %U.loc12_24.1 (constants.%U)] @@ -1509,9 +1509,9 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @T.as.HasF.impl(%T.loc12_15.2: type, %U.loc12_24.2: type) { -// CHECK:STDOUT: %T.patt.loc12_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc12_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc12_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc12_15.1 (constants.%T)] -// CHECK:STDOUT: %U.patt.loc12_24.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc12_24.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc12_24.2: %pattern_type.9a5 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc12_24.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc12_24.1: type = symbolic_binding U, 1 [symbolic = %U.loc12_24.1 (constants.%U)] // CHECK:STDOUT: %.loc12_42: = impl_self_witness %T.loc12_15.1, @HasF [symbolic = %.loc12_42 (constants.%.989)] // CHECK:STDOUT: %HasF.impl_witness.loc12_42.2: = impl_witness %HasF.impl_witness_table, @T.as.HasF.impl(%T.loc12_15.1, %U.loc12_24.1) [symbolic = %HasF.impl_witness.loc12_42.2 (constants.%HasF.impl_witness)] @@ -1610,10 +1610,10 @@ fn G(x: A) { // CHECK:STDOUT: --- fail_inconsistent_deduction.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %HasF.type.c96: type = generic_interface_type @HasF [concrete] // CHECK:STDOUT: %HasF.generic: %HasF.type.c96 = struct_value () [concrete] @@ -1673,23 +1673,23 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasF.decl: %HasF.type.c96 = interface_decl @HasF [concrete = constants.%HasF.generic] { -// CHECK:STDOUT: %T.patt.loc4_17.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_17.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_17.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @T.as.HasF.impl [concrete] { -// CHECK:STDOUT: %T.patt.loc8_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc8_23: type = name_ref T, %T.loc8_15.2 [symbolic = %T.loc8_15.1 (constants.%T)] // CHECK:STDOUT: %HasF.ref: %HasF.type.c96 = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.generic] // CHECK:STDOUT: %T.ref.loc8_33: type = name_ref T, %T.loc8_15.2 [symbolic = %T.loc8_15.1 (constants.%T)] // CHECK:STDOUT: %HasF.type.loc8_34.2: type = facet_type <@HasF, @HasF(constants.%T)> [symbolic = %HasF.type.loc8_34.1 (constants.%HasF.type.daf)] // CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T)] @@ -1708,7 +1708,7 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @HasF(%T.loc4_17.2: type) { -// CHECK:STDOUT: %T.patt.loc4_17.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_17.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_17.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -1745,7 +1745,7 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @T.as.HasF.impl(%T.loc8_15.2: type) { -// CHECK:STDOUT: %T.patt.loc8_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc8_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T)] // CHECK:STDOUT: %HasF.type.loc8_34.1: type = facet_type <@HasF, @HasF(%T.loc8_15.1)> [symbolic = %HasF.type.loc8_34.1 (constants.%HasF.type.daf)] // CHECK:STDOUT: %.loc8_36: = impl_self_witness %T.loc8_15.1, @HasF, @HasF(%T.loc8_15.1) [symbolic = %.loc8_36 (constants.%.b9d)] diff --git a/toolchain/check/testdata/impl/lookup/impl_forall.carbon b/toolchain/check/testdata/impl/lookup/impl_forall.carbon index b14d56a8321e..463b8a6924d6 100644 --- a/toolchain/check/testdata/impl/lookup/impl_forall.carbon +++ b/toolchain/check/testdata/impl/lookup/impl_forall.carbon @@ -45,9 +45,9 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: --- impl_forall.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %A.type: type = generic_class_type @A [concrete] // CHECK:STDOUT: %A.generic: %A.type = struct_value () [concrete] @@ -56,7 +56,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %I.generic: %I.type.335 = struct_value () [concrete] // CHECK:STDOUT: %I.type.3fe556.1: type = facet_type <@I, @I(%U.67d)> [symbolic] // CHECK:STDOUT: %Self.1916c4.1: %I.type.3fe556.1 = symbolic_binding Self, 1 [symbolic] -// CHECK:STDOUT: %V.patt.d47: %pattern_type.98f = symbolic_binding_pattern V, 0 [symbolic] +// CHECK:STDOUT: %V.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern V, 0 [symbolic] // CHECK:STDOUT: %V.67d: type = symbolic_binding V, 0 [symbolic] // CHECK:STDOUT: %A.47a1de.2: type = class_type @A, @A(%V.67d) [symbolic] // CHECK:STDOUT: %I.type.3fe556.2: type = facet_type <@I, @I(%V.67d)> [symbolic] @@ -86,7 +86,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %.be5: type = fn_type_with_self_type %Copy.WithSelf.Op.type.884, %Copy.facet.302 [symbolic] // CHECK:STDOUT: %impl.elem0.484: %.be5 = impl_witness_access %Copy.lookup_impl_witness.1da, element0 [symbolic] // CHECK:STDOUT: %specific_impl_fn.a76: = specific_impl_function %impl.elem0.484, @Copy.WithSelf.Op(%Copy.facet.302) [symbolic] -// CHECK:STDOUT: %W.patt: %pattern_type.98f = symbolic_binding_pattern W, 0 [symbolic] +// CHECK:STDOUT: %W.patt: %pattern_type.9a5 = symbolic_binding_pattern W, 0 [symbolic] // CHECK:STDOUT: %W: type = symbolic_binding W, 0 [symbolic] // CHECK:STDOUT: %A.47a1de.3: type = class_type @A, @A(%W) [symbolic] // CHECK:STDOUT: %ptr.5ab: type = ptr_type %A.47a1de.3 [symbolic] @@ -158,7 +158,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: impl_decl @A.as.I.impl [concrete] { -// CHECK:STDOUT: %V.patt.loc12_15.1: %pattern_type.98f = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc12_15.2 (constants.%V.patt.d47)] +// CHECK:STDOUT: %V.patt.loc12_15.1: %pattern_type.9a5 = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc12_15.2 (constants.%V.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: %A.type = name_ref A, file.%A.decl [concrete = constants.%A.generic] // CHECK:STDOUT: %V.ref.loc12_25: type = name_ref V, %V.loc12_15.2 [symbolic = %V.loc12_15.1 (constants.%V.67d)] @@ -167,7 +167,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %V.ref.loc12_33: type = name_ref V, %V.loc12_15.2 [symbolic = %V.loc12_15.1 (constants.%V.67d)] // CHECK:STDOUT: %I.type.loc12_34.2: type = facet_type <@I, @I(constants.%V.67d)> [symbolic = %I.type.loc12_34.1 (constants.%I.type.3fe556.2)] // CHECK:STDOUT: %.loc12_17.1: type = splice_block %.loc12_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc12_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %V.loc12_15.2: type = symbolic_binding V, 0 [symbolic = %V.loc12_15.1 (constants.%V.67d)] @@ -176,7 +176,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @A.as.I.impl(%V.loc12_15.2: type) { -// CHECK:STDOUT: %V.patt.loc12_15.2: %pattern_type.98f = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc12_15.2 (constants.%V.patt.d47)] +// CHECK:STDOUT: %V.patt.loc12_15.2: %pattern_type.9a5 = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc12_15.2 (constants.%V.patt.3a0)] // CHECK:STDOUT: %V.loc12_15.1: type = symbolic_binding V, 0 [symbolic = %V.loc12_15.1 (constants.%V.67d)] // CHECK:STDOUT: %A.loc12_26.1: type = class_type @A, @A(%V.loc12_15.1) [symbolic = %A.loc12_26.1 (constants.%A.47a1de.2)] // CHECK:STDOUT: %I.type.loc12_34.1: type = facet_type <@I, @I(%V.loc12_15.1)> [symbolic = %I.type.loc12_34.1 (constants.%I.type.3fe556.2)] @@ -312,7 +312,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.as.I.impl(constants.%V.67d) { -// CHECK:STDOUT: %V.patt.loc12_15.2 => constants.%V.patt.d47 +// CHECK:STDOUT: %V.patt.loc12_15.2 => constants.%V.patt.3a0 // CHECK:STDOUT: %V.loc12_15.1 => constants.%V.67d // CHECK:STDOUT: %A.loc12_26.1 => constants.%A.47a1de.2 // CHECK:STDOUT: %I.type.loc12_34.1 => constants.%I.type.3fe556.2 @@ -354,7 +354,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.as.I.impl(constants.%W) { -// CHECK:STDOUT: %V.patt.loc12_15.2 => constants.%V.patt.d47 +// CHECK:STDOUT: %V.patt.loc12_15.2 => constants.%V.patt.3a0 // CHECK:STDOUT: %V.loc12_15.1 => constants.%W // CHECK:STDOUT: %A.loc12_26.1 => constants.%A.47a1de.3 // CHECK:STDOUT: %I.type.loc12_34.1 => constants.%I.type.3fe556.3 @@ -368,7 +368,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.as.I.impl(constants.%empty_struct_type) { -// CHECK:STDOUT: %V.patt.loc12_15.2 => constants.%V.patt.d47 +// CHECK:STDOUT: %V.patt.loc12_15.2 => constants.%V.patt.3a0 // CHECK:STDOUT: %V.loc12_15.1 => constants.%empty_struct_type // CHECK:STDOUT: %A.loc12_26.1 => constants.%A.940 // CHECK:STDOUT: %I.type.loc12_34.1 => constants.%I.type.81d diff --git a/toolchain/check/testdata/impl/lookup/import.carbon b/toolchain/check/testdata/impl/lookup/import.carbon index 501f30fbeac7..3acf9241add7 100644 --- a/toolchain/check/testdata/impl/lookup/import.carbon +++ b/toolchain/check/testdata/impl/lookup/import.carbon @@ -227,6 +227,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- package_a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF> [concrete] // CHECK:STDOUT: %Self: %HasF.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] @@ -376,6 +377,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- package_b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %HasG.type: type = facet_type <@HasG> [concrete] // CHECK:STDOUT: %Self.150: %HasG.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type.dd3: type = facet_access_type %Self.150 [symbolic] @@ -695,6 +697,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- use_cf.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -840,6 +843,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- use_df.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -1008,6 +1012,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- use_cg.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -1176,6 +1181,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- use_dg.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -1339,6 +1345,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- associated_interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self: %Z.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] @@ -1478,6 +1485,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- import_associated_interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = fn_type @J [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %J: %J.type = struct_value () [concrete] @@ -1600,10 +1608,10 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- has_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] // CHECK:STDOUT: %X.patt: %pattern_type.51d = symbolic_binding_pattern X, 1 [symbolic] @@ -1641,16 +1649,16 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %AnyParam.decl: %AnyParam.type = class_decl @AnyParam [concrete = constants.%AnyParam.generic] { -// CHECK:STDOUT: %T.patt.loc4_17.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_17.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] // CHECK:STDOUT: %X.patt.loc4_26.1: @AnyParam.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern X, 1 [symbolic = %X.patt.loc4_26.2 (constants.%X.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4_17: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_17: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_17.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T)] // CHECK:STDOUT: %.loc4_28: type = splice_block %T.ref [symbolic = %T.loc4_17.1 (constants.%T)] { -// CHECK:STDOUT: %.Self.frozen.loc4_26: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_26: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_17.2 [symbolic = %T.loc4_17.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.loc4_26.2: @AnyParam.%T.loc4_17.1 (%T) = symbolic_binding X, 1 [symbolic = %X.loc4_26.1 (constants.%X)] @@ -1686,7 +1694,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @AnyParam(%T.loc4_17.2: type, %X.loc4_26.2: @AnyParam.%T.loc4_17.1 (%T)) { -// CHECK:STDOUT: %T.patt.loc4_17.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_17.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_17.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_17.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc4_17.1 [symbolic = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: %X.patt.loc4_26.2: @AnyParam.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern X, 1 [symbolic = %X.patt.loc4_26.2 (constants.%X.patt)] @@ -1745,10 +1753,10 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- has_generic_interface.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %GenericInterface.type.cd1: type = generic_interface_type @GenericInterface [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1763,7 +1771,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %X: %T = symbolic_binding X, 1 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] // CHECK:STDOUT: %X.patt.9f0: %pattern_type.51d = symbolic_binding_pattern X, 1 [symbolic] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.ed9: type = pattern_type %GenericInterface.type.cd1 [concrete] // CHECK:STDOUT: %X.patt.ff8: %pattern_type.ed9 = symbolic_binding_pattern X, 1 [symbolic] // CHECK:STDOUT: %AnyParam.591: type = class_type @AnyParam, @AnyParam(%GenericInterface.type.cd1, %GenericInterface.generic) [concrete] @@ -1820,7 +1828,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageHasParam.import_ref.03c: %Y.assoc_type = import_ref PackageHasParam//default, loc7_21, loaded [concrete = constants.%assoc0.970] // CHECK:STDOUT: %PackageHasParam.K: @Y.WithSelf.%Y.WithSelf.K.type (%Y.WithSelf.K.type.977) = import_ref PackageHasParam//default, K, loaded [symbolic = @Y.WithSelf.%Y.WithSelf.K (constants.%Y.WithSelf.K.d2d)] // CHECK:STDOUT: %PackageHasParam.import_ref.fa191b.2: %Y.type = import_ref PackageHasParam//default, loc6_13, loaded [symbolic = constants.%Self.aff] -// CHECK:STDOUT: %PackageHasParam.import_ref.2ff = import_ref PackageHasParam//default, loc6_13, unloaded +// CHECK:STDOUT: %PackageHasParam.import_ref.2ff5 = import_ref PackageHasParam//default, loc6_13, unloaded // CHECK:STDOUT: %PackageHasParam.import_ref.ee7: @Y.WithSelf.%Y.WithSelf.K.type (%Y.WithSelf.K.type.977) = import_ref PackageHasParam//default, loc7_21, loaded [symbolic = @Y.WithSelf.%Y.WithSelf.K (constants.%Y.WithSelf.K.d2d)] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } @@ -1835,10 +1843,10 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %PackageHasParam.import = import PackageHasParam // CHECK:STDOUT: %GenericInterface.decl: %GenericInterface.type.cd1 = interface_decl @GenericInterface [concrete = constants.%GenericInterface.generic] { -// CHECK:STDOUT: %U.patt.loc6_29.1: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc6_29.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc6_29.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc6_29.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_31.1: type = splice_block %.loc6_31.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_31.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc6_29.2: type = symbolic_binding U, 0 [symbolic = %U.loc6_29.1 (constants.%U)] @@ -1856,7 +1864,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @GenericInterface(%U.loc6_29.2: type) { -// CHECK:STDOUT: %U.patt.loc6_29.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc6_29.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc6_29.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc6_29.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc6_29.1: type = symbolic_binding U, 0 [symbolic = %U.loc6_29.1 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -1877,7 +1885,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: interface @Y [from "has_param.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = imports.%PackageHasParam.import_ref.2ff +// CHECK:STDOUT: .Self = imports.%PackageHasParam.import_ref.2ff5 // CHECK:STDOUT: .K = imports.%PackageHasParam.import_ref.03c // CHECK:STDOUT: witness = (imports.%PackageHasParam.K) // CHECK:STDOUT: @@ -1903,7 +1911,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @AnyParam(imports.%PackageHasParam.import_ref.b3b: type, imports.%PackageHasParam.import_ref.b42: @AnyParam.%T (%T)) [from "has_param.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: %X.patt: @AnyParam.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern X, 1 [symbolic = %X.patt (constants.%X.patt.9f0)] @@ -2033,6 +2041,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- use_generic_interface_as_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %M.type: type = fn_type @M [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %M: %M.type = struct_value () [concrete] @@ -2044,13 +2053,13 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %X: %T = symbolic_binding X, 1 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] // CHECK:STDOUT: %X.patt.9f0: %pattern_type.51d = symbolic_binding_pattern X, 1 [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %GenericInterface.type.cd1: type = generic_interface_type @GenericInterface [concrete] // CHECK:STDOUT: %GenericInterface.generic: %GenericInterface.type.cd1 = struct_value () [concrete] // CHECK:STDOUT: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %GenericInterface.type.48f: type = facet_type <@GenericInterface, @GenericInterface(%U)> [symbolic] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %Self.d44: %GenericInterface.type.48f = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %pattern_type.ed9: type = pattern_type %GenericInterface.type.cd1 [concrete] // CHECK:STDOUT: %X.patt.ff8: %pattern_type.ed9 = symbolic_binding_pattern X, 1 [symbolic] @@ -2110,7 +2119,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageHasParam.import_ref.03c: %Y.assoc_type = import_ref PackageHasParam//default, loc7_21, loaded [concrete = constants.%assoc0.970] // CHECK:STDOUT: %PackageHasParam.K = import_ref PackageHasParam//default, K, unloaded // CHECK:STDOUT: %PackageHasParam.import_ref.fa191b.2: %Y.type = import_ref PackageHasParam//default, loc6_13, loaded [symbolic = constants.%Self.aff] -// CHECK:STDOUT: %PackageHasParam.import_ref.2ff = import_ref PackageHasParam//default, loc6_13, unloaded +// CHECK:STDOUT: %PackageHasParam.import_ref.2ff5 = import_ref PackageHasParam//default, loc6_13, unloaded // CHECK:STDOUT: %PackageHasParam.import_ref.ee7: @Y.WithSelf.%Y.WithSelf.K.type (%Y.WithSelf.K.type.977) = import_ref PackageHasParam//default, loc7_21, loaded [symbolic = @Y.WithSelf.%Y.WithSelf.K (constants.%Y.WithSelf.K.d2d)] // CHECK:STDOUT: %PackageGenericInterface.import_ref.6fb: = import_ref PackageGenericInterface//default, loc8_70, loaded [concrete = constants.%Y.impl_witness] // CHECK:STDOUT: %PackageGenericInterface.import_ref.82e: type = import_ref PackageGenericInterface//default, loc8_47, loaded [concrete = constants.%AnyParam.591] @@ -2134,7 +2143,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @GenericInterface(imports.%PackageGenericInterface.import_ref.b3bc94.2: type) [from "has_generic_interface.carbon"] { -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt (constants.%U.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -2152,7 +2161,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: interface @Y [from "has_param.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = imports.%PackageHasParam.import_ref.2ff +// CHECK:STDOUT: .Self = imports.%PackageHasParam.import_ref.2ff5 // CHECK:STDOUT: .K = imports.%PackageHasParam.import_ref.03c // CHECK:STDOUT: witness = (imports.%PackageHasParam.K) // CHECK:STDOUT: @@ -2165,7 +2174,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @AnyParam(imports.%PackageHasParam.import_ref.b3b: type, imports.%PackageHasParam.import_ref.b42: @AnyParam.%T (%T)) [from "has_param.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: %X.patt: @AnyParam.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern X, 1 [symbolic = %X.patt (constants.%X.patt.9f0)] @@ -2285,10 +2294,10 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- has_generic_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %GenericClass.type: type = generic_class_type @GenericClass [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -2302,7 +2311,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %X: %T = symbolic_binding X, 1 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] // CHECK:STDOUT: %X.patt.9f0: %pattern_type.51d = symbolic_binding_pattern X, 1 [symbolic] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.399: type = pattern_type %GenericClass.type [concrete] // CHECK:STDOUT: %X.patt.036: %pattern_type.399 = symbolic_binding_pattern X, 1 [symbolic] // CHECK:STDOUT: %AnyParam.21c: type = class_type @AnyParam, @AnyParam(%GenericClass.type, %GenericClass.generic) [concrete] @@ -2359,7 +2368,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageHasParam.import_ref.03c: %Y.assoc_type = import_ref PackageHasParam//default, loc7_21, loaded [concrete = constants.%assoc0.970] // CHECK:STDOUT: %PackageHasParam.K: @Y.WithSelf.%Y.WithSelf.K.type (%Y.WithSelf.K.type.977) = import_ref PackageHasParam//default, K, loaded [symbolic = @Y.WithSelf.%Y.WithSelf.K (constants.%Y.WithSelf.K.d2d)] // CHECK:STDOUT: %PackageHasParam.import_ref.fa191b.2: %Y.type = import_ref PackageHasParam//default, loc6_13, loaded [symbolic = constants.%Self.aff] -// CHECK:STDOUT: %PackageHasParam.import_ref.2ff = import_ref PackageHasParam//default, loc6_13, unloaded +// CHECK:STDOUT: %PackageHasParam.import_ref.2ff5 = import_ref PackageHasParam//default, loc6_13, unloaded // CHECK:STDOUT: %PackageHasParam.import_ref.ee7: @Y.WithSelf.%Y.WithSelf.K.type (%Y.WithSelf.K.type.977) = import_ref PackageHasParam//default, loc7_21, loaded [symbolic = @Y.WithSelf.%Y.WithSelf.K (constants.%Y.WithSelf.K.d2d)] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } @@ -2374,10 +2383,10 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %PackageHasParam.import = import PackageHasParam // CHECK:STDOUT: %GenericClass.decl: %GenericClass.type = class_decl @GenericClass [concrete = constants.%GenericClass.generic] { -// CHECK:STDOUT: %U.patt.loc6_21.1: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc6_21.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc6_21.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc6_21.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_23.1: type = splice_block %.loc6_23.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_23.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc6_21.2: type = symbolic_binding U, 0 [symbolic = %U.loc6_21.1 (constants.%U)] @@ -2396,7 +2405,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: interface @Y [from "has_param.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = imports.%PackageHasParam.import_ref.2ff +// CHECK:STDOUT: .Self = imports.%PackageHasParam.import_ref.2ff5 // CHECK:STDOUT: .K = imports.%PackageHasParam.import_ref.03c // CHECK:STDOUT: witness = (imports.%PackageHasParam.K) // CHECK:STDOUT: @@ -2422,7 +2431,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @GenericClass(%U.loc6_21.2: type) { -// CHECK:STDOUT: %U.patt.loc6_21.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc6_21.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc6_21.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc6_21.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc6_21.1: type = symbolic_binding U, 0 [symbolic = %U.loc6_21.1 (constants.%U)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -2437,7 +2446,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @AnyParam(imports.%PackageHasParam.import_ref.b3b: type, imports.%PackageHasParam.import_ref.b42: @AnyParam.%T (%T)) [from "has_param.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: %X.patt: @AnyParam.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern X, 1 [symbolic = %X.patt (constants.%X.patt.9f0)] @@ -2565,6 +2574,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- use_generic_class_as_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %M.type: type = fn_type @M [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %M: %M.type = struct_value () [concrete] @@ -2576,12 +2586,12 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %X: %T = symbolic_binding X, 1 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] // CHECK:STDOUT: %X.patt.9f0: %pattern_type.51d = symbolic_binding_pattern X, 1 [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %GenericClass.type: type = generic_class_type @GenericClass [concrete] // CHECK:STDOUT: %GenericClass.generic: %GenericClass.type = struct_value () [concrete] // CHECK:STDOUT: %U: type = symbolic_binding U, 0 [symbolic] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %pattern_type.399: type = pattern_type %GenericClass.type [concrete] // CHECK:STDOUT: %X.patt.036: %pattern_type.399 = symbolic_binding_pattern X, 1 [symbolic] // CHECK:STDOUT: %AnyParam.21c: type = class_type @AnyParam, @AnyParam(%GenericClass.type, %GenericClass.generic) [concrete] @@ -2641,7 +2651,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageHasParam.import_ref.03c: %Y.assoc_type = import_ref PackageHasParam//default, loc7_21, loaded [concrete = constants.%assoc0.970] // CHECK:STDOUT: %PackageHasParam.K = import_ref PackageHasParam//default, K, unloaded // CHECK:STDOUT: %PackageHasParam.import_ref.fa191b.2: %Y.type = import_ref PackageHasParam//default, loc6_13, loaded [symbolic = constants.%Self.aff] -// CHECK:STDOUT: %PackageHasParam.import_ref.2ff = import_ref PackageHasParam//default, loc6_13, unloaded +// CHECK:STDOUT: %PackageHasParam.import_ref.2ff5 = import_ref PackageHasParam//default, loc6_13, unloaded // CHECK:STDOUT: %PackageHasParam.import_ref.ee7: @Y.WithSelf.%Y.WithSelf.K.type (%Y.WithSelf.K.type.977) = import_ref PackageHasParam//default, loc7_21, loaded [symbolic = @Y.WithSelf.%Y.WithSelf.K (constants.%Y.WithSelf.K.d2d)] // CHECK:STDOUT: %PackageGenericClass.import_ref.b64: = import_ref PackageGenericClass//default, loc8_66, loaded [concrete = constants.%Y.impl_witness] // CHECK:STDOUT: %PackageGenericClass.import_ref.c77: type = import_ref PackageGenericClass//default, loc8_43, loaded [concrete = constants.%AnyParam.21c] @@ -2666,7 +2676,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: interface @Y [from "has_param.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = imports.%PackageHasParam.import_ref.2ff +// CHECK:STDOUT: .Self = imports.%PackageHasParam.import_ref.2ff5 // CHECK:STDOUT: .K = imports.%PackageHasParam.import_ref.03c // CHECK:STDOUT: witness = (imports.%PackageHasParam.K) // CHECK:STDOUT: @@ -2679,7 +2689,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @AnyParam(imports.%PackageHasParam.import_ref.b3b: type, imports.%PackageHasParam.import_ref.b42: @AnyParam.%T (%T)) [from "has_param.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: %X.patt: @AnyParam.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern X, 1 [symbolic = %X.patt (constants.%X.patt.9f0)] @@ -2696,7 +2706,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @GenericClass(imports.%PackageGenericClass.import_ref.b3b: type) [from "has_generic_class.carbon"] { -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt (constants.%U.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -2811,6 +2821,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- has_extra_interfaces.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Extra1.type: type = facet_type <@Extra1> [concrete] // CHECK:STDOUT: %Self.f48: %Extra1.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Extra2.type: type = facet_type <@Extra2> [concrete] @@ -2827,10 +2838,9 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %Self.c9e: %Extra7.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Extra8.type: type = facet_type <@Extra8> [concrete] // CHECK:STDOUT: %Self.345: %Extra8.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -2847,8 +2857,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %I.WithSelf.F.1a7: %I.WithSelf.F.type.e1c = 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: %tuple.type.c53: type = tuple_type (type, type, type, type, type, type, type, type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.c53 = tuple_value (%Extra1.type, %Extra2.type, %Extra3.type, %Extra4.type, %Extra5.type, %Extra6.type, %Extra7.type, %Extra8.type) [concrete] +// CHECK:STDOUT: %tuple.type.3bb: type = tuple_type (type, type, type, type, type, type, type, type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.3bb = tuple_value (%Extra1.type, %Extra2.type, %Extra3.type, %Extra4.type, %Extra5.type, %Extra6.type, %Extra7.type, %Extra8.type) [concrete] // CHECK:STDOUT: %tuple.type.d47: type = tuple_type (%Extra1.type, %Extra2.type, %Extra3.type, %Extra4.type, %Extra5.type, %Extra6.type, %Extra7.type, %Extra8.type) [concrete] // CHECK:STDOUT: %C.279: type = class_type @C, @C(%tuple.type.d47) [concrete] // CHECK:STDOUT: %.7ed: = impl_self_witness %C.279, @I [concrete] @@ -2894,10 +2904,10 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %Extra7.decl: type = interface_decl @Extra7 [concrete = constants.%Extra7.type] {} {} // CHECK:STDOUT: %Extra8.decl: type = interface_decl @Extra8 [concrete = constants.%Extra8.type] {} {} // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { -// CHECK:STDOUT: %T.patt.loc13_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc13_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_12.1: type = splice_block %.loc13_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc13_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc13_10.1 (constants.%T)] @@ -2913,7 +2923,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %Extra6.ref: type = name_ref Extra6, file.%Extra6.decl [concrete = constants.%Extra6.type] // CHECK:STDOUT: %Extra7.ref: type = name_ref Extra7, file.%Extra7.decl [concrete = constants.%Extra7.type] // CHECK:STDOUT: %Extra8.ref: type = name_ref Extra8, file.%Extra8.decl [concrete = constants.%Extra8.type] -// CHECK:STDOUT: %.loc16_71: %tuple.type.c53 = tuple_literal (%Extra1.ref, %Extra2.ref, %Extra3.ref, %Extra4.ref, %Extra5.ref, %Extra6.ref, %Extra7.ref, %Extra8.ref) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc16_71: %tuple.type.3bb = tuple_literal (%Extra1.ref, %Extra2.ref, %Extra3.ref, %Extra4.ref, %Extra5.ref, %Extra6.ref, %Extra7.ref, %Extra8.ref) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc16_72: type = converted %.loc16_71, constants.%tuple.type.d47 [concrete = constants.%tuple.type.d47] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%tuple.type.d47) [concrete = constants.%C.279] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] @@ -3055,7 +3065,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(%T.loc13_10.2: type) { -// CHECK:STDOUT: %T.patt.loc13_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc13_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc13_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc13_10.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -3145,17 +3155,18 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: --- fail_use_has_extra_interfaces.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] -// CHECK:STDOUT: %C.62c: type = class_type @C, @C(type) [concrete] -// CHECK:STDOUT: %pattern_type.1fc: type = pattern_type %C.62c [concrete] -// CHECK:STDOUT: %c.param_patt: %pattern_type.1fc = value_param_pattern [concrete] -// CHECK:STDOUT: %c.patt: %pattern_type.1fc = wrapper_binding_pattern c, %c.param_patt [concrete] +// 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: %C.383: type = class_type @C, @C(type) [concrete] +// CHECK:STDOUT: %pattern_type.219: type = pattern_type %C.383 [concrete] +// CHECK:STDOUT: %c.param_patt: %pattern_type.219 = value_param_pattern [concrete] +// CHECK:STDOUT: %c.patt: %pattern_type.219 = wrapper_binding_pattern c, %c.param_patt [concrete] // CHECK:STDOUT: %Test.type: type = fn_type @Test [concrete] // CHECK:STDOUT: %Test: %Test.type = struct_value () [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] @@ -3230,17 +3241,17 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasExtraInterfaces.import = import HasExtraInterfaces // CHECK:STDOUT: %Test.decl: %Test.type = fn_decl @Test [concrete = constants.%Test] { -// CHECK:STDOUT: %c.param_patt: %pattern_type.1fc = value_param_pattern [concrete = constants.%c.param_patt] -// CHECK:STDOUT: %c.patt: %pattern_type.1fc = wrapper_binding_pattern c, %c.param_patt [concrete = constants.%c.patt] +// CHECK:STDOUT: %c.param_patt: %pattern_type.219 = value_param_pattern [concrete = constants.%c.param_patt] +// CHECK:STDOUT: %c.patt: %pattern_type.219 = wrapper_binding_pattern c, %c.param_patt [concrete = constants.%c.patt] // CHECK:STDOUT: } { -// CHECK:STDOUT: %c.param: %C.62c = value_param call_param0 -// CHECK:STDOUT: %.loc5_37: type = splice_block %C [concrete = constants.%C.62c] { +// CHECK:STDOUT: %c.param: %C.383 = value_param call_param0 +// CHECK:STDOUT: %.loc5_37: type = splice_block %C [concrete = constants.%C.383] { // CHECK:STDOUT: %HasExtraInterfaces.ref.loc5: = name_ref HasExtraInterfaces, imports.%HasExtraInterfaces [concrete = imports.%HasExtraInterfaces] // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%HasExtraInterfaces.C [concrete = constants.%C.generic] // CHECK:STDOUT: %.loc5_33: type = type_literal type [concrete = type] -// CHECK:STDOUT: %C: type = class_type @C, @C(type) [concrete = constants.%C.62c] +// CHECK:STDOUT: %C: type = class_type @C, @C(type) [concrete = constants.%C.383] // CHECK:STDOUT: } -// CHECK:STDOUT: %c: %C.62c = wrapper_binding c, %c.param +// CHECK:STDOUT: %c: %C.383 = wrapper_binding c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -3323,7 +3334,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(imports.%HasExtraInterfaces.import_ref.b3b: type) [from "has_extra_interfaces.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -3336,9 +3347,9 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Test(%c.param: %C.62c) { +// CHECK:STDOUT: fn @Test(%c.param: %C.383) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %c.ref: %C.62c = name_ref c, %c +// CHECK:STDOUT: %c.ref: %C.383 = name_ref c, %c // CHECK:STDOUT: %HasExtraInterfaces.ref.loc12: = name_ref HasExtraInterfaces, imports.%HasExtraInterfaces [concrete = imports.%HasExtraInterfaces] // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%HasExtraInterfaces.I [concrete = constants.%I.type] // CHECK:STDOUT: %F.ref: %I.assoc_type = name_ref F, imports.%HasExtraInterfaces.import_ref.8f6 [concrete = constants.%assoc0] diff --git a/toolchain/check/testdata/impl/lookup/instance_method.carbon b/toolchain/check/testdata/impl/lookup/instance_method.carbon index c802a1c2fa3c..a6e1361bb611 100644 --- a/toolchain/check/testdata/impl/lookup/instance_method.carbon +++ b/toolchain/check/testdata/impl/lookup/instance_method.carbon @@ -32,6 +32,7 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: --- instance_method.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %Self: %I.type = symbolic_binding Self, 0 [symbolic] @@ -67,10 +68,8 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: %c.patt: %pattern_type.98b = wrapper_binding_pattern c, %c.param_patt [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.b04: type = fn_type @I.WithSelf.F, @I.WithSelf(%C.type.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.cef: %I.WithSelf.F.type.b04 = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.a90: type = fn_type @I.WithSelf.F, @I.WithSelf(%C) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.040: %I.WithSelf.F.type.a90 = struct_value () [concrete] // CHECK:STDOUT: %.a89: type = fn_type_with_self_type %I.WithSelf.F.type.372, %I.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -235,10 +234,10 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: %self.patt.loc18_8.2 => constants.%self.patt.36a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%C.type.facet) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%C) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%C.type.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.b04 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.cef +// CHECK:STDOUT: %Self => constants.%C +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.a90 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.040 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/lookup/lookup_interface_with_enclosing_generic_inside_rewrite_constraint.carbon b/toolchain/check/testdata/impl/lookup/lookup_interface_with_enclosing_generic_inside_rewrite_constraint.carbon index 3a0ac97c2006..44e773e91998 100644 --- a/toolchain/check/testdata/impl/lookup/lookup_interface_with_enclosing_generic_inside_rewrite_constraint.carbon +++ b/toolchain/check/testdata/impl/lookup/lookup_interface_with_enclosing_generic_inside_rewrite_constraint.carbon @@ -103,10 +103,10 @@ fn F() { // CHECK:STDOUT: --- lookup_interface_with_encenclosing_specific_is_concrete_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %OuterParam.patt: %pattern_type.98f = symbolic_binding_pattern OuterParam, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %OuterParam.patt: %pattern_type.9a5 = symbolic_binding_pattern OuterParam, 0 [symbolic] // CHECK:STDOUT: %OuterParam: type = symbolic_binding OuterParam, 0 [symbolic] // CHECK:STDOUT: %Outer.type: type = generic_class_type @Outer [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -182,10 +182,10 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Outer.decl: %Outer.type = class_decl @Outer [concrete = constants.%Outer.generic] { -// CHECK:STDOUT: %OuterParam.patt.loc49_23.1: %pattern_type.98f = symbolic_binding_pattern OuterParam, 0 [symbolic = %OuterParam.patt.loc49_23.2 (constants.%OuterParam.patt)] +// CHECK:STDOUT: %OuterParam.patt.loc49_23.1: %pattern_type.9a5 = symbolic_binding_pattern OuterParam, 0 [symbolic = %OuterParam.patt.loc49_23.2 (constants.%OuterParam.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc49_25.1: type = splice_block %.loc49_25.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc49_25.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %OuterParam.loc49_23.2: type = symbolic_binding OuterParam, 0 [symbolic = %OuterParam.loc49_23.1 (constants.%OuterParam)] @@ -256,7 +256,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Outer(%OuterParam.loc49_23.2: type) { -// CHECK:STDOUT: %OuterParam.patt.loc49_23.2: %pattern_type.98f = symbolic_binding_pattern OuterParam, 0 [symbolic = %OuterParam.patt.loc49_23.2 (constants.%OuterParam.patt)] +// CHECK:STDOUT: %OuterParam.patt.loc49_23.2: %pattern_type.9a5 = symbolic_binding_pattern OuterParam, 0 [symbolic = %OuterParam.patt.loc49_23.2 (constants.%OuterParam.patt)] // CHECK:STDOUT: %OuterParam.loc49_23.1: type = symbolic_binding OuterParam, 0 [symbolic = %OuterParam.loc49_23.1 (constants.%OuterParam)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -270,7 +270,7 @@ fn F() { // CHECK:STDOUT: %H.patt.loc54_24.1: @Outer.G.%pattern_type (%pattern_type.a2a) = symbolic_binding_pattern H, 1 [symbolic = %H.patt.loc54_24.2 (constants.%H.patt.934)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc54_28.1: type = splice_block %.loc54_28.2 [symbolic = %Y_where.type (constants.%Y_where.type.aab)] { -// CHECK:STDOUT: %.Self.frozen.loc54_24: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc54_24: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc54_26: type = specific_constant @Outer.%Y.decl, @Outer(constants.%OuterParam) [symbolic = %Y.type (constants.%Y.type.d63)] // CHECK:STDOUT: %Y.ref: type = name_ref Y, %.loc54_26 [symbolic = %Y.type (constants.%Y.type.d63)] // CHECK:STDOUT: %.Self.frozen.loc54_28.2: @Outer.G.%Y.type (%Y.type.d63) = symbolic_binding .Self [symbolic = %.Self.frozen.loc54_28.1 (constants.%.Self.frozen.e31)] @@ -459,12 +459,12 @@ fn F() { // CHECK:STDOUT: --- enclosing_specific_is_facet_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z1.type: type = facet_type <@Z1> [concrete] // CHECK:STDOUT: %Self.bc4: %Z1.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Z2.type: type = facet_type <@Z2> [concrete] // CHECK:STDOUT: %Self.5ad: %Z2.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.f4f: type = pattern_type %Z1.type [concrete] // CHECK:STDOUT: %OuterParam.patt: %pattern_type.f4f = symbolic_binding_pattern OuterParam, 0 [symbolic] // CHECK:STDOUT: %OuterParam: %Z1.type = symbolic_binding OuterParam, 0 [symbolic] @@ -512,11 +512,11 @@ fn F() { // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %Z1.type, %type.as.BitAndWith.impl.Op [concrete] @@ -578,7 +578,7 @@ fn F() { // CHECK:STDOUT: %OuterParam.patt.loc6_23.1: %pattern_type.f4f = symbolic_binding_pattern OuterParam, 0 [symbolic = %OuterParam.patt.loc6_23.2 (constants.%OuterParam.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %Z1.ref [concrete = constants.%Z1.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %Z1.ref: type = name_ref Z1, file.%Z1.decl [concrete = constants.%Z1.type] // CHECK:STDOUT: } // CHECK:STDOUT: %OuterParam.loc6_23.2: %Z1.type = symbolic_binding OuterParam, 0 [symbolic = %OuterParam.loc6_23.1 (constants.%OuterParam)] @@ -709,7 +709,7 @@ fn F() { // CHECK:STDOUT: %H.patt.loc11_24.1: @Outer.G.%pattern_type (%pattern_type.a5e) = symbolic_binding_pattern H, 1 [symbolic = %H.patt.loc11_24.2 (constants.%H.patt.7f4)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_28.1: type = splice_block %.loc11_28.2 [symbolic = %Y_where.type (constants.%Y_where.type.883)] { -// CHECK:STDOUT: %.Self.frozen.loc11_24: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc11_24: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc11_26: type = specific_constant @Outer.%Y.decl, @Outer(constants.%OuterParam) [symbolic = %Y.type (constants.%Y.type.6da)] // CHECK:STDOUT: %Y.ref: type = name_ref Y, %.loc11_26 [symbolic = %Y.type (constants.%Y.type.6da)] // CHECK:STDOUT: %.Self.frozen.loc11_28.2: @Outer.G.%Y.type (%Y.type.6da) = symbolic_binding .Self [symbolic = %.Self.frozen.loc11_28.1 (constants.%.Self.frozen.3ed)] @@ -804,7 +804,7 @@ fn F() { // CHECK:STDOUT: %.loc21_10: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %Z1.ref.loc21_16: type = name_ref Z1, file.%Z1.decl [concrete = constants.%Z1.type] // CHECK:STDOUT: %Z2.ref.loc21_21: type = name_ref Z2, file.%Z2.decl [concrete = constants.%Z2.type] -// CHECK:STDOUT: %impl.elem0.loc21_19: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc21_19: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc21_19: = bound_method %Z1.ref.loc21_16, %impl.elem0.loc21_19 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc21_19: init type = call %bound_method.loc21_19(%Z1.ref.loc21_16, %Z2.ref.loc21_21) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc21_23.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc21_19 [concrete = constants.%facet_type] @@ -821,7 +821,7 @@ fn F() { // CHECK:STDOUT: %.loc21_35: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %Z1.ref.loc21_41: type = name_ref Z1, file.%Z1.decl [concrete = constants.%Z1.type] // CHECK:STDOUT: %Z2.ref.loc21_46: type = name_ref Z2, file.%Z2.decl [concrete = constants.%Z2.type] -// CHECK:STDOUT: %impl.elem0.loc21_44: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc21_44: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc21_44: = bound_method %Z1.ref.loc21_41, %impl.elem0.loc21_44 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc21_44: init type = call %bound_method.loc21_44(%Z1.ref.loc21_41, %Z2.ref.loc21_46) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc21_48.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc21_44 [concrete = constants.%facet_type] 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 512a14fb0ba1..fe91f6a0e291 100644 --- a/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon +++ b/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon @@ -98,10 +98,10 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: --- final_specialized_symbolic_rewrite.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Z.type.c39: type = generic_interface_type @Z [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -113,7 +113,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %S.patt: %pattern_type.98f = symbolic_binding_pattern S, 1 [symbolic] +// CHECK:STDOUT: %S.patt: %pattern_type.9a5 = symbolic_binding_pattern S, 1 [symbolic] // CHECK:STDOUT: %S: type = symbolic_binding S, 1 [symbolic] // CHECK:STDOUT: %Z.type.78b: type = facet_type <@Z, @Z(%S)> [symbolic] // CHECK:STDOUT: %.Self.frozen.e6b: %Z.type.78b = symbolic_binding .Self [symbolic] @@ -180,18 +180,18 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Z.decl: %Z.type.c39 = interface_decl @Z [concrete = constants.%Z.generic] { -// CHECK:STDOUT: %T.patt.loc3_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc3_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_16.1: type = splice_block %.loc3_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc3_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_14.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: impl_decl @T.as.Z.impl.3c5 [concrete] { -// CHECK:STDOUT: %T.patt.loc9_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt.d47)] -// CHECK:STDOUT: %S.patt.loc9_24.1: %pattern_type.98f = symbolic_binding_pattern S, 1 [symbolic = %S.patt.loc9_24.2 (constants.%S.patt)] +// CHECK:STDOUT: %T.patt.loc9_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt.3a0)] +// CHECK:STDOUT: %S.patt.loc9_24.1: %pattern_type.9a5 = symbolic_binding_pattern S, 1 [symbolic = %S.patt.loc9_24.2 (constants.%S.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc9_15.1 [symbolic = %T.loc9_15.2 (constants.%T.67d)] // CHECK:STDOUT: %Z.ref: %Z.type.c39 = name_ref Z, file.%Z.decl [concrete = constants.%Z.generic] @@ -215,19 +215,19 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %rewrite.loc9_51.2 = requirement_rewrite %impl.elem0.loc9_48.2, %.loc9_54.2 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc9_17.1: type = splice_block %.loc9_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc9_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc9_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc9_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc9_15.2 (constants.%T.67d)] // CHECK:STDOUT: %.loc9_26.1: type = splice_block %.loc9_26.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc9_24: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc9_24: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc9_26.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %S.loc9_24.1: type = symbolic_binding S, 1 [symbolic = %S.loc9_24.2 (constants.%S)] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc9: = impl_self_witness @T.as.Z.impl.3c5.%T.ref, @Z, @Z(constants.%S) [symbolic = @T.as.Z.impl.3c5.%.loc9_56 (constants.%.18b)] // CHECK:STDOUT: impl_decl @T.as.Z.impl.dc2 [concrete] { -// CHECK:STDOUT: %T.patt.loc11_21.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_21.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc11_21.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_21.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc11_29: type = name_ref T, %T.loc11_21.1 [symbolic = %T.loc11_21.2 (constants.%T.67d)] // CHECK:STDOUT: %Z.ref: %Z.type.c39 = name_ref Z, file.%Z.decl [concrete = constants.%Z.generic] @@ -250,7 +250,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %rewrite.loc11_48.2 = requirement_rewrite %impl.elem0.loc11_45.2, %T.ref.loc11_50 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc11_23.1: type = splice_block %.loc11_23.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc11_21: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc11_21: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc11_23.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc11_21.1: type = symbolic_binding T, 0 [symbolic = %T.loc11_21.2 (constants.%T.67d)] @@ -262,7 +262,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %t.patt.loc13_24.1: @F.%pattern_type (%pattern_type.d37) = wrapper_binding_pattern t, %t.param_patt.loc13_24.1 [symbolic = %t.patt.loc13_24.2 (constants.%t.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_20: type = splice_block %Z.type [concrete = constants.%Z.type.963] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %Z.ref: %Z.type.c39 = name_ref Z, file.%Z.decl [concrete = constants.%Z.generic] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Z.type: type = facet_type <@Z, @Z(constants.%C)> [concrete = constants.%Z.type.963] @@ -279,7 +279,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Z(%T.loc3_14.2: type) { -// CHECK:STDOUT: %T.patt.loc3_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc3_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc3_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc3_14.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -305,9 +305,9 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @T.as.Z.impl.3c5(%T.loc9_15.1: type, %S.loc9_24.1: type) { -// CHECK:STDOUT: %T.patt.loc9_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc9_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc9_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc9_15.2 (constants.%T.67d)] -// CHECK:STDOUT: %S.patt.loc9_24.2: %pattern_type.98f = symbolic_binding_pattern S, 1 [symbolic = %S.patt.loc9_24.2 (constants.%S.patt)] +// CHECK:STDOUT: %S.patt.loc9_24.2: %pattern_type.9a5 = symbolic_binding_pattern S, 1 [symbolic = %S.patt.loc9_24.2 (constants.%S.patt)] // CHECK:STDOUT: %S.loc9_24.2: type = symbolic_binding S, 1 [symbolic = %S.loc9_24.2 (constants.%S)] // CHECK:STDOUT: %Z.type.loc9_40.2: type = facet_type <@Z, @Z(%S.loc9_24.2)> [symbolic = %Z.type.loc9_40.2 (constants.%Z.type.78b)] // CHECK:STDOUT: %.Self.frozen.loc9_42.2: @T.as.Z.impl.3c5.%Z.type.loc9_40.2 (%Z.type.78b) = symbolic_binding .Self [symbolic = %.Self.frozen.loc9_42.2 (constants.%.Self.frozen.e6b)] @@ -338,7 +338,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic final impl @T.as.Z.impl.dc2(%T.loc11_21.1: type) { -// CHECK:STDOUT: %T.patt.loc11_21.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_21.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc11_21.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_21.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc11_21.2: type = symbolic_binding T, 0 [symbolic = %T.loc11_21.2 (constants.%T.67d)] // CHECK:STDOUT: %Z_where.type: type = facet_type <@Z, @Z(constants.%C) where constants.%impl.elem0.f68 = %T.loc11_21.2> [symbolic = %Z_where.type (constants.%Z_where.type.26f)] // CHECK:STDOUT: %.loc11_52: = impl_self_witness %T.loc11_21.2, @Z, @Z(constants.%C) [symbolic = %.loc11_52 (constants.%.c1d)] @@ -398,14 +398,14 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Z(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc3_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc3_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc3_14.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Z.WithSelf(constants.%T.67d, constants.%Self.21f) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Z(constants.%S) { -// CHECK:STDOUT: %T.patt.loc3_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc3_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc3_14.1 => constants.%S // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -428,7 +428,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @T.as.Z.impl.3c5(constants.%T.67d, constants.%S) { -// CHECK:STDOUT: %T.patt.loc9_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc9_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc9_15.2 => constants.%T.67d // CHECK:STDOUT: %S.patt.loc9_24.2 => constants.%S.patt // CHECK:STDOUT: %S.loc9_24.2 => constants.%S @@ -456,7 +456,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Z(constants.%C) { -// CHECK:STDOUT: %T.patt.loc3_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc3_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc3_14.1 => constants.%C // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -479,7 +479,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @T.as.Z.impl.dc2(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc11_21.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc11_21.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc11_21.2 => constants.%T.67d // CHECK:STDOUT: %Z_where.type => constants.%Z_where.type.26f // CHECK:STDOUT: %.loc11_52 => constants.%.c1d @@ -510,7 +510,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @T.as.Z.impl.dc2(constants.%T.as_type) { -// CHECK:STDOUT: %T.patt.loc11_21.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc11_21.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc11_21.2 => constants.%T.as_type // CHECK:STDOUT: %Z_where.type => constants.%Z_where.type.147 // CHECK:STDOUT: %.loc11_52 => constants.%.eef @@ -522,10 +522,10 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: --- fail_nonfinal_specialized_symbolic_rewrite.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Z.type.c39: type = generic_interface_type @Z [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -539,7 +539,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %S.patt: %pattern_type.98f = symbolic_binding_pattern S, 1 [symbolic] +// CHECK:STDOUT: %S.patt: %pattern_type.9a5 = symbolic_binding_pattern S, 1 [symbolic] // CHECK:STDOUT: %S: type = symbolic_binding S, 1 [symbolic] // CHECK:STDOUT: %Z.type.78b: type = facet_type <@Z, @Z(%S)> [symbolic] // CHECK:STDOUT: %.Self.frozen.e6b: %Z.type.78b = symbolic_binding .Self [symbolic] @@ -625,10 +625,10 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Z.decl: %Z.type.c39 = interface_decl @Z [concrete = constants.%Z.generic] { -// CHECK:STDOUT: %T.patt.loc3_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc3_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_16.1: type = splice_block %.loc3_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc3_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_14.1 (constants.%T.67d)] @@ -636,8 +636,8 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Y.decl: type = interface_decl @Y [concrete = constants.%Y.type] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: impl_decl @T.as.Z.impl.3c5 [concrete] { -// CHECK:STDOUT: %T.patt.loc10_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_15.2 (constants.%T.patt.d47)] -// CHECK:STDOUT: %S.patt.loc10_24.1: %pattern_type.98f = symbolic_binding_pattern S, 1 [symbolic = %S.patt.loc10_24.2 (constants.%S.patt)] +// CHECK:STDOUT: %T.patt.loc10_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_15.2 (constants.%T.patt.3a0)] +// CHECK:STDOUT: %S.patt.loc10_24.1: %pattern_type.9a5 = symbolic_binding_pattern S, 1 [symbolic = %S.patt.loc10_24.2 (constants.%S.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc10_15.1 [symbolic = %T.loc10_15.2 (constants.%T.67d)] // CHECK:STDOUT: %Z.ref: %Z.type.c39 = name_ref Z, file.%Z.decl [concrete = constants.%Z.generic] @@ -661,19 +661,19 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %rewrite.loc10_51.2 = requirement_rewrite %impl.elem0.loc10_48.2, %.loc10_54.2 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc10_17.1: type = splice_block %.loc10_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc10_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc10_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc10_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc10_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc10_15.2 (constants.%T.67d)] // CHECK:STDOUT: %.loc10_26.1: type = splice_block %.loc10_26.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc10_24: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc10_24: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc10_26.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %S.loc10_24.1: type = symbolic_binding S, 1 [symbolic = %S.loc10_24.2 (constants.%S)] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc10: = impl_self_witness @T.as.Z.impl.3c5.%T.ref, @Z, @Z(constants.%S) [symbolic = @T.as.Z.impl.3c5.%.loc10_56 (constants.%.18b)] // CHECK:STDOUT: impl_decl @T.as.Z.impl.dc2 [concrete] { -// CHECK:STDOUT: %T.patt.loc12_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc12_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc12_23: type = name_ref T, %T.loc12_15.1 [symbolic = %T.loc12_15.2 (constants.%T.67d)] // CHECK:STDOUT: %Z.ref: %Z.type.c39 = name_ref Z, file.%Z.decl [concrete = constants.%Z.generic] @@ -696,7 +696,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %rewrite.loc12_42.2 = requirement_rewrite %impl.elem0.loc12_39.2, %T.ref.loc12_44 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc12_17.1: type = splice_block %.loc12_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc12_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc12_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc12_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc12_15.2 (constants.%T.67d)] @@ -708,7 +708,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %t.patt.loc14_24.1: @F.%pattern_type.loc14 (%pattern_type.d37) = wrapper_binding_pattern t, %t.param_patt.loc14_24.1 [symbolic = %t.patt.loc14_24.2 (constants.%t.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14_20: type = splice_block %Z.type [concrete = constants.%Z.type.963] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %Z.ref: %Z.type.c39 = name_ref Z, file.%Z.decl [concrete = constants.%Z.generic] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Z.type: type = facet_type <@Z, @Z(constants.%C)> [concrete = constants.%Z.type.963] @@ -725,7 +725,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Z(%T.loc3_14.2: type) { -// CHECK:STDOUT: %T.patt.loc3_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc3_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc3_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc3_14.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -762,9 +762,9 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @T.as.Z.impl.3c5(%T.loc10_15.1: type, %S.loc10_24.1: type) { -// CHECK:STDOUT: %T.patt.loc10_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc10_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc10_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc10_15.2 (constants.%T.67d)] -// CHECK:STDOUT: %S.patt.loc10_24.2: %pattern_type.98f = symbolic_binding_pattern S, 1 [symbolic = %S.patt.loc10_24.2 (constants.%S.patt)] +// CHECK:STDOUT: %S.patt.loc10_24.2: %pattern_type.9a5 = symbolic_binding_pattern S, 1 [symbolic = %S.patt.loc10_24.2 (constants.%S.patt)] // CHECK:STDOUT: %S.loc10_24.2: type = symbolic_binding S, 1 [symbolic = %S.loc10_24.2 (constants.%S)] // CHECK:STDOUT: %Z.type.loc10_40.2: type = facet_type <@Z, @Z(%S.loc10_24.2)> [symbolic = %Z.type.loc10_40.2 (constants.%Z.type.78b)] // CHECK:STDOUT: %.Self.frozen.loc10_42.2: @T.as.Z.impl.3c5.%Z.type.loc10_40.2 (%Z.type.78b) = symbolic_binding .Self [symbolic = %.Self.frozen.loc10_42.2 (constants.%.Self.frozen.e6b)] @@ -795,7 +795,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @T.as.Z.impl.dc2(%T.loc12_15.1: type) { -// CHECK:STDOUT: %T.patt.loc12_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc12_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc12_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc12_15.2 (constants.%T.67d)] // CHECK:STDOUT: %Z_where.type: type = facet_type <@Z, @Z(constants.%C) where constants.%impl.elem0.f68 = %T.loc12_15.2> [symbolic = %Z_where.type (constants.%Z_where.type.26f)] // CHECK:STDOUT: %.loc12_46: = impl_self_witness %T.loc12_15.2, @Z, @Z(constants.%C) [symbolic = %.loc12_46 (constants.%.c1d)] @@ -866,7 +866,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Z(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc3_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc3_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc3_14.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: @@ -875,7 +875,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: specific @Y.WithSelf(constants.%Self.765) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Z(constants.%S) { -// CHECK:STDOUT: %T.patt.loc3_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc3_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc3_14.1 => constants.%S // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -898,7 +898,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @T.as.Z.impl.3c5(constants.%T.67d, constants.%S) { -// CHECK:STDOUT: %T.patt.loc10_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc10_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc10_15.2 => constants.%T.67d // CHECK:STDOUT: %S.patt.loc10_24.2 => constants.%S.patt // CHECK:STDOUT: %S.loc10_24.2 => constants.%S @@ -926,7 +926,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Z(constants.%C) { -// CHECK:STDOUT: %T.patt.loc3_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc3_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc3_14.1 => constants.%C // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -949,7 +949,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @T.as.Z.impl.dc2(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc12_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc12_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc12_15.2 => constants.%T.67d // CHECK:STDOUT: %Z_where.type => constants.%Z_where.type.26f // CHECK:STDOUT: %.loc12_46 => constants.%.c1d @@ -982,14 +982,14 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: --- final_impl_rewrite_of_symbolic_through_impl_lookup.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Ptr.type: type = facet_type <@Ptr> [concrete] // CHECK:STDOUT: %Self.99f: %Ptr.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Ptr.assoc_type: type = assoc_entity_type @Ptr [concrete] // CHECK:STDOUT: %assoc0.b1a: %Ptr.assoc_type = assoc_entity element0, @Ptr.WithSelf.%Type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt.d47: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %U.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %U.67d: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %.Self.frozen.073: %Ptr.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.073 [symbolic_self] @@ -1003,7 +1003,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %.f8fe26.1: = impl_self_witness %U.67d, @Ptr [symbolic] // CHECK:STDOUT: %Ptr.impl_witness.548f1d.1: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%U.67d) [symbolic] // CHECK:STDOUT: %Ptr.facet.a0fe31.1: %Ptr.type = facet_value %U.67d, (%Ptr.impl_witness.548f1d.1) [symbolic] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T.67d [symbolic] // CHECK:STDOUT: %t.patt: %pattern_type.51d = ref_binding_pattern t [symbolic] @@ -1050,7 +1050,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Ptr.decl: type = interface_decl @Ptr [concrete = constants.%Ptr.type] {} {} // CHECK:STDOUT: impl_decl @U.as.Ptr.impl [concrete] { -// CHECK:STDOUT: %U.patt.loc7_21.1: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc7_21.2 (constants.%U.patt.d47)] +// CHECK:STDOUT: %U.patt.loc7_21.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc7_21.2 (constants.%U.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref.loc7_29: type = name_ref U, %U.loc7_21.1 [symbolic = %U.loc7_21.2 (constants.%U.67d)] // CHECK:STDOUT: %Ptr.ref: type = name_ref Ptr, file.%Ptr.decl [concrete = constants.%Ptr.type] @@ -1071,14 +1071,14 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %rewrite.loc7_50.2 = requirement_rewrite %impl.elem0.loc7_44.2, %ptr.loc7_53.1 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc7_23.1: type = splice_block %.loc7_23.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc7_21: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc7_21: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc7_23.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc7_21.1: type = symbolic_binding U, 0 [symbolic = %U.loc7_21.2 (constants.%U.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc7: = impl_self_witness @U.as.Ptr.impl.%U.ref.loc7_29, @Ptr [symbolic = @U.as.Ptr.impl.%.loc7_55 (constants.%.f8fe26.1)] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc9_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_7.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc9_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_7.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %t.patt.loc9_20.1: @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.1: @F.%pattern_type.loc9_20 (%pattern_type.51d) = var_param_pattern %t.patt.loc9_20.1 [symbolic = %t.param_patt.loc9_15.2 (constants.%t.param_patt)] // CHECK:STDOUT: %return.param_patt.loc9_29.1: @F.%pattern_type.loc9_29 (%pattern_type.4f4) = out_param_pattern [symbolic = %return.param_patt.loc9_29.2 (constants.%return.param_patt.27f)] @@ -1092,7 +1092,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.loc9: type = impl_witness_access constants.%Ptr.impl_witness.548f1d.2, element0 [symbolic = %ptr (constants.%ptr.e8f8f9.2)] // CHECK:STDOUT: %.loc9_29.4: Core.Form = init_form %impl.elem0.loc9 [symbolic = %.loc9_29.2 (constants.%.cb6)] // CHECK:STDOUT: %.loc9_9.1: type = splice_block %.loc9_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// 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] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc9_7.1 (constants.%T.67d)] @@ -1122,7 +1122,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic final impl @U.as.Ptr.impl(%U.loc7_21.1: type) { -// CHECK:STDOUT: %U.patt.loc7_21.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc7_21.2 (constants.%U.patt.d47)] +// CHECK:STDOUT: %U.patt.loc7_21.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc7_21.2 (constants.%U.patt.3a0)] // CHECK:STDOUT: %U.loc7_21.2: type = symbolic_binding U, 0 [symbolic = %U.loc7_21.2 (constants.%U.67d)] // CHECK:STDOUT: %ptr.loc7_53.2: type = ptr_type %U.loc7_21.2 [symbolic = %ptr.loc7_53.2 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %Ptr_where.type: type = facet_type <@Ptr where constants.%impl.elem0.406 = %ptr.loc7_53.2> [symbolic = %Ptr_where.type (constants.%Ptr_where.type.774fa9.1)] @@ -1143,7 +1143,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc9_7.2: type) { -// CHECK:STDOUT: %T.patt.loc9_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_7.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc9_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_7.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc9_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc9_7.1 (constants.%T.67d)] // 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)] @@ -1194,7 +1194,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @U.as.Ptr.impl(constants.%U.67d) { -// CHECK:STDOUT: %U.patt.loc7_21.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc7_21.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc7_21.2 => constants.%U.67d // CHECK:STDOUT: %ptr.loc7_53.2 => constants.%ptr.e8f8f9.1 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.774fa9.1 @@ -1207,7 +1207,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @U.as.Ptr.impl(constants.%T.67d) { -// CHECK:STDOUT: %U.patt.loc7_21.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc7_21.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc7_21.2 => constants.%T.67d // CHECK:STDOUT: %ptr.loc7_53.2 => constants.%ptr.e8f8f9.2 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.774fa9.2 @@ -1222,7 +1222,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc9_7.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc9_7.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc9_7.1 => constants.%T.67d // CHECK:STDOUT: %pattern_type.loc9_20 => constants.%pattern_type.51d // CHECK:STDOUT: %t.patt.loc9_20.2 => constants.%t.patt @@ -1240,14 +1240,14 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: --- final_impl_rewrite_of_symbolic_through_facet_access_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Ptr.type: type = facet_type <@Ptr> [concrete] // CHECK:STDOUT: %Self.99f: %Ptr.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Ptr.assoc_type: type = assoc_entity_type @Ptr [concrete] // CHECK:STDOUT: %assoc0.b1a: %Ptr.assoc_type = assoc_entity element0, @Ptr.WithSelf.%Type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt.d47: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %U.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %U.67d: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %.Self.frozen.073: %Ptr.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.073 [symbolic_self] @@ -1309,7 +1309,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Ptr.decl: type = interface_decl @Ptr [concrete = constants.%Ptr.type] {} {} // CHECK:STDOUT: impl_decl @U.as.Ptr.impl [concrete] { -// CHECK:STDOUT: %U.patt.loc7_21.1: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc7_21.2 (constants.%U.patt.d47)] +// CHECK:STDOUT: %U.patt.loc7_21.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc7_21.2 (constants.%U.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref.loc7_29: type = name_ref U, %U.loc7_21.1 [symbolic = %U.loc7_21.2 (constants.%U.67d)] // CHECK:STDOUT: %Ptr.ref: type = name_ref Ptr, file.%Ptr.decl [concrete = constants.%Ptr.type] @@ -1330,7 +1330,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %rewrite.loc7_50.2 = requirement_rewrite %impl.elem0.loc7_44.2, %ptr.loc7_53.1 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc7_23.1: type = splice_block %.loc7_23.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc7_21: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc7_21: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc7_23.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc7_21.1: type = symbolic_binding U, 0 [symbolic = %U.loc7_21.2 (constants.%U.67d)] @@ -1350,7 +1350,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.loc9: type = impl_witness_access constants.%Ptr.impl_witness.8bb, element0 [symbolic = %ptr (constants.%ptr.ac4)] // CHECK:STDOUT: %.loc9_28.4: Core.Form = init_form %impl.elem0.loc9 [symbolic = %.loc9_28.2 (constants.%.e16)] // CHECK:STDOUT: %.loc9_9: type = splice_block %Ptr.ref [concrete = constants.%Ptr.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// 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] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_7.2: %Ptr.type = symbolic_binding T, 0 [symbolic = %T.loc9_7.1 (constants.%T.76f)] @@ -1384,7 +1384,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic final impl @U.as.Ptr.impl(%U.loc7_21.1: type) { -// CHECK:STDOUT: %U.patt.loc7_21.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc7_21.2 (constants.%U.patt.d47)] +// CHECK:STDOUT: %U.patt.loc7_21.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc7_21.2 (constants.%U.patt.3a0)] // CHECK:STDOUT: %U.loc7_21.2: type = symbolic_binding U, 0 [symbolic = %U.loc7_21.2 (constants.%U.67d)] // CHECK:STDOUT: %ptr.loc7_53.2: type = ptr_type %U.loc7_21.2 [symbolic = %ptr.loc7_53.2 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %Ptr_where.type: type = facet_type <@Ptr where constants.%impl.elem0.406 = %ptr.loc7_53.2> [symbolic = %Ptr_where.type (constants.%Ptr_where.type.774)] @@ -1455,7 +1455,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @U.as.Ptr.impl(constants.%U.67d) { -// CHECK:STDOUT: %U.patt.loc7_21.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc7_21.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc7_21.2 => constants.%U.67d // CHECK:STDOUT: %ptr.loc7_53.2 => constants.%ptr.e8f8f9.1 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.774 @@ -1472,7 +1472,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @U.as.Ptr.impl(constants.%T.as_type.468) { -// CHECK:STDOUT: %U.patt.loc7_21.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc7_21.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc7_21.2 => constants.%T.as_type.468 // CHECK:STDOUT: %ptr.loc7_53.2 => constants.%ptr.ac4 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.c27 @@ -1500,14 +1500,14 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: --- final_impl_rewrite_of_symbolic_through_facet_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Ptr.type: type = facet_type <@Ptr> [concrete] // CHECK:STDOUT: %Self.99f: %Ptr.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Ptr.assoc_type: type = assoc_entity_type @Ptr [concrete] // CHECK:STDOUT: %assoc0.b1a: %Ptr.assoc_type = assoc_entity element0, @Ptr.WithSelf.%Type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt.d47: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %U.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %U.67d: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %.Self.frozen.073: %Ptr.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.073 [symbolic_self] @@ -1569,7 +1569,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Ptr.decl: type = interface_decl @Ptr [concrete = constants.%Ptr.type] {} {} // CHECK:STDOUT: impl_decl @U.as.Ptr.impl [concrete] { -// CHECK:STDOUT: %U.patt.loc7_21.1: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc7_21.2 (constants.%U.patt.d47)] +// CHECK:STDOUT: %U.patt.loc7_21.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc7_21.2 (constants.%U.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref.loc7_29: type = name_ref U, %U.loc7_21.1 [symbolic = %U.loc7_21.2 (constants.%U.67d)] // CHECK:STDOUT: %Ptr.ref: type = name_ref Ptr, file.%Ptr.decl [concrete = constants.%Ptr.type] @@ -1590,7 +1590,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %rewrite.loc7_50.2 = requirement_rewrite %impl.elem0.loc7_44.2, %ptr.loc7_53.1 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc7_23.1: type = splice_block %.loc7_23.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc7_21: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc7_21: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc7_23.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc7_21.1: type = symbolic_binding U, 0 [symbolic = %U.loc7_21.2 (constants.%U.67d)] @@ -1609,7 +1609,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.loc9: type = impl_witness_access constants.%Ptr.impl_witness.8bb, element0 [symbolic = %ptr (constants.%ptr.ac4)] // CHECK:STDOUT: %.loc9_28.3: Core.Form = init_form %impl.elem0.loc9 [symbolic = %.loc9_28.2 (constants.%.e16)] // CHECK:STDOUT: %.loc9_9: type = splice_block %Ptr.ref.loc9_9 [concrete = constants.%Ptr.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// 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] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_7.2: %Ptr.type = symbolic_binding T, 0 [symbolic = %T.loc9_7.1 (constants.%T.76f)] @@ -1643,7 +1643,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic final impl @U.as.Ptr.impl(%U.loc7_21.1: type) { -// CHECK:STDOUT: %U.patt.loc7_21.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc7_21.2 (constants.%U.patt.d47)] +// CHECK:STDOUT: %U.patt.loc7_21.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc7_21.2 (constants.%U.patt.3a0)] // CHECK:STDOUT: %U.loc7_21.2: type = symbolic_binding U, 0 [symbolic = %U.loc7_21.2 (constants.%U.67d)] // CHECK:STDOUT: %ptr.loc7_53.2: type = ptr_type %U.loc7_21.2 [symbolic = %ptr.loc7_53.2 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %Ptr_where.type: type = facet_type <@Ptr where constants.%impl.elem0.406 = %ptr.loc7_53.2> [symbolic = %Ptr_where.type (constants.%Ptr_where.type.774)] @@ -1714,7 +1714,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @U.as.Ptr.impl(constants.%U.67d) { -// CHECK:STDOUT: %U.patt.loc7_21.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc7_21.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc7_21.2 => constants.%U.67d // CHECK:STDOUT: %ptr.loc7_53.2 => constants.%ptr.e8f8f9.1 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.774 @@ -1727,7 +1727,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @U.as.Ptr.impl(constants.%T.as_type.468) { -// CHECK:STDOUT: %U.patt.loc7_21.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc7_21.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc7_21.2 => constants.%T.as_type.468 // CHECK:STDOUT: %ptr.loc7_53.2 => constants.%ptr.ac4 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.c27 diff --git a/toolchain/check/testdata/impl/lookup/specific_args.carbon b/toolchain/check/testdata/impl/lookup/specific_args.carbon index 2b6dae547456..44e0db0d8c94 100644 --- a/toolchain/check/testdata/impl/lookup/specific_args.carbon +++ b/toolchain/check/testdata/impl/lookup/specific_args.carbon @@ -59,10 +59,10 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: --- types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %I.type.335: type = generic_interface_type @I [concrete] // CHECK:STDOUT: %I.generic: %I.type.335 = struct_value () [concrete] @@ -91,19 +91,19 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: .X = %X.decl // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: %I.type.335 = interface_decl @I [concrete = constants.%I.generic] { -// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: type = splice_block %.loc4_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { -// CHECK:STDOUT: %T.patt.loc5_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc5_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_12.1: type = splice_block %.loc5_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_10.1 (constants.%T)] @@ -112,7 +112,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @I(%T.loc4_14.2: type) { -// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -149,7 +149,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(%T.loc5_10.2: type) { -// CHECK:STDOUT: %T.patt.loc5_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc5_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc5_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc5_10.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -208,6 +208,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: --- impl_in_interface_args.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %InInterfaceArgs: type = class_type @InInterfaceArgs [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -216,8 +217,8 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %I.generic: %I.type.335 = struct_value () [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %I.type.3fe: type = facet_type <@I, @I(%T)> [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %Self.a67: %I.type.3fe = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %I.WithSelf.F.type.0fc: type = fn_type @I.WithSelf.F, @I.WithSelf(%T, %Self.a67) [symbolic] // CHECK:STDOUT: %I.WithSelf.F.a92: %I.WithSelf.F.type.0fc = struct_value () [symbolic] @@ -277,7 +278,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @I(imports.%Main.import_ref.b3bc94.3: type) [from "types.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -405,6 +406,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: --- use_impl_in_interface_args.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -418,8 +420,8 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %I.generic: %I.type.335 = struct_value () [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %I.type.3fe: type = facet_type <@I, @I(%T)> [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %Self.a67: %I.type.3fe = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %I.assoc_type.b71: type = assoc_entity_type @I, @I(%T) [symbolic] // CHECK:STDOUT: %I.WithSelf.F.type.0fc: type = fn_type @I.WithSelf.F, @I.WithSelf(%T, %Self.a67) [symbolic] @@ -489,7 +491,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @I(imports.%Main.import_ref.b3bc94.3: type) [from "types.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -604,14 +606,15 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: --- impl_in_class_args.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %InClassArgs: type = class_type @InClassArgs [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %C.165: type = class_type @C, @C(%InClassArgs) [concrete] // CHECK:STDOUT: %I.type.335: type = generic_interface_type @I [concrete] // CHECK:STDOUT: %I.generic: %I.type.335 = struct_value () [concrete] @@ -681,7 +684,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @I(imports.%Main.import_ref.b3bc94.4: type) [from "types.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -725,7 +728,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(imports.%Main.import_ref.b3bc94.1: type) [from "types.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -835,14 +838,15 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: --- use_impl_in_class_args.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %InClassArgs: type = class_type @InClassArgs [concrete] // CHECK:STDOUT: %C.165: type = class_type @C, @C(%InClassArgs) [concrete] // CHECK:STDOUT: %pattern_type.90a: type = pattern_type %C.165 [concrete] @@ -929,7 +933,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @I(imports.%Main.import_ref.b3bc94.4: type) [from "types.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -952,7 +956,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(imports.%Main.import_ref.b3bc94.1: type) [from "types.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/impl/lookup/transitive.carbon b/toolchain/check/testdata/impl/lookup/transitive.carbon index 4b0581f2e60f..642df6da6939 100644 --- a/toolchain/check/testdata/impl/lookup/transitive.carbon +++ b/toolchain/check/testdata/impl/lookup/transitive.carbon @@ -51,6 +51,7 @@ fn Call() { // CHECK:STDOUT: --- i.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] @@ -129,6 +130,7 @@ fn Call() { // CHECK:STDOUT: --- c.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -263,6 +265,7 @@ fn Call() { // CHECK:STDOUT: --- get.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -315,6 +318,7 @@ fn Call() { // CHECK:STDOUT: --- call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Call.type: type = fn_type @Call [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Call: %Call.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/impl/multiple_extend.carbon b/toolchain/check/testdata/impl/multiple_extend.carbon index a5fbb1b64f8c..db2ea74150cf 100644 --- a/toolchain/check/testdata/impl/multiple_extend.carbon +++ b/toolchain/check/testdata/impl/multiple_extend.carbon @@ -167,6 +167,7 @@ fn P(o: O) { // CHECK:STDOUT: --- different_impl_member_names.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF> [concrete] // CHECK:STDOUT: %Self.c62: %HasF.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %HasF.WithSelf.F.type.a73: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%Self.c62) [symbolic] @@ -202,12 +203,10 @@ fn P(o: O) { // CHECK:STDOUT: %c.patt: %pattern_type = wrapper_binding_pattern c, %c.param_patt [concrete] // CHECK:STDOUT: %H.type: type = fn_type @H [concrete] // CHECK:STDOUT: %H: %H.type = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] -// CHECK:STDOUT: %HasG.WithSelf.G.type.012: type = fn_type @HasG.WithSelf.G, @HasG.WithSelf(%C.type.facet) [concrete] -// CHECK:STDOUT: %HasG.WithSelf.G.008: %HasG.WithSelf.G.type.012 = struct_value () [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.type.b9d: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%C.type.facet) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.ce1: %HasF.WithSelf.F.type.b9d = struct_value () [concrete] +// CHECK:STDOUT: %HasG.WithSelf.G.type.fdc: type = fn_type @HasG.WithSelf.G, @HasG.WithSelf(%C) [concrete] +// CHECK:STDOUT: %HasG.WithSelf.G.9cc: %HasG.WithSelf.G.type.fdc = struct_value () [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.type.503: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%C) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.d27: %HasF.WithSelf.F.type.503 = struct_value () [concrete] // CHECK:STDOUT: %.188: type = fn_type_with_self_type %HasF.WithSelf.F.type.df2, %HasF.facet [concrete] // CHECK:STDOUT: %.b5b: type = fn_type_with_self_type %HasG.WithSelf.G.type.1fc, %HasG.facet [concrete] // CHECK:STDOUT: } @@ -388,23 +387,24 @@ fn P(o: O) { // CHECK:STDOUT: // CHECK:STDOUT: specific @HasG.WithSelf.G(constants.%HasG.facet) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasG.WithSelf(constants.%C.type.facet) { +// CHECK:STDOUT: specific @HasG.WithSelf(constants.%C) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%C.type.facet -// CHECK:STDOUT: %HasG.WithSelf.G.type => constants.%HasG.WithSelf.G.type.012 -// CHECK:STDOUT: %HasG.WithSelf.G => constants.%HasG.WithSelf.G.008 +// CHECK:STDOUT: %Self => constants.%C +// CHECK:STDOUT: %HasG.WithSelf.G.type => constants.%HasG.WithSelf.G.type.fdc +// CHECK:STDOUT: %HasG.WithSelf.G => constants.%HasG.WithSelf.G.9cc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasF.WithSelf(constants.%C.type.facet) { +// CHECK:STDOUT: specific @HasF.WithSelf(constants.%C) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%C.type.facet -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.b9d -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.ce1 +// CHECK:STDOUT: %Self => constants.%C +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.503 +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.d27 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- fail_ambiguous_impls.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %HasA1.type: type = facet_type <@HasA1> [concrete] // CHECK:STDOUT: %Self.1db: %HasA1.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %HasA1.WithSelf.A.type.b62: type = fn_type @HasA1.WithSelf.A, @HasA1.WithSelf(%Self.1db) [symbolic] @@ -439,12 +439,10 @@ fn P(o: O) { // CHECK:STDOUT: %d.patt: %pattern_type = wrapper_binding_pattern d, %d.param_patt [concrete] // CHECK:STDOUT: %B.type: type = fn_type @B [concrete] // CHECK:STDOUT: %B: %B.type = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %D.type.facet: %type = facet_value %D, () [concrete] -// CHECK:STDOUT: %HasA2.WithSelf.A.type.8b9: type = fn_type @HasA2.WithSelf.A, @HasA2.WithSelf(%D.type.facet) [concrete] -// CHECK:STDOUT: %HasA2.WithSelf.A.f2b: %HasA2.WithSelf.A.type.8b9 = struct_value () [concrete] -// CHECK:STDOUT: %HasA1.WithSelf.A.type.9bf: type = fn_type @HasA1.WithSelf.A, @HasA1.WithSelf(%D.type.facet) [concrete] -// CHECK:STDOUT: %HasA1.WithSelf.A.4e4: %HasA1.WithSelf.A.type.9bf = struct_value () [concrete] +// CHECK:STDOUT: %HasA2.WithSelf.A.type.c9e: type = fn_type @HasA2.WithSelf.A, @HasA2.WithSelf(%D) [concrete] +// CHECK:STDOUT: %HasA2.WithSelf.A.646: %HasA2.WithSelf.A.type.c9e = struct_value () [concrete] +// CHECK:STDOUT: %HasA1.WithSelf.A.type.d9c: type = fn_type @HasA1.WithSelf.A, @HasA1.WithSelf(%D) [concrete] +// CHECK:STDOUT: %HasA1.WithSelf.A.11b: %HasA1.WithSelf.A.type.d9c = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -608,23 +606,24 @@ fn P(o: O) { // CHECK:STDOUT: // CHECK:STDOUT: specific @HasA2.WithSelf.A(constants.%HasA2.facet) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasA2.WithSelf(constants.%D.type.facet) { +// CHECK:STDOUT: specific @HasA2.WithSelf(constants.%D) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%D.type.facet -// CHECK:STDOUT: %HasA2.WithSelf.A.type => constants.%HasA2.WithSelf.A.type.8b9 -// CHECK:STDOUT: %HasA2.WithSelf.A => constants.%HasA2.WithSelf.A.f2b +// CHECK:STDOUT: %Self => constants.%D +// CHECK:STDOUT: %HasA2.WithSelf.A.type => constants.%HasA2.WithSelf.A.type.c9e +// CHECK:STDOUT: %HasA2.WithSelf.A => constants.%HasA2.WithSelf.A.646 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasA1.WithSelf(constants.%D.type.facet) { +// CHECK:STDOUT: specific @HasA1.WithSelf(constants.%D) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%D.type.facet -// CHECK:STDOUT: %HasA1.WithSelf.A.type => constants.%HasA1.WithSelf.A.type.9bf -// CHECK:STDOUT: %HasA1.WithSelf.A => constants.%HasA1.WithSelf.A.4e4 +// CHECK:STDOUT: %Self => constants.%D +// CHECK:STDOUT: %HasA1.WithSelf.A.type => constants.%HasA1.WithSelf.A.type.d9c +// CHECK:STDOUT: %HasA1.WithSelf.A => constants.%HasA1.WithSelf.A.11b // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- different_impl_and_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %HasI.type: type = facet_type <@HasI> [concrete] // CHECK:STDOUT: %Self: %HasI.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %HasI.WithSelf.I.type.a8e: type = fn_type @HasI.WithSelf.I, @HasI.WithSelf(%Self) [symbolic] @@ -653,10 +652,8 @@ fn P(o: O) { // CHECK:STDOUT: %e.patt: %pattern_type = wrapper_binding_pattern e, %e.param_patt [concrete] // CHECK:STDOUT: %H.type: type = fn_type @H [concrete] // CHECK:STDOUT: %H: %H.type = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %E.type.facet: %type = facet_value %E, () [concrete] -// CHECK:STDOUT: %HasI.WithSelf.I.type.e5a: type = fn_type @HasI.WithSelf.I, @HasI.WithSelf(%E.type.facet) [concrete] -// CHECK:STDOUT: %HasI.WithSelf.I.e25: %HasI.WithSelf.I.type.e5a = struct_value () [concrete] +// CHECK:STDOUT: %HasI.WithSelf.I.type.f2f: type = fn_type @HasI.WithSelf.I, @HasI.WithSelf(%E) [concrete] +// CHECK:STDOUT: %HasI.WithSelf.I.8ed: %HasI.WithSelf.I.type.f2f = struct_value () [concrete] // CHECK:STDOUT: %.5c6: type = fn_type_with_self_type %HasI.WithSelf.I.type.56e, %HasI.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -793,16 +790,17 @@ fn P(o: O) { // CHECK:STDOUT: // CHECK:STDOUT: specific @HasI.WithSelf.I(constants.%HasI.facet) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasI.WithSelf(constants.%E.type.facet) { +// CHECK:STDOUT: specific @HasI.WithSelf(constants.%E) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%E.type.facet -// CHECK:STDOUT: %HasI.WithSelf.I.type => constants.%HasI.WithSelf.I.type.e5a -// CHECK:STDOUT: %HasI.WithSelf.I => constants.%HasI.WithSelf.I.e25 +// CHECK:STDOUT: %Self => constants.%E +// CHECK:STDOUT: %HasI.WithSelf.I.type => constants.%HasI.WithSelf.I.type.f2f +// CHECK:STDOUT: %HasI.WithSelf.I => constants.%HasI.WithSelf.I.8ed // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- fail_ambiguous_impl_and_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %Base.K.type: type = fn_type @Base.K [concrete] // CHECK:STDOUT: %Base.K: %Base.K.type = struct_value () [concrete] @@ -830,10 +828,8 @@ fn P(o: O) { // CHECK:STDOUT: %l.patt: %pattern_type = wrapper_binding_pattern l, %l.param_patt [concrete] // CHECK:STDOUT: %M.type: type = fn_type @M [concrete] // CHECK:STDOUT: %M: %M.type = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %L.type.facet: %type = facet_value %L, () [concrete] -// CHECK:STDOUT: %HasK.WithSelf.K.type.4b4: type = fn_type @HasK.WithSelf.K, @HasK.WithSelf(%L.type.facet) [concrete] -// CHECK:STDOUT: %HasK.WithSelf.K.740: %HasK.WithSelf.K.type.4b4 = struct_value () [concrete] +// CHECK:STDOUT: %HasK.WithSelf.K.type.333: type = fn_type @HasK.WithSelf.K, @HasK.WithSelf(%L) [concrete] +// CHECK:STDOUT: %HasK.WithSelf.K.239: %HasK.WithSelf.K.type.333 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -956,16 +952,17 @@ fn P(o: O) { // CHECK:STDOUT: // CHECK:STDOUT: specific @HasK.WithSelf.K(constants.%HasK.facet) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasK.WithSelf(constants.%L.type.facet) { +// CHECK:STDOUT: specific @HasK.WithSelf(constants.%L) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%L.type.facet -// CHECK:STDOUT: %HasK.WithSelf.K.type => constants.%HasK.WithSelf.K.type.4b4 -// CHECK:STDOUT: %HasK.WithSelf.K => constants.%HasK.WithSelf.K.740 +// CHECK:STDOUT: %Self => constants.%L +// CHECK:STDOUT: %HasK.WithSelf.K.type => constants.%HasK.WithSelf.K.type.333 +// CHECK:STDOUT: %HasK.WithSelf.K => constants.%HasK.WithSelf.K.239 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- ambiguity_hidden.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NBase: type = class_type @NBase [concrete] // CHECK:STDOUT: %NBase.N.type: type = fn_type @NBase.N [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/impl/name_lookup_in_impl_definition.carbon b/toolchain/check/testdata/impl/name_lookup_in_impl_definition.carbon index 6a18b121023f..caf10abcbb52 100644 --- a/toolchain/check/testdata/impl/name_lookup_in_impl_definition.carbon +++ b/toolchain/check/testdata/impl/name_lookup_in_impl_definition.carbon @@ -30,12 +30,13 @@ impl forall [T: type] T as I where .U = C { // CHECK:STDOUT: --- name_lookup_into_impl_as_target.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %.917: = impl_self_witness %T, @I [symbolic] // CHECK:STDOUT: %I.impl_witness: = impl_witness @T.as.I.impl.%I.impl_witness_table, @T.as.I.impl(%T) [symbolic] diff --git a/toolchain/check/testdata/impl/no_definition_in_impl_file.carbon b/toolchain/check/testdata/impl/no_definition_in_impl_file.carbon index aba22d7a9a61..806747aaf20b 100644 --- a/toolchain/check/testdata/impl/no_definition_in_impl_file.carbon +++ b/toolchain/check/testdata/impl/no_definition_in_impl_file.carbon @@ -107,6 +107,7 @@ impl () as D; // CHECK:STDOUT: --- fail_decl_in_api_definition_in_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %Self: %A.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -145,6 +146,7 @@ impl () as D; // CHECK:STDOUT: --- fail_decl_in_api_definition_in_impl.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %Self: %A.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -222,6 +224,7 @@ impl () as D; // CHECK:STDOUT: --- fail_decl_only_in_api.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B.type: type = facet_type <@B> [concrete] // CHECK:STDOUT: %Self: %B.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -260,6 +263,7 @@ impl () as D; // CHECK:STDOUT: --- decl_only_in_api.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B.type: type = facet_type <@B> [concrete] // CHECK:STDOUT: %Self: %B.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -295,6 +299,7 @@ impl () as D; // CHECK:STDOUT: --- fail_decl_in_api_decl_in_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C.type: type = facet_type <@C> [concrete] // CHECK:STDOUT: %Self: %C.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -333,6 +338,7 @@ impl () as D; // CHECK:STDOUT: --- fail_decl_in_api_decl_in_impl.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C.type: type = facet_type <@C> [concrete] // CHECK:STDOUT: %Self: %C.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -384,6 +390,7 @@ impl () as D; // CHECK:STDOUT: --- fail_decl_only_in_impl.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %D.type: type = facet_type <@D> [concrete] // CHECK:STDOUT: %Self: %D.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/impl/self_in_class.carbon b/toolchain/check/testdata/impl/self_in_class.carbon index 0c2ad8ecaba9..fb5620137110 100644 --- a/toolchain/check/testdata/impl/self_in_class.carbon +++ b/toolchain/check/testdata/impl/self_in_class.carbon @@ -29,6 +29,7 @@ class A { // CHECK:STDOUT: --- self_in_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DefaultConstructible.type: type = facet_type <@DefaultConstructible> [concrete] // CHECK:STDOUT: %Self: %DefaultConstructible.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] diff --git a/toolchain/check/testdata/impl/self_in_signature.carbon b/toolchain/check/testdata/impl/self_in_signature.carbon index eef4f2ae9b73..b67b13f364c0 100644 --- a/toolchain/check/testdata/impl/self_in_signature.carbon +++ b/toolchain/check/testdata/impl/self_in_signature.carbon @@ -44,6 +44,7 @@ impl D as SelfNested { // CHECK:STDOUT: --- self_in_signature.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %UseSelf.type: type = facet_type <@UseSelf> [concrete] // CHECK:STDOUT: %Self.bde: %UseSelf.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type.968: type = facet_access_type %Self.bde [symbolic] @@ -103,8 +104,8 @@ impl D as SelfNested { // CHECK:STDOUT: %ptr.a16: type = ptr_type %Self.as_type.8ab [symbolic] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %struct_type.x.y.749: type = struct_type {.x: %Self.as_type.8ab, .y: %empty_tuple.type} [symbolic] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.876: %tuple.type.24b = tuple_value (%ptr.a16, %struct_type.x.y.749) [symbolic] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.d55: %tuple.type.693 = tuple_value (%ptr.a16, %struct_type.x.y.749) [symbolic] // CHECK:STDOUT: %tuple.type.d83: type = tuple_type (%ptr.a16, %struct_type.x.y.749) [symbolic] // CHECK:STDOUT: %pattern_type.6eb: type = pattern_type %tuple.type.d83 [symbolic] // CHECK:STDOUT: %x.param_patt.a6c: %pattern_type.6eb = value_param_pattern [symbolic] @@ -117,7 +118,7 @@ impl D as SelfNested { // CHECK:STDOUT: %SelfNested.impl_witness.a49: = impl_witness @C.as.SelfNested.impl.%SelfNested.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.6b6: type = ptr_type %C [concrete] // CHECK:STDOUT: %struct_type.x.y.ee7: type = struct_type {.x: %C, .y: %empty_tuple.type} [concrete] -// CHECK:STDOUT: %tuple.562: %tuple.type.24b = tuple_value (%ptr.6b6, %struct_type.x.y.ee7) [concrete] +// CHECK:STDOUT: %tuple.e0f: %tuple.type.693 = tuple_value (%ptr.6b6, %struct_type.x.y.ee7) [concrete] // CHECK:STDOUT: %tuple.type.746: type = tuple_type (%ptr.6b6, %struct_type.x.y.ee7) [concrete] // CHECK:STDOUT: %pattern_type.79c: type = pattern_type %tuple.type.746 [concrete] // CHECK:STDOUT: %x.param_patt.110: %pattern_type.79c = value_param_pattern [concrete] @@ -131,7 +132,7 @@ impl D as SelfNested { // CHECK:STDOUT: %SelfNested.impl_witness.ff1: = impl_witness @D.as.SelfNested.impl.%SelfNested.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.d57: type = ptr_type %D [concrete] // CHECK:STDOUT: %struct_type.x.y.e52: type = struct_type {.x: %D, .y: %empty_tuple.type} [concrete] -// CHECK:STDOUT: %tuple.c73: %tuple.type.24b = tuple_value (%ptr.d57, %struct_type.x.y.e52) [concrete] +// CHECK:STDOUT: %tuple.ff1: %tuple.type.693 = tuple_value (%ptr.d57, %struct_type.x.y.e52) [concrete] // CHECK:STDOUT: %tuple.type.aaa: type = tuple_type (%ptr.d57, %struct_type.x.y.e52) [concrete] // CHECK:STDOUT: %pattern_type.338: type = pattern_type %tuple.type.aaa [concrete] // CHECK:STDOUT: %x.param_patt.a5b: %pattern_type.338 = value_param_pattern [concrete] @@ -242,7 +243,7 @@ impl D as SelfNested { // CHECK:STDOUT: %.loc32_35.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc32_35.2: type = converted %.loc32_35.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %struct_type.x.y.loc32_36.2: type = struct_type {.x: @SelfNested.WithSelf.F.%Self.as_type.loc32_16.1 (%Self.as_type.8ab), .y: %empty_tuple.type} [symbolic = %struct_type.x.y.loc32_36.1 (constants.%struct_type.x.y.749)] -// CHECK:STDOUT: %.loc32_37.2: %tuple.type.24b = tuple_literal (%ptr.loc32_16.2, %struct_type.x.y.loc32_36.2) [symbolic = %tuple (constants.%tuple.876)] +// CHECK:STDOUT: %.loc32_37.2: %tuple.type.693 = tuple_literal (%ptr.loc32_16.2, %struct_type.x.y.loc32_36.2) [symbolic = %tuple (constants.%tuple.d55)] // CHECK:STDOUT: %.loc32_37.3: type = converted %.loc32_37.2, constants.%tuple.type.d83 [symbolic = %tuple.type (constants.%tuple.type.d83)] // CHECK:STDOUT: } // CHECK:STDOUT: %x: @SelfNested.WithSelf.F.%tuple.type (%tuple.type.d83) = wrapper_binding x, %x.param @@ -330,7 +331,7 @@ impl D as SelfNested { // CHECK:STDOUT: %.loc36_29.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc36_29.2: type = converted %.loc36_29.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %struct_type.x.y: type = struct_type {.x: %C, .y: %empty_tuple.type} [concrete = constants.%struct_type.x.y.ee7] -// CHECK:STDOUT: %.loc36_31.2: %tuple.type.24b = tuple_literal (%ptr, %struct_type.x.y) [concrete = constants.%tuple.562] +// CHECK:STDOUT: %.loc36_31.2: %tuple.type.693 = tuple_literal (%ptr, %struct_type.x.y) [concrete = constants.%tuple.e0f] // CHECK:STDOUT: %.loc36_31.3: type = converted %.loc36_31.2, constants.%tuple.type.746 [concrete = constants.%tuple.type.746] // CHECK:STDOUT: } // CHECK:STDOUT: %x: %tuple.type.746 = wrapper_binding x, %x.param @@ -358,7 +359,7 @@ impl D as SelfNested { // CHECK:STDOUT: %.loc40_35.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc40_35.2: type = converted %.loc40_35.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %struct_type.x.y: type = struct_type {.x: %D, .y: %empty_tuple.type} [concrete = constants.%struct_type.x.y.e52] -// CHECK:STDOUT: %.loc40_37.2: %tuple.type.24b = tuple_literal (%ptr, %struct_type.x.y) [concrete = constants.%tuple.c73] +// CHECK:STDOUT: %.loc40_37.2: %tuple.type.693 = tuple_literal (%ptr, %struct_type.x.y) [concrete = constants.%tuple.ff1] // CHECK:STDOUT: %.loc40_37.3: type = converted %.loc40_37.2, constants.%tuple.type.aaa [concrete = constants.%tuple.type.aaa] // CHECK:STDOUT: } // CHECK:STDOUT: %x: %tuple.type.aaa = wrapper_binding x, %x.param @@ -424,7 +425,7 @@ impl D as SelfNested { // CHECK:STDOUT: %Self.as_type.loc32_16.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc32_16.1 (constants.%Self.as_type.8ab)] // CHECK:STDOUT: %ptr.loc32_16.1: type = ptr_type %Self.as_type.loc32_16.1 [symbolic = %ptr.loc32_16.1 (constants.%ptr.a16)] // CHECK:STDOUT: %struct_type.x.y.loc32_36.1: type = struct_type {.x: @SelfNested.WithSelf.F.%Self.as_type.loc32_16.1 (%Self.as_type.8ab), .y: %empty_tuple.type} [symbolic = %struct_type.x.y.loc32_36.1 (constants.%struct_type.x.y.749)] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%ptr.loc32_16.1, %struct_type.x.y.loc32_36.1) [symbolic = %tuple (constants.%tuple.876)] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%ptr.loc32_16.1, %struct_type.x.y.loc32_36.1) [symbolic = %tuple (constants.%tuple.d55)] // CHECK:STDOUT: %tuple.type: type = tuple_type (%ptr.loc32_16.1, %struct_type.x.y.loc32_36.1) [symbolic = %tuple.type (constants.%tuple.type.d83)] // CHECK:STDOUT: %pattern_type: type = pattern_type %tuple.type [symbolic = %pattern_type (constants.%pattern_type.6eb)] // CHECK:STDOUT: %x.param_patt.loc32_9.2: @SelfNested.WithSelf.F.%pattern_type (%pattern_type.6eb) = value_param_pattern [symbolic = %x.param_patt.loc32_9.2 (constants.%x.param_patt.a6c)] @@ -509,7 +510,7 @@ impl D as SelfNested { // CHECK:STDOUT: %Self.as_type.loc32_16.1 => constants.%Self.as_type.8ab // CHECK:STDOUT: %ptr.loc32_16.1 => constants.%ptr.a16 // CHECK:STDOUT: %struct_type.x.y.loc32_36.1 => constants.%struct_type.x.y.749 -// CHECK:STDOUT: %tuple => constants.%tuple.876 +// CHECK:STDOUT: %tuple => constants.%tuple.d55 // CHECK:STDOUT: %tuple.type => constants.%tuple.type.d83 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6eb // CHECK:STDOUT: %x.param_patt.loc32_9.2 => constants.%x.param_patt.a6c @@ -528,7 +529,7 @@ impl D as SelfNested { // CHECK:STDOUT: %Self.as_type.loc32_16.1 => constants.%C // CHECK:STDOUT: %ptr.loc32_16.1 => constants.%ptr.6b6 // CHECK:STDOUT: %struct_type.x.y.loc32_36.1 => constants.%struct_type.x.y.ee7 -// CHECK:STDOUT: %tuple => constants.%tuple.562 +// CHECK:STDOUT: %tuple => constants.%tuple.e0f // CHECK:STDOUT: %tuple.type => constants.%tuple.type.746 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.79c // CHECK:STDOUT: %x.param_patt.loc32_9.2 => constants.%x.param_patt.110 @@ -547,7 +548,7 @@ impl D as SelfNested { // CHECK:STDOUT: %Self.as_type.loc32_16.1 => constants.%D // CHECK:STDOUT: %ptr.loc32_16.1 => constants.%ptr.d57 // CHECK:STDOUT: %struct_type.x.y.loc32_36.1 => constants.%struct_type.x.y.e52 -// CHECK:STDOUT: %tuple => constants.%tuple.c73 +// CHECK:STDOUT: %tuple => constants.%tuple.ff1 // CHECK:STDOUT: %tuple.type => constants.%tuple.type.aaa // CHECK:STDOUT: %pattern_type => constants.%pattern_type.338 // CHECK:STDOUT: %x.param_patt.loc32_9.2 => constants.%x.param_patt.a5b diff --git a/toolchain/check/testdata/impl/todo_impl_with_unrelated_fn.carbon b/toolchain/check/testdata/impl/todo_impl_with_unrelated_fn.carbon index 4cb5c3f74db4..39df9bd1af94 100644 --- a/toolchain/check/testdata/impl/todo_impl_with_unrelated_fn.carbon +++ b/toolchain/check/testdata/impl/todo_impl_with_unrelated_fn.carbon @@ -28,6 +28,7 @@ class X { // CHECK:STDOUT: --- todo_impl_with_unrelated_fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %Self: %A.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %A.WithSelf.B.type.ab5: type = fn_type @A.WithSelf.B, @A.WithSelf(%Self) [symbolic] diff --git a/toolchain/check/testdata/impl/use_assoc_entity.carbon b/toolchain/check/testdata/impl/use_assoc_entity.carbon index 5c75e26dabaa..59eac68c1af0 100644 --- a/toolchain/check/testdata/impl/use_assoc_entity.carbon +++ b/toolchain/check/testdata/impl/use_assoc_entity.carbon @@ -490,6 +490,7 @@ fn F() { // CHECK:STDOUT: --- associated_type_in_method_signature.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %Self.653: %J.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %J.assoc_type: type = assoc_entity_type @J [concrete] @@ -822,6 +823,7 @@ fn F() { // CHECK:STDOUT: --- extend_impl_with_associated_type_in_signature.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %J.assoc_type: type = assoc_entity_type @J [concrete] // CHECK:STDOUT: %assoc1.413: %J.assoc_type = assoc_entity element1, @J.WithSelf.%J.WithSelf.F.decl [concrete] @@ -991,6 +993,7 @@ fn F() { // CHECK:STDOUT: --- use_associated_fn_in_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %E.as.J.impl.F.type: type = fn_type @E.as.J.impl.F [concrete] // CHECK:STDOUT: %E.as.J.impl.F: %E.as.J.impl.F.type = struct_value () [concrete] @@ -1020,6 +1023,7 @@ fn F() { // CHECK:STDOUT: --- use_associated_constant_in_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %E: type = class_type @E [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -1108,6 +1112,7 @@ fn F() { // CHECK:STDOUT: --- call_extend_fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %E: type = class_type @E [concrete] @@ -1144,6 +1149,7 @@ fn F() { // CHECK:STDOUT: --- use_extend_constant.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %E: type = class_type @E [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1194,6 +1200,7 @@ fn F() { // CHECK:STDOUT: --- associated_fn_use_in_def_before_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %A.as.J.impl.F.type: type = fn_type @A.as.J.impl.F [concrete] // CHECK:STDOUT: %A.as.J.impl.F: %A.as.J.impl.F.type = struct_value () [concrete] @@ -1223,6 +1230,7 @@ fn F() { // CHECK:STDOUT: --- use_non-type_in_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %M.type: type = facet_type <@M> [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] diff --git a/toolchain/check/testdata/index/array_element_access.carbon b/toolchain/check/testdata/index/array_element_access.carbon index 2a9c2e943df6..fe9eb7335424 100644 --- a/toolchain/check/testdata/index/array_element_access.carbon +++ b/toolchain/check/testdata/index/array_element_access.carbon @@ -20,6 +20,7 @@ var d: i32 = a[b]; // CHECK:STDOUT: --- array_element_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/index/expr_category.carbon b/toolchain/check/testdata/index/expr_category.carbon index df59e962e04b..76344b06ab29 100644 --- a/toolchain/check/testdata/index/expr_category.carbon +++ b/toolchain/check/testdata/index/expr_category.carbon @@ -35,6 +35,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: --- expr_category.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/index/fail_array_large_index.carbon b/toolchain/check/testdata/index/fail_array_large_index.carbon index 6d25529ade52..1d0d42cb6f14 100644 --- a/toolchain/check/testdata/index/fail_array_large_index.carbon +++ b/toolchain/check/testdata/index/fail_array_large_index.carbon @@ -29,6 +29,7 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: --- fail_array_large_index.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] 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 cdad05e2ca91..8636e44c27ed 100644 --- a/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon +++ b/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon @@ -25,6 +25,7 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: --- fail_array_non_int_indexing.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] 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 0e6b2e320de8..81e56b0b5615 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 @@ -22,6 +22,7 @@ var b: i32 = a[1]; // CHECK:STDOUT: --- fail_array_out_of_bound_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/index/fail_expr_category.carbon b/toolchain/check/testdata/index/fail_expr_category.carbon index e82071b7c949..c14410891cd0 100644 --- a/toolchain/check/testdata/index/fail_expr_category.carbon +++ b/toolchain/check/testdata/index/fail_expr_category.carbon @@ -44,6 +44,7 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: --- fail_expr_category.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/index/fail_invalid_base.carbon b/toolchain/check/testdata/index/fail_invalid_base.carbon index e0d59965b96f..fc174eabf6a4 100644 --- a/toolchain/check/testdata/index/fail_invalid_base.carbon +++ b/toolchain/check/testdata/index/fail_invalid_base.carbon @@ -42,6 +42,7 @@ var d: i32 = {.a: i32, .b: i32}[0]; // CHECK:STDOUT: --- fail_invalid_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/index/fail_name_not_found.carbon b/toolchain/check/testdata/index/fail_name_not_found.carbon index 9b4e5773bb74..aabda6655e0a 100644 --- a/toolchain/check/testdata/index/fail_name_not_found.carbon +++ b/toolchain/check/testdata/index/fail_name_not_found.carbon @@ -23,6 +23,7 @@ fn Main() { // CHECK:STDOUT: --- fail_name_not_found.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/index/fail_negative_indexing.carbon b/toolchain/check/testdata/index/fail_negative_indexing.carbon index 966e598482ea..9d522d2be135 100644 --- a/toolchain/check/testdata/index/fail_negative_indexing.carbon +++ b/toolchain/check/testdata/index/fail_negative_indexing.carbon @@ -23,6 +23,7 @@ var d: i32 = c[-10]; // CHECK:STDOUT: --- fail_negative_indexing.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/index/fail_non_tuple_access.carbon b/toolchain/check/testdata/index/fail_non_tuple_access.carbon index dfa900b3f3a0..12571e2ae0f6 100644 --- a/toolchain/check/testdata/index/fail_non_tuple_access.carbon +++ b/toolchain/check/testdata/index/fail_non_tuple_access.carbon @@ -23,6 +23,7 @@ fn Main() { // CHECK:STDOUT: --- fail_non_tuple_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] diff --git a/toolchain/check/testdata/interface/as_type.carbon b/toolchain/check/testdata/interface/as_type.carbon index a8a83e7ae079..7c3f87e322a8 100644 --- a/toolchain/check/testdata/interface/as_type.carbon +++ b/toolchain/check/testdata/interface/as_type.carbon @@ -19,6 +19,7 @@ fn F(unused e: Empty) {} // CHECK:STDOUT: --- as_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Empty.type: type = facet_type <@Empty> [concrete] // CHECK:STDOUT: %Self: %Empty.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %Empty.type [concrete] diff --git a/toolchain/check/testdata/interface/as_type_of_type.carbon b/toolchain/check/testdata/interface/as_type_of_type.carbon index 0addde4b6236..f30ab9497153 100644 --- a/toolchain/check/testdata/interface/as_type_of_type.carbon +++ b/toolchain/check/testdata/interface/as_type_of_type.carbon @@ -26,6 +26,7 @@ fn F(generic T: Empty) { // CHECK:STDOUT: --- as_type_of_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Empty.type: type = facet_type <@Empty> [concrete] // CHECK:STDOUT: %Self.d44: %Empty.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %C: type = class_type @C [concrete] @@ -34,8 +35,7 @@ fn F(generic T: Empty) { // CHECK:STDOUT: %.6ee: = impl_self_witness %C, @Empty [concrete] // CHECK:STDOUT: %Empty.impl_witness: = impl_witness @C.as.Empty.impl.%Empty.impl_witness_table [concrete] // CHECK:STDOUT: %Empty.facet: %Empty.type = facet_value %C, (%Empty.impl_witness) [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.894: type = pattern_type %Empty.type [concrete] // CHECK:STDOUT: %T.patt.1d7: %pattern_type.894 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.4e8: %Empty.type = symbolic_binding T, 0 [symbolic] @@ -95,7 +95,7 @@ fn F(generic T: Empty) { // CHECK:STDOUT: %T.patt.loc21_15.1: %pattern_type.894 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc21_15.2 (constants.%T.patt.1d7)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc21: type = splice_block %Empty.ref [concrete = constants.%Empty.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Empty.ref: type = name_ref Empty, file.%Empty.decl [concrete = constants.%Empty.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc21_15.2: %Empty.type = symbolic_binding T, 0 [symbolic = %T.loc21_15.1 (constants.%T.4e8)] diff --git a/toolchain/check/testdata/interface/assoc_const.carbon b/toolchain/check/testdata/interface/assoc_const.carbon index 4f93aa8b47c0..eb22aa6df202 100644 --- a/toolchain/check/testdata/interface/assoc_const.carbon +++ b/toolchain/check/testdata/interface/assoc_const.carbon @@ -21,6 +21,7 @@ interface I { // CHECK:STDOUT: --- assoc_const.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] diff --git a/toolchain/check/testdata/interface/assoc_const_in_generic.carbon b/toolchain/check/testdata/interface/assoc_const_in_generic.carbon index 0397e7e9d6bb..640907b5ed0b 100644 --- a/toolchain/check/testdata/interface/assoc_const_in_generic.carbon +++ b/toolchain/check/testdata/interface/assoc_const_in_generic.carbon @@ -30,17 +30,17 @@ fn H() { // CHECK:STDOUT: --- assoc_const_in_generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %I.type.335: type = generic_interface_type @I [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %I.generic: %I.type.335 = struct_value () [concrete] // CHECK:STDOUT: %I.type.3fe: type = facet_type <@I, @I(%T)> [symbolic] // CHECK:STDOUT: %Self.191: %I.type.3fe = symbolic_binding Self, 1 [symbolic] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 2 [symbolic] +// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 2 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 2 [symbolic] // CHECK:STDOUT: %.a6b: Core.Form = init_form %U [symbolic] // CHECK:STDOUT: %pattern_type.62e: type = pattern_type %U [symbolic] @@ -74,19 +74,19 @@ fn H() { // CHECK:STDOUT: .H = %H.decl // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: %I.type.335 = interface_decl @I [concrete = constants.%I.generic] { -// CHECK:STDOUT: %T.patt.loc15_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_16.1: type = splice_block %.loc15_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc15_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { -// CHECK:STDOUT: %T.patt.loc19_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc19_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc19_17.1: type = splice_block %.loc19_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc19_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc19_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc19_15.1 (constants.%T)] @@ -95,7 +95,7 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @I(%T.loc15_14.2: type) { -// CHECK:STDOUT: %T.patt.loc15_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc15_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc15_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc15_14.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -108,14 +108,14 @@ fn H() { // CHECK:STDOUT: // CHECK:STDOUT: !with Self: // CHECK:STDOUT: %I.WithSelf.F.decl: @I.WithSelf.%I.WithSelf.F.type (%I.WithSelf.F.type.09f) = fn_decl @I.WithSelf.F [symbolic = @I.WithSelf.%I.WithSelf.F (constants.%I.WithSelf.F.5f2)] { -// CHECK:STDOUT: %U.patt.loc16_17.1: %pattern_type.98f = symbolic_binding_pattern U, 2 [symbolic = %U.patt.loc16_17.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc16_17.1: %pattern_type.9a5 = symbolic_binding_pattern U, 2 [symbolic = %U.patt.loc16_17.2 (constants.%U.patt)] // CHECK:STDOUT: %return.param_patt.loc16_28.1: @I.WithSelf.F.%pattern_type (%pattern_type.62e) = out_param_pattern [symbolic = %return.param_patt.loc16_28.2 (constants.%return.param_patt)] // CHECK:STDOUT: %return.patt.loc16_25.1: @I.WithSelf.F.%pattern_type (%pattern_type.62e) = return_slot_pattern %return.param_patt.loc16_28.1, %U.ref [symbolic = %return.patt.loc16_25.2 (constants.%return.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc16_17.2 [symbolic = %U.loc16_17.1 (constants.%U)] // CHECK:STDOUT: %.loc16_28.2: Core.Form = init_form %U.ref [symbolic = %.loc16_28.1 (constants.%.a6b)] // CHECK:STDOUT: %.loc16_19.1: type = splice_block %.loc16_19.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc16_19.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc16_17.2: type = symbolic_binding U, 2 [symbolic = %U.loc16_17.1 (constants.%U)] @@ -134,7 +134,7 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @I.WithSelf.F(@I.%T.loc15_14.2: type, @I.%Self.loc15_22.1: @I.%I.type (%I.type.3fe), %U.loc16_17.2: type) { -// CHECK:STDOUT: %U.patt.loc16_17.2: %pattern_type.98f = symbolic_binding_pattern U, 2 [symbolic = %U.patt.loc16_17.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc16_17.2: %pattern_type.9a5 = symbolic_binding_pattern U, 2 [symbolic = %U.patt.loc16_17.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc16_17.1: type = symbolic_binding U, 2 [symbolic = %U.loc16_17.1 (constants.%U)] // CHECK:STDOUT: %.loc16_28.1: Core.Form = init_form %U.loc16_17.1 [symbolic = %.loc16_28.1 (constants.%.a6b)] // CHECK:STDOUT: %pattern_type: type = pattern_type %U.loc16_17.1 [symbolic = %pattern_type (constants.%pattern_type.62e)] @@ -145,7 +145,7 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @G(%T.loc19_15.2: type) { -// CHECK:STDOUT: %T.patt.loc19_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc19_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc19_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc19_15.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/interface/basic.carbon b/toolchain/check/testdata/interface/basic.carbon index ae014584f3a8..faf465520439 100644 --- a/toolchain/check/testdata/interface/basic.carbon +++ b/toolchain/check/testdata/interface/basic.carbon @@ -24,6 +24,7 @@ interface ForwardDeclared { // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Empty.type: type = facet_type <@Empty> [concrete] // CHECK:STDOUT: %Self.d44: %Empty.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %ForwardDeclared.type: type = facet_type <@ForwardDeclared> [concrete] diff --git a/toolchain/check/testdata/interface/compound_member_access.carbon b/toolchain/check/testdata/interface/compound_member_access.carbon index 32259b8b55bd..79a56a905a78 100644 --- a/toolchain/check/testdata/interface/compound_member_access.carbon +++ b/toolchain/check/testdata/interface/compound_member_access.carbon @@ -193,12 +193,12 @@ fn Works() { // CHECK:STDOUT: --- associated_constant.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %Self: %J.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %J.assoc_type: type = assoc_entity_type @J [concrete] // CHECK:STDOUT: %assoc0: %J.assoc_type = assoc_entity element0, @J.WithSelf.%U [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// 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] @@ -242,12 +242,12 @@ fn Works() { // CHECK:STDOUT: %S.patt.loc8_42.1: @Simple1.%pattern_type (%pattern_type.0f6fa4.1) = symbolic_binding_pattern S, 1 [symbolic = %S.patt.loc8_42.2 (constants.%S.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_23: type = splice_block %J.ref [concrete = constants.%J.type] { -// CHECK:STDOUT: %.Self.frozen.loc8_21: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc8_21: 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.loc8_21.2: %J.type = symbolic_binding T, 0 [symbolic = %T.loc8_21.1 (constants.%T)] // CHECK:STDOUT: %.loc8_45.1: type = splice_block %impl.elem0.loc8_45.2 [symbolic = %impl.elem0.loc8_45.1 (constants.%impl.elem0.436176.1)] { -// CHECK:STDOUT: %.Self.frozen.loc8_42: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc8_42: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %T.ref: %J.type = name_ref T, %T.loc8_21.2 [symbolic = %T.loc8_21.1 (constants.%T)] // CHECK:STDOUT: %T.as_type.loc8_45.2: type = facet_access_type %T.ref [symbolic = %T.as_type.loc8_45.1 (constants.%T.as_type)] // CHECK:STDOUT: %.loc8_45.2: type = converted %T.ref, %T.as_type.loc8_45.2 [symbolic = %T.as_type.loc8_45.1 (constants.%T.as_type)] @@ -261,12 +261,12 @@ fn Works() { // CHECK:STDOUT: %W.patt.loc11_44.1: @Compound1.%pattern_type (%pattern_type.0f6fa4.2) = symbolic_binding_pattern W, 1 [symbolic = %W.patt.loc11_44.2 (constants.%W.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_25: type = splice_block %J.ref.loc11_25 [concrete = constants.%J.type] { -// CHECK:STDOUT: %.Self.frozen.loc11_23: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc11_23: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %J.ref.loc11_25: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: } // CHECK:STDOUT: %V.loc11_23.2: %J.type = symbolic_binding V, 0 [symbolic = %V.loc11_23.1 (constants.%V)] // CHECK:STDOUT: %.loc11_47: type = splice_block %impl.elem0.loc11_47.2 [symbolic = %impl.elem0.loc11_47.1 (constants.%impl.elem0.436176.2)] { -// CHECK:STDOUT: %.Self.frozen.loc11_44: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc11_44: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %V.ref: %J.type = name_ref V, %V.loc11_23.2 [symbolic = %V.loc11_23.1 (constants.%V)] // CHECK:STDOUT: %J.ref.loc11_49: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %U.ref: %J.assoc_type = name_ref U, @U.%assoc0 [concrete = constants.%assoc0] @@ -364,6 +364,7 @@ fn Works() { // CHECK:STDOUT: --- non_instance.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %K1.type: type = facet_type <@K1> [concrete] // CHECK:STDOUT: %Self: %K1.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %K1.WithSelf.Q1.type.497: type = fn_type @K1.WithSelf.Q1, @K1.WithSelf(%Self) [symbolic] @@ -371,8 +372,7 @@ fn Works() { // CHECK:STDOUT: %K1.WithSelf.Q1.1f8: %K1.WithSelf.Q1.type.497 = struct_value () [symbolic] // CHECK:STDOUT: %K1.assoc_type: type = assoc_entity_type @K1 [concrete] // CHECK:STDOUT: %assoc0: %K1.assoc_type = assoc_entity element0, @K1.WithSelf.%K1.WithSelf.Q1.decl [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %K1.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %K1.type = symbolic_binding T, 0 [symbolic] @@ -417,7 +417,7 @@ fn Works() { // CHECK:STDOUT: %T.patt.loc8_21.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_21.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8: type = splice_block %K1.ref [concrete = constants.%K1.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %K1.ref: type = name_ref K1, file.%K1.decl [concrete = constants.%K1.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_21.2: %K1.type = symbolic_binding T, 0 [symbolic = %T.loc8_21.1 (constants.%T)] @@ -426,7 +426,7 @@ fn Works() { // CHECK:STDOUT: %V.patt.loc13_23.1: %pattern_type = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc13_23.2 (constants.%V.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13: type = splice_block %K1.ref.loc13 [concrete = constants.%K1.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %K1.ref.loc13: type = name_ref K1, file.%K1.decl [concrete = constants.%K1.type] // CHECK:STDOUT: } // CHECK:STDOUT: %V.loc13_23.2: %K1.type = symbolic_binding V, 0 [symbolic = %V.loc13_23.1 (constants.%V)] @@ -541,6 +541,7 @@ fn Works() { // CHECK:STDOUT: --- fail_caller_instance_interface_not.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %K2.type: type = facet_type <@K2> [concrete] // CHECK:STDOUT: %Self.b0c: %K2.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %K2.WithSelf.Q2.type.ace: type = fn_type @K2.WithSelf.Q2, @K2.WithSelf(%Self.b0c) [symbolic] @@ -548,8 +549,7 @@ fn Works() { // CHECK:STDOUT: %K2.WithSelf.Q2.5a8: %K2.WithSelf.Q2.type.ace = struct_value () [symbolic] // CHECK:STDOUT: %K2.assoc_type: type = assoc_entity_type @K2 [concrete] // CHECK:STDOUT: %assoc0.7f8: %K2.assoc_type = assoc_entity element0, @K2.WithSelf.%K2.WithSelf.Q2.decl [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.583: type = pattern_type %K2.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.583 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %K2.type = symbolic_binding T, 0 [symbolic] @@ -603,7 +603,7 @@ fn Works() { // CHECK:STDOUT: %x.patt.loc8_28.1: @Simple3.%pattern_type (%pattern_type.f2711c.1) = wrapper_binding_pattern x, %x.param_patt.loc8_28.1 [symbolic = %x.patt.loc8_28.2 (constants.%x.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_23: type = splice_block %K2.ref [concrete = constants.%K2.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %K2.ref: type = name_ref K2, file.%K2.decl [concrete = constants.%K2.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_21.2: %K2.type = symbolic_binding T, 0 [symbolic = %T.loc8_21.1 (constants.%T)] @@ -621,7 +621,7 @@ fn Works() { // CHECK:STDOUT: %y.patt.loc14_30.1: @Compound3.%pattern_type (%pattern_type.f2711c.2) = wrapper_binding_pattern y, %y.param_patt.loc14_30.1 [symbolic = %y.patt.loc14_30.2 (constants.%y.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14_25: type = splice_block %K2.ref.loc14 [concrete = constants.%K2.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %K2.ref.loc14: type = name_ref K2, file.%K2.decl [concrete = constants.%K2.type] // CHECK:STDOUT: } // CHECK:STDOUT: %V.loc14_23.2: %K2.type = symbolic_binding V, 0 [symbolic = %V.loc14_23.1 (constants.%V)] @@ -742,6 +742,7 @@ fn Works() { // CHECK:STDOUT: --- instance.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %L1.type: type = facet_type <@L1> [concrete] // CHECK:STDOUT: %Self: %L1.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] @@ -758,8 +759,7 @@ fn Works() { // CHECK:STDOUT: %L1.WithSelf.S1.type.ff3: type = fn_type @L1.WithSelf.S1, @L1.WithSelf(%Self) [symbolic] // CHECK:STDOUT: %L1.WithSelf.S1.11f: %L1.WithSelf.S1.type.ff3 = struct_value () [symbolic] // CHECK:STDOUT: %assoc1: %L1.assoc_type = assoc_entity element1, @L1.WithSelf.%L1.WithSelf.S1.decl [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.b7b: type = pattern_type %L1.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.b7b = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %L1.type = symbolic_binding T, 0 [symbolic] @@ -845,7 +845,7 @@ fn Works() { // CHECK:STDOUT: %p.patt.loc9_34.1: @Simple4.%pattern_type.loc9_34 (%pattern_type.e0b9be.1) = wrapper_binding_pattern p, %p.param_patt.loc9_34.1 [symbolic = %p.patt.loc9_34.2 (constants.%p.patt.0298e1.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_23: type = splice_block %L1.ref [concrete = constants.%L1.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %L1.ref: type = name_ref L1, file.%L1.decl [concrete = constants.%L1.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_21.2: %L1.type = symbolic_binding T, 0 [symbolic = %T.loc9_21.1 (constants.%T)] @@ -873,7 +873,7 @@ fn Works() { // CHECK:STDOUT: %p.patt.loc15_36.1: @Compound4.%pattern_type.loc15_36 (%pattern_type.e0b9be.2) = wrapper_binding_pattern p, %p.param_patt.loc15_36.1 [symbolic = %p.patt.loc15_36.2 (constants.%p.patt.0298e1.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_25: type = splice_block %L1.ref.loc15 [concrete = constants.%L1.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %L1.ref.loc15: type = name_ref L1, file.%L1.decl [concrete = constants.%L1.type] // CHECK:STDOUT: } // CHECK:STDOUT: %V.loc15_23.2: %L1.type = symbolic_binding V, 0 [symbolic = %V.loc15_23.1 (constants.%V)] @@ -1162,6 +1162,7 @@ fn Works() { // CHECK:STDOUT: --- fail_interface_instance_caller_not.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %L2.type: type = facet_type <@L2> [concrete] // CHECK:STDOUT: %Self: %L2.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] @@ -1177,8 +1178,7 @@ fn Works() { // CHECK:STDOUT: %L2.WithSelf.S2.type.51d: type = fn_type @L2.WithSelf.S2, @L2.WithSelf(%Self) [symbolic] // CHECK:STDOUT: %L2.WithSelf.S2.a11: %L2.WithSelf.S2.type.51d = struct_value () [symbolic] // CHECK:STDOUT: %assoc1: %L2.assoc_type = assoc_entity element1, @L2.WithSelf.%L2.WithSelf.S2.decl [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.5b3: type = pattern_type %L2.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.5b3 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %L2.type = symbolic_binding T, 0 [symbolic] @@ -1220,7 +1220,7 @@ fn Works() { // CHECK:STDOUT: %T.patt.loc10_21.1: %pattern_type.5b3 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_21.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10: type = splice_block %L2.ref [concrete = constants.%L2.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %L2.ref: type = name_ref L2, file.%L2.decl [concrete = constants.%L2.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc10_21.2: %L2.type = symbolic_binding T, 0 [symbolic = %T.loc10_21.1 (constants.%T)] @@ -1229,7 +1229,7 @@ fn Works() { // CHECK:STDOUT: %V.patt.loc30_23.1: %pattern_type.5b3 = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc30_23.2 (constants.%V.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc30: type = splice_block %L2.ref.loc30 [concrete = constants.%L2.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %L2.ref.loc30: type = name_ref L2, file.%L2.decl [concrete = constants.%L2.type] // CHECK:STDOUT: } // CHECK:STDOUT: %V.loc30_23.2: %L2.type = symbolic_binding V, 0 [symbolic = %V.loc30_23.1 (constants.%V)] @@ -1392,6 +1392,7 @@ fn Works() { // CHECK:STDOUT: --- fail_combine_non_instance.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %Self.d0c: %A.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %A.WithSelf.G.type.9da: type = fn_type @A.WithSelf.G, @A.WithSelf(%Self.d0c) [symbolic] @@ -1414,11 +1415,11 @@ fn Works() { // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %A.type, %type.as.BitAndWith.impl.Op [concrete] @@ -1510,7 +1511,7 @@ fn Works() { // CHECK:STDOUT: %.loc22_7: init %C = converted %.loc22_5.1, %.loc22_5.3 [concrete = constants.%C.val] // CHECK:STDOUT: %A.ref.loc22_15: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc22_19: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc22: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc22: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc22: = bound_method %A.ref.loc22_15, %impl.elem0.loc22 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc22: init type = call %bound_method.loc22(%A.ref.loc22_15, %A.ref.loc22_19) [concrete = constants.%A.type] // CHECK:STDOUT: %G.ref.loc22: %A.assoc_type = name_ref G, @A.WithSelf.%assoc0 [concrete = constants.%assoc0.f27] @@ -1523,7 +1524,7 @@ fn Works() { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %A.ref.loc30_24: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc30_28: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc30_26: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc30_26: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc30_26: = bound_method %A.ref.loc30_24, %impl.elem0.loc30_26 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc30_26: init type = call %bound_method.loc30_26(%A.ref.loc30_24, %A.ref.loc30_28) [concrete = constants.%A.type] // CHECK:STDOUT: %.loc30_29.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc30_26 [concrete = constants.%A.type] @@ -1534,7 +1535,7 @@ fn Works() { // CHECK:STDOUT: %.loc30_30: type = converted %.loc30_20, %as_type.loc30 [concrete = constants.%C] // CHECK:STDOUT: %A.ref.loc30_35: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc30_39: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc30_37: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc30_37: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc30_37: = bound_method %A.ref.loc30_35, %impl.elem0.loc30_37 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc30_37: init type = call %bound_method.loc30_37(%A.ref.loc30_35, %A.ref.loc30_39) [concrete = constants.%A.type] // CHECK:STDOUT: %G.ref.loc30: %A.assoc_type = name_ref G, @A.WithSelf.%assoc0 [concrete = constants.%assoc0.f27] @@ -1547,7 +1548,7 @@ fn Works() { // CHECK:STDOUT: %C.ref.loc38_18: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %A.ref.loc38_24: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc38_28: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc38: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc38: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc38: = bound_method %A.ref.loc38_24, %impl.elem0.loc38 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc38: init type = call %bound_method.loc38(%A.ref.loc38_24, %A.ref.loc38_28) [concrete = constants.%A.type] // CHECK:STDOUT: %.loc38_29.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc38 [concrete = constants.%A.type] @@ -1583,6 +1584,7 @@ fn Works() { // CHECK:STDOUT: --- allowed_combine_non_instance.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %Self.d0c: %A.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %A.WithSelf.G.type.9da: type = fn_type @A.WithSelf.G, @A.WithSelf(%Self.d0c) [symbolic] @@ -1604,11 +1606,11 @@ fn Works() { // CHECK:STDOUT: %Works: %Works.type = struct_value () [concrete] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %A.type, %type.as.BitAndWith.impl.Op [concrete] @@ -1693,7 +1695,7 @@ fn Works() { // CHECK:STDOUT: %C.ref.loc13: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %A.ref.loc13_7: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc13_11: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc13_9: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc13_9: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc13: = bound_method %A.ref.loc13_7, %impl.elem0.loc13_9 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc13: init type = call %bound_method.loc13(%A.ref.loc13_7, %A.ref.loc13_11) [concrete = constants.%A.type] // CHECK:STDOUT: %G.ref.loc13: %A.assoc_type = name_ref G, @A.WithSelf.%assoc0 [concrete = constants.%assoc0.f27] @@ -1704,7 +1706,7 @@ fn Works() { // CHECK:STDOUT: %C.ref.loc14: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %A.ref.loc14_10: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc14_14: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc14_12: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc14_12: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc14_12: = bound_method %A.ref.loc14_10, %impl.elem0.loc14_12 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc14_12: init type = call %bound_method.loc14_12(%A.ref.loc14_10, %A.ref.loc14_14) [concrete = constants.%A.type] // CHECK:STDOUT: %.loc14_15.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc14_12 [concrete = constants.%A.type] @@ -1713,7 +1715,7 @@ fn Works() { // CHECK:STDOUT: %.loc14_6: %A.type = converted %C.ref.loc14, %A.facet.loc14 [concrete = constants.%A.facet] // CHECK:STDOUT: %A.ref.loc14_20: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc14_24: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc14_22: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc14_22: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc14_22: = bound_method %A.ref.loc14_20, %impl.elem0.loc14_22 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc14_22: init type = call %bound_method.loc14_22(%A.ref.loc14_20, %A.ref.loc14_24) [concrete = constants.%A.type] // CHECK:STDOUT: %G.ref.loc14: %A.assoc_type = name_ref G, @A.WithSelf.%assoc0 [concrete = constants.%assoc0.f27] @@ -1722,7 +1724,7 @@ fn Works() { // CHECK:STDOUT: %C.ref.loc15: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %A.ref.loc15_10: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc15_14: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc15_12: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc15_12: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc15: = bound_method %A.ref.loc15_10, %impl.elem0.loc15_12 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc15: init type = call %bound_method.loc15(%A.ref.loc15_10, %A.ref.loc15_14) [concrete = constants.%A.type] // CHECK:STDOUT: %.loc15_15.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc15 [concrete = constants.%A.type] diff --git a/toolchain/check/testdata/interface/default_fn.carbon b/toolchain/check/testdata/interface/default_fn.carbon index e439e488509c..887a08a5a433 100644 --- a/toolchain/check/testdata/interface/default_fn.carbon +++ b/toolchain/check/testdata/interface/default_fn.carbon @@ -31,6 +31,7 @@ class C { // CHECK:STDOUT: --- default_fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %Self.4e9: %I.type = symbolic_binding Self, 0 [symbolic] diff --git a/toolchain/check/testdata/interface/export_name.carbon b/toolchain/check/testdata/interface/export_name.carbon index 785c64aa6ed2..3858d62c3d36 100644 --- a/toolchain/check/testdata/interface/export_name.carbon +++ b/toolchain/check/testdata/interface/export_name.carbon @@ -45,6 +45,7 @@ fn UseEmpty(unused i: I) {} // CHECK:STDOUT: --- base.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: } @@ -72,6 +73,7 @@ fn UseEmpty(unused i: I) {} // CHECK:STDOUT: --- export.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: } @@ -102,6 +104,7 @@ fn UseEmpty(unused i: I) {} // CHECK:STDOUT: --- use_export.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %I.type [concrete] diff --git a/toolchain/check/testdata/interface/fail_add_member_outside_definition.carbon b/toolchain/check/testdata/interface/fail_add_member_outside_definition.carbon index 614dfc8963e3..087a8a71502d 100644 --- a/toolchain/check/testdata/interface/fail_add_member_outside_definition.carbon +++ b/toolchain/check/testdata/interface/fail_add_member_outside_definition.carbon @@ -39,6 +39,7 @@ interface Outer { // CHECK:STDOUT: --- fail_add_member_outside_definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Interface.type: type = facet_type <@Interface> [concrete] // CHECK:STDOUT: %Self.3ce: %Interface.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Interface.WithSelf.F.type: type = fn_type @Interface.WithSelf.F, @Interface.WithSelf(%Self.3ce) [symbolic] diff --git a/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon b/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon index 064e768bdd58..4117a5ffa25c 100644 --- a/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon +++ b/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon @@ -77,6 +77,7 @@ interface C { // CHECK:STDOUT: --- alias_to_different_interface_with_requires.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I2.type: type = facet_type <@I2> [concrete] // CHECK:STDOUT: %I2.assoc_type: type = assoc_entity_type @I2 [concrete] // CHECK:STDOUT: %assoc0.d6c: %I2.assoc_type = assoc_entity element0, @I2.WithSelf.%T2 [concrete] @@ -168,6 +169,7 @@ interface C { // CHECK:STDOUT: --- call_with_compound_member_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C.type: type = facet_type <@C> [concrete] // CHECK:STDOUT: %Self: %C.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] diff --git a/toolchain/check/testdata/interface/fail_assoc_const_bad_default.carbon b/toolchain/check/testdata/interface/fail_assoc_const_bad_default.carbon index dc275318d7a8..3edcadd289a3 100644 --- a/toolchain/check/testdata/interface/fail_assoc_const_bad_default.carbon +++ b/toolchain/check/testdata/interface/fail_assoc_const_bad_default.carbon @@ -26,6 +26,7 @@ interface I { // CHECK:STDOUT: --- fail_assoc_const_bad_default.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.assoc_type: type = assoc_entity_type @I [concrete] diff --git a/toolchain/check/testdata/interface/fail_assoc_fn_invalid_use.carbon b/toolchain/check/testdata/interface/fail_assoc_fn_invalid_use.carbon index 01f9d00e9905..b5da12fcb897 100644 --- a/toolchain/check/testdata/interface/fail_assoc_fn_invalid_use.carbon +++ b/toolchain/check/testdata/interface/fail_assoc_fn_invalid_use.carbon @@ -32,6 +32,7 @@ fn Use(generic T: I) { // CHECK:STDOUT: --- fail_member_access.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] @@ -42,8 +43,7 @@ fn Use(generic T: I) { // CHECK:STDOUT: %I.WithSelf.F.ec6: %I.WithSelf.F.type.dcc = 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: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.6cb: type = pattern_type %I.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.6cb = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %I.type = symbolic_binding T, 0 [symbolic] @@ -68,7 +68,7 @@ fn Use(generic T: I) { // CHECK:STDOUT: %T.patt.loc8_17.1: %pattern_type.6cb = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_17.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8: type = splice_block %I.ref [concrete = constants.%I.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// 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.loc8_17.2: %I.type = symbolic_binding T, 0 [symbolic = %T.loc8_17.1 (constants.%T)] diff --git a/toolchain/check/testdata/interface/fail_definition_imported.carbon b/toolchain/check/testdata/interface/fail_definition_imported.carbon index 124a360084fa..19ae0e534767 100644 --- a/toolchain/check/testdata/interface/fail_definition_imported.carbon +++ b/toolchain/check/testdata/interface/fail_definition_imported.carbon @@ -37,6 +37,7 @@ interface I {} // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -52,6 +53,7 @@ interface I {} // CHECK:STDOUT: --- fail_b.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/fail_duplicate.carbon b/toolchain/check/testdata/interface/fail_duplicate.carbon index 4613a3a77a53..5359369d481a 100644 --- a/toolchain/check/testdata/interface/fail_duplicate.carbon +++ b/toolchain/check/testdata/interface/fail_duplicate.carbon @@ -78,6 +78,7 @@ interface Class { } // CHECK:STDOUT: --- fail_redefine_without_dependents.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Interface.type.283524.1: type = facet_type <@Interface.loc4> [concrete] // CHECK:STDOUT: %Self.3ce02d.1: %Interface.type.283524.1 = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Interface.type.283524.2: type = facet_type <@Interface.loc13> [concrete] @@ -136,6 +137,7 @@ interface Class { } // CHECK:STDOUT: --- fail_redefine_with_dependents.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Interface.type.283524.1: type = facet_type <@Interface.loc4> [concrete] // CHECK:STDOUT: %Self.3ce02d.1: %Interface.type.283524.1 = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Interface.type.283524.2: type = facet_type <@Interface.loc13> [concrete] @@ -221,6 +223,7 @@ interface Class { } // CHECK:STDOUT: --- fail_name_conflict_with_fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Function.type.b68: type = fn_type @Function.loc4 [concrete] // CHECK:STDOUT: %Function: %Function.type.b68 = struct_value () [concrete] // CHECK:STDOUT: %Function.type.186: type = facet_type <@Function.loc13> [concrete] @@ -241,6 +244,7 @@ interface Class { } // CHECK:STDOUT: --- fail_name_conflict_with_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Class: type = class_type @Class.loc2 [concrete] // CHECK:STDOUT: %Class.type: type = facet_type <@Class.loc11> [concrete] // CHECK:STDOUT: %Self: %Class.type = symbolic_binding Self, 0 [symbolic] diff --git a/toolchain/check/testdata/interface/fail_generic_redeclaration.carbon b/toolchain/check/testdata/interface/fail_generic_redeclaration.carbon index a021190ae267..485a3ec515b8 100644 --- a/toolchain/check/testdata/interface/fail_generic_redeclaration.carbon +++ b/toolchain/check/testdata/interface/fail_generic_redeclaration.carbon @@ -45,11 +45,11 @@ interface DifferentParams(T: ()) {} // CHECK:STDOUT: --- fail_generic_redeclaration.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NotGeneric.type.fd5: type = facet_type <@NotGeneric.loc15> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %NotGeneric.type.fec: type = generic_interface_type @NotGeneric.loc23 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -80,29 +80,29 @@ interface DifferentParams(T: ()) {} // CHECK:STDOUT: } // CHECK:STDOUT: %NotGeneric.decl.loc15: type = interface_decl @NotGeneric.loc15 [concrete = constants.%NotGeneric.type.fd5] {} {} // CHECK:STDOUT: %NotGeneric.decl.loc23: %NotGeneric.type.fec = interface_decl @NotGeneric.loc23 [concrete = constants.%NotGeneric.generic] { -// CHECK:STDOUT: %T.patt.loc23_23.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc23_23.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc23_23.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc23_23.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc23_25.1: type = splice_block %.loc23_25.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc23_25.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc23_23.2: type = symbolic_binding T, 0 [symbolic = %T.loc23_23.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %Generic.decl.loc25: %Generic.type.30d = interface_decl @Generic.loc25 [concrete = constants.%Generic.generic] { -// CHECK:STDOUT: %T.patt.loc25_20.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc25_20.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc25_20.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc25_20.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc25_22.1: type = splice_block %.loc25_22.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc25_22.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc25_20.2: type = symbolic_binding T, 0 [symbolic = %T.loc25_20.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %Generic.decl.loc33: type = interface_decl @Generic.loc33 [concrete = constants.%Generic.type.b2d] {} {} // CHECK:STDOUT: %DifferentParams.decl.loc35: %DifferentParams.type.998819.1 = interface_decl @DifferentParams.loc35 [concrete = constants.%DifferentParams.generic.54c122.1] { -// CHECK:STDOUT: %T.patt.loc35_28.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc35_28.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc35_28.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc35_28.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc35_30.1: type = splice_block %.loc35_30.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc35_30.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc35_28.2: type = symbolic_binding T, 0 [symbolic = %T.loc35_28.1 (constants.%T.67d)] @@ -111,7 +111,7 @@ interface DifferentParams(T: ()) {} // CHECK:STDOUT: %T.patt.loc43_28.1: %pattern_type.cb1 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc43_28.2 (constants.%T.patt.8f8)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc43_31.1: type = splice_block %.loc43_31.3 [concrete = constants.%empty_tuple.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc43_31.2: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc43_31.3: type = converted %.loc43_31.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: } @@ -122,7 +122,7 @@ interface DifferentParams(T: ()) {} // CHECK:STDOUT: interface @NotGeneric.loc15; // CHECK:STDOUT: // CHECK:STDOUT: generic interface @NotGeneric.loc23(%T.loc23_23.2: type) { -// CHECK:STDOUT: %T.patt.loc23_23.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc23_23.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc23_23.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc23_23.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc23_23.1: type = symbolic_binding T, 0 [symbolic = %T.loc23_23.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -142,7 +142,7 @@ interface DifferentParams(T: ()) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Generic.loc25(%T.loc25_20.2: type) { -// CHECK:STDOUT: %T.patt.loc25_20.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc25_20.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc25_20.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc25_20.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc25_20.1: type = symbolic_binding T, 0 [symbolic = %T.loc25_20.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: interface; @@ -160,7 +160,7 @@ interface DifferentParams(T: ()) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @DifferentParams.loc35(%T.loc35_28.2: type) { -// CHECK:STDOUT: %T.patt.loc35_28.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc35_28.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc35_28.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc35_28.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc35_28.1: type = symbolic_binding T, 0 [symbolic = %T.loc35_28.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: interface; @@ -187,21 +187,21 @@ interface DifferentParams(T: ()) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @NotGeneric.loc23(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc23_23.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc23_23.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc23_23.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @NotGeneric.WithSelf(constants.%T.67d, constants.%Self.b8f) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic.loc25(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc25_20.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc25_20.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc25_20.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic.WithSelf(constants.%Self.c53) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @DifferentParams.loc35(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc35_28.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc35_28.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc35_28.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interface/fail_lookup_in_type_type.carbon b/toolchain/check/testdata/interface/fail_lookup_in_type_type.carbon index 502e61fbed4e..378e7e6ba47b 100644 --- a/toolchain/check/testdata/interface/fail_lookup_in_type_type.carbon +++ b/toolchain/check/testdata/interface/fail_lookup_in_type_type.carbon @@ -16,7 +16,7 @@ library "[[@TEST_NAME]]"; -// CHECK:STDERR: fail_lookup_in_type.carbon:[[@LINE+4]]:8: error: type `type` does not support qualified expressions [QualifiedExprUnsupported] +// CHECK:STDERR: fail_lookup_in_type.carbon:[[@LINE+4]]:8: error: member name `not_found` not found [MemberNameNotFound] // CHECK:STDERR: let T: type.not_found = {}; // CHECK:STDERR: ^~~~~~~~~~~~~~ // CHECK:STDERR: @@ -35,6 +35,7 @@ let U: (type where .Self impls type).missing = {}; // CHECK:STDOUT: --- fail_lookup_in_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: } @@ -43,7 +44,10 @@ let U: (type where .Self impls type).missing = {}; // CHECK:STDOUT: package: = namespace [concrete] { // CHECK:STDOUT: .T = %T // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc8: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.1: = splice_block [concrete = ] { +// CHECK:STDOUT: %.loc8: type = type_literal type [concrete = type] +// CHECK:STDOUT: %not_found.ref: = name_ref not_found, [concrete = ] +// CHECK:STDOUT: } // CHECK:STDOUT: %T: = wrapper_binding T, [concrete = ] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %T.patt: = value_binding_pattern T [concrete = ] @@ -59,11 +63,9 @@ let U: (type where .Self impls type).missing = {}; // CHECK:STDOUT: --- fail_lookup_type_where.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen [symbolic_self] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: } @@ -74,21 +76,17 @@ let U: (type where .Self impls type).missing = {}; // CHECK:STDOUT: } // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %.loc8_9: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc8_9 [concrete] -// CHECK:STDOUT: %.Self.ref.loc8_20.1: %type = name_ref .Self, %.Self.frozen [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.ref.loc8_20.1: type = name_ref .Self, %.Self.frozen [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_32: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.as_type.loc8_20.1: type = facet_access_type %.Self.ref.loc8_20.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %.loc8_20.1: type = converted %.Self.ref.loc8_20.1, %.Self.as_type.loc8_20.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %impls.loc8_26.1 = requirement_impls %.loc8_20.1, %.loc8_32 [concrete] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.ref.loc8_20.2: %type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.as_type.loc8_20.2: type = facet_access_type %.Self.ref.loc8_20.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %.loc8_20.2: type = converted %.Self.ref.loc8_20.1, %.Self.as_type.loc8_20.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %impls.loc8_26.2 = requirement_impls %.loc8_20.2, %.loc8_32 [concrete] -// CHECK:STDOUT: %.loc8_14: type = where_expr [concrete = constants.%type] { +// CHECK:STDOUT: %impls.loc8_26.1 = requirement_impls %.Self.ref.loc8_20.1, %.loc8_32 [concrete] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.Self.ref.loc8_20.2: type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %impls.loc8_26.2 = requirement_impls %.Self.ref.loc8_20.2, %.loc8_32 [concrete] +// CHECK:STDOUT: %.loc8_14: type = where_expr [concrete = type] { // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc8_9 [concrete] -// CHECK:STDOUT: %impls.loc8_26.2 = requirement_impls %.loc8_20.2, %.loc8_32 [concrete] +// CHECK:STDOUT: %impls.loc8_26.2 = requirement_impls %.Self.ref.loc8_20.2, %.loc8_32 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %missing.ref: = name_ref missing, [concrete = ] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/fail_lookup_undefined.carbon b/toolchain/check/testdata/interface/fail_lookup_undefined.carbon index 231092bd5b77..28851b2663a0 100644 --- a/toolchain/check/testdata/interface/fail_lookup_undefined.carbon +++ b/toolchain/check/testdata/interface/fail_lookup_undefined.carbon @@ -53,6 +53,7 @@ interface BeingDefined { // CHECK:STDOUT: --- fail_lookup_undefined.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Undefined.type: type = facet_type <@Undefined> [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/interface/fail_member_lookup.carbon b/toolchain/check/testdata/interface/fail_member_lookup.carbon index ff815c84cc35..ccac50a536cb 100644 --- a/toolchain/check/testdata/interface/fail_member_lookup.carbon +++ b/toolchain/check/testdata/interface/fail_member_lookup.carbon @@ -49,6 +49,7 @@ fn G(generic U: Different) -> U.(Interface.T); // CHECK:STDOUT: --- fail_member_lookup.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Interface.type: type = facet_type <@Interface> [concrete] // CHECK:STDOUT: %Self.3ce: %Interface.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Interface.WithSelf.F.type: type = fn_type @Interface.WithSelf.F, @Interface.WithSelf(%Self.3ce) [symbolic] @@ -63,8 +64,7 @@ fn G(generic U: Different) -> U.(Interface.T); // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Different.type: type = facet_type <@Different> [concrete] // CHECK:STDOUT: %Self.8ba: %Different.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.776: type = pattern_type %Different.type [concrete] // CHECK:STDOUT: %U.patt: %pattern_type.776 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %U: %Different.type = symbolic_binding U, 0 [symbolic] @@ -105,7 +105,7 @@ fn G(generic U: Different) -> U.(Interface.T); // CHECK:STDOUT: %T.ref: %Interface.assoc_type = name_ref T, @T.%assoc1 [concrete = constants.%assoc1] // CHECK:STDOUT: %U.as_type.loc32_32.2: type = facet_access_type %U.ref [symbolic = %U.as_type.loc32_32.1 (constants.%U.as_type)] // CHECK:STDOUT: %.loc32: type = splice_block %Different.ref [concrete = constants.%Different.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Different.ref: type = name_ref Different, file.%Different.decl [concrete = constants.%Different.type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc32_15.2: %Different.type = symbolic_binding U, 0 [symbolic = %U.loc32_15.1 (constants.%U)] diff --git a/toolchain/check/testdata/interface/fail_modifiers.carbon b/toolchain/check/testdata/interface/fail_modifiers.carbon index 8807080564d5..b231114c6a84 100644 --- a/toolchain/check/testdata/interface/fail_modifiers.carbon +++ b/toolchain/check/testdata/interface/fail_modifiers.carbon @@ -81,6 +81,7 @@ interface I { // CHECK:STDOUT: --- fail_abstract.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Abstract.type: type = facet_type <@Abstract> [concrete] // CHECK:STDOUT: %Self: %Abstract.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: } @@ -108,6 +109,7 @@ interface I { // CHECK:STDOUT: --- fail_default.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Default.type: type = facet_type <@Default> [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -123,6 +125,7 @@ interface I { // CHECK:STDOUT: --- fail_virtual.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Virtual.type: type = facet_type <@Virtual> [concrete] // CHECK:STDOUT: %Self: %Virtual.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: } @@ -150,6 +153,7 @@ interface I { // CHECK:STDOUT: --- fail_protected.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Protected.type: type = facet_type <@Protected> [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -165,6 +169,7 @@ interface I { // CHECK:STDOUT: --- fail_private_member.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] @@ -234,6 +239,7 @@ interface I { // CHECK:STDOUT: --- fail_protected_member.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] diff --git a/toolchain/check/testdata/interface/fail_redeclare_member.carbon b/toolchain/check/testdata/interface/fail_redeclare_member.carbon index cb4cb35887d6..9101eff34e40 100644 --- a/toolchain/check/testdata/interface/fail_redeclare_member.carbon +++ b/toolchain/check/testdata/interface/fail_redeclare_member.carbon @@ -27,6 +27,7 @@ interface Interface { // CHECK:STDOUT: --- fail_redeclare_member.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Interface.type: type = facet_type <@Interface> [concrete] // CHECK:STDOUT: %Self: %Interface.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Interface.WithSelf.F.type: type = fn_type @Interface.WithSelf.F, @Interface.WithSelf(%Self) [symbolic] 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 517c9e8af716..7d2ae27bd2d2 100644 --- a/toolchain/check/testdata/interface/fail_todo_assoc_const_default.carbon +++ b/toolchain/check/testdata/interface/fail_todo_assoc_const_default.carbon @@ -28,6 +28,7 @@ interface I { // CHECK:STDOUT: --- fail_todo_assoc_const_default.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.assoc_type: type = assoc_entity_type @I [concrete] @@ -36,8 +37,8 @@ interface I { // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e55: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %assoc1: %I.assoc_type = assoc_entity element1, @I.WithSelf.%N [concrete] // CHECK:STDOUT: %int_42.20e: Core.IntLiteral = int_value 42 [concrete] @@ -90,7 +91,7 @@ interface I { // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.WithSelf.%T [concrete = constants.%assoc0.2ce] // CHECK:STDOUT: %i32.loc20_26: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc20_31: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc20_34: %tuple.type.24b = tuple_literal (%i32.loc20_26, %i32.loc20_31) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc20_34: %tuple.type.693 = tuple_literal (%i32.loc20_26, %i32.loc20_31) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc20_35: type = converted %.loc20_34, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: } // CHECK:STDOUT: %N: %i32 = assoc_const_decl @N [concrete] { diff --git a/toolchain/check/testdata/interface/final.carbon b/toolchain/check/testdata/interface/final.carbon index 80146c0cf2eb..d280dd19337c 100644 --- a/toolchain/check/testdata/interface/final.carbon +++ b/toolchain/check/testdata/interface/final.carbon @@ -31,6 +31,7 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: --- require_complete_impl.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.dcc: type = fn_type @I.WithSelf.F, @I.WithSelf(%Self.37e) [symbolic] @@ -40,8 +41,7 @@ fn Use() { UseJ(C); } // 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: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// 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] @@ -120,7 +120,7 @@ fn Use() { UseJ(C); } // 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: %.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)] @@ -130,7 +130,7 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: %T.patt.loc11_18.1: %pattern_type.6cb = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_18.2 (constants.%T.patt.1df)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_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: %.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.loc11_18.2: %I.type = symbolic_binding T, 0 [symbolic = %T.loc11_18.1 (constants.%T.dda)] @@ -139,7 +139,7 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: %T.patt.loc12_18.1: %pattern_type.2c5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_18.2 (constants.%T.patt.ac1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_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: %.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.loc12_18.2: %J.type = symbolic_binding T, 0 [symbolic = %T.loc12_18.1 (constants.%T.e40)] diff --git a/toolchain/check/testdata/interface/generic.carbon b/toolchain/check/testdata/interface/generic.carbon index 6e5fa125d4eb..8ffa4ab33f33 100644 --- a/toolchain/check/testdata/interface/generic.carbon +++ b/toolchain/check/testdata/interface/generic.carbon @@ -79,10 +79,10 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: --- generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Simple.type.887: type = generic_interface_type @Simple [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -152,36 +152,36 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: .Pass = %Pass.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Simple.decl: %Simple.type.887 = interface_decl @Simple [concrete = constants.%Simple.generic] { -// CHECK:STDOUT: %T.patt.loc4_19.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_19.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_19.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_19.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_21.1: type = splice_block %.loc4_21.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_21.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_19.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_19.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} // CHECK:STDOUT: %WithAssocFn.decl: %WithAssocFn.type.0a6 = interface_decl @WithAssocFn [concrete = constants.%WithAssocFn.generic] { -// CHECK:STDOUT: %T.patt.loc8_24.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_24.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc8_24.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_24.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_26.1: type = splice_block %.loc8_26.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_26.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_24.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_24.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %WithImplicitArgs.decl: %WithImplicitArgs.type = interface_decl @WithImplicitArgs [concrete = constants.%WithImplicitArgs.generic] { -// CHECK:STDOUT: %T.patt.loc22_29.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc22_29.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc22_29.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc22_29.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %N.patt.loc22_38.1: @WithImplicitArgs.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc22_38.2 (constants.%N.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc22_31.1: type = splice_block %.loc22_31.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc22_29: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc22_29: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc22_31.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc22_29.2: type = symbolic_binding T, 0 [symbolic = %T.loc22_29.1 (constants.%T.67d)] // CHECK:STDOUT: %.loc22_40: type = splice_block %T.ref [symbolic = %T.loc22_29.1 (constants.%T.67d)] { -// CHECK:STDOUT: %.Self.frozen.loc22_38: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc22_38: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc22_29.2 [symbolic = %T.loc22_29.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc22_38.2: @WithImplicitArgs.%T.loc22_29.1 (%T.67d) = symbolic_binding N, 1 [symbolic = %N.loc22_38.1 (constants.%N)] @@ -190,7 +190,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: %T.patt.loc24_28.1: %pattern_type.472 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc24_28.2 (constants.%T.patt.407)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc24: type = splice_block %Simple.type [concrete = constants.%Simple.type.d50] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Simple.ref: %Simple.type.887 = name_ref Simple, file.%Simple.decl [concrete = constants.%Simple.generic] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Simple.type: type = facet_type <@Simple, @Simple(constants.%C)> [concrete = constants.%Simple.type.d50] @@ -201,7 +201,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: %T.patt.loc25_18.1: %pattern_type.472 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc25_18.2 (constants.%T.patt.407)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc25: type = splice_block %Simple.type [concrete = constants.%Simple.type.d50] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Simple.ref: %Simple.type.887 = name_ref Simple, file.%Simple.decl [concrete = constants.%Simple.generic] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Simple.type: type = facet_type <@Simple, @Simple(constants.%C)> [concrete = constants.%Simple.type.d50] @@ -211,7 +211,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Simple(%T.loc4_19.2: type) { -// CHECK:STDOUT: %T.patt.loc4_19.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_19.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_19.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_19.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc4_19.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_19.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -231,7 +231,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @WithAssocFn(%T.loc8_24.2: type) { -// CHECK:STDOUT: %T.patt.loc8_24.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_24.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc8_24.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_24.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc8_24.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_24.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -266,7 +266,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @WithImplicitArgs(%T.loc22_29.2: type, %N.loc22_38.2: @WithImplicitArgs.%T.loc22_29.1 (%T.67d)) { -// CHECK:STDOUT: %T.patt.loc22_29.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc22_29.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc22_29.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc22_29.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc22_29.1: type = symbolic_binding T, 0 [symbolic = %T.loc22_29.1 (constants.%T.67d)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc22_29.1 [symbolic = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: %N.patt.loc22_38.2: @WithImplicitArgs.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc22_38.2 (constants.%N.patt)] @@ -381,14 +381,14 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Simple(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc4_19.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_19.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_19.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Simple.WithSelf(constants.%T.67d, constants.%Self.55b) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @WithAssocFn(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc8_24.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc8_24.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc8_24.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: @@ -397,7 +397,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: specific @WithAssocFn.WithSelf.F(constants.%T.67d, constants.%Self.e5d) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Simple(constants.%C) { -// CHECK:STDOUT: %T.patt.loc4_19.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_19.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_19.1 => constants.%C // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -414,7 +414,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @WithAssocFn(constants.%C) { -// CHECK:STDOUT: %T.patt.loc8_24.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc8_24.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc8_24.1 => constants.%C // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -447,7 +447,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: specific @WithAssocFn.WithSelf.F(constants.%C, constants.%WithAssocFn.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @WithImplicitArgs(constants.%T.67d, constants.%N) { -// CHECK:STDOUT: %T.patt.loc22_29.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc22_29.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc22_29.1 => constants.%T.67d // CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d // CHECK:STDOUT: %N.patt.loc22_38.2 => constants.%N.patt @@ -476,10 +476,10 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: --- fail_mismatched_args.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Generic.type.30d: type = generic_interface_type @Generic [concrete] // CHECK:STDOUT: %Generic.generic: %Generic.type.30d = struct_value () [concrete] @@ -513,10 +513,10 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: .G = %G.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Generic.decl: %Generic.type.30d = interface_decl @Generic [concrete = constants.%Generic.generic] { -// CHECK:STDOUT: %T.patt.loc4_20.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_20.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_20.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_20.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_22.1: type = splice_block %.loc4_22.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_22.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_20.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_20.1 (constants.%T.67d)] @@ -527,7 +527,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: %T.patt.loc9_15.1: %pattern_type.338 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt.49c)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9: type = splice_block %Generic.type [concrete = constants.%Generic.type.c3a] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Generic.ref: %Generic.type.30d = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %Generic.type: type = facet_type <@Generic, @Generic(constants.%A)> [concrete = constants.%Generic.type.c3a] @@ -538,7 +538,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: %T.patt.loc10_15.1: %pattern_type.dae = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_15.2 (constants.%T.patt.b1f)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10: type = splice_block %Generic.type [concrete = constants.%Generic.type.57d] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Generic.ref: %Generic.type.30d = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B] // CHECK:STDOUT: %Generic.type: type = facet_type <@Generic, @Generic(constants.%B)> [concrete = constants.%Generic.type.57d] @@ -548,7 +548,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Generic(%T.loc4_20.2: type) { -// CHECK:STDOUT: %T.patt.loc4_20.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_20.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_20.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_20.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc4_20.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_20.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -607,14 +607,14 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc4_20.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_20.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_20.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic.WithSelf(constants.%T.67d, constants.%Self) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic(constants.%A) { -// CHECK:STDOUT: %T.patt.loc4_20.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_20.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_20.1 => constants.%A // CHECK:STDOUT: } // CHECK:STDOUT: @@ -624,7 +624,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Generic(constants.%B) { -// CHECK:STDOUT: %T.patt.loc4_20.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_20.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_20.1 => constants.%B // CHECK:STDOUT: } // CHECK:STDOUT: @@ -636,8 +636,8 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: --- fail_args_count_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -660,7 +660,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: %T.patt.loc3_20.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_20.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_22.1: type = splice_block %.loc3_22.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc3_22.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_20.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_20.1 (constants.%T)] @@ -669,7 +669,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: %T.patt: = symbolic_binding_pattern T, 0 [concrete = ] // CHECK:STDOUT: } { // CHECK:STDOUT: %.1: = splice_block [concrete = ] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Generic.ref: %Generic.type.30d = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %.loc12_33: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc12_37: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] diff --git a/toolchain/check/testdata/interface/generic_binding_after_assoc_const.carbon b/toolchain/check/testdata/interface/generic_binding_after_assoc_const.carbon index 0a9d3bab3026..c03e6f319494 100644 --- a/toolchain/check/testdata/interface/generic_binding_after_assoc_const.carbon +++ b/toolchain/check/testdata/interface/generic_binding_after_assoc_const.carbon @@ -23,10 +23,10 @@ interface I { // CHECK:STDOUT: --- generic_binding_after_assoc_const.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: %I.type = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 1 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 1 [symbolic] @@ -56,7 +56,7 @@ interface I { // CHECK:STDOUT: %T.patt.loc16_17.1: %pattern_type = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc16_17.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc16_19.1: type = splice_block %.loc16_19.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc16_19.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc16_17.2: type = symbolic_binding T, 1 [symbolic = %T.loc16_17.1 (constants.%T)] @@ -69,7 +69,7 @@ interface I { // CHECK:STDOUT: %T.patt.loc20_17.1: %pattern_type = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc20_17.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc20_19.1: type = splice_block %.loc20_19.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc20_19.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc20_17.2: type = symbolic_binding T, 1 [symbolic = %T.loc20_17.1 (constants.%T)] diff --git a/toolchain/check/testdata/interface/generic_import.carbon b/toolchain/check/testdata/interface/generic_import.carbon index ea3aa86d5e7b..0c43477d96a9 100644 --- a/toolchain/check/testdata/interface/generic_import.carbon +++ b/toolchain/check/testdata/interface/generic_import.carbon @@ -34,8 +34,8 @@ impl C as AddWith(C) { // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -57,7 +57,7 @@ impl C as AddWith(C) { // CHECK:STDOUT: %T.patt.loc4_20.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_20.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_22.1: type = splice_block %.loc4_22.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_22.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_20.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_20.1 (constants.%T)] @@ -105,6 +105,7 @@ impl C as AddWith(C) { // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/interface/generic_method.carbon b/toolchain/check/testdata/interface/generic_method.carbon index c6ea260cf762..1fe570d5e8bf 100644 --- a/toolchain/check/testdata/interface/generic_method.carbon +++ b/toolchain/check/testdata/interface/generic_method.carbon @@ -87,24 +87,24 @@ fn CallIndirect() { // CHECK:STDOUT: --- generic_method_fewer_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %A.type.55a: type = generic_interface_type @A [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %A.generic: %A.type.55a = struct_value () [concrete] // CHECK:STDOUT: %A.type.acd: type = facet_type <@A, @A(%T.67d)> [symbolic] // CHECK:STDOUT: %Self.49a: %A.type.acd = symbolic_binding Self, 1 [symbolic] -// CHECK:STDOUT: %U.patt.b22: %pattern_type.98f = symbolic_binding_pattern U, 2 [symbolic] +// CHECK:STDOUT: %U.patt.5c4: %pattern_type.9a5 = symbolic_binding_pattern U, 2 [symbolic] // CHECK:STDOUT: %U.4e7: type = symbolic_binding U, 2 [symbolic] // CHECK:STDOUT: %ptr.8f6: type = ptr_type %U.4e7 [symbolic] // CHECK:STDOUT: %pattern_type.986: type = pattern_type %ptr.8f6 [symbolic] // CHECK:STDOUT: %u.param_patt.a01: %pattern_type.986 = value_param_pattern [symbolic] // CHECK:STDOUT: %u.patt.d42: %pattern_type.986 = wrapper_binding_pattern u, %u.param_patt.a01 [symbolic] -// CHECK:STDOUT: %tuple.type.76f: type = tuple_type (type, %A.type.acd, type) [symbolic] -// CHECK:STDOUT: %tuple.0f4: %tuple.type.76f = tuple_value (%T.67d, %Self.49a, %ptr.8f6) [symbolic] +// CHECK:STDOUT: %tuple.type.a31: type = tuple_type (type, %A.type.acd, type) [symbolic] +// CHECK:STDOUT: %tuple.a84: %tuple.type.a31 = tuple_value (%T.67d, %Self.49a, %ptr.8f6) [symbolic] // CHECK:STDOUT: %Self.as_type.763: type = facet_access_type %Self.49a [symbolic] // CHECK:STDOUT: %tuple.type.640: type = tuple_type (%T.67d, %Self.as_type.763, %ptr.8f6) [symbolic] // CHECK:STDOUT: %.f0d: Core.Form = init_form %tuple.type.640 [symbolic] @@ -128,14 +128,14 @@ fn CallIndirect() { // CHECK:STDOUT: %A.WithSelf.F.1e2: %A.WithSelf.F.type.ad4 = struct_value () [symbolic] // CHECK:STDOUT: %A.assoc_type.a54: type = assoc_entity_type @A, @A(%X) [concrete] // CHECK:STDOUT: %assoc0.987: %A.assoc_type.a54 = assoc_entity element0, @A.WithSelf.%A.WithSelf.F.decl [concrete] -// CHECK:STDOUT: %U.patt.d47: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %U.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %U.67d: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %ptr.e8f8f9.1: type = ptr_type %U.67d [symbolic] // CHECK:STDOUT: %pattern_type.4f4b84.1: type = pattern_type %ptr.e8f8f9.1 [symbolic] // CHECK:STDOUT: %u.param_patt.58b: %pattern_type.4f4b84.1 = value_param_pattern [symbolic] // CHECK:STDOUT: %u.patt.60f: %pattern_type.4f4b84.1 = wrapper_binding_pattern u, %u.param_patt.58b [symbolic] -// CHECK:STDOUT: %tuple.type.ff9: type = tuple_type (type, type, type) [concrete] -// CHECK:STDOUT: %tuple.f57: %tuple.type.ff9 = tuple_value (%X, %Y, %ptr.e8f8f9.1) [symbolic] +// CHECK:STDOUT: %tuple.type.531: type = tuple_type (type, type, type) [concrete] +// CHECK:STDOUT: %tuple.250: %tuple.type.531 = tuple_value (%X, %Y, %ptr.e8f8f9.1) [symbolic] // CHECK:STDOUT: %tuple.type.316: type = tuple_type (%X, %Y, %ptr.e8f8f9.1) [symbolic] // CHECK:STDOUT: %.3c1: Core.Form = init_form %tuple.type.316 [symbolic] // CHECK:STDOUT: %pattern_type.178: type = pattern_type %tuple.type.316 [symbolic] @@ -146,8 +146,8 @@ fn CallIndirect() { // CHECK:STDOUT: %A.facet.d1f: %A.type.df0 = facet_value %Y, (%A.impl_witness) [concrete] // CHECK:STDOUT: %A.WithSelf.F.type.781: type = fn_type @A.WithSelf.F, @A.WithSelf(%X, %A.facet.d1f) [concrete] // CHECK:STDOUT: %A.WithSelf.F.b66: %A.WithSelf.F.type.781 = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.966: type = tuple_type (type, %A.type.df0, type) [concrete] -// CHECK:STDOUT: %tuple.9e0: %tuple.type.966 = tuple_value (%X, %A.facet.d1f, %ptr.e8f8f9.1) [symbolic] +// CHECK:STDOUT: %tuple.type.202: type = tuple_type (type, %A.type.df0, type) [concrete] +// CHECK:STDOUT: %tuple.e37: %tuple.type.202 = tuple_value (%X, %A.facet.d1f, %ptr.e8f8f9.1) [symbolic] // CHECK:STDOUT: %require_complete.ef162c.1: = require_complete_type %ptr.e8f8f9.1 [symbolic] // CHECK:STDOUT: %require_complete.44f: = require_complete_type %tuple.type.316 [symbolic] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -182,7 +182,7 @@ fn CallIndirect() { // CHECK:STDOUT: %pattern_type.b4b: type = pattern_type %ptr.415 [concrete] // CHECK:STDOUT: %u.param_patt.5c1: %pattern_type.b4b = value_param_pattern [concrete] // CHECK:STDOUT: %u.patt.d7f: %pattern_type.b4b = wrapper_binding_pattern u, %u.param_patt.5c1 [concrete] -// CHECK:STDOUT: %tuple.8e4: %tuple.type.ff9 = tuple_value (%X, %Y, %ptr.415) [concrete] +// CHECK:STDOUT: %tuple.b32: %tuple.type.531 = tuple_value (%X, %Y, %ptr.415) [concrete] // CHECK:STDOUT: %tuple.type.2cd: type = tuple_type (%X, %Y, %ptr.415) [concrete] // CHECK:STDOUT: %.5bc: Core.Form = init_form %tuple.type.2cd [concrete] // CHECK:STDOUT: %pattern_type.b33: type = pattern_type %tuple.type.2cd [concrete] @@ -203,11 +203,11 @@ fn CallIndirect() { // CHECK:STDOUT: %Destroy.WithSelf.Op.403171.6: %Destroy.WithSelf.Op.type.ef016f.6 = struct_value () [concrete] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %A.type.df0, %type.as.BitAndWith.impl.Op [concrete] @@ -226,7 +226,7 @@ fn CallIndirect() { // CHECK:STDOUT: %A.WithSelf.F.a4d: %A.WithSelf.F.type.497 = struct_value () [symbolic] // CHECK:STDOUT: %.151: type = fn_type_with_self_type %A.WithSelf.F.type.497, %A.facet.318 [symbolic] // CHECK:STDOUT: %impl.elem0.1a3: %.151 = impl_witness_access %A.lookup_impl_witness, element0 [symbolic] -// CHECK:STDOUT: %tuple.575: %tuple.type.966 = tuple_value (%X, %A.facet.318, %ptr.415) [symbolic] +// CHECK:STDOUT: %tuple.ad8: %tuple.type.202 = tuple_value (%X, %A.facet.318, %ptr.415) [symbolic] // CHECK:STDOUT: %tuple.type.c2a: type = tuple_type (%X, %T.as_type.0af, %ptr.415) [symbolic] // CHECK:STDOUT: %.546: Core.Form = init_form %tuple.type.c2a [symbolic] // CHECK:STDOUT: %pattern_type.0e9: type = pattern_type %tuple.type.c2a [symbolic] @@ -255,7 +255,7 @@ fn CallIndirect() { // CHECK:STDOUT: %Copy.WithSelf.Op.type.107: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.9c6) [concrete] // CHECK:STDOUT: %.08f: type = fn_type_with_self_type %Copy.WithSelf.Op.type.107, %Copy.facet.9c6 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.ebe, @ptr.as.Copy.impl.Op(%Z) [concrete] -// CHECK:STDOUT: %tuple.a3a: %tuple.type.966 = tuple_value (%X, %A.facet.d1f, %ptr.415) [concrete] +// CHECK:STDOUT: %tuple.d83: %tuple.type.202 = tuple_value (%X, %A.facet.d1f, %ptr.415) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -292,10 +292,10 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: %A.type.55a = interface_decl @A [concrete = constants.%A.generic] { -// CHECK:STDOUT: %T.patt.loc5_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc5_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_16.1: type = splice_block %.loc5_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_14.1 (constants.%T.67d)] @@ -315,13 +315,13 @@ fn CallIndirect() { // CHECK:STDOUT: %T.patt.loc26_25.1: %pattern_type.871 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc26_25.2 (constants.%T.patt.c17)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc26_32.1: type = splice_block %.loc26_32.3 [concrete = constants.%facet_type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %A.ref: %A.type.55a = name_ref A, file.%A.decl [concrete = constants.%A.generic] // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %A.type: type = facet_type <@A, @A(constants.%X)> [concrete = constants.%A.type.df0] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Destroy.ref: type = name_ref Destroy, imports.%Core.Destroy [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %impl.elem0.loc26: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc26: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc26: = bound_method %A.type, %impl.elem0.loc26 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method.loc26(%A.type, %Destroy.ref) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc26_32.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type] @@ -333,7 +333,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @A(%T.loc5_14.2: type) { -// CHECK:STDOUT: %T.patt.loc5_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc5_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc5_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc5_14.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -346,7 +346,7 @@ fn CallIndirect() { // CHECK:STDOUT: // CHECK:STDOUT: !with Self: // CHECK:STDOUT: %A.WithSelf.F.decl: @A.WithSelf.%A.WithSelf.F.type (%A.WithSelf.F.type.08d) = fn_decl @A.WithSelf.F [symbolic = @A.WithSelf.%A.WithSelf.F (constants.%A.WithSelf.F.3fa)] { -// CHECK:STDOUT: %U.patt.loc6_17.1: %pattern_type.98f = symbolic_binding_pattern U, 2 [symbolic = %U.patt.loc6_17.2 (constants.%U.patt.b22)] +// CHECK:STDOUT: %U.patt.loc6_17.1: %pattern_type.9a5 = symbolic_binding_pattern U, 2 [symbolic = %U.patt.loc6_17.2 (constants.%U.patt.5c4)] // CHECK:STDOUT: %u.param_patt.loc6_26.1: @A.WithSelf.F.%pattern_type.loc6_26 (%pattern_type.986) = value_param_pattern [symbolic = %u.param_patt.loc6_26.2 (constants.%u.param_patt.a01)] // CHECK:STDOUT: %u.patt.loc6_26.1: @A.WithSelf.F.%pattern_type.loc6_26 (%pattern_type.986) = wrapper_binding_pattern u, %u.param_patt.loc6_26.1 [symbolic = %u.patt.loc6_26.2 (constants.%u.patt.d42)] // CHECK:STDOUT: %return.param_patt.loc6_47.1: @A.WithSelf.F.%pattern_type.loc6_47 (%pattern_type.0d7) = out_param_pattern [symbolic = %return.param_patt.loc6_47.2 (constants.%return.param_patt.9d3)] @@ -357,13 +357,13 @@ fn CallIndirect() { // CHECK:STDOUT: %Self.ref: @A.WithSelf.F.%A.type (%A.type.acd) = name_ref Self, %.loc6_39 [symbolic = %Self (constants.%Self.49a)] // CHECK:STDOUT: %U.ref.loc6_45: type = name_ref U, %U.loc6_17.2 [symbolic = %U.loc6_17.1 (constants.%U.4e7)] // CHECK:STDOUT: %ptr.loc6_46: type = ptr_type %U.ref.loc6_45 [symbolic = %ptr.loc6_29.1 (constants.%ptr.8f6)] -// CHECK:STDOUT: %.loc6_47.2: @A.WithSelf.F.%tuple.type.loc6_47.1 (%tuple.type.76f) = tuple_literal (%T.ref, %Self.ref, %ptr.loc6_46) [symbolic = %tuple (constants.%tuple.0f4)] +// CHECK:STDOUT: %.loc6_47.2: @A.WithSelf.F.%tuple.type.loc6_47.1 (%tuple.type.a31) = tuple_literal (%T.ref, %Self.ref, %ptr.loc6_46) [symbolic = %tuple (constants.%tuple.a84)] // CHECK:STDOUT: %Self.as_type.loc6_47.2: type = facet_access_type constants.%Self.49a [symbolic = %Self.as_type.loc6_47.1 (constants.%Self.as_type.763)] // CHECK:STDOUT: %.loc6_47.3: type = converted constants.%Self.49a, %Self.as_type.loc6_47.2 [symbolic = %Self.as_type.loc6_47.1 (constants.%Self.as_type.763)] // CHECK:STDOUT: %.loc6_47.4: type = converted %.loc6_47.2, constants.%tuple.type.640 [symbolic = %tuple.type.loc6_47.2 (constants.%tuple.type.640)] // CHECK:STDOUT: %.loc6_47.5: Core.Form = init_form %.loc6_47.4 [symbolic = %.loc6_47.1 (constants.%.f0d)] // CHECK:STDOUT: %.loc6_19.1: type = splice_block %.loc6_19.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_19.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc6_17.2: type = symbolic_binding U, 2 [symbolic = %U.loc6_17.1 (constants.%U.4e7)] @@ -393,7 +393,7 @@ fn CallIndirect() { // CHECK:STDOUT: // CHECK:STDOUT: impl @Y.as.A.impl: %Y.ref as %A.type { // CHECK:STDOUT: %Y.as.A.impl.F.decl: %Y.as.A.impl.F.type = fn_decl @Y.as.A.impl.F [concrete = constants.%Y.as.A.impl.F] { -// CHECK:STDOUT: %U.patt.loc16_17.1: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc16_17.2 (constants.%U.patt.d47)] +// CHECK:STDOUT: %U.patt.loc16_17.1: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc16_17.2 (constants.%U.patt.3a0)] // CHECK:STDOUT: %u.param_patt.loc16_26.1: @Y.as.A.impl.F.%pattern_type.loc16_26 (%pattern_type.4f4b84.1) = value_param_pattern [symbolic = %u.param_patt.loc16_26.2 (constants.%u.param_patt.58b)] // CHECK:STDOUT: %u.patt.loc16_26.1: @Y.as.A.impl.F.%pattern_type.loc16_26 (%pattern_type.4f4b84.1) = wrapper_binding_pattern u, %u.param_patt.loc16_26.1 [symbolic = %u.patt.loc16_26.2 (constants.%u.patt.60f)] // CHECK:STDOUT: %return.param_patt.loc16_44.1: @Y.as.A.impl.F.%pattern_type.loc16_44 (%pattern_type.178) = out_param_pattern [symbolic = %return.param_patt.loc16_44.2 (constants.%return.param_patt.b96)] @@ -403,11 +403,11 @@ fn CallIndirect() { // CHECK:STDOUT: %Y.ref: type = name_ref Y, file.%Y.decl [concrete = constants.%Y] // CHECK:STDOUT: %U.ref.loc16_42: type = name_ref U, %U.loc16_17.2 [symbolic = %U.loc16_17.1 (constants.%U.67d)] // CHECK:STDOUT: %ptr.loc16_43: type = ptr_type %U.ref.loc16_42 [symbolic = %ptr.loc16_29.1 (constants.%ptr.e8f8f9.1)] -// CHECK:STDOUT: %.loc16_44.2: %tuple.type.ff9 = tuple_literal (%X.ref, %Y.ref, %ptr.loc16_43) [symbolic = %tuple (constants.%tuple.f57)] +// CHECK:STDOUT: %.loc16_44.2: %tuple.type.531 = tuple_literal (%X.ref, %Y.ref, %ptr.loc16_43) [symbolic = %tuple (constants.%tuple.250)] // CHECK:STDOUT: %.loc16_44.3: type = converted %.loc16_44.2, constants.%tuple.type.316 [symbolic = %tuple.type.loc16 (constants.%tuple.type.316)] // CHECK:STDOUT: %.loc16_44.4: Core.Form = init_form %.loc16_44.3 [symbolic = %.loc16_44.1 (constants.%.3c1)] // CHECK:STDOUT: %.loc16_19.1: type = splice_block %.loc16_19.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc16_19.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc16_17.2: type = symbolic_binding U, 0 [symbolic = %U.loc16_17.1 (constants.%U.67d)] @@ -456,7 +456,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @A.WithSelf.F(@A.%T.loc5_14.2: type, @A.%Self.loc5_22.1: @A.%A.type (%A.type.acd), %U.loc6_17.2: type) { -// CHECK:STDOUT: %U.patt.loc6_17.2: %pattern_type.98f = symbolic_binding_pattern U, 2 [symbolic = %U.patt.loc6_17.2 (constants.%U.patt.b22)] +// CHECK:STDOUT: %U.patt.loc6_17.2: %pattern_type.9a5 = symbolic_binding_pattern U, 2 [symbolic = %U.patt.loc6_17.2 (constants.%U.patt.5c4)] // CHECK:STDOUT: %U.loc6_17.1: type = symbolic_binding U, 2 [symbolic = %U.loc6_17.1 (constants.%U.4e7)] // CHECK:STDOUT: %ptr.loc6_29.1: type = ptr_type %U.loc6_17.1 [symbolic = %ptr.loc6_29.1 (constants.%ptr.8f6)] // CHECK:STDOUT: %pattern_type.loc6_26: type = pattern_type %ptr.loc6_29.1 [symbolic = %pattern_type.loc6_26 (constants.%pattern_type.986)] @@ -465,8 +465,8 @@ fn CallIndirect() { // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T.67d)] // CHECK:STDOUT: %A.type: type = facet_type <@A, @A(%T)> [symbolic = %A.type (constants.%A.type.acd)] // CHECK:STDOUT: %Self: @A.WithSelf.F.%A.type (%A.type.acd) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.49a)] -// CHECK:STDOUT: %tuple.type.loc6_47.1: type = tuple_type (type, %A.type, type) [symbolic = %tuple.type.loc6_47.1 (constants.%tuple.type.76f)] -// CHECK:STDOUT: %tuple: @A.WithSelf.F.%tuple.type.loc6_47.1 (%tuple.type.76f) = tuple_value (%T, %Self, %ptr.loc6_29.1) [symbolic = %tuple (constants.%tuple.0f4)] +// CHECK:STDOUT: %tuple.type.loc6_47.1: type = tuple_type (type, %A.type, type) [symbolic = %tuple.type.loc6_47.1 (constants.%tuple.type.a31)] +// CHECK:STDOUT: %tuple: @A.WithSelf.F.%tuple.type.loc6_47.1 (%tuple.type.a31) = tuple_value (%T, %Self, %ptr.loc6_29.1) [symbolic = %tuple (constants.%tuple.a84)] // CHECK:STDOUT: %Self.as_type.loc6_47.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc6_47.1 (constants.%Self.as_type.763)] // CHECK:STDOUT: %tuple.type.loc6_47.2: type = tuple_type (%T, %Self.as_type.loc6_47.1, %ptr.loc6_29.1) [symbolic = %tuple.type.loc6_47.2 (constants.%tuple.type.640)] // CHECK:STDOUT: %.loc6_47.1: Core.Form = init_form %tuple.type.loc6_47.2 [symbolic = %.loc6_47.1 (constants.%.f0d)] @@ -478,13 +478,13 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @Y.as.A.impl.F(%U.loc16_17.2: type) { -// CHECK:STDOUT: %U.patt.loc16_17.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc16_17.2 (constants.%U.patt.d47)] +// CHECK:STDOUT: %U.patt.loc16_17.2: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc16_17.2 (constants.%U.patt.3a0)] // CHECK:STDOUT: %U.loc16_17.1: type = symbolic_binding U, 0 [symbolic = %U.loc16_17.1 (constants.%U.67d)] // CHECK:STDOUT: %ptr.loc16_29.1: type = ptr_type %U.loc16_17.1 [symbolic = %ptr.loc16_29.1 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %pattern_type.loc16_26: type = pattern_type %ptr.loc16_29.1 [symbolic = %pattern_type.loc16_26 (constants.%pattern_type.4f4b84.1)] // CHECK:STDOUT: %u.param_patt.loc16_26.2: @Y.as.A.impl.F.%pattern_type.loc16_26 (%pattern_type.4f4b84.1) = value_param_pattern [symbolic = %u.param_patt.loc16_26.2 (constants.%u.param_patt.58b)] // CHECK:STDOUT: %u.patt.loc16_26.2: @Y.as.A.impl.F.%pattern_type.loc16_26 (%pattern_type.4f4b84.1) = wrapper_binding_pattern u, %u.param_patt.loc16_26.2 [symbolic = %u.patt.loc16_26.2 (constants.%u.patt.60f)] -// CHECK:STDOUT: %tuple: %tuple.type.ff9 = tuple_value (constants.%X, constants.%Y, %ptr.loc16_29.1) [symbolic = %tuple (constants.%tuple.f57)] +// CHECK:STDOUT: %tuple: %tuple.type.531 = tuple_value (constants.%X, constants.%Y, %ptr.loc16_29.1) [symbolic = %tuple (constants.%tuple.250)] // CHECK:STDOUT: %tuple.type.loc16: type = tuple_type (constants.%X, constants.%Y, %ptr.loc16_29.1) [symbolic = %tuple.type.loc16 (constants.%tuple.type.316)] // CHECK:STDOUT: %.loc16_44.1: Core.Form = init_form %tuple.type.loc16 [symbolic = %.loc16_44.1 (constants.%.3c1)] // CHECK:STDOUT: %pattern_type.loc16_44: type = pattern_type %tuple.type.loc16 [symbolic = %pattern_type.loc16_44 (constants.%pattern_type.178)] @@ -676,14 +676,14 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc5_14.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.WithSelf(constants.%T.67d, constants.%Self.49a) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @A.WithSelf.F(constants.%T.67d, constants.%Self.49a, constants.%U.4e7) { -// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.b22 +// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.5c4 // CHECK:STDOUT: %U.loc6_17.1 => constants.%U.4e7 // CHECK:STDOUT: %ptr.loc6_29.1 => constants.%ptr.8f6 // CHECK:STDOUT: %pattern_type.loc6_26 => constants.%pattern_type.986 @@ -692,8 +692,8 @@ fn CallIndirect() { // CHECK:STDOUT: %T => constants.%T.67d // CHECK:STDOUT: %A.type => constants.%A.type.acd // CHECK:STDOUT: %Self => constants.%Self.49a -// CHECK:STDOUT: %tuple.type.loc6_47.1 => constants.%tuple.type.76f -// CHECK:STDOUT: %tuple => constants.%tuple.0f4 +// CHECK:STDOUT: %tuple.type.loc6_47.1 => constants.%tuple.type.a31 +// CHECK:STDOUT: %tuple => constants.%tuple.a84 // CHECK:STDOUT: %Self.as_type.loc6_47.1 => constants.%Self.as_type.763 // CHECK:STDOUT: %tuple.type.loc6_47.2 => constants.%tuple.type.640 // CHECK:STDOUT: %.loc6_47.1 => constants.%.f0d @@ -703,7 +703,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A(constants.%X) { -// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc5_14.1 => constants.%X // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -723,13 +723,13 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Y.as.A.impl.F(constants.%U.67d) { -// CHECK:STDOUT: %U.patt.loc16_17.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc16_17.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc16_17.1 => constants.%U.67d // CHECK:STDOUT: %ptr.loc16_29.1 => constants.%ptr.e8f8f9.1 // CHECK:STDOUT: %pattern_type.loc16_26 => constants.%pattern_type.4f4b84.1 // CHECK:STDOUT: %u.param_patt.loc16_26.2 => constants.%u.param_patt.58b // CHECK:STDOUT: %u.patt.loc16_26.2 => constants.%u.patt.60f -// CHECK:STDOUT: %tuple => constants.%tuple.f57 +// CHECK:STDOUT: %tuple => constants.%tuple.250 // CHECK:STDOUT: %tuple.type.loc16 => constants.%tuple.type.316 // CHECK:STDOUT: %.loc16_44.1 => constants.%.3c1 // CHECK:STDOUT: %pattern_type.loc16_44 => constants.%pattern_type.178 @@ -749,7 +749,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.WithSelf.F(constants.%X, constants.%A.facet.d1f, constants.%U.67d) { -// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.b22 +// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.5c4 // CHECK:STDOUT: %U.loc6_17.1 => constants.%U.67d // CHECK:STDOUT: %ptr.loc6_29.1 => constants.%ptr.e8f8f9.1 // CHECK:STDOUT: %pattern_type.loc6_26 => constants.%pattern_type.4f4b84.1 @@ -758,8 +758,8 @@ fn CallIndirect() { // CHECK:STDOUT: %T => constants.%X // CHECK:STDOUT: %A.type => constants.%A.type.df0 // CHECK:STDOUT: %Self => constants.%A.facet.d1f -// CHECK:STDOUT: %tuple.type.loc6_47.1 => constants.%tuple.type.966 -// CHECK:STDOUT: %tuple => constants.%tuple.9e0 +// CHECK:STDOUT: %tuple.type.loc6_47.1 => constants.%tuple.type.202 +// CHECK:STDOUT: %tuple => constants.%tuple.e37 // CHECK:STDOUT: %Self.as_type.loc6_47.1 => constants.%Y // CHECK:STDOUT: %tuple.type.loc6_47.2 => constants.%tuple.type.316 // CHECK:STDOUT: %.loc6_47.1 => constants.%.3c1 @@ -769,13 +769,13 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Y.as.A.impl.F(constants.%Z) { -// CHECK:STDOUT: %U.patt.loc16_17.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc16_17.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc16_17.1 => constants.%Z // CHECK:STDOUT: %ptr.loc16_29.1 => constants.%ptr.415 // CHECK:STDOUT: %pattern_type.loc16_26 => constants.%pattern_type.b4b // CHECK:STDOUT: %u.param_patt.loc16_26.2 => constants.%u.param_patt.5c1 // CHECK:STDOUT: %u.patt.loc16_26.2 => constants.%u.patt.d7f -// CHECK:STDOUT: %tuple => constants.%tuple.8e4 +// CHECK:STDOUT: %tuple => constants.%tuple.b32 // CHECK:STDOUT: %tuple.type.loc16 => constants.%tuple.type.2cd // CHECK:STDOUT: %.loc16_44.1 => constants.%.5bc // CHECK:STDOUT: %pattern_type.loc16_44 => constants.%pattern_type.b33 @@ -823,7 +823,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.WithSelf.F(constants.%X, constants.%A.facet.318, constants.%Z) { -// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.b22 +// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.5c4 // CHECK:STDOUT: %U.loc6_17.1 => constants.%Z // CHECK:STDOUT: %ptr.loc6_29.1 => constants.%ptr.415 // CHECK:STDOUT: %pattern_type.loc6_26 => constants.%pattern_type.b4b @@ -832,8 +832,8 @@ fn CallIndirect() { // CHECK:STDOUT: %T => constants.%X // CHECK:STDOUT: %A.type => constants.%A.type.df0 // CHECK:STDOUT: %Self => constants.%A.facet.318 -// CHECK:STDOUT: %tuple.type.loc6_47.1 => constants.%tuple.type.966 -// CHECK:STDOUT: %tuple => constants.%tuple.575 +// CHECK:STDOUT: %tuple.type.loc6_47.1 => constants.%tuple.type.202 +// CHECK:STDOUT: %tuple => constants.%tuple.ad8 // CHECK:STDOUT: %Self.as_type.loc6_47.1 => constants.%T.as_type.0af // CHECK:STDOUT: %tuple.type.loc6_47.2 => constants.%tuple.type.c2a // CHECK:STDOUT: %.loc6_47.1 => constants.%.546 @@ -865,7 +865,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.WithSelf.F(constants.%X, constants.%A.facet.d1f, constants.%Z) { -// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.b22 +// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.5c4 // CHECK:STDOUT: %U.loc6_17.1 => constants.%Z // CHECK:STDOUT: %ptr.loc6_29.1 => constants.%ptr.415 // CHECK:STDOUT: %pattern_type.loc6_26 => constants.%pattern_type.b4b @@ -874,8 +874,8 @@ fn CallIndirect() { // CHECK:STDOUT: %T => constants.%X // CHECK:STDOUT: %A.type => constants.%A.type.df0 // CHECK:STDOUT: %Self => constants.%A.facet.d1f -// CHECK:STDOUT: %tuple.type.loc6_47.1 => constants.%tuple.type.966 -// CHECK:STDOUT: %tuple => constants.%tuple.a3a +// CHECK:STDOUT: %tuple.type.loc6_47.1 => constants.%tuple.type.202 +// CHECK:STDOUT: %tuple => constants.%tuple.d83 // CHECK:STDOUT: %Self.as_type.loc6_47.1 => constants.%Y // CHECK:STDOUT: %tuple.type.loc6_47.2 => constants.%tuple.type.2cd // CHECK:STDOUT: %.loc6_47.1 => constants.%.5bc @@ -887,23 +887,23 @@ fn CallIndirect() { // CHECK:STDOUT: --- generic_method_more_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %A.type.55a: type = generic_interface_type @A [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %A.generic: %A.type.55a = struct_value () [concrete] // CHECK:STDOUT: %A.type.acd: type = facet_type <@A, @A(%T.67d)> [symbolic] // CHECK:STDOUT: %Self.49a: %A.type.acd = symbolic_binding Self, 1 [symbolic] -// CHECK:STDOUT: %U.patt.b22: %pattern_type.98f = symbolic_binding_pattern U, 2 [symbolic] +// CHECK:STDOUT: %U.patt.5c4: %pattern_type.9a5 = symbolic_binding_pattern U, 2 [symbolic] // CHECK:STDOUT: %U.4e7: type = symbolic_binding U, 2 [symbolic] // CHECK:STDOUT: %pattern_type.62e: type = pattern_type %U.4e7 [symbolic] // CHECK:STDOUT: %u.param_patt.6ef: %pattern_type.62e = value_param_pattern [symbolic] // CHECK:STDOUT: %u.patt.9b1: %pattern_type.62e = wrapper_binding_pattern u, %u.param_patt.6ef [symbolic] -// CHECK:STDOUT: %tuple.type.76f: type = tuple_type (type, %A.type.acd, type) [symbolic] -// CHECK:STDOUT: %tuple.55a: %tuple.type.76f = tuple_value (%T.67d, %Self.49a, %U.4e7) [symbolic] +// CHECK:STDOUT: %tuple.type.a31: type = tuple_type (type, %A.type.acd, type) [symbolic] +// CHECK:STDOUT: %tuple.62b: %tuple.type.a31 = tuple_value (%T.67d, %Self.49a, %U.4e7) [symbolic] // CHECK:STDOUT: %Self.as_type.763: type = facet_access_type %Self.49a [symbolic] // CHECK:STDOUT: %tuple.type.d73: type = tuple_type (%T.67d, %Self.as_type.763, %U.4e7) [symbolic] // CHECK:STDOUT: %.bc3: Core.Form = init_form %tuple.type.d73 [symbolic] @@ -920,14 +920,14 @@ fn CallIndirect() { // CHECK:STDOUT: %Y1: type = class_type @Y1 [concrete] // CHECK:STDOUT: %Y2: type = class_type @Y2 [concrete] // CHECK:STDOUT: %Z: type = class_type @Z [concrete] -// CHECK:STDOUT: %V1.patt: %pattern_type.98f = symbolic_binding_pattern V1, 0 [symbolic] +// CHECK:STDOUT: %V1.patt: %pattern_type.9a5 = symbolic_binding_pattern V1, 0 [symbolic] // CHECK:STDOUT: %V1: type = symbolic_binding V1, 0 [symbolic] -// CHECK:STDOUT: %V2.patt: %pattern_type.98f = symbolic_binding_pattern V2, 1 [symbolic] +// CHECK:STDOUT: %V2.patt: %pattern_type.9a5 = symbolic_binding_pattern V2, 1 [symbolic] // CHECK:STDOUT: %V2: type = symbolic_binding V2, 1 [symbolic] -// CHECK:STDOUT: %W.patt: %pattern_type.98f = symbolic_binding_pattern W, 2 [symbolic] +// CHECK:STDOUT: %W.patt: %pattern_type.9a5 = symbolic_binding_pattern W, 2 [symbolic] // CHECK:STDOUT: %W: type = symbolic_binding W, 2 [symbolic] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.4b9: %tuple.type.24b = tuple_value (%V1, %V2) [symbolic] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.fa2: %tuple.type.693 = tuple_value (%V1, %V2) [symbolic] // CHECK:STDOUT: %tuple.type.a5e: type = tuple_type (%V1, %V2) [symbolic] // CHECK:STDOUT: %A.type.3ad: type = facet_type <@A, @A(%W)> [symbolic] // CHECK:STDOUT: %.b95: = impl_self_witness %tuple.type.a5e, @A, @A(%W) [symbolic] @@ -938,13 +938,13 @@ fn CallIndirect() { // CHECK:STDOUT: %A.assoc_type.250: type = assoc_entity_type @A, @A(%W) [symbolic] // CHECK:STDOUT: %assoc0.6de: %A.assoc_type.250 = assoc_entity element0, @A.WithSelf.%A.WithSelf.F.decl [symbolic] // CHECK:STDOUT: %require_complete.7b2: = require_complete_type %A.type.3ad [symbolic] -// CHECK:STDOUT: %U.patt.637: %pattern_type.98f = symbolic_binding_pattern U, 3 [symbolic] +// CHECK:STDOUT: %U.patt.755: %pattern_type.9a5 = symbolic_binding_pattern U, 3 [symbolic] // CHECK:STDOUT: %U.ce4: type = symbolic_binding U, 3 [symbolic] // CHECK:STDOUT: %pattern_type.e4a: type = pattern_type %U.ce4 [symbolic] // CHECK:STDOUT: %u.param_patt.afe: %pattern_type.e4a = value_param_pattern [symbolic] // CHECK:STDOUT: %u.patt.60c: %pattern_type.e4a = wrapper_binding_pattern u, %u.param_patt.afe [symbolic] -// CHECK:STDOUT: %tuple.type.11f: type = tuple_type (type, %tuple.type.24b, type) [concrete] -// CHECK:STDOUT: %tuple.117: %tuple.type.11f = tuple_value (%W, %tuple.4b9, %U.ce4) [symbolic] +// CHECK:STDOUT: %tuple.type.649: type = tuple_type (type, %tuple.type.693, type) [concrete] +// CHECK:STDOUT: %tuple.cd3: %tuple.type.649 = tuple_value (%W, %tuple.fa2, %U.ce4) [symbolic] // CHECK:STDOUT: %tuple.type.897: type = tuple_type (%W, %tuple.type.a5e, %U.ce4) [symbolic] // CHECK:STDOUT: %.f8e: Core.Form = init_form %tuple.type.897 [symbolic] // CHECK:STDOUT: %pattern_type.5cc: type = pattern_type %tuple.type.897 [symbolic] @@ -955,14 +955,14 @@ fn CallIndirect() { // CHECK:STDOUT: %A.facet.de4: %A.type.3ad = facet_value %tuple.type.a5e, (%A.impl_witness.07b) [symbolic] // CHECK:STDOUT: %A.WithSelf.F.type.3e0: type = fn_type @A.WithSelf.F, @A.WithSelf(%W, %A.facet.de4) [symbolic] // CHECK:STDOUT: %A.WithSelf.F.43a: %A.WithSelf.F.type.3e0 = struct_value () [symbolic] -// CHECK:STDOUT: %tuple.type.a90: type = tuple_type (type, %A.type.3ad, type) [symbolic] -// CHECK:STDOUT: %tuple.14b: %tuple.type.a90 = tuple_value (%W, %A.facet.de4, %U.ce4) [symbolic] +// CHECK:STDOUT: %tuple.type.038: type = tuple_type (type, %A.type.3ad, type) [symbolic] +// CHECK:STDOUT: %tuple.c3f: %tuple.type.038 = tuple_value (%W, %A.facet.de4, %U.ce4) [symbolic] // CHECK:STDOUT: %require_complete.5a4: = require_complete_type %U.ce4 [symbolic] // CHECK:STDOUT: %require_complete.da0: = require_complete_type %tuple.type.897 [symbolic] // CHECK:STDOUT: %tuple.type.as.A.impl.F.specific_fn.37b: = specific_function %tuple.type.as.A.impl.F.742, @tuple.type.as.A.impl.F(%V1, %V2, %W, %U.ce4) [symbolic] // CHECK:STDOUT: %Call.type: type = fn_type @Call [concrete] // CHECK:STDOUT: %Call: %Call.type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.8db: %tuple.type.24b = tuple_value (%Y1, %Y2) [concrete] +// CHECK:STDOUT: %tuple.71f: %tuple.type.693 = tuple_value (%Y1, %Y2) [concrete] // CHECK:STDOUT: %tuple.type.59f: type = tuple_type (%Y1, %Y2) [concrete] // CHECK:STDOUT: %A.type.df0: type = facet_type <@A, @A(%X)> [concrete] // CHECK:STDOUT: %.de6: = impl_self_witness %tuple.type.59f, @A, @A(%X) [concrete] @@ -983,7 +983,7 @@ fn CallIndirect() { // CHECK:STDOUT: %pattern_type.34e: type = pattern_type %Z [concrete] // CHECK:STDOUT: %u.param_patt.a3e: %pattern_type.34e = value_param_pattern [concrete] // CHECK:STDOUT: %u.patt.5d3: %pattern_type.34e = wrapper_binding_pattern u, %u.param_patt.a3e [concrete] -// CHECK:STDOUT: %tuple.1a1: %tuple.type.11f = tuple_value (%X, %tuple.8db, %Z) [concrete] +// CHECK:STDOUT: %tuple.415: %tuple.type.649 = tuple_value (%X, %tuple.71f, %Z) [concrete] // CHECK:STDOUT: %tuple.type.d40: type = tuple_type (%X, %tuple.type.59f, %Z) [concrete] // CHECK:STDOUT: %.1a9: Core.Form = init_form %tuple.type.d40 [concrete] // CHECK:STDOUT: %pattern_type.6a8: type = pattern_type %tuple.type.d40 [concrete] @@ -1007,11 +1007,11 @@ fn CallIndirect() { // CHECK:STDOUT: %Destroy.WithSelf.Op.bound: = bound_method %.7dc, %Destroy.WithSelf.Op.403171.6 [concrete] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %A.type.df0, %type.as.BitAndWith.impl.Op [concrete] @@ -1030,8 +1030,8 @@ fn CallIndirect() { // CHECK:STDOUT: %A.WithSelf.F.a4d: %A.WithSelf.F.type.497 = struct_value () [symbolic] // CHECK:STDOUT: %.151: type = fn_type_with_self_type %A.WithSelf.F.type.497, %A.facet.318 [symbolic] // CHECK:STDOUT: %impl.elem0.1a3: %.151 = impl_witness_access %A.lookup_impl_witness, element0 [symbolic] -// CHECK:STDOUT: %tuple.type.966: type = tuple_type (type, %A.type.df0, type) [concrete] -// CHECK:STDOUT: %tuple.b58: %tuple.type.966 = tuple_value (%X, %A.facet.318, %Z) [symbolic] +// CHECK:STDOUT: %tuple.type.202: type = tuple_type (type, %A.type.df0, type) [concrete] +// CHECK:STDOUT: %tuple.550: %tuple.type.202 = tuple_value (%X, %A.facet.318, %Z) [symbolic] // CHECK:STDOUT: %tuple.type.036: type = tuple_type (%X, %T.as_type, %Z) [symbolic] // CHECK:STDOUT: %.772: Core.Form = init_form %tuple.type.036 [symbolic] // CHECK:STDOUT: %pattern_type.8f9: type = pattern_type %tuple.type.036 [symbolic] @@ -1050,7 +1050,7 @@ fn CallIndirect() { // CHECK:STDOUT: %facet_value: %facet_type = facet_value %tuple.type.59f, (%A.impl_witness.0e0, %custom_witness.6c4ec3.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.918: %tuple.type.966 = tuple_value (%X, %A.facet.89e, %Z) [concrete] +// CHECK:STDOUT: %tuple.b5b: %tuple.type.202 = tuple_value (%X, %A.facet.89e, %Z) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1080,10 +1080,10 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: %A.type.55a = interface_decl @A [concrete = constants.%A.generic] { -// CHECK:STDOUT: %T.patt.loc5_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc5_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_16.1: type = splice_block %.loc5_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_14.1 (constants.%T.67d)] @@ -1093,29 +1093,29 @@ fn CallIndirect() { // CHECK:STDOUT: %Y2.decl: type = class_decl @Y2 [concrete = constants.%Y2] {} {} // CHECK:STDOUT: %Z.decl: type = class_decl @Z [concrete = constants.%Z] {} {} // CHECK:STDOUT: impl_decl @tuple.type.as.A.impl [concrete] { -// CHECK:STDOUT: %V1.patt.loc14_16.1: %pattern_type.98f = symbolic_binding_pattern V1, 0 [symbolic = %V1.patt.loc14_16.2 (constants.%V1.patt)] -// CHECK:STDOUT: %V2.patt.loc14_26.1: %pattern_type.98f = symbolic_binding_pattern V2, 1 [symbolic = %V2.patt.loc14_26.2 (constants.%V2.patt)] -// CHECK:STDOUT: %W.patt.loc14_35.1: %pattern_type.98f = symbolic_binding_pattern W, 2 [symbolic = %W.patt.loc14_35.2 (constants.%W.patt)] +// CHECK:STDOUT: %V1.patt.loc14_16.1: %pattern_type.9a5 = symbolic_binding_pattern V1, 0 [symbolic = %V1.patt.loc14_16.2 (constants.%V1.patt)] +// CHECK:STDOUT: %V2.patt.loc14_26.1: %pattern_type.9a5 = symbolic_binding_pattern V2, 1 [symbolic = %V2.patt.loc14_26.2 (constants.%V2.patt)] +// CHECK:STDOUT: %W.patt.loc14_35.1: %pattern_type.9a5 = symbolic_binding_pattern W, 2 [symbolic = %W.patt.loc14_35.2 (constants.%W.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %V1.ref: type = name_ref V1, %V1.loc14_16.2 [symbolic = %V1.loc14_16.1 (constants.%V1)] // CHECK:STDOUT: %V2.ref: type = name_ref V2, %V2.loc14_26.2 [symbolic = %V2.loc14_26.1 (constants.%V2)] -// CHECK:STDOUT: %.loc14_50.1: %tuple.type.24b = tuple_literal (%V1.ref, %V2.ref) [symbolic = %tuple (constants.%tuple.4b9)] +// CHECK:STDOUT: %.loc14_50.1: %tuple.type.693 = tuple_literal (%V1.ref, %V2.ref) [symbolic = %tuple (constants.%tuple.fa2)] // CHECK:STDOUT: %.loc14_50.2: type = converted %.loc14_50.1, constants.%tuple.type.a5e [symbolic = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %A.ref: %A.type.55a = name_ref A, file.%A.decl [concrete = constants.%A.generic] // CHECK:STDOUT: %W.ref: type = name_ref W, %W.loc14_35.2 [symbolic = %W.loc14_35.1 (constants.%W)] // CHECK:STDOUT: %A.type.loc14_58.2: type = facet_type <@A, @A(constants.%W)> [symbolic = %A.type.loc14_58.1 (constants.%A.type.3ad)] // CHECK:STDOUT: %.loc14_18.1: type = splice_block %.loc14_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc14_16: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc14_16: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc14_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %V1.loc14_16.2: type = symbolic_binding V1, 0 [symbolic = %V1.loc14_16.1 (constants.%V1)] // CHECK:STDOUT: %.loc14_28.1: type = splice_block %.loc14_28.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc14_26: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc14_26: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc14_28.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %V2.loc14_26.2: type = symbolic_binding V2, 1 [symbolic = %V2.loc14_26.1 (constants.%V2)] // CHECK:STDOUT: %.loc14_37.1: type = splice_block %.loc14_37.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc14_35: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc14_35: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc14_37.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %W.loc14_35.2: type = symbolic_binding W, 2 [symbolic = %W.loc14_35.1 (constants.%W)] @@ -1126,13 +1126,13 @@ fn CallIndirect() { // CHECK:STDOUT: %T.patt.loc27_25.1: %pattern_type.871 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc27_25.2 (constants.%T.patt.c17)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc27_32.1: type = splice_block %.loc27_32.3 [concrete = constants.%facet_type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %A.ref: %A.type.55a = name_ref A, file.%A.decl [concrete = constants.%A.generic] // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %A.type: type = facet_type <@A, @A(constants.%X)> [concrete = constants.%A.type.df0] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Destroy.ref: type = name_ref Destroy, imports.%Core.Destroy [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %impl.elem0.loc27: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc27: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc27: = bound_method %A.type, %impl.elem0.loc27 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method.loc27(%A.type, %Destroy.ref) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc27_32.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type] @@ -1144,7 +1144,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @A(%T.loc5_14.2: type) { -// CHECK:STDOUT: %T.patt.loc5_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc5_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_14.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc5_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc5_14.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -1157,7 +1157,7 @@ fn CallIndirect() { // CHECK:STDOUT: // CHECK:STDOUT: !with Self: // CHECK:STDOUT: %A.WithSelf.F.decl: @A.WithSelf.%A.WithSelf.F.type (%A.WithSelf.F.type.08d) = fn_decl @A.WithSelf.F [symbolic = @A.WithSelf.%A.WithSelf.F (constants.%A.WithSelf.F.3fa)] { -// CHECK:STDOUT: %U.patt.loc6_17.1: %pattern_type.98f = symbolic_binding_pattern U, 2 [symbolic = %U.patt.loc6_17.2 (constants.%U.patt.b22)] +// CHECK:STDOUT: %U.patt.loc6_17.1: %pattern_type.9a5 = symbolic_binding_pattern U, 2 [symbolic = %U.patt.loc6_17.2 (constants.%U.patt.5c4)] // CHECK:STDOUT: %u.param_patt.loc6_26.1: @A.WithSelf.F.%pattern_type.loc6_26 (%pattern_type.62e) = value_param_pattern [symbolic = %u.param_patt.loc6_26.2 (constants.%u.param_patt.6ef)] // CHECK:STDOUT: %u.patt.loc6_26.1: @A.WithSelf.F.%pattern_type.loc6_26 (%pattern_type.62e) = wrapper_binding_pattern u, %u.param_patt.loc6_26.1 [symbolic = %u.patt.loc6_26.2 (constants.%u.patt.9b1)] // CHECK:STDOUT: %return.param_patt.loc6_45.1: @A.WithSelf.F.%pattern_type.loc6_45 (%pattern_type.d6c) = out_param_pattern [symbolic = %return.param_patt.loc6_45.2 (constants.%return.param_patt.52a)] @@ -1167,13 +1167,13 @@ fn CallIndirect() { // CHECK:STDOUT: %.loc6_38: @A.WithSelf.F.%A.type (%A.type.acd) = specific_constant @A.%Self.loc5_22.1, @A(constants.%T.67d) [symbolic = %Self (constants.%Self.49a)] // CHECK:STDOUT: %Self.ref: @A.WithSelf.F.%A.type (%A.type.acd) = name_ref Self, %.loc6_38 [symbolic = %Self (constants.%Self.49a)] // CHECK:STDOUT: %U.ref.loc6_44: type = name_ref U, %U.loc6_17.2 [symbolic = %U.loc6_17.1 (constants.%U.4e7)] -// CHECK:STDOUT: %.loc6_45.2: @A.WithSelf.F.%tuple.type.loc6_45.1 (%tuple.type.76f) = tuple_literal (%T.ref, %Self.ref, %U.ref.loc6_44) [symbolic = %tuple (constants.%tuple.55a)] +// CHECK:STDOUT: %.loc6_45.2: @A.WithSelf.F.%tuple.type.loc6_45.1 (%tuple.type.a31) = tuple_literal (%T.ref, %Self.ref, %U.ref.loc6_44) [symbolic = %tuple (constants.%tuple.62b)] // CHECK:STDOUT: %Self.as_type.loc6_45.2: type = facet_access_type constants.%Self.49a [symbolic = %Self.as_type.loc6_45.1 (constants.%Self.as_type.763)] // CHECK:STDOUT: %.loc6_45.3: type = converted constants.%Self.49a, %Self.as_type.loc6_45.2 [symbolic = %Self.as_type.loc6_45.1 (constants.%Self.as_type.763)] // CHECK:STDOUT: %.loc6_45.4: type = converted %.loc6_45.2, constants.%tuple.type.d73 [symbolic = %tuple.type.loc6_45.2 (constants.%tuple.type.d73)] // CHECK:STDOUT: %.loc6_45.5: Core.Form = init_form %.loc6_45.4 [symbolic = %.loc6_45.1 (constants.%.bc3)] // CHECK:STDOUT: %.loc6_19.1: type = splice_block %.loc6_19.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_19.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc6_17.2: type = symbolic_binding U, 2 [symbolic = %U.loc6_17.1 (constants.%U.4e7)] @@ -1200,13 +1200,13 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic impl @tuple.type.as.A.impl(%V1.loc14_16.2: type, %V2.loc14_26.2: type, %W.loc14_35.2: type) { -// CHECK:STDOUT: %V1.patt.loc14_16.2: %pattern_type.98f = symbolic_binding_pattern V1, 0 [symbolic = %V1.patt.loc14_16.2 (constants.%V1.patt)] +// CHECK:STDOUT: %V1.patt.loc14_16.2: %pattern_type.9a5 = symbolic_binding_pattern V1, 0 [symbolic = %V1.patt.loc14_16.2 (constants.%V1.patt)] // CHECK:STDOUT: %V1.loc14_16.1: type = symbolic_binding V1, 0 [symbolic = %V1.loc14_16.1 (constants.%V1)] -// CHECK:STDOUT: %V2.patt.loc14_26.2: %pattern_type.98f = symbolic_binding_pattern V2, 1 [symbolic = %V2.patt.loc14_26.2 (constants.%V2.patt)] +// CHECK:STDOUT: %V2.patt.loc14_26.2: %pattern_type.9a5 = symbolic_binding_pattern V2, 1 [symbolic = %V2.patt.loc14_26.2 (constants.%V2.patt)] // CHECK:STDOUT: %V2.loc14_26.1: type = symbolic_binding V2, 1 [symbolic = %V2.loc14_26.1 (constants.%V2)] -// CHECK:STDOUT: %W.patt.loc14_35.2: %pattern_type.98f = symbolic_binding_pattern W, 2 [symbolic = %W.patt.loc14_35.2 (constants.%W.patt)] +// CHECK:STDOUT: %W.patt.loc14_35.2: %pattern_type.9a5 = symbolic_binding_pattern W, 2 [symbolic = %W.patt.loc14_35.2 (constants.%W.patt)] // CHECK:STDOUT: %W.loc14_35.1: type = symbolic_binding W, 2 [symbolic = %W.loc14_35.1 (constants.%W)] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%V1.loc14_16.1, %V2.loc14_26.1) [symbolic = %tuple (constants.%tuple.4b9)] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%V1.loc14_16.1, %V2.loc14_26.1) [symbolic = %tuple (constants.%tuple.fa2)] // CHECK:STDOUT: %tuple.type: type = tuple_type (%V1.loc14_16.1, %V2.loc14_26.1) [symbolic = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %A.type.loc14_58.1: type = facet_type <@A, @A(%W.loc14_35.1)> [symbolic = %A.type.loc14_58.1 (constants.%A.type.3ad)] // CHECK:STDOUT: %.loc14_60: = impl_self_witness %tuple.type, @A, @A(%W.loc14_35.1) [symbolic = %.loc14_60 (constants.%.b95)] @@ -1219,7 +1219,7 @@ fn CallIndirect() { // CHECK:STDOUT: // CHECK:STDOUT: impl: %.loc14_50.2 as %A.type.loc14_58.2 { // CHECK:STDOUT: %tuple.type.as.A.impl.F.decl: @tuple.type.as.A.impl.%tuple.type.as.A.impl.F.type (%tuple.type.as.A.impl.F.type.44a) = fn_decl @tuple.type.as.A.impl.F [symbolic = @tuple.type.as.A.impl.%tuple.type.as.A.impl.F (constants.%tuple.type.as.A.impl.F.742)] { -// CHECK:STDOUT: %U.patt.loc17_17.1: %pattern_type.98f = symbolic_binding_pattern U, 3 [symbolic = %U.patt.loc17_17.2 (constants.%U.patt.637)] +// CHECK:STDOUT: %U.patt.loc17_17.1: %pattern_type.9a5 = symbolic_binding_pattern U, 3 [symbolic = %U.patt.loc17_17.2 (constants.%U.patt.755)] // CHECK:STDOUT: %u.param_patt.loc17_26.1: @tuple.type.as.A.impl.F.%pattern_type.loc17_26 (%pattern_type.e4a) = value_param_pattern [symbolic = %u.param_patt.loc17_26.2 (constants.%u.param_patt.afe)] // CHECK:STDOUT: %u.patt.loc17_26.1: @tuple.type.as.A.impl.F.%pattern_type.loc17_26 (%pattern_type.e4a) = wrapper_binding_pattern u, %u.param_patt.loc17_26.1 [symbolic = %u.patt.loc17_26.2 (constants.%u.patt.60c)] // CHECK:STDOUT: %return.param_patt.loc17_49.1: @tuple.type.as.A.impl.F.%pattern_type.loc17_49 (%pattern_type.5cc) = out_param_pattern [symbolic = %return.param_patt.loc17_49.2 (constants.%return.param_patt.b1c)] @@ -1228,14 +1228,14 @@ fn CallIndirect() { // CHECK:STDOUT: %W.ref: type = name_ref W, @tuple.type.as.A.impl.%W.loc14_35.2 [symbolic = %W (constants.%W)] // CHECK:STDOUT: %V1.ref: type = name_ref V1, @tuple.type.as.A.impl.%V1.loc14_16.2 [symbolic = %V1 (constants.%V1)] // CHECK:STDOUT: %V2.ref: type = name_ref V2, @tuple.type.as.A.impl.%V2.loc14_26.2 [symbolic = %V2 (constants.%V2)] -// CHECK:STDOUT: %.loc17_45: %tuple.type.24b = tuple_literal (%V1.ref, %V2.ref) [symbolic = %tuple.loc17_45 (constants.%tuple.4b9)] +// CHECK:STDOUT: %.loc17_45: %tuple.type.693 = tuple_literal (%V1.ref, %V2.ref) [symbolic = %tuple.loc17_45 (constants.%tuple.fa2)] // CHECK:STDOUT: %U.ref.loc17_48: type = name_ref U, %U.loc17_17.2 [symbolic = %U.loc17_17.1 (constants.%U.ce4)] -// CHECK:STDOUT: %.loc17_49.3: %tuple.type.11f = tuple_literal (%W.ref, %.loc17_45, %U.ref.loc17_48) [symbolic = %tuple.loc17_49 (constants.%tuple.117)] -// CHECK:STDOUT: %.loc17_49.4: type = converted constants.%tuple.4b9, constants.%tuple.type.a5e [symbolic = %tuple.type.loc17_49.1 (constants.%tuple.type.a5e)] +// CHECK:STDOUT: %.loc17_49.3: %tuple.type.649 = tuple_literal (%W.ref, %.loc17_45, %U.ref.loc17_48) [symbolic = %tuple.loc17_49 (constants.%tuple.cd3)] +// CHECK:STDOUT: %.loc17_49.4: type = converted constants.%tuple.fa2, constants.%tuple.type.a5e [symbolic = %tuple.type.loc17_49.1 (constants.%tuple.type.a5e)] // CHECK:STDOUT: %.loc17_49.5: type = converted %.loc17_49.3, constants.%tuple.type.897 [symbolic = %tuple.type.loc17_49.2 (constants.%tuple.type.897)] // CHECK:STDOUT: %.loc17_49.6: Core.Form = init_form %.loc17_49.5 [symbolic = %.loc17_49.2 (constants.%.f8e)] // CHECK:STDOUT: %.loc17_19.1: type = splice_block %.loc17_19.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc17_19.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc17_17.2: type = symbolic_binding U, 3 [symbolic = %U.loc17_17.1 (constants.%U.ce4)] @@ -1291,7 +1291,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @A.WithSelf.F(@A.%T.loc5_14.2: type, @A.%Self.loc5_22.1: @A.%A.type (%A.type.acd), %U.loc6_17.2: type) { -// CHECK:STDOUT: %U.patt.loc6_17.2: %pattern_type.98f = symbolic_binding_pattern U, 2 [symbolic = %U.patt.loc6_17.2 (constants.%U.patt.b22)] +// CHECK:STDOUT: %U.patt.loc6_17.2: %pattern_type.9a5 = symbolic_binding_pattern U, 2 [symbolic = %U.patt.loc6_17.2 (constants.%U.patt.5c4)] // CHECK:STDOUT: %U.loc6_17.1: type = symbolic_binding U, 2 [symbolic = %U.loc6_17.1 (constants.%U.4e7)] // CHECK:STDOUT: %pattern_type.loc6_26: type = pattern_type %U.loc6_17.1 [symbolic = %pattern_type.loc6_26 (constants.%pattern_type.62e)] // CHECK:STDOUT: %u.param_patt.loc6_26.2: @A.WithSelf.F.%pattern_type.loc6_26 (%pattern_type.62e) = value_param_pattern [symbolic = %u.param_patt.loc6_26.2 (constants.%u.param_patt.6ef)] @@ -1299,8 +1299,8 @@ fn CallIndirect() { // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T.67d)] // CHECK:STDOUT: %A.type: type = facet_type <@A, @A(%T)> [symbolic = %A.type (constants.%A.type.acd)] // CHECK:STDOUT: %Self: @A.WithSelf.F.%A.type (%A.type.acd) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.49a)] -// CHECK:STDOUT: %tuple.type.loc6_45.1: type = tuple_type (type, %A.type, type) [symbolic = %tuple.type.loc6_45.1 (constants.%tuple.type.76f)] -// CHECK:STDOUT: %tuple: @A.WithSelf.F.%tuple.type.loc6_45.1 (%tuple.type.76f) = tuple_value (%T, %Self, %U.loc6_17.1) [symbolic = %tuple (constants.%tuple.55a)] +// CHECK:STDOUT: %tuple.type.loc6_45.1: type = tuple_type (type, %A.type, type) [symbolic = %tuple.type.loc6_45.1 (constants.%tuple.type.a31)] +// CHECK:STDOUT: %tuple: @A.WithSelf.F.%tuple.type.loc6_45.1 (%tuple.type.a31) = tuple_value (%T, %Self, %U.loc6_17.1) [symbolic = %tuple (constants.%tuple.62b)] // CHECK:STDOUT: %Self.as_type.loc6_45.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc6_45.1 (constants.%Self.as_type.763)] // CHECK:STDOUT: %tuple.type.loc6_45.2: type = tuple_type (%T, %Self.as_type.loc6_45.1, %U.loc6_17.1) [symbolic = %tuple.type.loc6_45.2 (constants.%tuple.type.d73)] // CHECK:STDOUT: %.loc6_45.1: Core.Form = init_form %tuple.type.loc6_45.2 [symbolic = %.loc6_45.1 (constants.%.bc3)] @@ -1312,7 +1312,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @tuple.type.as.A.impl.F(@tuple.type.as.A.impl.%V1.loc14_16.2: type, @tuple.type.as.A.impl.%V2.loc14_26.2: type, @tuple.type.as.A.impl.%W.loc14_35.2: type, %U.loc17_17.2: type) { -// CHECK:STDOUT: %U.patt.loc17_17.2: %pattern_type.98f = symbolic_binding_pattern U, 3 [symbolic = %U.patt.loc17_17.2 (constants.%U.patt.637)] +// CHECK:STDOUT: %U.patt.loc17_17.2: %pattern_type.9a5 = symbolic_binding_pattern U, 3 [symbolic = %U.patt.loc17_17.2 (constants.%U.patt.755)] // CHECK:STDOUT: %U.loc17_17.1: type = symbolic_binding U, 3 [symbolic = %U.loc17_17.1 (constants.%U.ce4)] // CHECK:STDOUT: %pattern_type.loc17_26: type = pattern_type %U.loc17_17.1 [symbolic = %pattern_type.loc17_26 (constants.%pattern_type.e4a)] // CHECK:STDOUT: %u.param_patt.loc17_26.2: @tuple.type.as.A.impl.F.%pattern_type.loc17_26 (%pattern_type.e4a) = value_param_pattern [symbolic = %u.param_patt.loc17_26.2 (constants.%u.param_patt.afe)] @@ -1320,8 +1320,8 @@ fn CallIndirect() { // CHECK:STDOUT: %W: type = symbolic_binding W, 2 [symbolic = %W (constants.%W)] // CHECK:STDOUT: %V1: type = symbolic_binding V1, 0 [symbolic = %V1 (constants.%V1)] // CHECK:STDOUT: %V2: type = symbolic_binding V2, 1 [symbolic = %V2 (constants.%V2)] -// CHECK:STDOUT: %tuple.loc17_45: %tuple.type.24b = tuple_value (%V1, %V2) [symbolic = %tuple.loc17_45 (constants.%tuple.4b9)] -// CHECK:STDOUT: %tuple.loc17_49: %tuple.type.11f = tuple_value (%W, %tuple.loc17_45, %U.loc17_17.1) [symbolic = %tuple.loc17_49 (constants.%tuple.117)] +// CHECK:STDOUT: %tuple.loc17_45: %tuple.type.693 = tuple_value (%V1, %V2) [symbolic = %tuple.loc17_45 (constants.%tuple.fa2)] +// CHECK:STDOUT: %tuple.loc17_49: %tuple.type.649 = tuple_value (%W, %tuple.loc17_45, %U.loc17_17.1) [symbolic = %tuple.loc17_49 (constants.%tuple.cd3)] // CHECK:STDOUT: %tuple.type.loc17_49.1: type = tuple_type (%V1, %V2) [symbolic = %tuple.type.loc17_49.1 (constants.%tuple.type.a5e)] // CHECK:STDOUT: %tuple.type.loc17_49.2: type = tuple_type (%W, %tuple.type.loc17_49.1, %U.loc17_17.1) [symbolic = %tuple.type.loc17_49.2 (constants.%tuple.type.897)] // CHECK:STDOUT: %.loc17_49.2: Core.Form = init_form %tuple.type.loc17_49.2 [symbolic = %.loc17_49.2 (constants.%.f8e)] @@ -1353,7 +1353,7 @@ fn CallIndirect() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Y1.ref: type = name_ref Y1, file.%Y1.decl [concrete = constants.%Y1] // CHECK:STDOUT: %Y2.ref: type = name_ref Y2, file.%Y2.decl [concrete = constants.%Y2] -// CHECK:STDOUT: %.loc24_12: %tuple.type.24b = tuple_literal (%Y1.ref, %Y2.ref) [concrete = constants.%tuple.8db] +// CHECK:STDOUT: %.loc24_12: %tuple.type.693 = tuple_literal (%Y1.ref, %Y2.ref) [concrete = constants.%tuple.71f] // CHECK:STDOUT: %.loc24_17: type = type_literal type [concrete = type] // CHECK:STDOUT: %.loc24_14: type = converted %.loc24_12, constants.%tuple.type.59f [concrete = constants.%tuple.type.59f] // CHECK:STDOUT: %A.ref: %A.type.55a = name_ref A, file.%A.decl [concrete = constants.%A.generic] @@ -1474,7 +1474,7 @@ fn CallIndirect() { // CHECK:STDOUT: %CallGeneric.ref: %CallGeneric.type = name_ref CallGeneric, file.%CallGeneric.decl [concrete = constants.%CallGeneric] // CHECK:STDOUT: %Y1.ref: type = name_ref Y1, file.%Y1.decl [concrete = constants.%Y1] // CHECK:STDOUT: %Y2.ref: type = name_ref Y2, file.%Y2.decl [concrete = constants.%Y2] -// CHECK:STDOUT: %.loc33_22: %tuple.type.24b = tuple_literal (%Y1.ref, %Y2.ref) [concrete = constants.%tuple.8db] +// CHECK:STDOUT: %.loc33_22: %tuple.type.693 = tuple_literal (%Y1.ref, %Y2.ref) [concrete = constants.%tuple.71f] // CHECK:STDOUT: %.loc33_27: type = type_literal type [concrete = type] // CHECK:STDOUT: %.loc33_24: type = converted %.loc33_22, constants.%tuple.type.59f [concrete = constants.%tuple.type.59f] // CHECK:STDOUT: %facet_value: %facet_type = facet_value %.loc33_24, (constants.%A.impl_witness.0e0, constants.%custom_witness.6c4ec3.5) [concrete = constants.%facet_value] @@ -1485,14 +1485,14 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc5_14.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.WithSelf(constants.%T.67d, constants.%Self.49a) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @A.WithSelf.F(constants.%T.67d, constants.%Self.49a, constants.%U.4e7) { -// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.b22 +// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.5c4 // CHECK:STDOUT: %U.loc6_17.1 => constants.%U.4e7 // CHECK:STDOUT: %pattern_type.loc6_26 => constants.%pattern_type.62e // CHECK:STDOUT: %u.param_patt.loc6_26.2 => constants.%u.param_patt.6ef @@ -1500,8 +1500,8 @@ fn CallIndirect() { // CHECK:STDOUT: %T => constants.%T.67d // CHECK:STDOUT: %A.type => constants.%A.type.acd // CHECK:STDOUT: %Self => constants.%Self.49a -// CHECK:STDOUT: %tuple.type.loc6_45.1 => constants.%tuple.type.76f -// CHECK:STDOUT: %tuple => constants.%tuple.55a +// CHECK:STDOUT: %tuple.type.loc6_45.1 => constants.%tuple.type.a31 +// CHECK:STDOUT: %tuple => constants.%tuple.62b // CHECK:STDOUT: %Self.as_type.loc6_45.1 => constants.%Self.as_type.763 // CHECK:STDOUT: %tuple.type.loc6_45.2 => constants.%tuple.type.d73 // CHECK:STDOUT: %.loc6_45.1 => constants.%.bc3 @@ -1511,7 +1511,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A(constants.%W) { -// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc5_14.1 => constants.%W // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -1526,7 +1526,7 @@ fn CallIndirect() { // CHECK:STDOUT: %V2.loc14_26.1 => constants.%V2 // CHECK:STDOUT: %W.patt.loc14_35.2 => constants.%W.patt // CHECK:STDOUT: %W.loc14_35.1 => constants.%W -// CHECK:STDOUT: %tuple => constants.%tuple.4b9 +// CHECK:STDOUT: %tuple => constants.%tuple.fa2 // CHECK:STDOUT: %tuple.type => constants.%tuple.type.a5e // CHECK:STDOUT: %A.type.loc14_58.1 => constants.%A.type.3ad // CHECK:STDOUT: %.loc14_60 => constants.%.b95 @@ -1550,7 +1550,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @tuple.type.as.A.impl.F(constants.%V1, constants.%V2, constants.%W, constants.%U.ce4) { -// CHECK:STDOUT: %U.patt.loc17_17.2 => constants.%U.patt.637 +// CHECK:STDOUT: %U.patt.loc17_17.2 => constants.%U.patt.755 // CHECK:STDOUT: %U.loc17_17.1 => constants.%U.ce4 // CHECK:STDOUT: %pattern_type.loc17_26 => constants.%pattern_type.e4a // CHECK:STDOUT: %u.param_patt.loc17_26.2 => constants.%u.param_patt.afe @@ -1558,8 +1558,8 @@ fn CallIndirect() { // CHECK:STDOUT: %W => constants.%W // CHECK:STDOUT: %V1 => constants.%V1 // CHECK:STDOUT: %V2 => constants.%V2 -// CHECK:STDOUT: %tuple.loc17_45 => constants.%tuple.4b9 -// CHECK:STDOUT: %tuple.loc17_49 => constants.%tuple.117 +// CHECK:STDOUT: %tuple.loc17_45 => constants.%tuple.fa2 +// CHECK:STDOUT: %tuple.loc17_49 => constants.%tuple.cd3 // CHECK:STDOUT: %tuple.type.loc17_49.1 => constants.%tuple.type.a5e // CHECK:STDOUT: %tuple.type.loc17_49.2 => constants.%tuple.type.897 // CHECK:STDOUT: %.loc17_49.2 => constants.%.f8e @@ -1587,7 +1587,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.WithSelf.F(constants.%W, constants.%A.facet.de4, constants.%U.ce4) { -// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.b22 +// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.5c4 // CHECK:STDOUT: %U.loc6_17.1 => constants.%U.ce4 // CHECK:STDOUT: %pattern_type.loc6_26 => constants.%pattern_type.e4a // CHECK:STDOUT: %u.param_patt.loc6_26.2 => constants.%u.param_patt.afe @@ -1595,8 +1595,8 @@ fn CallIndirect() { // CHECK:STDOUT: %T => constants.%W // CHECK:STDOUT: %A.type => constants.%A.type.3ad // CHECK:STDOUT: %Self => constants.%A.facet.de4 -// CHECK:STDOUT: %tuple.type.loc6_45.1 => constants.%tuple.type.a90 -// CHECK:STDOUT: %tuple => constants.%tuple.14b +// CHECK:STDOUT: %tuple.type.loc6_45.1 => constants.%tuple.type.038 +// CHECK:STDOUT: %tuple => constants.%tuple.c3f // CHECK:STDOUT: %Self.as_type.loc6_45.1 => constants.%tuple.type.a5e // CHECK:STDOUT: %tuple.type.loc6_45.2 => constants.%tuple.type.897 // CHECK:STDOUT: %.loc6_45.1 => constants.%.f8e @@ -1606,7 +1606,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A(constants.%X) { -// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc5_14.1 => constants.%X // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -1621,7 +1621,7 @@ fn CallIndirect() { // CHECK:STDOUT: %V2.loc14_26.1 => constants.%Y2 // CHECK:STDOUT: %W.patt.loc14_35.2 => constants.%W.patt // CHECK:STDOUT: %W.loc14_35.1 => constants.%X -// CHECK:STDOUT: %tuple => constants.%tuple.8db +// CHECK:STDOUT: %tuple => constants.%tuple.71f // CHECK:STDOUT: %tuple.type => constants.%tuple.type.59f // CHECK:STDOUT: %A.type.loc14_58.1 => constants.%A.type.df0 // CHECK:STDOUT: %.loc14_60 => constants.%.de6 @@ -1656,7 +1656,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @tuple.type.as.A.impl.F(constants.%Y1, constants.%Y2, constants.%X, constants.%Z) { -// CHECK:STDOUT: %U.patt.loc17_17.2 => constants.%U.patt.637 +// CHECK:STDOUT: %U.patt.loc17_17.2 => constants.%U.patt.755 // CHECK:STDOUT: %U.loc17_17.1 => constants.%Z // CHECK:STDOUT: %pattern_type.loc17_26 => constants.%pattern_type.34e // CHECK:STDOUT: %u.param_patt.loc17_26.2 => constants.%u.param_patt.a3e @@ -1664,8 +1664,8 @@ fn CallIndirect() { // CHECK:STDOUT: %W => constants.%X // CHECK:STDOUT: %V1 => constants.%Y1 // CHECK:STDOUT: %V2 => constants.%Y2 -// CHECK:STDOUT: %tuple.loc17_45 => constants.%tuple.8db -// CHECK:STDOUT: %tuple.loc17_49 => constants.%tuple.1a1 +// CHECK:STDOUT: %tuple.loc17_45 => constants.%tuple.71f +// CHECK:STDOUT: %tuple.loc17_49 => constants.%tuple.415 // CHECK:STDOUT: %tuple.type.loc17_49.1 => constants.%tuple.type.59f // CHECK:STDOUT: %tuple.type.loc17_49.2 => constants.%tuple.type.d40 // CHECK:STDOUT: %.loc17_49.2 => constants.%.1a9 @@ -1709,7 +1709,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.WithSelf.F(constants.%X, constants.%A.facet.318, constants.%Z) { -// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.b22 +// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.5c4 // CHECK:STDOUT: %U.loc6_17.1 => constants.%Z // CHECK:STDOUT: %pattern_type.loc6_26 => constants.%pattern_type.34e // CHECK:STDOUT: %u.param_patt.loc6_26.2 => constants.%u.param_patt.a3e @@ -1717,8 +1717,8 @@ fn CallIndirect() { // CHECK:STDOUT: %T => constants.%X // CHECK:STDOUT: %A.type => constants.%A.type.df0 // CHECK:STDOUT: %Self => constants.%A.facet.318 -// CHECK:STDOUT: %tuple.type.loc6_45.1 => constants.%tuple.type.966 -// CHECK:STDOUT: %tuple => constants.%tuple.b58 +// CHECK:STDOUT: %tuple.type.loc6_45.1 => constants.%tuple.type.202 +// CHECK:STDOUT: %tuple => constants.%tuple.550 // CHECK:STDOUT: %Self.as_type.loc6_45.1 => constants.%T.as_type // CHECK:STDOUT: %tuple.type.loc6_45.2 => constants.%tuple.type.036 // CHECK:STDOUT: %.loc6_45.1 => constants.%.772 @@ -1750,7 +1750,7 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.WithSelf.F(constants.%X, constants.%A.facet.89e, constants.%Z) { -// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.b22 +// CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.5c4 // CHECK:STDOUT: %U.loc6_17.1 => constants.%Z // CHECK:STDOUT: %pattern_type.loc6_26 => constants.%pattern_type.34e // CHECK:STDOUT: %u.param_patt.loc6_26.2 => constants.%u.param_patt.a3e @@ -1758,8 +1758,8 @@ fn CallIndirect() { // CHECK:STDOUT: %T => constants.%X // CHECK:STDOUT: %A.type => constants.%A.type.df0 // CHECK:STDOUT: %Self => constants.%A.facet.89e -// CHECK:STDOUT: %tuple.type.loc6_45.1 => constants.%tuple.type.966 -// CHECK:STDOUT: %tuple => constants.%tuple.918 +// CHECK:STDOUT: %tuple.type.loc6_45.1 => constants.%tuple.type.202 +// CHECK:STDOUT: %tuple => constants.%tuple.b5b // CHECK:STDOUT: %Self.as_type.loc6_45.1 => constants.%tuple.type.59f // CHECK:STDOUT: %tuple.type.loc6_45.2 => constants.%tuple.type.d40 // CHECK:STDOUT: %.loc6_45.1 => constants.%.1a9 diff --git a/toolchain/check/testdata/interface/generic_vs_params.carbon b/toolchain/check/testdata/interface/generic_vs_params.carbon index 8f5ff553a170..66ff2bd0b2a3 100644 --- a/toolchain/check/testdata/interface/generic_vs_params.carbon +++ b/toolchain/check/testdata/interface/generic_vs_params.carbon @@ -75,14 +75,14 @@ interface Bar[T: type] {} // CHECK:STDOUT: --- params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NotGenericNoParams.type: type = facet_type <@NotGenericNoParams> [concrete] // CHECK:STDOUT: %Self.6f8: %NotGenericNoParams.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %NotGenericButParams.type.2fe: type = generic_interface_type @NotGenericButParams [concrete] // CHECK:STDOUT: %NotGenericButParams.generic: %NotGenericButParams.type.2fe = struct_value () [concrete] // CHECK:STDOUT: %NotGenericButParams.type.21c: type = facet_type <@NotGenericButParams> [concrete] // CHECK:STDOUT: %Self.9dd: %NotGenericButParams.type.21c = symbolic_binding Self, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -144,7 +144,7 @@ interface Bar[T: type] {} // CHECK:STDOUT: %T.patt.loc6_29.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_29.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_31.1: type = splice_block %.loc6_31.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_31.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_29.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_29.1 (constants.%T)] @@ -153,7 +153,7 @@ interface Bar[T: type] {} // CHECK:STDOUT: %T.patt.loc8_10.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_12.1: type = splice_block %.loc8_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_10.1 (constants.%T)] @@ -340,7 +340,7 @@ interface Bar[T: type] {} // CHECK:STDOUT: %U.patt.loc10_31.1: %pattern_type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc10_31.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10_33.1: type = splice_block %.loc10_33.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc10_33.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc10_31.2: type = symbolic_binding U, 1 [symbolic = %U.loc10_31.1 (constants.%U)] @@ -465,6 +465,7 @@ interface Bar[T: type] {} // CHECK:STDOUT: --- fail_non_generic_implicit_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type.55a: type = generic_interface_type @A [concrete] // CHECK:STDOUT: %A.generic: %A.type.55a = struct_value () [concrete] // CHECK:STDOUT: %A.type.313: type = facet_type <@A> [concrete] @@ -494,6 +495,7 @@ interface Bar[T: type] {} // CHECK:STDOUT: --- fail_non_generic_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type.55a: type = generic_interface_type @A [concrete] // CHECK:STDOUT: %A.generic: %A.type.55a = struct_value () [concrete] // CHECK:STDOUT: %A.type.313: type = facet_type <@A> [concrete] @@ -523,6 +525,7 @@ interface Bar[T: type] {} // CHECK:STDOUT: --- fail_implicit_params_only_empty.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Bar.type.3f0: type = generic_interface_type @Bar [concrete] // CHECK:STDOUT: %Bar.generic: %Bar.type.3f0 = struct_value () [concrete] // CHECK:STDOUT: %Bar.type.131: type = facet_type <@Bar> [concrete] @@ -552,8 +555,8 @@ interface Bar[T: type] {} // CHECK:STDOUT: --- fail_implicit_params_only.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -571,7 +574,7 @@ interface Bar[T: type] {} // CHECK:STDOUT: %T.patt.loc8_16.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_16.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_18.1: type = splice_block %.loc8_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_16.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_16.1 (constants.%T)] diff --git a/toolchain/check/testdata/interface/import.carbon b/toolchain/check/testdata/interface/import.carbon index 13c7985e11b9..2228b453d0bd 100644 --- a/toolchain/check/testdata/interface/import.carbon +++ b/toolchain/check/testdata/interface/import.carbon @@ -55,6 +55,7 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Empty.type: type = facet_type <@Empty> [concrete] // CHECK:STDOUT: %Self.d44: %Empty.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Basic.type: type = facet_type <@Basic> [concrete] @@ -210,6 +211,7 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Empty.type: type = facet_type <@Empty> [concrete] // CHECK:STDOUT: %Self.4e8: %Empty.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %pattern_type.894: type = pattern_type %Empty.type [concrete] diff --git a/toolchain/check/testdata/interface/import_access.carbon b/toolchain/check/testdata/interface/import_access.carbon index b514ff099632..696d8b76ff60 100644 --- a/toolchain/check/testdata/interface/import_access.carbon +++ b/toolchain/check/testdata/interface/import_access.carbon @@ -155,6 +155,7 @@ private interface Redecl {} // CHECK:STDOUT: --- def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Def.type: type = facet_type <@Def> [concrete] // CHECK:STDOUT: %Self: %Def.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: } @@ -182,6 +183,7 @@ private interface Redecl {} // CHECK:STDOUT: --- forward_with_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ForwardWithDef.type: type = facet_type <@ForwardWithDef> [concrete] // CHECK:STDOUT: %Self: %ForwardWithDef.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: } @@ -216,6 +218,7 @@ private interface Redecl {} // CHECK:STDOUT: --- def.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Def.type: type = facet_type <@Def> [concrete] // CHECK:STDOUT: %Self: %Def.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %Def.type [concrete] @@ -267,6 +270,7 @@ private interface Redecl {} // CHECK:STDOUT: --- fail_local_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -295,6 +299,7 @@ private interface Redecl {} // CHECK:STDOUT: --- fail_other_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -333,6 +338,7 @@ private interface Redecl {} // CHECK:STDOUT: --- forward_with_def.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ForwardWithDef.type: type = facet_type <@ForwardWithDef> [concrete] // CHECK:STDOUT: %Self: %ForwardWithDef.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type %ForwardWithDef.type [concrete] @@ -384,6 +390,7 @@ private interface Redecl {} // CHECK:STDOUT: --- fail_local_forward_with_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -412,6 +419,7 @@ private interface Redecl {} // CHECK:STDOUT: --- fail_other_forward_with_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -450,6 +458,7 @@ private interface Redecl {} // CHECK:STDOUT: --- fail_todo_forward.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %Forward.type: type = facet_type <@Forward> [concrete] @@ -498,6 +507,7 @@ private interface Redecl {} // CHECK:STDOUT: --- fail_local_forward.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -529,6 +539,7 @@ private interface Redecl {} // CHECK:STDOUT: --- fail_other_forward.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -567,6 +578,7 @@ private interface Redecl {} // CHECK:STDOUT: --- todo_fail_private_on_redecl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Redecl.type: type = facet_type <@Redecl> [concrete] // CHECK:STDOUT: %Self: %Redecl.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/import_interface_decl.carbon b/toolchain/check/testdata/interface/import_interface_decl.carbon index 278f2237b2eb..72b6d351dc6b 100644 --- a/toolchain/check/testdata/interface/import_interface_decl.carbon +++ b/toolchain/check/testdata/interface/import_interface_decl.carbon @@ -48,6 +48,7 @@ impl library "[[@TEST_NAME]]"; // CHECK:STDOUT: --- b.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B.type: type = facet_type <@B> [concrete] // CHECK:STDOUT: %Self: %B.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/interface/incomplete.carbon b/toolchain/check/testdata/interface/incomplete.carbon index 969e8a110231..bb69704a4660 100644 --- a/toolchain/check/testdata/interface/incomplete.carbon +++ b/toolchain/check/testdata/interface/incomplete.carbon @@ -100,6 +100,7 @@ interface A(T: type) { // CHECK:STDOUT: --- incomplete_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %Self: %I.type = symbolic_binding Self, 0 [symbolic] @@ -142,6 +143,7 @@ interface A(T: type) { // CHECK:STDOUT: --- fail_incomplete_type_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %Self: %I.type = symbolic_binding Self, 0 [symbolic] @@ -226,13 +228,13 @@ interface A(T: type) { // CHECK:STDOUT: --- incomplete_type_usage.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %Self: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.WithSelf.%T [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// 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] @@ -261,7 +263,7 @@ interface A(T: type) { // CHECK:STDOUT: %a.patt.loc9_13.1: @F.%pattern_type (%pattern_type.b3a) = wrapper_binding_pattern a, %a.param_patt.loc9_13.1 [symbolic = %a.patt.loc9_13.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_9: type = splice_block %I.ref [concrete = constants.%I.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// 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_7.2: %I.type = symbolic_binding U, 0 [symbolic = %U.loc9_7.1 (constants.%U)] @@ -338,6 +340,7 @@ interface A(T: type) { // CHECK:STDOUT: --- fail_incomplete_extend_constraint.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %B.type: type = facet_type <@B> [concrete] // CHECK:STDOUT: %Self: %B.type = symbolic_binding Self, 0 [symbolic] @@ -373,6 +376,7 @@ interface A(T: type) { // CHECK:STDOUT: --- fail_extend_require_enclosing.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %Self: %A.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] @@ -421,8 +425,8 @@ interface A(T: type) { // CHECK:STDOUT: --- fail_extend_require_enclosing_generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -444,7 +448,7 @@ interface A(T: type) { // CHECK:STDOUT: %T.patt.loc3_14.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc3_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_16.1: type = splice_block %.loc3_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc3_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_14.1 (constants.%T)] diff --git a/toolchain/check/testdata/interface/local.carbon b/toolchain/check/testdata/interface/local.carbon index 1f4dab9b9fa0..6b50e1fb916e 100644 --- a/toolchain/check/testdata/interface/local.carbon +++ b/toolchain/check/testdata/interface/local.carbon @@ -25,6 +25,7 @@ fn F() { // CHECK:STDOUT: --- local.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/interface/member_lookup.carbon b/toolchain/check/testdata/interface/member_lookup.carbon index 4024dbc44ded..f31ff74e9950 100644 --- a/toolchain/check/testdata/interface/member_lookup.carbon +++ b/toolchain/check/testdata/interface/member_lookup.carbon @@ -56,10 +56,10 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: --- member_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Interface.type.1b1: type = generic_interface_type @Interface [concrete] // CHECK:STDOUT: %Interface.generic: %Interface.type.1b1 = struct_value () [concrete] @@ -148,16 +148,16 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Interface.decl: %Interface.type.1b1 = interface_decl @Interface [concrete = constants.%Interface.generic] { -// CHECK:STDOUT: %T.patt.loc4_22.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_22.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_24.1: type = splice_block %.loc4_24.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_24.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_22.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %AccessGeneric.decl: %AccessGeneric.type = fn_decl @AccessGeneric [concrete = constants.%AccessGeneric] { -// CHECK:STDOUT: %T.patt.loc8_19.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_19.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc8_19.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_19.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %I.patt.loc8_36.1: @AccessGeneric.%pattern_type.loc8_36 (%pattern_type.2c6f) = symbolic_binding_pattern I, 1 [symbolic = %I.patt.loc8_36.2 (constants.%I.patt.0cc)] // CHECK:STDOUT: %return.param_patt.loc8_56.1: @AccessGeneric.%pattern_type.loc8_56 (%pattern_type.4f4) = out_param_pattern [symbolic = %return.param_patt.loc8_56.2 (constants.%return.param_patt.27f)] // CHECK:STDOUT: %return.patt.loc8_52.1: @AccessGeneric.%pattern_type.loc8_56 (%pattern_type.4f4) = return_slot_pattern %return.param_patt.loc8_56.1, %ptr.loc8_56.2 [symbolic = %return.patt.loc8_52.2 (constants.%return.patt.d67)] @@ -166,12 +166,12 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: %ptr.loc8_56.2: type = ptr_type %T.ref.loc8_55 [symbolic = %ptr.loc8_56.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc8_56.2: Core.Form = init_form %ptr.loc8_56.2 [symbolic = %.loc8_56.1 (constants.%.cb6)] // CHECK:STDOUT: %.loc8_21.1: type = splice_block %.loc8_21.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc8_19: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc8_19: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_21.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_19.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_19.1 (constants.%T.67d)] // CHECK:STDOUT: %.loc8_49: type = splice_block %Interface.type.loc8_49.2 [symbolic = %Interface.type.loc8_49.1 (constants.%Interface.type.fe8)] { -// CHECK:STDOUT: %.Self.frozen.loc8_36: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc8_36: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Interface.ref: %Interface.type.1b1 = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.generic] // CHECK:STDOUT: %T.ref.loc8_48: type = name_ref T, %T.loc8_19.2 [symbolic = %T.loc8_19.1 (constants.%T.67d)] // CHECK:STDOUT: %Interface.type.loc8_49.2: type = facet_type <@Interface, @Interface(constants.%T.67d)> [symbolic = %Interface.type.loc8_49.1 (constants.%Interface.type.fe8)] @@ -189,7 +189,7 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc12_49 [concrete = constants.%ptr.d08] // CHECK:STDOUT: %.loc12_52: Core.Form = init_form %ptr [concrete = constants.%.952] // CHECK:STDOUT: %.loc12_43: type = splice_block %Interface.type [concrete = constants.%Interface.type.c5f] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Interface.ref: %Interface.type.1b1 = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.generic] // CHECK:STDOUT: %i32.loc12_40: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Interface.type: type = facet_type <@Interface, @Interface(constants.%i32)> [concrete = constants.%Interface.type.c5f] @@ -201,7 +201,7 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Interface(%T.loc4_22.2: type) { -// CHECK:STDOUT: %T.patt.loc4_22.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc4_22.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc4_22.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_22.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -229,7 +229,7 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @AccessGeneric(%T.loc8_19.2: type, %I.loc8_36.2: @AccessGeneric.%Interface.type.loc8_49.1 (%Interface.type.fe8)) { -// CHECK:STDOUT: %T.patt.loc8_19.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_19.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc8_19.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_19.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc8_19.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_19.1 (constants.%T.67d)] // CHECK:STDOUT: %Interface.type.loc8_49.1: type = facet_type <@Interface, @Interface(%T.loc8_19.1)> [symbolic = %Interface.type.loc8_49.1 (constants.%Interface.type.fe8)] // CHECK:STDOUT: %pattern_type.loc8_36: type = pattern_type %Interface.type.loc8_49.1 [symbolic = %pattern_type.loc8_36 (constants.%pattern_type.2c6f)] @@ -309,7 +309,7 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Interface(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc4_22.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_22.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_22.1 => constants.%T.67d // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -326,7 +326,7 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @AccessGeneric(constants.%T.67d, constants.%I.63c) { -// CHECK:STDOUT: %T.patt.loc8_19.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc8_19.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc8_19.1 => constants.%T.67d // CHECK:STDOUT: %Interface.type.loc8_49.1 => constants.%Interface.type.fe8 // CHECK:STDOUT: %pattern_type.loc8_36 => constants.%pattern_type.2c6f @@ -348,7 +348,7 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Interface(constants.%i32) { -// CHECK:STDOUT: %T.patt.loc4_22.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc4_22.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc4_22.1 => constants.%i32 // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -380,10 +380,10 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: --- fail_no_member.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Interface.type.1b1: type = generic_interface_type @Interface [concrete] // CHECK:STDOUT: %Interface.generic: %Interface.type.1b1 = struct_value () [concrete] @@ -443,16 +443,16 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Interface.decl: %Interface.type.1b1 = interface_decl @Interface [concrete = constants.%Interface.generic] { -// CHECK:STDOUT: %T.patt.loc4_22.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_22.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_24.1: type = splice_block %.loc4_24.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_24.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_22.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %AccessMissingGeneric.decl: %AccessMissingGeneric.type = fn_decl @AccessMissingGeneric [concrete = constants.%AccessMissingGeneric] { -// CHECK:STDOUT: %T.patt.loc8_26.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_26.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_26.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_26.2 (constants.%T.patt)] // CHECK:STDOUT: %I.patt.loc8_43.1: @AccessMissingGeneric.%pattern_type.loc8_43 (%pattern_type.2c6) = symbolic_binding_pattern I, 1 [symbolic = %I.patt.loc8_43.2 (constants.%I.patt.0cc)] // CHECK:STDOUT: %return.param_patt.loc8_62.1: @AccessMissingGeneric.%pattern_type.loc8_62 (%pattern_type.51d) = out_param_pattern [symbolic = %return.param_patt.loc8_62.2 (constants.%return.param_patt.41d)] // CHECK:STDOUT: %return.patt.loc8_59.1: @AccessMissingGeneric.%pattern_type.loc8_62 (%pattern_type.51d) = return_slot_pattern %return.param_patt.loc8_62.1, %T.ref.loc8_62 [symbolic = %return.patt.loc8_59.2 (constants.%return.patt.b39)] @@ -460,12 +460,12 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: %T.ref.loc8_62: type = name_ref T, %T.loc8_26.2 [symbolic = %T.loc8_26.1 (constants.%T)] // CHECK:STDOUT: %.loc8_62.2: Core.Form = init_form %T.ref.loc8_62 [symbolic = %.loc8_62.1 (constants.%.184)] // CHECK:STDOUT: %.loc8_28.1: type = splice_block %.loc8_28.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc8_26: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc8_26: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_28.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_26.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_26.1 (constants.%T)] // CHECK:STDOUT: %.loc8_56: type = splice_block %Interface.type.loc8_56.2 [symbolic = %Interface.type.loc8_56.1 (constants.%Interface.type.fe8)] { -// CHECK:STDOUT: %.Self.frozen.loc8_43: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc8_43: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Interface.ref: %Interface.type.1b1 = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.generic] // CHECK:STDOUT: %T.ref.loc8_55: type = name_ref T, %T.loc8_26.2 [symbolic = %T.loc8_26.1 (constants.%T)] // CHECK:STDOUT: %Interface.type.loc8_56.2: type = facet_type <@Interface, @Interface(constants.%T)> [symbolic = %Interface.type.loc8_56.1 (constants.%Interface.type.fe8)] @@ -482,7 +482,7 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: %i32.loc16_56: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16_56: Core.Form = init_form %i32.loc16_56 [concrete = constants.%.795] // CHECK:STDOUT: %.loc16_50: type = splice_block %Interface.type [concrete = constants.%Interface.type.c5f] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Interface.ref: %Interface.type.1b1 = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.generic] // CHECK:STDOUT: %i32.loc16_47: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Interface.type: type = facet_type <@Interface, @Interface(constants.%i32)> [concrete = constants.%Interface.type.c5f] @@ -494,7 +494,7 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @Interface(%T.loc4_22.2: type) { -// CHECK:STDOUT: %T.patt.loc4_22.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_22.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_22.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_22.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -523,7 +523,7 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @AccessMissingGeneric(%T.loc8_26.2: type, %I.loc8_43.2: @AccessMissingGeneric.%Interface.type.loc8_56.1 (%Interface.type.fe8)) { -// CHECK:STDOUT: %T.patt.loc8_26.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_26.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_26.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_26.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc8_26.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_26.1 (constants.%T)] // CHECK:STDOUT: %Interface.type.loc8_56.1: type = facet_type <@Interface, @Interface(%T.loc8_26.1)> [symbolic = %Interface.type.loc8_56.1 (constants.%Interface.type.fe8)] // CHECK:STDOUT: %pattern_type.loc8_43: type = pattern_type %Interface.type.loc8_56.1 [symbolic = %pattern_type.loc8_43 (constants.%pattern_type.2c6)] diff --git a/toolchain/check/testdata/interface/modifiers.carbon b/toolchain/check/testdata/interface/modifiers.carbon index 580eed27b488..530b160aabd7 100644 --- a/toolchain/check/testdata/interface/modifiers.carbon +++ b/toolchain/check/testdata/interface/modifiers.carbon @@ -227,6 +227,7 @@ interface C { // CHECK:STDOUT: --- default_interfaces.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DefaultFn.type: type = facet_type <@DefaultFn> [concrete] // CHECK:STDOUT: %Self.4f0: %DefaultFn.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %DefaultFn.WithSelf.F.type.99d: type = fn_type @DefaultFn.WithSelf.F, @DefaultFn.WithSelf(%Self.4f0) [symbolic] @@ -245,8 +246,7 @@ interface C { // CHECK:STDOUT: %DefaultMethod.assoc_type: type = assoc_entity_type @DefaultMethod [concrete] // CHECK:STDOUT: %assoc0.a0f: %DefaultMethod.assoc_type = assoc_entity element0, @DefaultMethod.WithSelf.%DefaultMethod.WithSelf.M.decl [concrete] // CHECK:STDOUT: %require_complete.09c: = require_complete_type %Self.as_type [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.8dc: type = pattern_type %DefaultFn.type [concrete] // CHECK:STDOUT: %d.patt: %pattern_type.8dc = symbolic_binding_pattern d, 0 [symbolic] // CHECK:STDOUT: %d: %DefaultFn.type = symbolic_binding d, 0 [symbolic] @@ -286,7 +286,7 @@ interface C { // CHECK:STDOUT: %d.patt.loc13_20.1: %pattern_type.8dc = symbolic_binding_pattern d, 0 [symbolic = %d.patt.loc13_20.2 (constants.%d.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13: type = splice_block %DefaultFn.ref [concrete = constants.%DefaultFn.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %DefaultFn.ref: type = name_ref DefaultFn, file.%DefaultFn.decl [concrete = constants.%DefaultFn.type] // CHECK:STDOUT: } // CHECK:STDOUT: %d.loc13_20.2: %DefaultFn.type = symbolic_binding d, 0 [symbolic = %d.loc13_20.1 (constants.%d)] @@ -297,7 +297,7 @@ interface C { // CHECK:STDOUT: %t.patt.loc17_34.1: @CallMethod.%pattern_type (%pattern_type.70f) = wrapper_binding_pattern t, %t.param_patt.loc17_34.1 [symbolic = %t.patt.loc17_34.2 (constants.%t.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17_18: type = splice_block %DefaultMethod.ref [concrete = constants.%DefaultMethod.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %DefaultMethod.ref: type = name_ref DefaultMethod, file.%DefaultMethod.decl [concrete = constants.%DefaultMethod.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc17_16.2: %DefaultMethod.type = symbolic_binding T, 0 [symbolic = %T.loc17_16.1 (constants.%T)] @@ -500,6 +500,7 @@ interface C { // CHECK:STDOUT: --- final_interfaces.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %FinalFn.type: type = facet_type <@FinalFn> [concrete] // CHECK:STDOUT: %Self.49e: %FinalFn.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %FinalFn.WithSelf.F.type.2c0: type = fn_type @FinalFn.WithSelf.F, @FinalFn.WithSelf(%Self.49e) [symbolic] @@ -518,8 +519,7 @@ interface C { // CHECK:STDOUT: %FinalMethod.assoc_type: type = assoc_entity_type @FinalMethod [concrete] // CHECK:STDOUT: %assoc0.e67: %FinalMethod.assoc_type = assoc_entity element0, @FinalMethod.WithSelf.%FinalMethod.WithSelf.M.decl [concrete] // CHECK:STDOUT: %require_complete.e87: = require_complete_type %Self.as_type [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.778: type = pattern_type %FinalFn.type [concrete] // CHECK:STDOUT: %d.patt: %pattern_type.778 = symbolic_binding_pattern d, 0 [symbolic] // CHECK:STDOUT: %d: %FinalFn.type = symbolic_binding d, 0 [symbolic] @@ -559,7 +559,7 @@ interface C { // CHECK:STDOUT: %d.patt.loc13_20.1: %pattern_type.778 = symbolic_binding_pattern d, 0 [symbolic = %d.patt.loc13_20.2 (constants.%d.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13: type = splice_block %FinalFn.ref [concrete = constants.%FinalFn.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %FinalFn.ref: type = name_ref FinalFn, file.%FinalFn.decl [concrete = constants.%FinalFn.type] // CHECK:STDOUT: } // CHECK:STDOUT: %d.loc13_20.2: %FinalFn.type = symbolic_binding d, 0 [symbolic = %d.loc13_20.1 (constants.%d)] @@ -570,7 +570,7 @@ interface C { // CHECK:STDOUT: %t.patt.loc17_32.1: @CallMethod.%pattern_type (%pattern_type.ab8) = wrapper_binding_pattern t, %t.param_patt.loc17_32.1 [symbolic = %t.patt.loc17_32.2 (constants.%t.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17_18: type = splice_block %FinalMethod.ref [concrete = constants.%FinalMethod.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %FinalMethod.ref: type = name_ref FinalMethod, file.%FinalMethod.decl [concrete = constants.%FinalMethod.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc17_16.2: %FinalMethod.type = symbolic_binding T, 0 [symbolic = %T.loc17_16.1 (constants.%T)] @@ -773,6 +773,7 @@ interface C { // CHECK:STDOUT: --- default_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %DefaultFn.type: type = facet_type <@DefaultFn> [concrete] // CHECK:STDOUT: %.1d8: = impl_self_witness %C, @DefaultFn [concrete] @@ -838,6 +839,7 @@ interface C { // CHECK:STDOUT: --- default_method.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %DefaultMethod.type: type = facet_type <@DefaultMethod> [concrete] // CHECK:STDOUT: %.3e0: = impl_self_witness %C, @DefaultMethod [concrete] @@ -932,6 +934,7 @@ interface C { // CHECK:STDOUT: --- default_function_overridden.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %C.G.type: type = fn_type @C.G [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1017,6 +1020,7 @@ interface C { // CHECK:STDOUT: --- default_method_overridden.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] // CHECK:STDOUT: %self.param_patt.303: %pattern_type.98b = value_param_pattern [concrete] @@ -1147,6 +1151,7 @@ interface C { // CHECK:STDOUT: --- final_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %FinalFn.type: type = facet_type <@FinalFn> [concrete] // CHECK:STDOUT: %.55e: = impl_self_witness %C, @FinalFn [concrete] @@ -1212,6 +1217,7 @@ interface C { // CHECK:STDOUT: --- final_method.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %FinalMethod.type: type = facet_type <@FinalMethod> [concrete] // CHECK:STDOUT: %.864: = impl_self_witness %C, @FinalMethod [concrete] diff --git a/toolchain/check/testdata/interface/observe.carbon b/toolchain/check/testdata/interface/observe.carbon index d5c270e19c01..a5ea9a37ffec 100644 --- a/toolchain/check/testdata/interface/observe.carbon +++ b/toolchain/check/testdata/interface/observe.carbon @@ -394,6 +394,7 @@ fn F[T: I(C)](t: T) { // CHECK:STDOUT: --- transitive.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Transitive.type: type = facet_type <@Transitive> [concrete] // CHECK:STDOUT: %Self.77c: %Transitive.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %facet_type.b1b: type = facet_type <@P & @Destroy> [concrete] @@ -598,12 +599,12 @@ fn F[T: I(C)](t: T) { // CHECK:STDOUT: --- blanket_impls.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %B.type: type = facet_type <@B> [concrete] // CHECK:STDOUT: %C.type: type = facet_type <@C> [concrete] // CHECK:STDOUT: %D.type: type = facet_type <@D> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.029: type = pattern_type %A.type [concrete] // CHECK:STDOUT: %T.patt.a4b: %pattern_type.029 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.626: %A.type = symbolic_binding T, 0 [symbolic] @@ -640,7 +641,7 @@ fn F[T: I(C)](t: T) { // CHECK:STDOUT: %x.patt.loc16_21.1: @RequiresA.%pattern_type (%pattern_type.a0e) = wrapper_binding_pattern x, %x.param_patt.loc16_21.1 [symbolic = %x.patt.loc16_21.2 (constants.%x.patt.cd4828.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc16_17: type = splice_block %A.ref [concrete = constants.%A.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc16_15.2: %A.type = symbolic_binding T, 0 [symbolic = %T.loc16_15.1 (constants.%T.626)] @@ -729,10 +730,10 @@ fn F[T: I(C)](t: T) { // CHECK:STDOUT: --- fail_todo_nested_functions_in_outer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %B.type: type = facet_type <@B> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.029: type = pattern_type %A.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.029 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %A.type = symbolic_binding T, 0 [symbolic] @@ -768,7 +769,7 @@ fn F[T: I(C)](t: T) { // CHECK:STDOUT: %x.patt.loc7_28.1: @RequiresA.%pattern_type (%pattern_type.a0e) = wrapper_binding_pattern x, %x.param_patt.loc7_28.1 [symbolic = %x.patt.loc7_28.2 (constants.%x.patt.cd4)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_17: type = splice_block %A.ref [concrete = constants.%A.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_15.2: %A.type = symbolic_binding T, 0 [symbolic = %T.loc7_15.1 (constants.%T)] @@ -785,12 +786,12 @@ fn F[T: I(C)](t: T) { // CHECK:STDOUT: %U.patt.loc8_13.1: %pattern_type.831 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc8_13.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_9: type = splice_block %A.ref [concrete = constants.%A.type] { -// CHECK:STDOUT: %.Self.frozen.loc8_7: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc8_7: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_7.2: %A.type = symbolic_binding T, 0 [symbolic = %T.loc8_7.1 (constants.%T)] // CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.2 [concrete = constants.%B_where.type] { -// CHECK:STDOUT: %.Self.frozen.loc8_13: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc8_13: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B.type] // CHECK:STDOUT: %.Self.frozen.loc8_17: %B.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.f7e] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %B.ref [concrete] @@ -915,17 +916,17 @@ fn F[T: I(C)](t: T) { // CHECK:STDOUT: --- generic_observe.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.36e: = bound_method %A.type, %type.as.BitAndWith.impl.Op [concrete] @@ -981,11 +982,11 @@ fn F[T: I(C)](t: T) { // CHECK:STDOUT: %T.patt.loc6_14.1: %pattern_type.827 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_18.1: type = splice_block %.loc6_18.3 [concrete = constants.%facet_type.8cb] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Destroy.ref: type = name_ref Destroy, imports.%Core.Destroy [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %A.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.36e] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%A.ref, %Destroy.ref) [concrete = constants.%facet_type.8cb] // CHECK:STDOUT: %.loc6_18.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type.8cb] diff --git a/toolchain/check/testdata/interface/require.carbon b/toolchain/check/testdata/interface/require.carbon index 42c2ceac0283..e251de52ec6e 100644 --- a/toolchain/check/testdata/interface/require.carbon +++ b/toolchain/check/testdata/interface/require.carbon @@ -375,6 +375,7 @@ interface Z(T: type) { // CHECK:STDOUT: --- fail_todo_extend.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self.cb6: %Z.type = symbolic_binding Self, 0 [symbolic] @@ -434,6 +435,7 @@ interface Z(T: type) { // CHECK:STDOUT: --- fail_todo_extend_with_self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type.cb4: type = generic_interface_type @Y [concrete] // CHECK:STDOUT: %Y.generic: %Y.type.cb4 = struct_value () [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] @@ -513,6 +515,7 @@ interface Z(T: type) { // CHECK:STDOUT: --- fail_todo_implicit_self_impls.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self.cb6: %Z.type = symbolic_binding Self, 0 [symbolic] @@ -562,6 +565,7 @@ interface Z(T: type) { // CHECK:STDOUT: --- fail_todo_explicit_self_impls.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self.cb6: %Z.type = symbolic_binding Self, 0 [symbolic] @@ -613,6 +617,7 @@ interface Z(T: type) { // CHECK:STDOUT: --- explicit_self_specific_impls.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -673,6 +678,7 @@ interface Z(T: type) { // CHECK:STDOUT: --- require_impls_where.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %Y.assoc_type: type = assoc_entity_type @Y [concrete] // CHECK:STDOUT: %assoc0: %Y.assoc_type = assoc_entity element0, @Y.WithSelf.%Y1 [concrete] @@ -750,8 +756,8 @@ interface Z(T: type) { // CHECK:STDOUT: --- require_impls_self_specific.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -768,7 +774,7 @@ interface Z(T: type) { // CHECK:STDOUT: %T.patt.loc4_14.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: type = splice_block %.loc4_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] @@ -846,6 +852,7 @@ interface Z(T: type) { // CHECK:STDOUT: --- require_self_in_requirement.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %Y.assoc_type: type = assoc_entity_type @Y [concrete] // CHECK:STDOUT: %assoc0: %Y.assoc_type = assoc_entity element0, @Y.WithSelf.%Y1 [concrete] @@ -924,8 +931,8 @@ interface Z(T: type) { // CHECK:STDOUT: --- require_same.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -941,7 +948,7 @@ interface Z(T: type) { // CHECK:STDOUT: %T.patt.loc8_14.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_16.1: type = splice_block %.loc8_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_14.1 (constants.%T)] diff --git a/toolchain/check/testdata/interface/self.carbon b/toolchain/check/testdata/interface/self.carbon index dfef097a3155..06f4888991c1 100644 --- a/toolchain/check/testdata/interface/self.carbon +++ b/toolchain/check/testdata/interface/self.carbon @@ -20,6 +20,7 @@ interface UseSelf { // CHECK:STDOUT: --- self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %UseSelf.type: type = facet_type <@UseSelf> [concrete] // CHECK:STDOUT: %Self: %UseSelf.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic] diff --git a/toolchain/check/testdata/interface/syntactic_merge.carbon b/toolchain/check/testdata/interface/syntactic_merge.carbon index dd0570fadff6..8c257dbbfc2e 100644 --- a/toolchain/check/testdata/interface/syntactic_merge.carbon +++ b/toolchain/check/testdata/interface/syntactic_merge.carbon @@ -200,11 +200,11 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -232,7 +232,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc8: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %C.ref.loc7 [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen.loc7: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc7: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc7_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc7_16.1 (constants.%a)] @@ -241,7 +241,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc8: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8: type = splice_block %C.ref.loc8 [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen.loc8: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc8: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref.loc8: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc8: %C = symbolic_binding a, 0 [symbolic = %a.loc7_16.1 (constants.%a)] @@ -250,7 +250,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc11: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc10 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10: type = splice_block %D.ref.loc10 [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen.loc10: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc10: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref.loc10: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc10_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc10_16.1 (constants.%a)] @@ -259,7 +259,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc11: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc10 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11: type = splice_block %D.ref.loc11 [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen.loc11: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc11: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref.loc11: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc11: %C = symbolic_binding a, 0 [symbolic = %a.loc10_16.1 (constants.%a)] @@ -331,11 +331,11 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: --- spacing.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -355,7 +355,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc7: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %C.ref.loc6 [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen.loc6: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref.loc6: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc6_23.2: %C = symbolic_binding a, 0 [symbolic = %a.loc6_23.1 (constants.%a)] @@ -364,7 +364,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc7: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %C.ref.loc7 [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen.loc7: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc7: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc7: %C = symbolic_binding a, 0 [symbolic = %a.loc6_23.1 (constants.%a)] @@ -409,11 +409,11 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: --- fail_parens.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -435,7 +435,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc6_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc6_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc6_16.1 (constants.%a)] @@ -444,7 +444,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc14_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc14_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc14_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc14_16.1 (constants.%a)] @@ -501,11 +501,11 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: --- fail_raw_identifier.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -527,7 +527,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc6_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc6_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc6_16.1 (constants.%a)] @@ -536,7 +536,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc14_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc14_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc14_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc14_16.1 (constants.%a)] @@ -593,11 +593,11 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: --- two_file.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -621,7 +621,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc7_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc7_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc7_16.1 (constants.%a)] @@ -630,7 +630,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc8_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc8_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8: type = splice_block %D.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc8_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc8_16.1 (constants.%a)] @@ -672,8 +672,8 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: --- fail_todo_two_file.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -718,7 +718,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc12_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc12_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc12_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc12_16.1 (constants.%a)] @@ -727,7 +727,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc21_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc21_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc21: type = splice_block %D.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc21_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc21_16.1 (constants.%a)] @@ -822,11 +822,11 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: --- fail_name_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -853,7 +853,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc7_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc7_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc7_16.1 (constants.%a)] @@ -862,7 +862,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %b.patt.loc15_16.1: %pattern_type = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc15_16.2 (constants.%b.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15: type = splice_block %D.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %b.loc15_16.2: %C = symbolic_binding b, 0 [symbolic = %b.loc15_16.1 (constants.%b)] @@ -919,11 +919,11 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: --- fail_alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -948,7 +948,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc7_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc7_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc7_16.1 (constants.%a)] @@ -957,7 +957,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc15_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc15_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15: type = splice_block %D.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc15_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc15_16.1 (constants.%a)] @@ -1014,11 +1014,11 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: --- fail_deduced_alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -1043,7 +1043,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc7_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc7_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc7_16.1 (constants.%a)] @@ -1052,7 +1052,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc15_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc15_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15: type = splice_block %D.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc15_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc15_16.1 (constants.%a)] @@ -1109,11 +1109,11 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: --- alias_two_file.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -1131,7 +1131,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc6_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %C.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc6_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc6_16.1 (constants.%a)] @@ -1161,11 +1161,11 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: --- fail_alias_two_file.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] // CHECK:STDOUT: %a: %C = symbolic_binding a, 0 [symbolic] @@ -1199,7 +1199,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc17_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc17_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17: type = splice_block %D.ref [concrete = constants.%C] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [concrete = constants.%C] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc17_16.2: %C = symbolic_binding a, 0 [symbolic = %a.loc17_16.1 (constants.%a)] @@ -1255,11 +1255,11 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: --- fail_repeat_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %const: type = const_type %C [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %const [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = symbolic_binding_pattern a, 0 [symbolic] @@ -1282,7 +1282,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc6_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %const [concrete = constants.%const] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %const: type = const_type %C.ref [concrete = constants.%const] // CHECK:STDOUT: } @@ -1292,7 +1292,7 @@ interface Foo(a: const (const C)) {} // CHECK:STDOUT: %a.patt.loc18_16.1: %pattern_type = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc18_16.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18: type = splice_block %const.loc18_18 [concrete = constants.%const] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %const.loc18_25: type = const_type %C.ref [concrete = constants.%const] // CHECK:STDOUT: %const.loc18_18: type = const_type %const.loc18_25 [concrete = constants.%const] diff --git a/toolchain/check/testdata/interface/todo_define_not_default.carbon b/toolchain/check/testdata/interface/todo_define_not_default.carbon index 228012258407..3dba2598699b 100644 --- a/toolchain/check/testdata/interface/todo_define_not_default.carbon +++ b/toolchain/check/testdata/interface/todo_define_not_default.carbon @@ -26,6 +26,7 @@ interface I { // CHECK:STDOUT: --- todo_define_not_default.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: type = fn_type @I.WithSelf.F, @I.WithSelf(%Self.37e) [symbolic] @@ -48,8 +49,8 @@ interface I { // CHECK:STDOUT: %I.WithSelf.G: %I.WithSelf.G.type = struct_value () [symbolic] // CHECK:STDOUT: %assoc1: %I.assoc_type = assoc_entity element1, @I.WithSelf.%I.WithSelf.G.decl [concrete] // CHECK:STDOUT: %assoc2: %I.assoc_type = assoc_entity element2, @I.WithSelf.%T [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.24b = tuple_value (%i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.693 = tuple_value (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e55: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %assoc3: %I.assoc_type = assoc_entity element3, @I.WithSelf.%N [concrete] // CHECK:STDOUT: %int_42.20e: Core.IntLiteral = int_value 42 [concrete] @@ -124,7 +125,7 @@ interface I { // CHECK:STDOUT: %assoc2: %I.assoc_type = assoc_entity element2, @I.WithSelf.%T [concrete = constants.%assoc2] // CHECK:STDOUT: %i32.loc22_18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc22_23: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc22_26: %tuple.type.24b = tuple_literal (%i32.loc22_18, %i32.loc22_23) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc22_26: %tuple.type.693 = tuple_literal (%i32.loc22_18, %i32.loc22_23) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc22_27: type = converted %.loc22_26, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: } // CHECK:STDOUT: %N: %i32 = assoc_const_decl @N [concrete] { diff --git a/toolchain/check/testdata/interop/cpp/basics/import/cpp_namespace.carbon b/toolchain/check/testdata/interop/cpp/basics/import/cpp_namespace.carbon index e67b11aec92c..939f8256f77a 100644 --- a/toolchain/check/testdata/interop/cpp/basics/import/cpp_namespace.carbon +++ b/toolchain/check/testdata/interop/cpp/basics/import/cpp_namespace.carbon @@ -134,6 +134,7 @@ fn F() { // CHECK:STDOUT: --- system_header.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %system_function.cpp_overload_set.type: type = cpp_overload_set_type @system_function.cpp_overload_set [concrete] // CHECK:STDOUT: %system_function.cpp_overload_set.value: %system_function.cpp_overload_set.type = cpp_overload_set_value @system_function.cpp_overload_set [concrete] diff --git a/toolchain/check/testdata/interop/cpp/basics/import/import.carbon b/toolchain/check/testdata/interop/cpp/basics/import/import.carbon index e06abbbf39b9..e5b9f352f322 100644 --- a/toolchain/check/testdata/interop/cpp/basics/import/import.carbon +++ b/toolchain/check/testdata/interop/cpp/basics/import/import.carbon @@ -123,6 +123,10 @@ fn F() { // CHECK:STDOUT: --- fail_todo_import_struct_api.carbon // CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Main.MyStructAlias: type = import_ref Main//struct_api, MyStructAlias, loaded [concrete = ] // CHECK:STDOUT: } @@ -145,6 +149,7 @@ fn F() { // CHECK:STDOUT: --- fail_todo_import_function_api.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_8.b85: Core.IntLiteral = int_value 8 [concrete] // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete] // CHECK:STDOUT: %i16: type = class_type @Int, @Int(%int_16) [concrete] diff --git a/toolchain/check/testdata/interop/cpp/basics/import/indirect.carbon b/toolchain/check/testdata/interop/cpp/basics/import/indirect.carbon index 496ee4b1209f..85386f4d8f37 100644 --- a/toolchain/check/testdata/interop/cpp/basics/import/indirect.carbon +++ b/toolchain/check/testdata/interop/cpp/basics/import/indirect.carbon @@ -146,6 +146,7 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: --- indirect_import_via_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -221,6 +222,7 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: --- indirect_import_via_alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -337,6 +339,7 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: --- import_template.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] diff --git a/toolchain/check/testdata/interop/cpp/basics/inline/import.carbon b/toolchain/check/testdata/interop/cpp/basics/inline/import.carbon index 5c574872b584..2efb42e52936 100644 --- a/toolchain/check/testdata/interop/cpp/basics/inline/import.carbon +++ b/toolchain/check/testdata/interop/cpp/basics/inline/import.carbon @@ -51,6 +51,7 @@ fn Run() { // CHECK:STDOUT: --- use_inline_function_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %func.cpp_overload_set.type: type = cpp_overload_set_type @func.cpp_overload_set [concrete] // CHECK:STDOUT: %func.cpp_overload_set.value: %func.cpp_overload_set.type = cpp_overload_set_value @func.cpp_overload_set [concrete] @@ -84,6 +85,7 @@ fn Run() { // CHECK:STDOUT: --- with_language_marker.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %another_func.cpp_overload_set.type: type = cpp_overload_set_type @another_func.cpp_overload_set [concrete] // CHECK:STDOUT: %another_func.cpp_overload_set.value: %another_func.cpp_overload_set.type = cpp_overload_set_value @another_func.cpp_overload_set [concrete] diff --git a/toolchain/check/testdata/interop/cpp/basics/unsupported_decl_type.carbon b/toolchain/check/testdata/interop/cpp/basics/unsupported_decl_type.carbon index a2e284bdda8b..6b73db76923d 100644 --- a/toolchain/check/testdata/interop/cpp/basics/unsupported_decl_type.carbon +++ b/toolchain/check/testdata/interop/cpp/basics/unsupported_decl_type.carbon @@ -38,6 +38,7 @@ fn F() -> i32 { // CHECK:STDOUT: --- fail_todo_use_structured_binding.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interop/cpp/class/import/abstract.carbon b/toolchain/check/testdata/interop/cpp/class/import/abstract.carbon index a18a6055f6c4..3e788080ef97 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/abstract.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/abstract.carbon @@ -104,6 +104,7 @@ fn F() -> Cpp.AbstractFinal { // CHECK:STDOUT: --- use_abstract_final.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %AbstractFinal: type = class_type @AbstractFinal [concrete] // CHECK:STDOUT: %.dbd: Core.Form = init_form %AbstractFinal [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %AbstractFinal [concrete] diff --git a/toolchain/check/testdata/interop/cpp/class/import/access.carbon b/toolchain/check/testdata/interop/cpp/class/import/access.carbon index 5f19c584d9ac..adbb915bd72a 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/access.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/access.carbon @@ -1621,6 +1621,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- import_non_function_member_public.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NonFunctionMemberPublic: type = class_type @NonFunctionMemberPublic [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -1670,6 +1671,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- import_non_function_member_public_extend.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %NonFunctionMemberPublic: type = class_type @NonFunctionMemberPublic [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -1716,6 +1718,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- import_non_function_member_protected_extend_call_in_member.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %NonFunctionMemberProtected: type = class_type @NonFunctionMemberProtected [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -1799,6 +1802,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- import_function_member_public.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %FunctionMemberPublic: type = class_type @FunctionMemberPublic [concrete] // CHECK:STDOUT: %ptr.9a9: type = ptr_type %FunctionMemberPublic [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1845,6 +1849,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- fail_todo_import_function_member_protected_extend_call_instance_in_member.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %FunctionMemberProtected.instance_fn.cpp_overload_set.type: type = cpp_overload_set_type @FunctionMemberProtected.instance_fn.cpp_overload_set [concrete] // CHECK:STDOUT: %FunctionMemberProtected.instance_fn.cpp_overload_set.value: %FunctionMemberProtected.instance_fn.cpp_overload_set.type = cpp_overload_set_value @FunctionMemberProtected.instance_fn.cpp_overload_set [concrete] @@ -1877,6 +1882,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- import_function_member_protected_extend_call_static_in_member.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %FunctionMemberProtected: type = class_type @FunctionMemberProtected [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1926,6 +1932,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- import_overload_set_public.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %OverloadSet: type = class_type @OverloadSet [concrete] // CHECK:STDOUT: %OverloadSet.OverloadSet.cpp_overload_set.type: type = cpp_overload_set_type @OverloadSet.OverloadSet.cpp_overload_set [concrete] @@ -2025,6 +2032,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- import_overload_set_protected_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %OverloadSet: type = class_type @OverloadSet [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -2225,6 +2233,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- import_overload_set_public_base_class_call_public.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %OverloadPublic: type = class_type @OverloadPublic [concrete] // CHECK:STDOUT: %OverloadPublic.Overload.cpp_overload_set.type: type = cpp_overload_set_type @OverloadPublic.Overload.cpp_overload_set [concrete] @@ -2288,6 +2297,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- import_overload_set_public_base_class_derived_call_non_private.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %OverloadPublic: type = class_type @OverloadPublic [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -2400,6 +2410,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- import_overload_set_protected_base_class_derived_call_non_private.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %OverloadProtected: type = class_type @OverloadProtected [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -2512,6 +2523,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- base_class_public_access_allowed.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %Public: type = class_type @Public [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] @@ -2635,6 +2647,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- fail_base_class_public_access_denied.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %Public: type = class_type @Public [concrete] // CHECK:STDOUT: } @@ -2663,6 +2676,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- base_class_protected_access_allowed.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %Protected: type = class_type @Protected [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] @@ -2762,6 +2776,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: --- base_class_public_protected_access_allowed.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %PublicProtected: type = class_type @PublicProtected [concrete] // CHECK:STDOUT: %Protected: type = class_type @Protected [concrete] diff --git a/toolchain/check/testdata/interop/cpp/class/import/base.carbon b/toolchain/check/testdata/interop/cpp/class/import/base.carbon index 7c3c784c2b24..776245e888b4 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/base.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/base.carbon @@ -469,6 +469,7 @@ class V { // CHECK:STDOUT: --- use_derived_to_base_conversion.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %ptr.976: type = ptr_type %Derived [concrete] // CHECK:STDOUT: %pattern_type.d23: type = pattern_type %ptr.976 [concrete] @@ -578,6 +579,7 @@ class V { // CHECK:STDOUT: --- use_static_member.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %StaticBase: type = class_type @StaticBase [concrete] // CHECK:STDOUT: %StaticBase.base_fn.cpp_overload_set.type: type = cpp_overload_set_type @StaticBase.base_fn.cpp_overload_set [concrete] @@ -628,6 +630,7 @@ class V { // CHECK:STDOUT: --- use_base_field.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %FieldDerived: type = class_type @FieldDerived [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -695,6 +698,7 @@ class V { // CHECK:STDOUT: --- use_base_method.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %MethodDerived: type = class_type @MethodDerived [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %MethodBase: type = class_type @MethodBase [concrete] diff --git a/toolchain/check/testdata/interop/cpp/class/import/class.carbon b/toolchain/check/testdata/interop/cpp/class/import/class.carbon index 44102bdea365..373803e0926f 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/class.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/class.carbon @@ -255,6 +255,7 @@ fn GenericUse(p2: Generic(Cpp.Class1)) { // CHECK:STDOUT: --- import_declaration.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DeclBar: type = class_type @DeclBar [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %DeclBar [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr [concrete] @@ -292,6 +293,7 @@ fn GenericUse(p2: Generic(Cpp.Class1)) { // CHECK:STDOUT: --- import_definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DefBar: type = class_type @DefBar [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %DefBar [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr [concrete] @@ -329,6 +331,7 @@ fn GenericUse(p2: Generic(Cpp.Class1)) { // CHECK:STDOUT: --- import_declaration_and_definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DeclDefBar: type = class_type @DeclDefBar [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %DeclDefBar [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr [concrete] @@ -366,6 +369,7 @@ fn GenericUse(p2: Generic(Cpp.Class1)) { // CHECK:STDOUT: --- import_static_member_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %StaticMemberFnBar: type = class_type @StaticMemberFnBar [concrete] // CHECK:STDOUT: %StaticMemberFnBar.foo.cpp_overload_set.type: type = cpp_overload_set_type @StaticMemberFnBar.foo.cpp_overload_set [concrete] @@ -396,6 +400,7 @@ fn GenericUse(p2: Generic(Cpp.Class1)) { // CHECK:STDOUT: --- import_static_data_member.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %StaticDataMemberBar: type = class_type @StaticDataMemberBar [concrete] // CHECK:STDOUT: %ptr.a89: type = ptr_type %StaticDataMemberBar [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.a89 [concrete] @@ -436,6 +441,7 @@ fn GenericUse(p2: Generic(Cpp.Class1)) { // CHECK:STDOUT: --- import_data_member.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DataMemberBar: type = class_type @DataMemberBar [concrete] // CHECK:STDOUT: %ptr.ec1: type = ptr_type %DataMemberBar [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.ec1 [concrete] @@ -492,6 +498,7 @@ fn GenericUse(p2: Generic(Cpp.Class1)) { // CHECK:STDOUT: --- call_dynamic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DynamicBar: type = class_type @DynamicBar [concrete] // CHECK:STDOUT: %ptr.077: type = ptr_type %DynamicBar [concrete] // CHECK:STDOUT: %pattern_type.e8d: type = pattern_type %ptr.077 [concrete] @@ -554,6 +561,7 @@ fn GenericUse(p2: Generic(Cpp.Class1)) { // CHECK:STDOUT: --- import_to_inherit_public.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %ToInheritBar: type = class_type @ToInheritBar [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -608,6 +616,7 @@ fn GenericUse(p2: Generic(Cpp.Class1)) { // CHECK:STDOUT: --- import_template.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %TemplateBar.type: type = cpp_type_template_type TemplateBar [concrete] // CHECK:STDOUT: %TemplateBar.template: %TemplateBar.type = struct_value () [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] diff --git a/toolchain/check/testdata/interop/cpp/class/import/constructor.carbon b/toolchain/check/testdata/interop/cpp/class/import/constructor.carbon index fa8bb6628db8..d196b3895184 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/constructor.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/constructor.carbon @@ -314,6 +314,7 @@ fn F() { // CHECK:STDOUT: --- import_default.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %DefaultC: type = class_type @DefaultC [concrete] // CHECK:STDOUT: %pattern_type.903: type = pattern_type %DefaultC [concrete] @@ -368,6 +369,7 @@ fn F() { // CHECK:STDOUT: --- implicit_default.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %DefaultC: type = class_type @DefaultC [concrete] // CHECK:STDOUT: %pattern_type.903: type = pattern_type %DefaultC [concrete] @@ -426,6 +428,7 @@ fn F() { // CHECK:STDOUT: --- import_non_default.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %NonDefaultC: type = class_type @NonDefaultC [concrete] // CHECK:STDOUT: %pattern_type.714: type = pattern_type %NonDefaultC [concrete] @@ -519,6 +522,7 @@ fn F() { // CHECK:STDOUT: --- import_multiple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %MultipleC: type = class_type @MultipleC [concrete] // CHECK:STDOUT: %pattern_type.56a: type = pattern_type %MultipleC [concrete] @@ -639,6 +643,7 @@ fn F() { // CHECK:STDOUT: --- import_default_arguments.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %DefaultArgsC: type = class_type @DefaultArgsC [concrete] // CHECK:STDOUT: %pattern_type.52d: type = pattern_type %DefaultArgsC [concrete] @@ -767,6 +772,7 @@ fn F() { // CHECK:STDOUT: --- import_template.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %TemplateC: type = class_type @TemplateC [concrete] // CHECK:STDOUT: %pattern_type.f20: type = pattern_type %TemplateC [concrete] @@ -933,6 +939,7 @@ fn F() { // CHECK:STDOUT: --- import_implicit_single_argument.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %SingleArgC: type = class_type @SingleArgC [concrete] // CHECK:STDOUT: %pattern_type.bac: type = pattern_type %SingleArgC [concrete] @@ -1055,6 +1062,7 @@ fn F() { // CHECK:STDOUT: --- import_implicit_multi_arguments.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %MultiArgC: type = class_type @MultiArgC [concrete] // CHECK:STDOUT: %pattern_type.b5c: type = pattern_type %MultiArgC [concrete] diff --git a/toolchain/check/testdata/interop/cpp/class/import/dynamic.carbon b/toolchain/check/testdata/interop/cpp/class/import/dynamic.carbon index 031beb328089..ab8eab874743 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/dynamic.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/dynamic.carbon @@ -65,6 +65,7 @@ auto DoThing() -> int { // CHECK:STDOUT: --- dynamic_base_from_cpp.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %FurtherBase.further_base_func.type: type = fn_type @FurtherBase.further_base_func [concrete] // CHECK:STDOUT: %FurtherBase.further_base_func: %FurtherBase.further_base_func.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/interop/cpp/class/import/field.carbon b/toolchain/check/testdata/interop/cpp/class/import/field.carbon index 966dae7e1bf7..fa89cf9e1da3 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/field.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/field.carbon @@ -200,6 +200,7 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: --- use_struct_fields.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Struct: type = class_type @Struct [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -334,6 +335,7 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: --- use_union_fields.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Union: type = class_type @Union [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -405,6 +407,7 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: --- use_non_bitfields_in_type_with_bitfields.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %BitfieldStruct: type = class_type @BitfieldStruct [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -460,6 +463,7 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: --- fail_todo_use_bitfields.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %BitfieldStruct: type = class_type @BitfieldStruct [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/interop/cpp/class/import/method.carbon b/toolchain/check/testdata/interop/cpp/class/import/method.carbon index 260663e9871a..a1f6acf79f29 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/method.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/method.carbon @@ -269,6 +269,7 @@ fn Call(e: Cpp.ExplicitObjectParamOverloaded, n: i32, a: Cpp.AnotherOverloaded) // CHECK:STDOUT: --- use_object_param_qualifiers.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %HasQualifiers: type = class_type @HasQualifiers [concrete] // CHECK:STDOUT: %Make.type: type = fn_type @Make [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -496,6 +497,7 @@ fn Call(e: Cpp.ExplicitObjectParamOverloaded, n: i32, a: Cpp.AnotherOverloaded) // CHECK:STDOUT: --- use_object_param_qualifiers_overloaded.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NoRefQualifier: type = class_type @NoRefQualifier [concrete] // CHECK:STDOUT: %ptr.f7d: type = ptr_type %NoRefQualifier [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -644,6 +646,7 @@ fn Call(e: Cpp.ExplicitObjectParamOverloaded, n: i32, a: Cpp.AnotherOverloaded) // CHECK:STDOUT: --- call_explicit_object_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ExplicitObjectParam: type = class_type @ExplicitObjectParam [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -721,6 +724,7 @@ fn Call(e: Cpp.ExplicitObjectParamOverloaded, n: i32, a: Cpp.AnotherOverloaded) // CHECK:STDOUT: --- call_explicit_object_param_overloaded.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ExplicitObjectParamOverloaded: type = class_type @ExplicitObjectParamOverloaded [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/interop/cpp/class/import/struct.carbon b/toolchain/check/testdata/interop/cpp/class/import/struct.carbon index 590b203361dc..24a947b6b88b 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/struct.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/struct.carbon @@ -31,6 +31,7 @@ fn MyF(bar: Cpp.Bar*); // CHECK:STDOUT: --- import_declaration.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Bar: type = class_type @Bar [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %Bar [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr [concrete] diff --git a/toolchain/check/testdata/interop/cpp/class/import/template.carbon b/toolchain/check/testdata/interop/cpp/class/import/template.carbon index 84ec46dd643b..1755fff9fd74 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/template.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/template.carbon @@ -157,6 +157,7 @@ fn G() { // CHECK:STDOUT: --- use_class_template.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.614: type = class_type @A.1 [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -242,6 +243,7 @@ fn G() { // CHECK:STDOUT: --- fail_use_instantiation_error.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X.816: type = class_type @X.1 [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -331,10 +333,10 @@ fn G() { // CHECK:STDOUT: --- use_carbon_class_generic_in_cpp_template_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %B.type: type = generic_class_type @B [concrete] // CHECK:STDOUT: %B.generic: %B.type = struct_value () [concrete] @@ -344,11 +346,11 @@ fn G() { // CHECK:STDOUT: %.a92: type = template_inst %T [template] // CHECK:STDOUT: %.32d: type = type_of_inst @B.%.loc12_17.4 [template] // CHECK:STDOUT: %.8af: %.32d = splice_inst @B.%.loc12_17.4 [template] -// CHECK:STDOUT: %.897: type = splice_inst @B.%.loc12_17.7 [template] -// CHECK:STDOUT: %require_complete.5f2: = require_complete_type %.897 [template] -// CHECK:STDOUT: %B.elem.a93: type = unbound_element_type %B.60e, %.897 [template] -// CHECK:STDOUT: %struct_type.a.33e: type = struct_type {.a: %.897} [template] -// CHECK:STDOUT: %complete_type.6a6: = complete_type_witness %struct_type.a.33e [template] +// CHECK:STDOUT: %.d15: type = splice_inst @B.%.loc12_17.7 [template] +// CHECK:STDOUT: %require_complete.f74: = require_complete_type %.d15 [template] +// CHECK:STDOUT: %B.elem.d56: type = unbound_element_type %B.60e, %.d15 [template] +// CHECK:STDOUT: %struct_type.a.a60: type = struct_type {.a: %.d15} [template] +// CHECK:STDOUT: %complete_type.082: = complete_type_witness %struct_type.a.a60 [template] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %B.bd8: type = class_type @B, @B(%i32) [concrete] @@ -400,10 +402,10 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %B.decl: %B.type = class_decl @B [concrete = constants.%B.generic] { -// CHECK:STDOUT: %T.patt.loc11_10.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc11_10.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_12.1: type = splice_block %.loc11_12.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc11_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc11_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc11_10.1 (constants.%T)] @@ -423,7 +425,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @B(%T.loc11_10.2: type) { -// CHECK:STDOUT: %T.patt.loc11_10.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc11_10.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_10.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc11_10.1: type = symbolic_binding T, 0 [symbolic = %T.loc11_10.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -432,24 +434,24 @@ fn G() { // CHECK:STDOUT: %.loc12_17.5: type = type_of_inst %.loc12_17.4 [template = %.loc12_17.5 (constants.%.32d)] // CHECK:STDOUT: %.loc12_17.6: @B.%.loc12_17.5 (%.32d) = splice_inst %.loc12_17.4 [template = %.loc12_17.6 (constants.%.8af)] // CHECK:STDOUT: %.loc12_17.7: = convert_to_value_action %.loc12_17.2, type [template] -// CHECK:STDOUT: %.loc12_17.8: type = splice_inst %.loc12_17.7 [template = %.loc12_17.8 (constants.%.897)] -// CHECK:STDOUT: %require_complete: = require_complete_type %.loc12_17.8 [template = %require_complete (constants.%require_complete.5f2)] +// CHECK:STDOUT: %.loc12_17.8: type = splice_inst %.loc12_17.7 [template = %.loc12_17.8 (constants.%.d15)] +// CHECK:STDOUT: %require_complete: = require_complete_type %.loc12_17.8 [template = %require_complete (constants.%require_complete.f74)] // CHECK:STDOUT: %B: type = class_type @B, @B(%T.loc11_10.1) [symbolic = %B (constants.%B.60e)] -// CHECK:STDOUT: %B.elem: type = unbound_element_type %B, %.loc12_17.8 [template = %B.elem (constants.%B.elem.a93)] -// CHECK:STDOUT: %struct_type.a: type = struct_type {.a: @B.%.loc12_17.8 (%.897)} [template = %struct_type.a (constants.%struct_type.a.33e)] -// CHECK:STDOUT: %complete_type.loc13_1.2: = complete_type_witness %struct_type.a [template = %complete_type.loc13_1.2 (constants.%complete_type.6a6)] +// CHECK:STDOUT: %B.elem: type = unbound_element_type %B, %.loc12_17.8 [template = %B.elem (constants.%B.elem.d56)] +// CHECK:STDOUT: %struct_type.a: type = struct_type {.a: @B.%.loc12_17.8 (%.d15)} [template = %struct_type.a (constants.%struct_type.a.a60)] +// CHECK:STDOUT: %complete_type.loc13_1.2: = complete_type_witness %struct_type.a [template = %complete_type.loc13_1.2 (constants.%complete_type.082)] // CHECK:STDOUT: // CHECK:STDOUT: class { -// CHECK:STDOUT: %field_decl: @B.%B.elem (%B.elem.a93) = field_decl a, element0, %.loc12_17.3 in [concrete] { +// CHECK:STDOUT: %field_decl: @B.%B.elem (%B.elem.d56) = field_decl a, element0, %.loc12_17.3 in [concrete] { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %A.ref: %A.type = name_ref A, imports.%A.template [concrete = constants.%A.template] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc11_10.2 [symbolic = %T.loc11_10.1 (constants.%T)] // CHECK:STDOUT: %.loc12_16.1: type = template_inst %T.ref [template = %.loc12_16.2 (constants.%.a92)] // CHECK:STDOUT: %.loc12_17.1: type = type_of_inst %.loc12_17.4 [template = %.loc12_17.5 (constants.%.32d)] // CHECK:STDOUT: %.loc12_17.2: @B.%.loc12_17.5 (%.32d) = splice_inst %.loc12_17.4 [template = %.loc12_17.6 (constants.%.8af)] -// CHECK:STDOUT: %.loc12_17.3: type = splice_inst %.loc12_17.7 [template = %.loc12_17.8 (constants.%.897)] +// CHECK:STDOUT: %.loc12_17.3: type = splice_inst %.loc12_17.7 [template = %.loc12_17.8 (constants.%.d15)] // CHECK:STDOUT: } -// CHECK:STDOUT: %complete_type.loc13_1.1: = complete_type_witness constants.%struct_type.a.33e [template = %complete_type.loc13_1.2 (constants.%complete_type.6a6)] +// CHECK:STDOUT: %complete_type.loc13_1.1: = complete_type_witness constants.%struct_type.a.a60 [template = %complete_type.loc13_1.2 (constants.%complete_type.082)] // CHECK:STDOUT: complete_type_witness = %complete_type.loc13_1.1 // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -503,10 +505,10 @@ fn G() { // CHECK:STDOUT: --- let_cpp_template_constructor.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -516,17 +518,17 @@ fn G() { // CHECK:STDOUT: %.a92: type = template_inst %T [template] // CHECK:STDOUT: %.32dd98.1: type = type_of_inst @F.%.loc10_24.5 [template] // CHECK:STDOUT: %.8af9c5.1: %.32dd98.1 = splice_inst @F.%.loc10_24.5 [template] -// CHECK:STDOUT: %.897: type = splice_inst @F.%.loc10_24.8 [template] -// CHECK:STDOUT: %require_complete.5f2: = require_complete_type %.897 [template] -// CHECK:STDOUT: %pattern_type.463: type = pattern_type %.897 [template] -// CHECK:STDOUT: %a.patt.d00: %pattern_type.463 = value_binding_pattern a [template] +// CHECK:STDOUT: %.d15: type = splice_inst @F.%.loc10_24.8 [template] +// CHECK:STDOUT: %require_complete.f74: = require_complete_type %.d15 [template] +// CHECK:STDOUT: %pattern_type.3c1: type = pattern_type %.d15 [template] +// CHECK:STDOUT: %a.patt.100: %pattern_type.3c1 = value_binding_pattern a [template] // CHECK:STDOUT: %.32dd98.2: type = type_of_inst @F.%.loc10_35.3 [template] // CHECK:STDOUT: %.8af9c5.2: %.32dd98.2 = splice_inst @F.%.loc10_35.3 [template] // CHECK:STDOUT: %.e8f: type = type_of_inst @F.%.loc10_36.3 [template] // CHECK:STDOUT: %.c84: %.e8f = splice_inst @F.%.loc10_36.3 [template] // CHECK:STDOUT: %.08a: type = type_of_inst @F.%.loc10_39.4 [template] // CHECK:STDOUT: %.47d: %.08a = splice_inst @F.%.loc10_39.4 [template] -// CHECK:STDOUT: %.bdb: %.897 = splice_inst @F.%.loc10_39.7 [template] +// CHECK:STDOUT: %.74a: %.d15 = splice_inst @F.%.loc10_39.7 [template] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -587,10 +589,10 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc9_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc9_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_17.1: type = splice_block %.loc9_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc9_15.1 (constants.%T)] @@ -599,7 +601,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc9_15.2: type) { -// CHECK:STDOUT: %T.patt.loc9_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc9_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc9_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc9_15.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -608,10 +610,10 @@ fn G() { // CHECK:STDOUT: %.loc10_24.6: type = type_of_inst %.loc10_24.5 [template = %.loc10_24.6 (constants.%.32dd98.1)] // CHECK:STDOUT: %.loc10_24.7: @F.%.loc10_24.6 (%.32dd98.1) = splice_inst %.loc10_24.5 [template = %.loc10_24.7 (constants.%.8af9c5.1)] // CHECK:STDOUT: %.loc10_24.8: = convert_to_value_action %.loc10_24.3, type [template] -// CHECK:STDOUT: %.loc10_24.9: type = splice_inst %.loc10_24.8 [template = %.loc10_24.9 (constants.%.897)] -// CHECK:STDOUT: %require_complete: = require_complete_type %.loc10_24.9 [template = %require_complete (constants.%require_complete.5f2)] -// CHECK:STDOUT: %pattern_type: type = pattern_type %.loc10_24.9 [template = %pattern_type (constants.%pattern_type.463)] -// CHECK:STDOUT: %a.patt.loc10_15.2: @F.%pattern_type (%pattern_type.463) = value_binding_pattern a [template = %a.patt.loc10_15.2 (constants.%a.patt.d00)] +// CHECK:STDOUT: %.loc10_24.9: type = splice_inst %.loc10_24.8 [template = %.loc10_24.9 (constants.%.d15)] +// CHECK:STDOUT: %require_complete: = require_complete_type %.loc10_24.9 [template = %require_complete (constants.%require_complete.f74)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %.loc10_24.9 [template = %pattern_type (constants.%pattern_type.3c1)] +// CHECK:STDOUT: %a.patt.loc10_15.2: @F.%pattern_type (%pattern_type.3c1) = value_binding_pattern a [template = %a.patt.loc10_15.2 (constants.%a.patt.100)] // CHECK:STDOUT: %.loc10_35.3: = call_action (%A.ref.loc10_31, %.loc10_34), false [template] // CHECK:STDOUT: %.loc10_35.4: type = type_of_inst %.loc10_35.3 [template = %.loc10_35.4 (constants.%.32dd98.2)] // CHECK:STDOUT: %.loc10_35.5: @F.%.loc10_35.4 (%.32dd98.2) = splice_inst %.loc10_35.3 [template = %.loc10_35.5 (constants.%.8af9c5.2)] @@ -622,7 +624,7 @@ fn G() { // CHECK:STDOUT: %.loc10_39.5: type = type_of_inst %.loc10_39.4 [template = %.loc10_39.5 (constants.%.08a)] // CHECK:STDOUT: %.loc10_39.6: @F.%.loc10_39.5 (%.08a) = splice_inst %.loc10_39.4 [template = %.loc10_39.6 (constants.%.47d)] // CHECK:STDOUT: %.loc10_39.7: = convert_to_value_action %.loc10_39.2, %.loc10_24.9 [template] -// CHECK:STDOUT: %.loc10_39.8: @F.%.loc10_24.9 (%.897) = splice_inst %.loc10_39.7 [template = %.loc10_39.8 (constants.%.bdb)] +// CHECK:STDOUT: %.loc10_39.8: @F.%.loc10_24.9 (%.d15) = splice_inst %.loc10_39.7 [template = %.loc10_39.8 (constants.%.74a)] // CHECK:STDOUT: // CHECK:STDOUT: fn() { // CHECK:STDOUT: !entry: @@ -636,19 +638,19 @@ fn G() { // CHECK:STDOUT: %.loc10_36.2: @F.%.loc10_36.4 (%.e8f) = splice_inst %.loc10_36.3 [template = %.loc10_36.5 (constants.%.c84)] // CHECK:STDOUT: %.loc10_39.1: type = type_of_inst %.loc10_39.4 [template = %.loc10_39.5 (constants.%.08a)] // CHECK:STDOUT: %.loc10_39.2: @F.%.loc10_39.5 (%.08a) = splice_inst %.loc10_39.4 [template = %.loc10_39.6 (constants.%.47d)] -// CHECK:STDOUT: %.loc10_39.3: @F.%.loc10_24.9 (%.897) = splice_inst %.loc10_39.7 [template = %.loc10_39.8 (constants.%.bdb)] -// CHECK:STDOUT: %.loc10_24.1: type = splice_block %.loc10_24.4 [template = %.loc10_24.9 (constants.%.897)] { +// CHECK:STDOUT: %.loc10_39.3: @F.%.loc10_24.9 (%.d15) = splice_inst %.loc10_39.7 [template = %.loc10_39.8 (constants.%.74a)] +// CHECK:STDOUT: %.loc10_24.1: type = splice_block %.loc10_24.4 [template = %.loc10_24.9 (constants.%.d15)] { // CHECK:STDOUT: %Cpp.ref.loc10_17: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %A.ref.loc10_20: %A.type = name_ref A, imports.%A.template [concrete = constants.%A.template] // CHECK:STDOUT: %T.ref.loc10_23: type = name_ref T, %T.loc9_15.2 [symbolic = %T.loc9_15.1 (constants.%T)] // CHECK:STDOUT: %.loc10_23.1: type = template_inst %T.ref.loc10_23 [template = %.loc10_23.2 (constants.%.a92)] // CHECK:STDOUT: %.loc10_24.2: type = type_of_inst %.loc10_24.5 [template = %.loc10_24.6 (constants.%.32dd98.1)] // CHECK:STDOUT: %.loc10_24.3: @F.%.loc10_24.6 (%.32dd98.1) = splice_inst %.loc10_24.5 [template = %.loc10_24.7 (constants.%.8af9c5.1)] -// CHECK:STDOUT: %.loc10_24.4: type = splice_inst %.loc10_24.8 [template = %.loc10_24.9 (constants.%.897)] +// CHECK:STDOUT: %.loc10_24.4: type = splice_inst %.loc10_24.8 [template = %.loc10_24.9 (constants.%.d15)] // CHECK:STDOUT: } -// CHECK:STDOUT: %a: @F.%.loc10_24.9 (%.897) = wrapper_binding a, %.loc10_39.3 +// CHECK:STDOUT: %a: @F.%.loc10_24.9 (%.d15) = wrapper_binding a, %.loc10_39.3 // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %a.patt.loc10_15.1: @F.%pattern_type (%pattern_type.463) = value_binding_pattern a [template = %a.patt.loc10_15.2 (constants.%a.patt.d00)] +// CHECK:STDOUT: %a.patt.loc10_15.1: @F.%pattern_type (%pattern_type.3c1) = value_binding_pattern a [template = %a.patt.loc10_15.2 (constants.%a.patt.100)] // CHECK:STDOUT: } // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -698,10 +700,10 @@ fn G() { // CHECK:STDOUT: --- var_cpp_template_constructor.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -711,11 +713,11 @@ fn G() { // CHECK:STDOUT: %.a92: type = template_inst %T [template] // CHECK:STDOUT: %.32dd98.1: type = type_of_inst @F.%.loc10_24.5 [template] // CHECK:STDOUT: %.8af9c5.1: %.32dd98.1 = splice_inst @F.%.loc10_24.5 [template] -// CHECK:STDOUT: %.897: type = splice_inst @F.%.loc10_24.8 [template] -// CHECK:STDOUT: %require_complete.5f2: = require_complete_type %.897 [template] -// CHECK:STDOUT: %pattern_type.463: type = pattern_type %.897 [template] -// CHECK:STDOUT: %a.patt.577: %pattern_type.463 = ref_binding_pattern a [template] -// CHECK:STDOUT: %a.var_patt.c6d: %pattern_type.463 = var_pattern %a.patt.577 [template] +// CHECK:STDOUT: %.d15: type = splice_inst @F.%.loc10_24.8 [template] +// CHECK:STDOUT: %require_complete.f74: = require_complete_type %.d15 [template] +// CHECK:STDOUT: %pattern_type.3c1: type = pattern_type %.d15 [template] +// CHECK:STDOUT: %a.patt.b2a: %pattern_type.3c1 = ref_binding_pattern a [template] +// CHECK:STDOUT: %a.var_patt.66a: %pattern_type.3c1 = var_pattern %a.patt.b2a [template] // CHECK:STDOUT: %.32dd98.2: type = type_of_inst @F.%.loc10_35.3 [template] // CHECK:STDOUT: %.8af9c5.2: %.32dd98.2 = splice_inst @F.%.loc10_35.3 [template] // CHECK:STDOUT: %.e8f: type = type_of_inst @F.%.loc10_36.3 [template] @@ -724,25 +726,25 @@ fn G() { // CHECK:STDOUT: %.47d: %.08a = splice_inst @F.%.loc10_39.3 [template] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] -// CHECK:STDOUT: %.d2cb4d.1: type = type_of_inst @F.%.loc10_3.15 [template] -// CHECK:STDOUT: %.20c9c2.1: %.d2cb4d.1 = splice_inst @F.%.loc10_3.15 [template] -// CHECK:STDOUT: %.aaff12.1: type = type_of_inst @F.%.loc10_3.18 [template] -// CHECK:STDOUT: %.c16b39.1: %.aaff12.1 = splice_inst @F.%.loc10_3.18 [template] -// CHECK:STDOUT: %.459: type = type_of_inst @F.%.loc10_3.21 [template] -// CHECK:STDOUT: %.5f8: %.459 = splice_inst @F.%.loc10_3.21 [template] -// CHECK:STDOUT: %.ec7: type = type_of_inst @F.%.loc10_3.24 [template] -// CHECK:STDOUT: %.fde: %.ec7 = splice_inst @F.%.loc10_3.24 [template] -// CHECK:STDOUT: %.589: %.897 = splice_inst @F.%.loc10_3.27 [template] +// CHECK:STDOUT: %.98306a.1: type = type_of_inst @F.%.loc10_3.15 [template] +// CHECK:STDOUT: %.21024f.1: %.98306a.1 = splice_inst @F.%.loc10_3.15 [template] +// CHECK:STDOUT: %.20fa30.1: type = type_of_inst @F.%.loc10_3.18 [template] +// CHECK:STDOUT: %.aae4fe.1: %.20fa30.1 = splice_inst @F.%.loc10_3.18 [template] +// CHECK:STDOUT: %.e2f: type = type_of_inst @F.%.loc10_3.21 [template] +// CHECK:STDOUT: %.8c6: %.e2f = splice_inst @F.%.loc10_3.21 [template] +// CHECK:STDOUT: %.4d4: type = type_of_inst @F.%.loc10_3.24 [template] +// CHECK:STDOUT: %.c8d: %.4d4 = splice_inst @F.%.loc10_3.24 [template] +// CHECK:STDOUT: %.972: %.d15 = splice_inst @F.%.loc10_3.27 [template] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Self.0e7: %Destroy.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.d3e: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Self.0e7) [symbolic] // CHECK:STDOUT: %Destroy.WithSelf.Op.42b: %Destroy.WithSelf.Op.type.d3e = struct_value () [symbolic] // CHECK:STDOUT: %Destroy.assoc_type: type = assoc_entity_type @Destroy [concrete] // CHECK:STDOUT: %assoc0.ae8: %Destroy.assoc_type = assoc_entity element0, imports.%Core.import_ref.918 [concrete] -// CHECK:STDOUT: %.c1f: type = type_of_inst @F.%.loc10_3.29 [template] -// CHECK:STDOUT: %.7ec: %.c1f = splice_inst @F.%.loc10_3.29 [template] -// CHECK:STDOUT: %.2d0: type = type_of_inst @F.%.loc10_3.32 [template] -// CHECK:STDOUT: %.a5e: %.2d0 = splice_inst @F.%.loc10_3.32 [template] +// CHECK:STDOUT: %.e71: type = type_of_inst @F.%.loc10_3.29 [template] +// CHECK:STDOUT: %.1c0: %.e71 = splice_inst @F.%.loc10_3.29 [template] +// CHECK:STDOUT: %.920: type = type_of_inst @F.%.loc10_3.32 [template] +// CHECK:STDOUT: %.024: %.920 = splice_inst @F.%.loc10_3.32 [template] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] @@ -776,35 +778,35 @@ fn G() { // CHECK:STDOUT: %.38d: init %A to %.3a8 = mark_in_place_init %A__carbon_thunk.call // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %.ca0: = call_action (%ImplicitAs.generic, %.897), false [template] -// CHECK:STDOUT: %.d2cb4d.2: type = type_of_inst %.ca0 [template] -// CHECK:STDOUT: %.20c9c2.2: %.d2cb4d.2 = splice_inst %.ca0 [template] -// CHECK:STDOUT: %.da6: = access_member_action %.20c9c2.2, Convert [template] -// CHECK:STDOUT: %.aaff12.2: type = type_of_inst %.da6 [template] -// CHECK:STDOUT: %.c16b39.2: %.aaff12.2 = splice_inst %.da6 [template] -// CHECK:STDOUT: %.ba2: = compound_member_access_action %.78f, %.c16b39.2 [template] -// CHECK:STDOUT: %.d40: type = type_of_inst %.ba2 [template] -// CHECK:STDOUT: %.5da: %.d40 = splice_inst %.ba2 [template] -// CHECK:STDOUT: %.117: = call_action (%.5da), true [template] -// CHECK:STDOUT: %.f91: type = type_of_inst %.117 [template] -// CHECK:STDOUT: %.519: %.f91 = splice_inst %.117 [template] -// CHECK:STDOUT: %.c79: = convert_to_category_action %.519, element10 [template] -// CHECK:STDOUT: %.16a: %A = splice_inst %.c79 [template] +// CHECK:STDOUT: %.7ad: = call_action (%ImplicitAs.generic, %.d15), false [template] +// CHECK:STDOUT: %.98306a.2: type = type_of_inst %.7ad [template] +// CHECK:STDOUT: %.21024f.2: %.98306a.2 = splice_inst %.7ad [template] +// CHECK:STDOUT: %.adc: = access_member_action %.21024f.2, Convert [template] +// CHECK:STDOUT: %.20fa30.2: type = type_of_inst %.adc [template] +// CHECK:STDOUT: %.aae4fe.2: %.20fa30.2 = splice_inst %.adc [template] +// CHECK:STDOUT: %.311: = compound_member_access_action %.78f, %.aae4fe.2 [template] +// CHECK:STDOUT: %.1be: type = type_of_inst %.311 [template] +// CHECK:STDOUT: %.3f6: %.1be = splice_inst %.311 [template] +// CHECK:STDOUT: %.787: = call_action (%.3f6), true [template] +// CHECK:STDOUT: %.67b: type = type_of_inst %.787 [template] +// CHECK:STDOUT: %.c3f: %.67b = splice_inst %.787 [template] +// CHECK:STDOUT: %.9d9: = convert_to_category_action %.c3f, element10 [template] +// CHECK:STDOUT: %.1a1: %A = splice_inst %.9d9 [template] // CHECK:STDOUT: %A.cpp_destructor.type: type = fn_type @A.cpp_destructor [concrete] // CHECK:STDOUT: %A.cpp_destructor: %A.cpp_destructor.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.294: = custom_witness (%A.cpp_destructor), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.bf5: %Destroy.type = facet_value %A, (%custom_witness.294) [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.d24: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Destroy.facet.bf5) [concrete] // CHECK:STDOUT: %.429: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.d24, %Destroy.facet.bf5 [concrete] -// CHECK:STDOUT: %inst.splice_block.f70: = inst_value [concrete] { -// CHECK:STDOUT: %.62f: = splice_block %bound_method { -// CHECK:STDOUT: %.07f: ref %A = specific_inst @F.%a.var, @F(%i32) +// CHECK:STDOUT: %inst.splice_block.1c7: = inst_value [concrete] { +// CHECK:STDOUT: %.d1c: = splice_block %bound_method { +// CHECK:STDOUT: %.30e: ref %A = specific_inst @F.%a.var, @F(%i32) // CHECK:STDOUT: %impl.elem0: %.429 = impl_witness_access %custom_witness.294, element0 [concrete = %A.cpp_destructor] -// CHECK:STDOUT: %bound_method: = bound_method %.07f, %impl.elem0 +// CHECK:STDOUT: %bound_method: = bound_method %.30e, %impl.elem0 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: %inst.call: = inst_value [concrete] { -// CHECK:STDOUT: %A.cpp_destructor.call: init %empty_tuple.type = call %.62f(%.07f) +// CHECK:STDOUT: %A.cpp_destructor.call: init %empty_tuple.type = call %.d1c(%.30e) // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -826,10 +828,10 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc9_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc9_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_17.1: type = splice_block %.loc9_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc9_15.1 (constants.%T)] @@ -837,7 +839,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc9_15.2: type) { -// CHECK:STDOUT: %T.patt.loc9_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc9_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc9_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc9_15.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -846,11 +848,11 @@ fn G() { // CHECK:STDOUT: %.loc10_24.6: type = type_of_inst %.loc10_24.5 [template = %.loc10_24.6 (constants.%.32dd98.1)] // CHECK:STDOUT: %.loc10_24.7: @F.%.loc10_24.6 (%.32dd98.1) = splice_inst %.loc10_24.5 [template = %.loc10_24.7 (constants.%.8af9c5.1)] // CHECK:STDOUT: %.loc10_24.8: = convert_to_value_action %.loc10_24.3, type [template] -// CHECK:STDOUT: %.loc10_24.9: type = splice_inst %.loc10_24.8 [template = %.loc10_24.9 (constants.%.897)] -// CHECK:STDOUT: %require_complete: = require_complete_type %.loc10_24.9 [template = %require_complete (constants.%require_complete.5f2)] -// CHECK:STDOUT: %pattern_type: type = pattern_type %.loc10_24.9 [template = %pattern_type (constants.%pattern_type.463)] -// CHECK:STDOUT: %a.patt.loc10_15.2: @F.%pattern_type (%pattern_type.463) = ref_binding_pattern a [template = %a.patt.loc10_15.2 (constants.%a.patt.577)] -// CHECK:STDOUT: %a.var_patt.loc10_3.2: @F.%pattern_type (%pattern_type.463) = var_pattern %a.patt.loc10_15.2 [template = %a.var_patt.loc10_3.2 (constants.%a.var_patt.c6d)] +// CHECK:STDOUT: %.loc10_24.9: type = splice_inst %.loc10_24.8 [template = %.loc10_24.9 (constants.%.d15)] +// CHECK:STDOUT: %require_complete: = require_complete_type %.loc10_24.9 [template = %require_complete (constants.%require_complete.f74)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %.loc10_24.9 [template = %pattern_type (constants.%pattern_type.3c1)] +// CHECK:STDOUT: %a.patt.loc10_15.2: @F.%pattern_type (%pattern_type.3c1) = ref_binding_pattern a [template = %a.patt.loc10_15.2 (constants.%a.patt.b2a)] +// CHECK:STDOUT: %a.var_patt.loc10_3.2: @F.%pattern_type (%pattern_type.3c1) = var_pattern %a.patt.loc10_15.2 [template = %a.var_patt.loc10_3.2 (constants.%a.var_patt.66a)] // CHECK:STDOUT: %.loc10_35.3: = call_action (%A.ref.loc10_31, %.loc10_34), false [template] // CHECK:STDOUT: %.loc10_35.4: type = type_of_inst %.loc10_35.3 [template = %.loc10_35.4 (constants.%.32dd98.2)] // CHECK:STDOUT: %.loc10_35.5: @F.%.loc10_35.4 (%.32dd98.2) = splice_inst %.loc10_35.3 [template = %.loc10_35.5 (constants.%.8af9c5.2)] @@ -860,30 +862,30 @@ fn G() { // CHECK:STDOUT: %.loc10_39.3: = call_action (%.loc10_36.2), false [template] // CHECK:STDOUT: %.loc10_39.4: type = type_of_inst %.loc10_39.3 [template = %.loc10_39.4 (constants.%.08a)] // CHECK:STDOUT: %.loc10_39.5: @F.%.loc10_39.4 (%.08a) = splice_inst %.loc10_39.3 [template = %.loc10_39.5 (constants.%.47d)] -// CHECK:STDOUT: %.loc10_3.15: = call_action (constants.%ImplicitAs.generic, constants.%.897), false [template] -// CHECK:STDOUT: %.loc10_3.16: type = type_of_inst %.loc10_3.15 [template = %.loc10_3.16 (constants.%.d2cb4d.1)] -// CHECK:STDOUT: %.loc10_3.17: @F.%.loc10_3.16 (%.d2cb4d.1) = splice_inst %.loc10_3.15 [template = %.loc10_3.17 (constants.%.20c9c2.1)] +// CHECK:STDOUT: %.loc10_3.15: = call_action (constants.%ImplicitAs.generic, constants.%.d15), false [template] +// CHECK:STDOUT: %.loc10_3.16: type = type_of_inst %.loc10_3.15 [template = %.loc10_3.16 (constants.%.98306a.1)] +// CHECK:STDOUT: %.loc10_3.17: @F.%.loc10_3.16 (%.98306a.1) = splice_inst %.loc10_3.15 [template = %.loc10_3.17 (constants.%.21024f.1)] // CHECK:STDOUT: %.loc10_3.18: = access_member_action %.loc10_3.2, Convert [template] -// CHECK:STDOUT: %.loc10_3.19: type = type_of_inst %.loc10_3.18 [template = %.loc10_3.19 (constants.%.aaff12.1)] -// CHECK:STDOUT: %.loc10_3.20: @F.%.loc10_3.19 (%.aaff12.1) = splice_inst %.loc10_3.18 [template = %.loc10_3.20 (constants.%.c16b39.1)] +// CHECK:STDOUT: %.loc10_3.19: type = type_of_inst %.loc10_3.18 [template = %.loc10_3.19 (constants.%.20fa30.1)] +// CHECK:STDOUT: %.loc10_3.20: @F.%.loc10_3.19 (%.20fa30.1) = splice_inst %.loc10_3.18 [template = %.loc10_3.20 (constants.%.aae4fe.1)] // CHECK:STDOUT: %.loc10_3.21: = compound_member_access_action %.loc10_39.2, %.loc10_3.4 [template] -// CHECK:STDOUT: %.loc10_3.22: type = type_of_inst %.loc10_3.21 [template = %.loc10_3.22 (constants.%.459)] -// CHECK:STDOUT: %.loc10_3.23: @F.%.loc10_3.22 (%.459) = splice_inst %.loc10_3.21 [template = %.loc10_3.23 (constants.%.5f8)] +// CHECK:STDOUT: %.loc10_3.22: type = type_of_inst %.loc10_3.21 [template = %.loc10_3.22 (constants.%.e2f)] +// CHECK:STDOUT: %.loc10_3.23: @F.%.loc10_3.22 (%.e2f) = splice_inst %.loc10_3.21 [template = %.loc10_3.23 (constants.%.8c6)] // CHECK:STDOUT: %.loc10_3.24: = call_action (%.loc10_3.6), true [template] -// CHECK:STDOUT: %.loc10_3.25: type = type_of_inst %.loc10_3.24 [template = %.loc10_3.25 (constants.%.ec7)] -// CHECK:STDOUT: %.loc10_3.26: @F.%.loc10_3.25 (%.ec7) = splice_inst %.loc10_3.24 [template = %.loc10_3.26 (constants.%.fde)] +// CHECK:STDOUT: %.loc10_3.25: type = type_of_inst %.loc10_3.24 [template = %.loc10_3.25 (constants.%.4d4)] +// CHECK:STDOUT: %.loc10_3.26: @F.%.loc10_3.25 (%.4d4) = splice_inst %.loc10_3.24 [template = %.loc10_3.26 (constants.%.c8d)] // CHECK:STDOUT: %.loc10_3.27: = convert_to_category_action %.loc10_3.9, element10 [template] -// CHECK:STDOUT: %.loc10_3.28: @F.%.loc10_24.9 (%.897) = splice_inst %.loc10_3.27 [template = %.loc10_3.28 (constants.%.589)] +// CHECK:STDOUT: %.loc10_3.28: @F.%.loc10_24.9 (%.d15) = splice_inst %.loc10_3.27 [template = %.loc10_3.28 (constants.%.972)] // CHECK:STDOUT: %.loc10_3.29: = compound_member_access_action %a.var, constants.%assoc0.ae8 [template] -// CHECK:STDOUT: %.loc10_3.30: type = type_of_inst %.loc10_3.29 [template = %.loc10_3.30 (constants.%.c1f)] -// CHECK:STDOUT: %.loc10_3.31: @F.%.loc10_3.30 (%.c1f) = splice_inst %.loc10_3.29 [template = %.loc10_3.31 (constants.%.7ec)] +// CHECK:STDOUT: %.loc10_3.30: type = type_of_inst %.loc10_3.29 [template = %.loc10_3.30 (constants.%.e71)] +// CHECK:STDOUT: %.loc10_3.31: @F.%.loc10_3.30 (%.e71) = splice_inst %.loc10_3.29 [template = %.loc10_3.31 (constants.%.1c0)] // CHECK:STDOUT: %.loc10_3.32: = call_action (%.loc10_3.12), true [template] -// CHECK:STDOUT: %.loc10_3.33: type = type_of_inst %.loc10_3.32 [template = %.loc10_3.33 (constants.%.2d0)] -// CHECK:STDOUT: %.loc10_3.34: @F.%.loc10_3.33 (%.2d0) = splice_inst %.loc10_3.32 [template = %.loc10_3.34 (constants.%.a5e)] +// CHECK:STDOUT: %.loc10_3.33: type = type_of_inst %.loc10_3.32 [template = %.loc10_3.33 (constants.%.920)] +// CHECK:STDOUT: %.loc10_3.34: @F.%.loc10_3.33 (%.920) = splice_inst %.loc10_3.32 [template = %.loc10_3.34 (constants.%.024)] // CHECK:STDOUT: // CHECK:STDOUT: fn() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %a.var: ref @F.%.loc10_24.9 (%.897) = var_storage %a.var_patt.loc10_3.1 +// CHECK:STDOUT: %a.var: ref @F.%.loc10_24.9 (%.d15) = var_storage %a.var_patt.loc10_3.1 // CHECK:STDOUT: %Cpp.ref.loc10_28: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %A.ref.loc10_31: %A.type = name_ref A, imports.%A.template [concrete = constants.%A.template] // CHECK:STDOUT: %T.ref.loc10_34: type = name_ref T, %T.loc9_15.2 [symbolic = %T.loc9_15.1 (constants.%T)] @@ -894,35 +896,35 @@ fn G() { // CHECK:STDOUT: %.loc10_36.2: @F.%.loc10_36.4 (%.e8f) = splice_inst %.loc10_36.3 [template = %.loc10_36.5 (constants.%.c84)] // CHECK:STDOUT: %.loc10_39.1: type = type_of_inst %.loc10_39.3 [template = %.loc10_39.4 (constants.%.08a)] // CHECK:STDOUT: %.loc10_39.2: @F.%.loc10_39.4 (%.08a) = splice_inst %.loc10_39.3 [template = %.loc10_39.5 (constants.%.47d)] -// CHECK:STDOUT: %.loc10_3.1: type = type_of_inst %.loc10_3.15 [template = %.loc10_3.16 (constants.%.d2cb4d.1)] -// CHECK:STDOUT: %.loc10_3.2: @F.%.loc10_3.16 (%.d2cb4d.1) = splice_inst %.loc10_3.15 [template = %.loc10_3.17 (constants.%.20c9c2.1)] -// CHECK:STDOUT: %.loc10_3.3: type = type_of_inst %.loc10_3.18 [template = %.loc10_3.19 (constants.%.aaff12.1)] -// CHECK:STDOUT: %.loc10_3.4: @F.%.loc10_3.19 (%.aaff12.1) = splice_inst %.loc10_3.18 [template = %.loc10_3.20 (constants.%.c16b39.1)] -// CHECK:STDOUT: %.loc10_3.5: type = type_of_inst %.loc10_3.21 [template = %.loc10_3.22 (constants.%.459)] -// CHECK:STDOUT: %.loc10_3.6: @F.%.loc10_3.22 (%.459) = splice_inst %.loc10_3.21 [template = %.loc10_3.23 (constants.%.5f8)] -// CHECK:STDOUT: %.loc10_3.7: type = type_of_inst %.loc10_3.24 [template = %.loc10_3.25 (constants.%.ec7)] -// CHECK:STDOUT: %.loc10_3.8: @F.%.loc10_3.25 (%.ec7) = splice_inst %.loc10_3.24 [template = %.loc10_3.26 (constants.%.fde)] -// CHECK:STDOUT: %.loc10_3.9: @F.%.loc10_24.9 (%.897) = converted %.loc10_39.2, %.loc10_3.8 [template = %.loc10_3.26 (constants.%.fde)] -// CHECK:STDOUT: %.loc10_3.10: @F.%.loc10_24.9 (%.897) = splice_inst %.loc10_3.27 [template = %.loc10_3.28 (constants.%.589)] +// CHECK:STDOUT: %.loc10_3.1: type = type_of_inst %.loc10_3.15 [template = %.loc10_3.16 (constants.%.98306a.1)] +// CHECK:STDOUT: %.loc10_3.2: @F.%.loc10_3.16 (%.98306a.1) = splice_inst %.loc10_3.15 [template = %.loc10_3.17 (constants.%.21024f.1)] +// CHECK:STDOUT: %.loc10_3.3: type = type_of_inst %.loc10_3.18 [template = %.loc10_3.19 (constants.%.20fa30.1)] +// CHECK:STDOUT: %.loc10_3.4: @F.%.loc10_3.19 (%.20fa30.1) = splice_inst %.loc10_3.18 [template = %.loc10_3.20 (constants.%.aae4fe.1)] +// CHECK:STDOUT: %.loc10_3.5: type = type_of_inst %.loc10_3.21 [template = %.loc10_3.22 (constants.%.e2f)] +// CHECK:STDOUT: %.loc10_3.6: @F.%.loc10_3.22 (%.e2f) = splice_inst %.loc10_3.21 [template = %.loc10_3.23 (constants.%.8c6)] +// CHECK:STDOUT: %.loc10_3.7: type = type_of_inst %.loc10_3.24 [template = %.loc10_3.25 (constants.%.4d4)] +// CHECK:STDOUT: %.loc10_3.8: @F.%.loc10_3.25 (%.4d4) = splice_inst %.loc10_3.24 [template = %.loc10_3.26 (constants.%.c8d)] +// CHECK:STDOUT: %.loc10_3.9: @F.%.loc10_24.9 (%.d15) = converted %.loc10_39.2, %.loc10_3.8 [template = %.loc10_3.26 (constants.%.c8d)] +// CHECK:STDOUT: %.loc10_3.10: @F.%.loc10_24.9 (%.d15) = splice_inst %.loc10_3.27 [template = %.loc10_3.28 (constants.%.972)] // CHECK:STDOUT: assign %a.var, %.loc10_3.10 -// CHECK:STDOUT: %.loc10_24.1: type = splice_block %.loc10_24.4 [template = %.loc10_24.9 (constants.%.897)] { +// CHECK:STDOUT: %.loc10_24.1: type = splice_block %.loc10_24.4 [template = %.loc10_24.9 (constants.%.d15)] { // CHECK:STDOUT: %Cpp.ref.loc10_17: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %A.ref.loc10_20: %A.type = name_ref A, imports.%A.template [concrete = constants.%A.template] // CHECK:STDOUT: %T.ref.loc10_23: type = name_ref T, %T.loc9_15.2 [symbolic = %T.loc9_15.1 (constants.%T)] // CHECK:STDOUT: %.loc10_23.1: type = template_inst %T.ref.loc10_23 [template = %.loc10_23.2 (constants.%.a92)] // CHECK:STDOUT: %.loc10_24.2: type = type_of_inst %.loc10_24.5 [template = %.loc10_24.6 (constants.%.32dd98.1)] // CHECK:STDOUT: %.loc10_24.3: @F.%.loc10_24.6 (%.32dd98.1) = splice_inst %.loc10_24.5 [template = %.loc10_24.7 (constants.%.8af9c5.1)] -// CHECK:STDOUT: %.loc10_24.4: type = splice_inst %.loc10_24.8 [template = %.loc10_24.9 (constants.%.897)] +// CHECK:STDOUT: %.loc10_24.4: type = splice_inst %.loc10_24.8 [template = %.loc10_24.9 (constants.%.d15)] // CHECK:STDOUT: } -// CHECK:STDOUT: %a: ref @F.%.loc10_24.9 (%.897) = wrapper_binding a, %a.var +// CHECK:STDOUT: %a: ref @F.%.loc10_24.9 (%.d15) = wrapper_binding a, %a.var // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %a.patt.loc10_15.1: @F.%pattern_type (%pattern_type.463) = ref_binding_pattern a [template = %a.patt.loc10_15.2 (constants.%a.patt.577)] -// CHECK:STDOUT: %a.var_patt.loc10_3.1: @F.%pattern_type (%pattern_type.463) = var_pattern %a.patt.loc10_15.1 [template = %a.var_patt.loc10_3.2 (constants.%a.var_patt.c6d)] +// CHECK:STDOUT: %a.patt.loc10_15.1: @F.%pattern_type (%pattern_type.3c1) = ref_binding_pattern a [template = %a.patt.loc10_15.2 (constants.%a.patt.b2a)] +// CHECK:STDOUT: %a.var_patt.loc10_3.1: @F.%pattern_type (%pattern_type.3c1) = var_pattern %a.patt.loc10_15.1 [template = %a.var_patt.loc10_3.2 (constants.%a.var_patt.66a)] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc10_3.11: type = type_of_inst %.loc10_3.29 [template = %.loc10_3.30 (constants.%.c1f)] -// CHECK:STDOUT: %.loc10_3.12: @F.%.loc10_3.30 (%.c1f) = splice_inst %.loc10_3.29 [template = %.loc10_3.31 (constants.%.7ec)] -// CHECK:STDOUT: %.loc10_3.13: type = type_of_inst %.loc10_3.32 [template = %.loc10_3.33 (constants.%.2d0)] -// CHECK:STDOUT: %.loc10_3.14: @F.%.loc10_3.33 (%.2d0) = splice_inst %.loc10_3.32 [template = %.loc10_3.34 (constants.%.a5e)] +// CHECK:STDOUT: %.loc10_3.11: type = type_of_inst %.loc10_3.29 [template = %.loc10_3.30 (constants.%.e71)] +// CHECK:STDOUT: %.loc10_3.12: @F.%.loc10_3.30 (%.e71) = splice_inst %.loc10_3.29 [template = %.loc10_3.31 (constants.%.1c0)] +// CHECK:STDOUT: %.loc10_3.13: type = type_of_inst %.loc10_3.32 [template = %.loc10_3.33 (constants.%.920)] +// CHECK:STDOUT: %.loc10_3.14: @F.%.loc10_3.33 (%.920) = splice_inst %.loc10_3.32 [template = %.loc10_3.34 (constants.%.024)] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -956,21 +958,21 @@ fn G() { // CHECK:STDOUT: %.loc10_39.3 => constants.%inst.splice_block.76c // CHECK:STDOUT: %.loc10_39.4 => constants.%A // CHECK:STDOUT: %.loc10_39.5 => invalid -// CHECK:STDOUT: %.loc10_3.15 => constants.%.ca0 -// CHECK:STDOUT: %.loc10_3.16 => constants.%.d2cb4d.2 -// CHECK:STDOUT: %.loc10_3.17 => constants.%.20c9c2.2 -// CHECK:STDOUT: %.loc10_3.18 => constants.%.da6 -// CHECK:STDOUT: %.loc10_3.19 => constants.%.aaff12.2 -// CHECK:STDOUT: %.loc10_3.20 => constants.%.c16b39.2 -// CHECK:STDOUT: %.loc10_3.21 => constants.%.ba2 -// CHECK:STDOUT: %.loc10_3.22 => constants.%.d40 -// CHECK:STDOUT: %.loc10_3.23 => constants.%.5da -// CHECK:STDOUT: %.loc10_3.24 => constants.%.117 -// CHECK:STDOUT: %.loc10_3.25 => constants.%.f91 -// CHECK:STDOUT: %.loc10_3.26 => constants.%.519 -// CHECK:STDOUT: %.loc10_3.27 => constants.%.c79 -// CHECK:STDOUT: %.loc10_3.28 => constants.%.16a -// CHECK:STDOUT: %.loc10_3.29 => constants.%inst.splice_block.f70 +// CHECK:STDOUT: %.loc10_3.15 => constants.%.7ad +// CHECK:STDOUT: %.loc10_3.16 => constants.%.98306a.2 +// CHECK:STDOUT: %.loc10_3.17 => constants.%.21024f.2 +// CHECK:STDOUT: %.loc10_3.18 => constants.%.adc +// CHECK:STDOUT: %.loc10_3.19 => constants.%.20fa30.2 +// CHECK:STDOUT: %.loc10_3.20 => constants.%.aae4fe.2 +// CHECK:STDOUT: %.loc10_3.21 => constants.%.311 +// CHECK:STDOUT: %.loc10_3.22 => constants.%.1be +// CHECK:STDOUT: %.loc10_3.23 => constants.%.3f6 +// CHECK:STDOUT: %.loc10_3.24 => constants.%.787 +// CHECK:STDOUT: %.loc10_3.25 => constants.%.67b +// CHECK:STDOUT: %.loc10_3.26 => constants.%.c3f +// CHECK:STDOUT: %.loc10_3.27 => constants.%.9d9 +// CHECK:STDOUT: %.loc10_3.28 => constants.%.1a1 +// CHECK:STDOUT: %.loc10_3.29 => constants.%inst.splice_block.1c7 // CHECK:STDOUT: %.loc10_3.30 => // CHECK:STDOUT: %.loc10_3.31 => invalid // CHECK:STDOUT: %.loc10_3.32 => constants.%inst.call diff --git a/toolchain/check/testdata/interop/cpp/class/import/union.carbon b/toolchain/check/testdata/interop/cpp/class/import/union.carbon index 7aa0a9aa170d..ddc477fcd1c1 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/union.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/union.carbon @@ -176,6 +176,7 @@ fn MyF(bar: Cpp.TemplateBar(Cpp.X)*); // CHECK:STDOUT: --- import_declaration.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DeclBar: type = class_type @DeclBar [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %DeclBar [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr [concrete] @@ -213,6 +214,7 @@ fn MyF(bar: Cpp.TemplateBar(Cpp.X)*); // CHECK:STDOUT: --- import_definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DefBar: type = class_type @DefBar [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %DefBar [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr [concrete] @@ -250,6 +252,7 @@ fn MyF(bar: Cpp.TemplateBar(Cpp.X)*); // CHECK:STDOUT: --- import_declaration_and_definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DeclDefBar: type = class_type @DeclDefBar [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %DeclDefBar [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr [concrete] @@ -287,6 +290,7 @@ fn MyF(bar: Cpp.TemplateBar(Cpp.X)*); // CHECK:STDOUT: --- import_static_member_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %StaticMemberFnBar: type = class_type @StaticMemberFnBar [concrete] // CHECK:STDOUT: %StaticMemberFnBar.foo.cpp_overload_set.type: type = cpp_overload_set_type @StaticMemberFnBar.foo.cpp_overload_set [concrete] @@ -317,6 +321,7 @@ fn MyF(bar: Cpp.TemplateBar(Cpp.X)*); // CHECK:STDOUT: --- import_static_data_member.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %StaticDataMemberBar: type = class_type @StaticDataMemberBar [concrete] // CHECK:STDOUT: %ptr.a89: type = ptr_type %StaticDataMemberBar [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.a89 [concrete] @@ -357,6 +362,7 @@ fn MyF(bar: Cpp.TemplateBar(Cpp.X)*); // CHECK:STDOUT: --- import_data_member.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DataMemberBar: type = class_type @DataMemberBar [concrete] // CHECK:STDOUT: %ptr.ec1: type = ptr_type %DataMemberBar [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr.ec1 [concrete] @@ -413,6 +419,7 @@ fn MyF(bar: Cpp.TemplateBar(Cpp.X)*); // CHECK:STDOUT: --- import_template.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %TemplateBar.type: type = cpp_type_template_type TemplateBar [concrete] // CHECK:STDOUT: %TemplateBar.template: %TemplateBar.type = struct_value () [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] diff --git a/toolchain/check/testdata/interop/cpp/enum/anonymous.carbon b/toolchain/check/testdata/interop/cpp/enum/anonymous.carbon index 2f3db4ac3f21..64693381405b 100644 --- a/toolchain/check/testdata/interop/cpp/enum/anonymous.carbon +++ b/toolchain/check/testdata/interop/cpp/enum/anonymous.carbon @@ -40,6 +40,7 @@ fn G() { // CHECK:STDOUT: --- copy_enum.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/interop/cpp/enum/convert.carbon b/toolchain/check/testdata/interop/cpp/enum/convert.carbon index fa7af1655e30..1198367d65f3 100644 --- a/toolchain/check/testdata/interop/cpp/enum/convert.carbon +++ b/toolchain/check/testdata/interop/cpp/enum/convert.carbon @@ -88,6 +88,7 @@ fn F() { // CHECK:STDOUT: --- convert_enum.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete] diff --git a/toolchain/check/testdata/interop/cpp/enum/copy.carbon b/toolchain/check/testdata/interop/cpp/enum/copy.carbon index 14264a6d3653..6f37908edc07 100644 --- a/toolchain/check/testdata/interop/cpp/enum/copy.carbon +++ b/toolchain/check/testdata/interop/cpp/enum/copy.carbon @@ -31,6 +31,7 @@ fn F() { // CHECK:STDOUT: --- copy_enum.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/interop/cpp/enum/fixed.carbon b/toolchain/check/testdata/interop/cpp/enum/fixed.carbon index 0f2a615bbf2e..e8d09c777e83 100644 --- a/toolchain/check/testdata/interop/cpp/enum/fixed.carbon +++ b/toolchain/check/testdata/interop/cpp/enum/fixed.carbon @@ -30,6 +30,7 @@ fn F() { // CHECK:STDOUT: --- import_enum.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %Enum: type = class_type @Enum [concrete] diff --git a/toolchain/check/testdata/interop/cpp/enum/incomplete.carbon b/toolchain/check/testdata/interop/cpp/enum/incomplete.carbon index 9591eee64d7a..79b5dbd23151 100644 --- a/toolchain/check/testdata/interop/cpp/enum/incomplete.carbon +++ b/toolchain/check/testdata/interop/cpp/enum/incomplete.carbon @@ -60,6 +60,7 @@ fn MyF() { // CHECK:STDOUT: --- import_declaration.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %UnsizedEnum: type = class_type @UnsizedEnum [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %UnsizedEnum [concrete] // CHECK:STDOUT: %e.param_patt: %pattern_type = value_param_pattern [concrete] diff --git a/toolchain/check/testdata/interop/cpp/enum/member.carbon b/toolchain/check/testdata/interop/cpp/enum/member.carbon index b4b04072d625..1ac86f29fc54 100644 --- a/toolchain/check/testdata/interop/cpp/enum/member.carbon +++ b/toolchain/check/testdata/interop/cpp/enum/member.carbon @@ -33,6 +33,7 @@ fn F() { // CHECK:STDOUT: --- import_enum_member.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] diff --git a/toolchain/check/testdata/interop/cpp/enum/scoped.carbon b/toolchain/check/testdata/interop/cpp/enum/scoped.carbon index 4f5afc77e354..d6fa2f61b023 100644 --- a/toolchain/check/testdata/interop/cpp/enum/scoped.carbon +++ b/toolchain/check/testdata/interop/cpp/enum/scoped.carbon @@ -43,6 +43,7 @@ fn F() { // CHECK:STDOUT: --- import_enum.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %Enum: type = class_type @Enum [concrete] diff --git a/toolchain/check/testdata/interop/cpp/enum/unscoped.carbon b/toolchain/check/testdata/interop/cpp/enum/unscoped.carbon index c675076ebaaf..afad4083e563 100644 --- a/toolchain/check/testdata/interop/cpp/enum/unscoped.carbon +++ b/toolchain/check/testdata/interop/cpp/enum/unscoped.carbon @@ -72,6 +72,7 @@ fn F() { // CHECK:STDOUT: --- import_enum.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %Enum: type = class_type @Enum [concrete] diff --git a/toolchain/check/testdata/interop/cpp/enum/using.carbon b/toolchain/check/testdata/interop/cpp/enum/using.carbon index b83257cc6f05..19a71ef16541 100644 --- a/toolchain/check/testdata/interop/cpp/enum/using.carbon +++ b/toolchain/check/testdata/interop/cpp/enum/using.carbon @@ -52,6 +52,7 @@ fn F() { // CHECK:STDOUT: --- import_enum.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %Color: type = class_type @Color [concrete] diff --git a/toolchain/check/testdata/interop/cpp/function/export/generic.carbon b/toolchain/check/testdata/interop/cpp/function/export/generic.carbon index 5f55644fb91f..5d32adef4a8e 100644 --- a/toolchain/check/testdata/interop/cpp/function/export/generic.carbon +++ b/toolchain/check/testdata/interop/cpp/function/export/generic.carbon @@ -140,6 +140,7 @@ void CallUnsupportedF() { // CHECK:STDOUT: --- generic_type_impls_interface.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: %Self.as_type.c84: type = facet_access_type %Self.37e [symbolic] @@ -187,8 +188,7 @@ void CallUnsupportedF() { // CHECK:STDOUT: %I.WithSelf.Doit.type.a07: type = fn_type @I.WithSelf.Doit, @I.WithSelf(%I.facet.a68) [concrete] // CHECK:STDOUT: %I.WithSelf.Doit.9cf: %I.WithSelf.Doit.type.a07 = struct_value () [concrete] // CHECK:STDOUT: %B.val: %B = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.6cb: type = pattern_type %I.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.6cb = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %I.type = symbolic_binding T, 0 [symbolic] @@ -255,7 +255,7 @@ void CallUnsupportedF() { // CHECK:STDOUT: %.loc24_21.3: type = converted %T.ref.loc24_21, %T.as_type.loc24_21 [symbolic = %T.as_type.loc24_15.1 (constants.%T.as_type)] // CHECK:STDOUT: %.loc24_21.4: Core.Form = init_form %.loc24_21.3 [symbolic = %.loc24_21.2 (constants.%.0ce)] // CHECK:STDOUT: %.loc24_9: type = splice_block %I.ref [concrete = constants.%I.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// 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.loc24_7.2: %I.type = symbolic_binding T, 0 [symbolic = %T.loc24_7.1 (constants.%T)] 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 9475ba62d4a5..ec9484a365b7 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 @@ -558,6 +558,7 @@ fn F() { // CHECK:STDOUT: --- import_bool_param_true.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -612,6 +613,7 @@ fn F() { // CHECK:STDOUT: --- import_bool_param_false.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -666,6 +668,7 @@ fn F() { // CHECK:STDOUT: --- import_signed_char_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -779,6 +782,7 @@ fn F() { // CHECK:STDOUT: --- import_unsigned_char_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -875,6 +879,7 @@ fn F() { // CHECK:STDOUT: --- import_char_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -963,6 +968,7 @@ fn F() { // CHECK:STDOUT: --- fail_todo_import_wchar_t_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %.d16: Core.CharLiteral = char_value U+0058 [concrete] @@ -987,6 +993,7 @@ fn F() { // CHECK:STDOUT: --- fail_todo_import_char8_t_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -1045,6 +1052,7 @@ fn F() { // CHECK:STDOUT: --- fail_todo_import_char16_t_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete] @@ -1069,6 +1077,7 @@ fn F() { // CHECK:STDOUT: --- fail_todo_import_char32_t_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete] @@ -1093,6 +1102,7 @@ fn F() { // CHECK:STDOUT: --- import_short_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -1190,6 +1200,7 @@ fn F() { // CHECK:STDOUT: --- import_short_param_max.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -1286,6 +1297,7 @@ fn F() { // CHECK:STDOUT: --- import_short_param_min.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -1399,6 +1411,7 @@ fn F() { // CHECK:STDOUT: --- import_short_int_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -1496,6 +1509,7 @@ fn F() { // CHECK:STDOUT: --- import_signed_short_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -1593,6 +1607,7 @@ fn F() { // CHECK:STDOUT: --- import_signed_short_int_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -1690,6 +1705,7 @@ fn F() { // CHECK:STDOUT: --- import_int16_t_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -1787,6 +1803,7 @@ fn F() { // CHECK:STDOUT: --- import_float16_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -1883,6 +1900,7 @@ fn F() { // CHECK:STDOUT: --- import_float_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -1979,6 +1997,7 @@ fn F() { // CHECK:STDOUT: --- import_double_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -2075,6 +2094,7 @@ fn F() { // CHECK:STDOUT: --- import_float128_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -2171,6 +2191,7 @@ fn F() { // CHECK:STDOUT: --- import_bool_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.831 = value_binding_pattern x [concrete] @@ -2221,6 +2242,7 @@ fn F() { // CHECK:STDOUT: --- import_short_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete] // CHECK:STDOUT: %i16: type = class_type @Int, @Int(%int_16) [concrete] @@ -2279,6 +2301,7 @@ fn F() { // CHECK:STDOUT: --- fail_todo_import_bit_int_24_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete] @@ -2303,6 +2326,7 @@ fn F() { // CHECK:STDOUT: --- import_double_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [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 e184154f9b07..e9a51c3a57b3 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 @@ -320,6 +320,7 @@ fn F() { // CHECK:STDOUT: --- import_int_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -378,6 +379,7 @@ fn F() { // CHECK:STDOUT: --- import_int_param_max.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -436,6 +438,7 @@ fn F() { // CHECK:STDOUT: --- import_int_param_min.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -511,6 +514,7 @@ fn F() { // CHECK:STDOUT: --- import_signed_int_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -569,6 +573,7 @@ fn F() { // CHECK:STDOUT: --- import_signed_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -627,6 +632,7 @@ fn F() { // CHECK:STDOUT: --- import_unsigned_int_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -685,6 +691,7 @@ fn F() { // CHECK:STDOUT: --- import_int32_t_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -743,6 +750,7 @@ fn F() { // CHECK:STDOUT: --- import_int_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -813,6 +821,7 @@ fn F() { // CHECK:STDOUT: --- import_multiple_int_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo1.cpp_overload_set.type: type = cpp_overload_set_type @foo1.cpp_overload_set [concrete] // CHECK:STDOUT: %foo1.cpp_overload_set.value: %foo1.cpp_overload_set.type = cpp_overload_set_value @foo1.cpp_overload_set [concrete] @@ -921,6 +930,7 @@ fn F() { // CHECK:STDOUT: --- import_unnamed_int_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -979,6 +989,7 @@ fn F() { // CHECK:STDOUT: --- import_int_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -1018,6 +1029,7 @@ fn F() { // CHECK:STDOUT: --- import_long_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] diff --git a/toolchain/check/testdata/interop/cpp/function/import/class.carbon b/toolchain/check/testdata/interop/cpp/function/import/class.carbon index 530812618619..5d71af76196c 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/class.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/class.carbon @@ -599,6 +599,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_no_data_members_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %EmptyClass: type = class_type @EmptyClass [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_empty_param.cpp_overload_set.type: type = cpp_overload_set_type @foo_empty_param.cpp_overload_set [concrete] @@ -637,6 +638,7 @@ fn F() { // CHECK:STDOUT: --- fail_import_non_copyable_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NonCopyableClass: type = class_type @NonCopyableClass [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_non_copyable_param.cpp_overload_set.type: type = cpp_overload_set_type @foo_non_copyable_param.cpp_overload_set [concrete] @@ -672,6 +674,7 @@ fn F() { // CHECK:STDOUT: --- pass_move_only_param_temporary.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_move_only_param.cpp_overload_set.type: type = cpp_overload_set_type @foo_move_only_param.cpp_overload_set [concrete] // CHECK:STDOUT: %foo_move_only_param.cpp_overload_set.value: %foo_move_only_param.cpp_overload_set.type = cpp_overload_set_value @foo_move_only_param.cpp_overload_set [concrete] @@ -724,6 +727,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_single_data_member_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %SingleMemberClass: type = class_type @SingleMemberClass [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_single_member_param.cpp_overload_set.type: type = cpp_overload_set_type @foo_single_member_param.cpp_overload_set [concrete] @@ -762,6 +766,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_multiple_data_members_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %MultipleMembersClass: type = class_type @MultipleMembersClass [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_multiple_members_param.cpp_overload_set.type: type = cpp_overload_set_type @foo_multiple_members_param.cpp_overload_set [concrete] @@ -800,6 +805,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_in_namespace_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %InNamespaceClass: type = class_type @InNamespaceClass [concrete] // CHECK:STDOUT: %pattern_type.d8e: type = pattern_type %InNamespaceClass [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -881,6 +887,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_in_relative_namespace_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %InRelativeNamespaceClass: type = class_type @InRelativeNamespaceClass [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] @@ -928,6 +935,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_in_outer_definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %OuterClass: type = class_type @OuterClass [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %InnerClass: type = class_type @InnerClass [concrete] @@ -1005,6 +1013,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_and_static_method_call_before.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %StaticMethodClass: type = class_type @StaticMethodClass [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %StaticMethodClass.bar.cpp_overload_set.type: type = cpp_overload_set_type @StaticMethodClass.bar.cpp_overload_set [concrete] @@ -1053,6 +1062,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_and_static_method_call_after.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %StaticMethodClass: type = class_type @StaticMethodClass [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_static_method_param.cpp_overload_set.type: type = cpp_overload_set_type @foo_static_method_param.cpp_overload_set [concrete] @@ -1101,6 +1111,7 @@ fn F() { // CHECK:STDOUT: --- import_decl_pointer_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DeclPointerParamClass: type = class_type @DeclPointerParamClass [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %DeclPointerParamClass [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1137,6 +1148,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_pointer_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DefPointerParamClass: type = class_type @DefPointerParamClass [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %DefPointerParamClass [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1173,6 +1185,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_value_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_def_value_return.cpp_overload_set.type: type = cpp_overload_set_type @foo_def_value_return.cpp_overload_set [concrete] // CHECK:STDOUT: %foo_def_value_return.cpp_overload_set.value: %foo_def_value_return.cpp_overload_set.type = cpp_overload_set_value @foo_def_value_return.cpp_overload_set [concrete] @@ -1214,6 +1227,7 @@ fn F() { // CHECK:STDOUT: --- import_decl_pointer_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %foo_decl_pointer_return.cpp_overload_set.type: type = cpp_overload_set_type @foo_decl_pointer_return.cpp_overload_set [concrete] // CHECK:STDOUT: %foo_decl_pointer_return.cpp_overload_set.value: %foo_decl_pointer_return.cpp_overload_set.type = cpp_overload_set_value @foo_decl_pointer_return.cpp_overload_set [concrete] // CHECK:STDOUT: %DeclPointerReturnClass: type = class_type @DeclPointerReturnClass [concrete] @@ -1246,6 +1260,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_pointer_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %foo_def_pointer_return.cpp_overload_set.type: type = cpp_overload_set_type @foo_def_pointer_return.cpp_overload_set [concrete] // CHECK:STDOUT: %foo_def_pointer_return.cpp_overload_set.value: %foo_def_pointer_return.cpp_overload_set.type = cpp_overload_set_value @foo_def_pointer_return.cpp_overload_set [concrete] // CHECK:STDOUT: %DefPointerReturnClass: type = class_type @DefPointerReturnClass [concrete] diff --git a/toolchain/check/testdata/interop/cpp/function/import/constexpr.carbon b/toolchain/check/testdata/interop/cpp/function/import/constexpr.carbon index 8c54474bd3dc..af94902109de 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/constexpr.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/constexpr.carbon @@ -161,6 +161,7 @@ let a: array(i32, F()) = (1, 2, 3); // CHECK:STDOUT: --- fail_todo_constructor.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] 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 fa93f6658e9d..e0e44f507b71 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/decayed_param.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/decayed_param.carbon @@ -78,6 +78,7 @@ fn F() { // CHECK:STDOUT: --- call_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -313,6 +314,7 @@ fn F() { // CHECK:STDOUT: --- fail_todo_call_params_2.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [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 90c88e759b61..4f76353f3964 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/default_arg.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/default_arg.carbon @@ -138,6 +138,7 @@ fn Call() { // CHECK:STDOUT: --- call_without_default.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %GlobalNoReturn.cpp_overload_set.type: type = cpp_overload_set_type @GlobalNoReturn.cpp_overload_set [concrete] // CHECK:STDOUT: %GlobalNoReturn.cpp_overload_set.value: %GlobalNoReturn.cpp_overload_set.type = cpp_overload_set_value @GlobalNoReturn.cpp_overload_set [concrete] @@ -413,6 +414,7 @@ fn Call() { // CHECK:STDOUT: --- call_with_default.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Call.type: type = fn_type @Call [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Call: %Call.type = struct_value () [concrete] @@ -864,6 +866,7 @@ fn Call() { // CHECK:STDOUT: --- fail_call_too_few_args.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %GlobalNoReturn.cpp_overload_set.type: type = cpp_overload_set_type @GlobalNoReturn.cpp_overload_set [concrete] // CHECK:STDOUT: %GlobalNoReturn.cpp_overload_set.value: %GlobalNoReturn.cpp_overload_set.type = cpp_overload_set_value @GlobalNoReturn.cpp_overload_set [concrete] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [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 83515f3f7c6d..7b3fc51f7417 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/extern_c.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/extern_c.carbon @@ -72,6 +72,7 @@ fn MyF(a: Cpp.X, b: Cpp.X) -> Cpp.X { // CHECK:STDOUT: --- extern_c_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_c_fn.cpp_overload_set.type: type = cpp_overload_set_type @foo_c_fn.cpp_overload_set [concrete] // CHECK:STDOUT: %foo_c_fn.cpp_overload_set.value: %foo_c_fn.cpp_overload_set.type = cpp_overload_set_value @foo_c_fn.cpp_overload_set [concrete] @@ -99,6 +100,7 @@ fn MyF(a: Cpp.X, b: Cpp.X) -> Cpp.X { // CHECK:STDOUT: --- extern_c_function_with_cpp_overload_set.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_c_overloaded.cpp_overload_set.type: type = cpp_overload_set_type @foo_c_overloaded.cpp_overload_set [concrete] // CHECK:STDOUT: %foo_c_overloaded.cpp_overload_set.value: %foo_c_overloaded.cpp_overload_set.type = cpp_overload_set_value @foo_c_overloaded.cpp_overload_set [concrete] @@ -163,6 +165,7 @@ fn MyF(a: Cpp.X, b: Cpp.X) -> Cpp.X { // CHECK:STDOUT: --- extern_c_variable.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -210,6 +213,7 @@ fn MyF(a: Cpp.X, b: Cpp.X) -> Cpp.X { // CHECK:STDOUT: --- extern_c_with_special_name.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %ptr.ca1: type = ptr_type %X [concrete] 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 9921065bb216..9646950bf8c6 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/full_semir.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/full_semir.carbon @@ -68,6 +68,7 @@ fn F() { // CHECK:STDOUT: --- import_short_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -211,6 +212,7 @@ fn F() { // CHECK:STDOUT: --- import_int_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -308,6 +310,7 @@ fn F() { // CHECK:STDOUT: --- import_short_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/interop/cpp/function/import/function.carbon b/toolchain/check/testdata/interop/cpp/function/import/function.carbon index 28e5d5e56b44..247885c1353e 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/function.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/function.carbon @@ -184,6 +184,7 @@ fn G() -> i32 { // CHECK:STDOUT: --- import_global.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %global_foo.cpp_overload_set.type: type = cpp_overload_set_type @global_foo.cpp_overload_set [concrete] // CHECK:STDOUT: %global_foo.cpp_overload_set.value: %global_foo.cpp_overload_set.type = cpp_overload_set_value @global_foo.cpp_overload_set [concrete] @@ -211,6 +212,7 @@ fn G() -> i32 { // CHECK:STDOUT: --- import_special_name_call_escaped.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %base.cpp_overload_set.type: type = cpp_overload_set_type @base.cpp_overload_set [concrete] // CHECK:STDOUT: %base.cpp_overload_set.value: %base.cpp_overload_set.type = cpp_overload_set_value @base.cpp_overload_set [concrete] @@ -238,6 +240,7 @@ fn G() -> i32 { // CHECK:STDOUT: --- import_overloaded.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %overloaded_foo.cpp_overload_set.type: type = cpp_overload_set_type @overloaded_foo.cpp_overload_set [concrete] // CHECK:STDOUT: %overloaded_foo.cpp_overload_set.value: %overloaded_foo.cpp_overload_set.type = cpp_overload_set_value @overloaded_foo.cpp_overload_set [concrete] @@ -265,6 +268,7 @@ fn G() -> i32 { // CHECK:STDOUT: --- fail_todo_import_variadic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %variadic_foo.cpp_overload_set.type: type = cpp_overload_set_type @variadic_foo.cpp_overload_set [concrete] // CHECK:STDOUT: %variadic_foo.cpp_overload_set.value: %variadic_foo.cpp_overload_set.type = cpp_overload_set_value @variadic_foo.cpp_overload_set [concrete] // CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete] @@ -289,6 +293,7 @@ fn G() -> i32 { // CHECK:STDOUT: --- todo_fail_import_static.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %static_foo.cpp_overload_set.type: type = cpp_overload_set_type @static_foo.cpp_overload_set [concrete] // CHECK:STDOUT: %static_foo.cpp_overload_set.value: %static_foo.cpp_overload_set.type = cpp_overload_set_value @static_foo.cpp_overload_set [concrete] @@ -316,6 +321,7 @@ fn G() -> i32 { // CHECK:STDOUT: --- import_template_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %template_foo.cpp_overload_set.type: type = cpp_overload_set_type @template_foo.cpp_overload_set [concrete] // CHECK:STDOUT: %template_foo.cpp_overload_set.value: %template_foo.cpp_overload_set.type = cpp_overload_set_value @template_foo.cpp_overload_set [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 cb263b0f5a51..5669d6c9384f 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/in_template.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/in_template.carbon @@ -36,6 +36,7 @@ fn F() { // CHECK:STDOUT: --- use_class_template.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %X.f.cpp_overload_set.type: type = cpp_overload_set_type @X.f.cpp_overload_set [concrete] diff --git a/toolchain/check/testdata/interop/cpp/function/import/inline.carbon b/toolchain/check/testdata/interop/cpp/function/import/inline.carbon index df11d31ea983..cbc2be3df99c 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/inline.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/inline.carbon @@ -88,6 +88,7 @@ fn MyF() { // CHECK:STDOUT: --- import_with_definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %inline_with_def.cpp_overload_set.type: type = cpp_overload_set_type @inline_with_def.cpp_overload_set [concrete] // CHECK:STDOUT: %inline_with_def.cpp_overload_set.value: %inline_with_def.cpp_overload_set.type = cpp_overload_set_value @inline_with_def.cpp_overload_set [concrete] @@ -115,6 +116,7 @@ fn MyF() { // CHECK:STDOUT: --- todo_fail_import_without_definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %inline_without_def.cpp_overload_set.type: type = cpp_overload_set_type @inline_without_def.cpp_overload_set [concrete] // CHECK:STDOUT: %inline_without_def.cpp_overload_set.value: %inline_without_def.cpp_overload_set.type = cpp_overload_set_value @inline_without_def.cpp_overload_set [concrete] @@ -145,6 +147,7 @@ fn MyF() { // CHECK:STDOUT: --- automatic_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] diff --git a/toolchain/check/testdata/interop/cpp/function/import/multiple_too_few_args_calls.carbon b/toolchain/check/testdata/interop/cpp/function/import/multiple_too_few_args_calls.carbon index 32fc26d17b8e..7fb305ba8813 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/multiple_too_few_args_calls.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/multiple_too_few_args_calls.carbon @@ -44,6 +44,7 @@ fn Call() { // CHECK:STDOUT: --- fail_call_too_few_args.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F1.cpp_overload_set.type: type = cpp_overload_set_type @F1.cpp_overload_set [concrete] // CHECK:STDOUT: %F1.cpp_overload_set.value: %F1.cpp_overload_set.type = cpp_overload_set_value @F1.cpp_overload_set [concrete] // CHECK:STDOUT: %F2.cpp_overload_set.type: type = cpp_overload_set_type @F2.cpp_overload_set [concrete] diff --git a/toolchain/check/testdata/interop/cpp/function/import/param_unsupported.carbon b/toolchain/check/testdata/interop/cpp/function/import/param_unsupported.carbon index e046a2e0ab98..0e24477d96c0 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/param_unsupported.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/param_unsupported.carbon @@ -103,6 +103,7 @@ fn F(x: i8388608) { // CHECK:STDOUT: --- fail_todo_import_unsupported_primitive_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %int_11: Core.IntLiteral = int_value 11 [concrete] @@ -127,6 +128,7 @@ fn F(x: i8388608) { // CHECK:STDOUT: --- fail_todo_import_unsupported_primitive_type_among_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete] diff --git a/toolchain/check/testdata/interop/cpp/function/import/pointer.carbon b/toolchain/check/testdata/interop/cpp/function/import/pointer.carbon index 9b62f0aa2ef7..63a9742f4333 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/pointer.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/pointer.carbon @@ -430,6 +430,7 @@ fn F() { // CHECK:STDOUT: --- import_non_nullable_pointer_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %NonNullableParamS: type = class_type @NonNullableParamS [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -491,6 +492,7 @@ fn F() { // CHECK:STDOUT: --- import_non_nullable_pointer_param_using_const_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NonNullableParamS: type = class_type @NonNullableParamS [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %NonNullableParamS [concrete] // CHECK:STDOUT: %const: type = const_type %ptr [concrete] @@ -562,6 +564,7 @@ fn F() { // CHECK:STDOUT: --- import_double_non_nullable_pointer_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %DoubleNonNullableParamS: type = class_type @DoubleNonNullableParamS [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -665,6 +668,7 @@ fn F() { // CHECK:STDOUT: --- import_non_nullable_pointer_to_const_param_using_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NonNullablePointerToConstParamS: type = class_type @NonNullablePointerToConstParamS [concrete] // CHECK:STDOUT: %const: type = const_type %NonNullablePointerToConstParamS [concrete] // CHECK:STDOUT: %pattern_type.291: type = pattern_type %const [concrete] @@ -732,6 +736,7 @@ fn F() { // CHECK:STDOUT: --- import_non_nullable_pointer_to_const_param_using_non_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NonNullablePointerToConstParamS: type = class_type @NonNullablePointerToConstParamS [concrete] // CHECK:STDOUT: %pattern_type.2f7: type = pattern_type %NonNullablePointerToConstParamS [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] @@ -796,6 +801,7 @@ fn F() { // CHECK:STDOUT: --- import_const_non_nullable_pointer_param_using_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ConstNonNullableParamS: type = class_type @ConstNonNullableParamS [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %ConstNonNullableParamS [concrete] // CHECK:STDOUT: %const: type = const_type %ptr [concrete] @@ -867,6 +873,7 @@ fn F() { // CHECK:STDOUT: --- import_const_non_nullable_pointer_param_using_non_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ConstNonNullableParamS: type = class_type @ConstNonNullableParamS [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %ConstNonNullableParamS [concrete] // CHECK:STDOUT: %pattern_type.c28: type = pattern_type %ptr [concrete] @@ -929,6 +936,7 @@ fn F() { // CHECK:STDOUT: --- import_const_nullable_pointer_param_using_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ConstNullableParamS: type = class_type @ConstNullableParamS [concrete] // CHECK:STDOUT: %ptr.13b: type = ptr_type %ConstNullableParamS [concrete] // CHECK:STDOUT: %const.2f4: type = const_type %ptr.13b [concrete] @@ -1085,6 +1093,7 @@ fn F() { // CHECK:STDOUT: --- import_const_nullable_pointer_param_using_non_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ConstNullableParamS: type = class_type @ConstNullableParamS [concrete] // CHECK:STDOUT: %ptr.13b: type = ptr_type %ConstNullableParamS [concrete] // CHECK:STDOUT: %pattern_type.550: type = pattern_type %ptr.13b [concrete] @@ -1224,6 +1233,7 @@ fn F() { // CHECK:STDOUT: --- import_non_nullable_pointer_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NonNullableReturnS: type = class_type @NonNullableReturnS [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %NonNullableReturnS [concrete] // CHECK:STDOUT: %IngestDoublePointer.type: type = fn_type @IngestDoublePointer [concrete] @@ -1268,6 +1278,7 @@ fn F() { // CHECK:STDOUT: --- import_double_pointer_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DoubleNonNullableReturnS: type = class_type @DoubleNonNullableReturnS [concrete] // CHECK:STDOUT: %ptr.33a: type = ptr_type %DoubleNonNullableReturnS [concrete] // CHECK:STDOUT: %ptr.297: type = ptr_type %ptr.33a [concrete] @@ -1313,6 +1324,7 @@ fn F() { // CHECK:STDOUT: --- import_const_non_nullable_pointer_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ConstNonNullableReturnS: type = class_type @ConstNonNullableReturnS [concrete] // CHECK:STDOUT: %const: type = const_type %ConstNonNullableReturnS [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %const [concrete] @@ -1358,6 +1370,7 @@ fn F() { // CHECK:STDOUT: --- non_nullable_pointer_arg_to_pointer_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %NullableParamS: type = class_type @NullableParamS [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -1500,6 +1513,7 @@ fn F() { // CHECK:STDOUT: --- null_pointer_arg_to_pointer_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %nullable_param_foo.cpp_overload_set.type: type = cpp_overload_set_type @nullable_param_foo.cpp_overload_set [concrete] // CHECK:STDOUT: %nullable_param_foo.cpp_overload_set.value: %nullable_param_foo.cpp_overload_set.type = cpp_overload_set_value @nullable_param_foo.cpp_overload_set [concrete] @@ -1617,6 +1631,7 @@ fn F() { // CHECK:STDOUT: --- nonnull_pointer_arg_to_pointer_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %NullableParamS: type = class_type @NullableParamS [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -1764,6 +1779,7 @@ fn F() { // CHECK:STDOUT: --- forward_nullable_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %nullable_param_foo.cpp_overload_set.type: type = cpp_overload_set_type @nullable_param_foo.cpp_overload_set [concrete] // CHECK:STDOUT: %nullable_param_foo.cpp_overload_set.value: %nullable_param_foo.cpp_overload_set.type = cpp_overload_set_value @nullable_param_foo.cpp_overload_set [concrete] @@ -1865,6 +1881,7 @@ fn F() { // CHECK:STDOUT: --- import_deduced_any_param_as_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %DeducedAnyS: type = class_type @DeducedAnyS [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -1939,6 +1956,7 @@ fn F() { // CHECK:STDOUT: --- import_deduced_pointer_param_as_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %DeducedPointerS: type = class_type @DeducedPointerS [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] 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 8c6634d88c31..7ccd59b67198 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/qualified_param.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/qualified_param.carbon @@ -36,6 +36,7 @@ fn F() { // CHECK:STDOUT: --- call_qualifiers.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %TakesConstInt.cpp_overload_set.type: type = cpp_overload_set_type @TakesConstInt.cpp_overload_set [concrete] // CHECK:STDOUT: %TakesConstInt.cpp_overload_set.value: %TakesConstInt.cpp_overload_set.type = cpp_overload_set_value @TakesConstInt.cpp_overload_set [concrete] diff --git a/toolchain/check/testdata/interop/cpp/function/import/reference.carbon b/toolchain/check/testdata/interop/cpp/function/import/reference.carbon index d32ef5917e3f..205471af5991 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/reference.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/reference.carbon @@ -485,6 +485,7 @@ fn PassConstRef(ref x: const XByRef) { // CHECK:STDOUT: --- call_param_lvalue_ref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -545,6 +546,7 @@ fn PassConstRef(ref x: const XByRef) { // CHECK:STDOUT: --- fail_param_lvalue_ref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] // CHECK:STDOUT: %pattern_type.0f5: type = pattern_type %S [concrete] @@ -697,6 +699,7 @@ fn PassConstRef(ref x: const XByRef) { // CHECK:STDOUT: --- call_param_rvalue_ref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %TakesRValue.cpp_overload_set.type: type = cpp_overload_set_type @TakesRValue.cpp_overload_set [concrete] // CHECK:STDOUT: %TakesRValue.cpp_overload_set.value: %TakesRValue.cpp_overload_set.type = cpp_overload_set_value @TakesRValue.cpp_overload_set [concrete] @@ -743,6 +746,7 @@ fn PassConstRef(ref x: const XByRef) { // CHECK:STDOUT: --- fail_param_rvalue_ref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -863,6 +867,7 @@ fn PassConstRef(ref x: const XByRef) { // CHECK:STDOUT: --- call_param_const_lvalue_ref_with_ref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -946,6 +951,7 @@ fn PassConstRef(ref x: const XByRef) { // CHECK:STDOUT: --- call_param_const_lvalue_ref_with_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -1023,6 +1029,7 @@ fn PassConstRef(ref x: const XByRef) { // CHECK:STDOUT: --- param_value_arg_for_const_rvalue_ref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] // CHECK:STDOUT: %const: type = const_type %S [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1075,6 +1082,7 @@ fn PassConstRef(ref x: const XByRef) { // CHECK:STDOUT: --- fail_param_lvalue_ref_arg_const_rvalue_ref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] // CHECK:STDOUT: %pattern_type.0f5: type = pattern_type %S [concrete] @@ -1177,6 +1185,7 @@ fn PassConstRef(ref x: const XByRef) { // CHECK:STDOUT: --- call_return_lvalue_ref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %S [concrete] // CHECK:STDOUT: %s.patt: %pattern_type = ref_binding_pattern s [concrete] @@ -1216,6 +1225,7 @@ fn PassConstRef(ref x: const XByRef) { // CHECK:STDOUT: --- call_return_rvalue_ref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %S [concrete] // CHECK:STDOUT: %s.patt: %pattern_type = ref_binding_pattern s [concrete] @@ -1255,6 +1265,7 @@ fn PassConstRef(ref x: const XByRef) { // CHECK:STDOUT: --- call_return_const_lvalue_ref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] // CHECK:STDOUT: %const: type = const_type %S [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %const [concrete] @@ -1296,6 +1307,7 @@ fn PassConstRef(ref x: const XByRef) { // CHECK:STDOUT: --- forwarding_reference.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %Make.type: type = fn_type @Make [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/interop/cpp/function/import/return.carbon b/toolchain/check/testdata/interop/cpp/function/import/return.carbon index 189ab71d293e..fc9e9f043a92 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/return.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/return.carbon @@ -107,6 +107,7 @@ fn Var() { // CHECK:STDOUT: --- import_multiple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i16: type = class_type @Int, @Int(%int_16) [concrete] @@ -184,6 +185,7 @@ fn Var() { // CHECK:STDOUT: --- var_from_thunk_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.nullptr_t: type = class_type @NullptrT [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -263,6 +265,7 @@ fn Var() { // CHECK:STDOUT: --- return_from_thunk_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete] // CHECK:STDOUT: %UInt.type: type = generic_class_type @UInt [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -349,6 +352,7 @@ fn Var() { // CHECK:STDOUT: --- var_from_thunk_by_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Var.type: type = fn_type @Var [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Var: %Var.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/interop/cpp/function/import/struct.carbon b/toolchain/check/testdata/interop/cpp/function/import/struct.carbon index 97662d549e3e..ec713c8c4e0d 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/struct.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/struct.carbon @@ -494,6 +494,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_no_data_members_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %EmptyStruct: type = class_type @EmptyStruct [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_empty.cpp_overload_set.type: type = cpp_overload_set_type @foo_empty.cpp_overload_set [concrete] @@ -532,6 +533,7 @@ fn F() { // CHECK:STDOUT: --- fail_import_non_copyable_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NonCopyableStruct: type = class_type @NonCopyableStruct [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_non_copyable.cpp_overload_set.type: type = cpp_overload_set_type @foo_non_copyable.cpp_overload_set [concrete] @@ -567,6 +569,7 @@ fn F() { // CHECK:STDOUT: --- definition_single_data_member_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %SingleMemberStruct: type = class_type @SingleMemberStruct [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_single_member.cpp_overload_set.type: type = cpp_overload_set_type @foo_single_member.cpp_overload_set [concrete] @@ -605,6 +608,7 @@ fn F() { // CHECK:STDOUT: --- definition_multiple_data_members_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %MultipleMembersStruct: type = class_type @MultipleMembersStruct [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_multiple_members.cpp_overload_set.type: type = cpp_overload_set_type @foo_multiple_members.cpp_overload_set [concrete] @@ -643,6 +647,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_in_namespace_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %InNamespaceStruct: type = class_type @InNamespaceStruct [concrete] // CHECK:STDOUT: %pattern_type.d3e: type = pattern_type %InNamespaceStruct [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -724,6 +729,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_in_relative_namespace_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %InRelativeNamespaceStruct: type = class_type @InRelativeNamespaceStruct [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] @@ -771,6 +777,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_in_outer_definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %OuterStruct: type = class_type @OuterStruct [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %InnerStruct: type = class_type @InnerStruct [concrete] @@ -848,6 +855,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_and_static_method_call_before.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %StaticMethodStruct: type = class_type @StaticMethodStruct [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %StaticMethodStruct.bar.cpp_overload_set.type: type = cpp_overload_set_type @StaticMethodStruct.bar.cpp_overload_set [concrete] @@ -896,6 +904,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_and_static_method_call_after.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %StaticMethodStruct: type = class_type @StaticMethodStruct [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_static_method.cpp_overload_set.type: type = cpp_overload_set_type @foo_static_method.cpp_overload_set [concrete] @@ -944,6 +953,7 @@ fn F() { // CHECK:STDOUT: --- import_decl_pointer_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DeclPointerParamStruct: type = class_type @DeclPointerParamStruct [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %DeclPointerParamStruct [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -980,6 +990,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_pointer_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DefPointerParamStruct: type = class_type @DefPointerParamStruct [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %DefPointerParamStruct [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -1016,6 +1027,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_value_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_def_value_return.cpp_overload_set.type: type = cpp_overload_set_type @foo_def_value_return.cpp_overload_set [concrete] // CHECK:STDOUT: %foo_def_value_return.cpp_overload_set.value: %foo_def_value_return.cpp_overload_set.type = cpp_overload_set_value @foo_def_value_return.cpp_overload_set [concrete] @@ -1057,6 +1069,7 @@ fn F() { // CHECK:STDOUT: --- import_decl_pointer_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %foo_decl_pointer_return.cpp_overload_set.type: type = cpp_overload_set_type @foo_decl_pointer_return.cpp_overload_set [concrete] // CHECK:STDOUT: %foo_decl_pointer_return.cpp_overload_set.value: %foo_decl_pointer_return.cpp_overload_set.type = cpp_overload_set_value @foo_decl_pointer_return.cpp_overload_set [concrete] // CHECK:STDOUT: %DeclPointerReturnStruct: type = class_type @DeclPointerReturnStruct [concrete] @@ -1089,6 +1102,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_pointer_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %foo_def_pointer_return.cpp_overload_set.type: type = cpp_overload_set_type @foo_def_pointer_return.cpp_overload_set [concrete] // CHECK:STDOUT: %foo_def_pointer_return.cpp_overload_set.value: %foo_def_pointer_return.cpp_overload_set.type = cpp_overload_set_value @foo_def_pointer_return.cpp_overload_set [concrete] // CHECK:STDOUT: %DefPointerReturnStruct: type = class_type @DefPointerReturnStruct [concrete] diff --git a/toolchain/check/testdata/interop/cpp/function/import/union.carbon b/toolchain/check/testdata/interop/cpp/function/import/union.carbon index e6c6e0113bc3..c7573441aeb6 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/union.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/union.carbon @@ -454,6 +454,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_no_data_members_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %EmptyUnion: type = class_type @EmptyUnion [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_empty.cpp_overload_set.type: type = cpp_overload_set_type @foo_empty.cpp_overload_set [concrete] @@ -492,6 +493,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_single_data_member_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %SingleMemberUnion: type = class_type @SingleMemberUnion [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_single_member.cpp_overload_set.type: type = cpp_overload_set_type @foo_single_member.cpp_overload_set [concrete] @@ -530,6 +532,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_multiple_data_members_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %MultipleMembersUnion: type = class_type @MultipleMembersUnion [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_multiple_members.cpp_overload_set.type: type = cpp_overload_set_type @foo_multiple_members.cpp_overload_set [concrete] @@ -568,6 +571,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_in_namespace_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %InNamespaceUnion: type = class_type @InNamespaceUnion [concrete] // CHECK:STDOUT: %pattern_type.007: type = pattern_type %InNamespaceUnion [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -649,6 +653,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_in_relative_namespace_value_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %InRelativeNamespaceUnion: type = class_type @InRelativeNamespaceUnion [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] @@ -696,6 +701,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_in_outer_definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %OuterUnion: type = class_type @OuterUnion [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %InnerUnion: type = class_type @InnerUnion [concrete] @@ -773,6 +779,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_and_static_method_call_before.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %StaticMethodUnion: type = class_type @StaticMethodUnion [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %StaticMethodUnion.bar.cpp_overload_set.type: type = cpp_overload_set_type @StaticMethodUnion.bar.cpp_overload_set [concrete] @@ -821,6 +828,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_and_static_method_call_after.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %StaticMethodUnion: type = class_type @StaticMethodUnion [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_static_method.cpp_overload_set.type: type = cpp_overload_set_type @foo_static_method.cpp_overload_set [concrete] @@ -869,6 +877,7 @@ fn F() { // CHECK:STDOUT: --- import_decl_pointer_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DeclPointerParamUnion: type = class_type @DeclPointerParamUnion [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %DeclPointerParamUnion [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -905,6 +914,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_pointer_param_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DefPointerParamUnion: type = class_type @DefPointerParamUnion [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %DefPointerParamUnion [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -941,6 +951,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_value_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_def_value_return.cpp_overload_set.type: type = cpp_overload_set_type @foo_def_value_return.cpp_overload_set [concrete] // CHECK:STDOUT: %foo_def_value_return.cpp_overload_set.value: %foo_def_value_return.cpp_overload_set.type = cpp_overload_set_value @foo_def_value_return.cpp_overload_set [concrete] @@ -982,6 +993,7 @@ fn F() { // CHECK:STDOUT: --- import_decl_pointer_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %foo_decl_pointer_return.cpp_overload_set.type: type = cpp_overload_set_type @foo_decl_pointer_return.cpp_overload_set [concrete] // CHECK:STDOUT: %foo_decl_pointer_return.cpp_overload_set.value: %foo_decl_pointer_return.cpp_overload_set.type = cpp_overload_set_value @foo_decl_pointer_return.cpp_overload_set [concrete] // CHECK:STDOUT: %DeclPointerReturnUnion: type = class_type @DeclPointerReturnUnion [concrete] @@ -1014,6 +1026,7 @@ fn F() { // CHECK:STDOUT: --- import_definition_pointer_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %foo_def_pointer_return.cpp_overload_set.type: type = cpp_overload_set_type @foo_def_pointer_return.cpp_overload_set [concrete] // CHECK:STDOUT: %foo_def_pointer_return.cpp_overload_set.value: %foo_def_pointer_return.cpp_overload_set.type = cpp_overload_set_value @foo_def_pointer_return.cpp_overload_set [concrete] // CHECK:STDOUT: %DefPointerReturnUnion: type = class_type @DefPointerReturnUnion [concrete] diff --git a/toolchain/check/testdata/interop/cpp/function/import/variadic.carbon b/toolchain/check/testdata/interop/cpp/function/import/variadic.carbon index 3e7e64c109d4..04fd61b9ffb0 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/variadic.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/variadic.carbon @@ -42,6 +42,7 @@ fn Call3() { // CHECK:STDOUT: --- call_variadic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] 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 490c88768a50..d74ffa4f4653 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/void_pointer.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/void_pointer.carbon @@ -115,6 +115,7 @@ fn F() { // CHECK:STDOUT: --- non_nullable_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %Cpp.void [concrete] @@ -150,6 +151,7 @@ fn F() { // CHECK:STDOUT: --- non_nullable_return_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %Cpp.void [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %ptr [concrete] @@ -196,6 +198,7 @@ fn F() { // CHECK:STDOUT: --- nullable_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %ptr.00a: type = ptr_type %Cpp.void [concrete] @@ -312,6 +315,7 @@ fn F() { // CHECK:STDOUT: --- null_param.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo_null_param.cpp_overload_set.type: type = cpp_overload_set_type @foo_null_param.cpp_overload_set [concrete] // CHECK:STDOUT: %foo_null_param.cpp_overload_set.value: %foo_null_param.cpp_overload_set.type = cpp_overload_set_value @foo_null_param.cpp_overload_set [concrete] @@ -436,6 +440,7 @@ fn F() { // CHECK:STDOUT: --- nullable_return_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Optional.type: type = generic_class_type @Optional [concrete] // CHECK:STDOUT: %Optional.generic: %Optional.type = struct_value () [concrete] @@ -552,6 +557,7 @@ fn F() { // CHECK:STDOUT: --- non_nullable_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] // CHECK:STDOUT: %ptr.00a: type = ptr_type %Cpp.void [concrete] @@ -625,6 +631,7 @@ fn F() { // CHECK:STDOUT: --- non_nullable_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] // CHECK:STDOUT: %const: type = const_type %Cpp.void [concrete] diff --git a/toolchain/check/testdata/interop/cpp/impls/as.carbon b/toolchain/check/testdata/interop/cpp/impls/as.carbon index 807ee948955d..5bb8ddc1e414 100644 --- a/toolchain/check/testdata/interop/cpp/impls/as.carbon +++ b/toolchain/check/testdata/interop/cpp/impls/as.carbon @@ -132,6 +132,7 @@ fn ConversionExplicit(s: Cpp.ConditionallyExplicitFalse) { // CHECK:STDOUT: --- conversions.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Source: type = class_type @Source [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Dest: type = class_type @Dest [concrete] @@ -301,6 +302,7 @@ fn ConversionExplicit(s: Cpp.ConditionallyExplicitFalse) { // CHECK:STDOUT: --- conditionally_explicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Source: type = class_type @Source [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %ConditionallyExplicit.3cd: type = class_type @ConditionallyExplicit.1 [concrete] @@ -502,6 +504,7 @@ fn ConversionExplicit(s: Cpp.ConditionallyExplicitFalse) { // CHECK:STDOUT: --- fail_conditionally_explicit_implicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Source: type = class_type @Source [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %ConditionallyExplicit.9d4: type = class_type @ConditionallyExplicit.1 [concrete] diff --git a/toolchain/check/testdata/interop/cpp/impls/copy.carbon b/toolchain/check/testdata/interop/cpp/impls/copy.carbon index 3d110e241395..1ff951b73b9d 100644 --- a/toolchain/check/testdata/interop/cpp/impls/copy.carbon +++ b/toolchain/check/testdata/interop/cpp/impls/copy.carbon @@ -195,6 +195,7 @@ fn EqualWitnesses(p: Wrap(Cpp.Copyable)*) -> Wrap(Cpp.Copyable)* { // CHECK:STDOUT: --- copy_copyable.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Copyable: type = class_type @Copyable [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] @@ -291,6 +292,7 @@ fn EqualWitnesses(p: Wrap(Cpp.Copyable)*) -> Wrap(Cpp.Copyable)* { // CHECK:STDOUT: --- copy_generically.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Copy.type.bd0: type = facet_type <@Copy.1> [concrete] // CHECK:STDOUT: %Copy.type.705: type = fn_type @Copy.loc6 [concrete] // CHECK:STDOUT: %Copy: %Copy.type.705 = struct_value () [concrete] diff --git a/toolchain/check/testdata/interop/cpp/impls/destroy.carbon b/toolchain/check/testdata/interop/cpp/impls/destroy.carbon index 039c4bb7f9e4..e4578a0b9438 100644 --- a/toolchain/check/testdata/interop/cpp/impls/destroy.carbon +++ b/toolchain/check/testdata/interop/cpp/impls/destroy.carbon @@ -227,6 +227,7 @@ fn F() { // CHECK:STDOUT: --- destroy_destroyable.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %PublicDestroy.type: type = fn_type @PublicDestroy [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %PublicDestroy: %PublicDestroy.type = struct_value () [concrete] @@ -384,6 +385,7 @@ fn F() { // CHECK:STDOUT: --- fail_todo_destroy_protected_base_destructor.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %ProtectedDestructor: type = class_type @ProtectedDestructor [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -439,6 +441,7 @@ fn F() { // CHECK:STDOUT: --- fail_destroy_private_base_destructor.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %PrivateDestructor: type = class_type @PrivateDestructor [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] diff --git a/toolchain/check/testdata/interop/cpp/impls/implicit_as.carbon b/toolchain/check/testdata/interop/cpp/impls/implicit_as.carbon index 043ee53376ef..11cefc6860e9 100644 --- a/toolchain/check/testdata/interop/cpp/impls/implicit_as.carbon +++ b/toolchain/check/testdata/interop/cpp/impls/implicit_as.carbon @@ -414,6 +414,7 @@ fn InitFromStruct() { // CHECK:STDOUT: --- implicit_conversions.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Source: type = class_type @Source [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Dest: type = class_type @Dest [concrete] @@ -566,6 +567,7 @@ fn InitFromStruct() { // CHECK:STDOUT: --- fail_expr_category.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NonConstConversion: type = class_type @NonConstConversion [concrete] // CHECK:STDOUT: %Dest.980: type = class_type @Dest [concrete] // CHECK:STDOUT: %pattern_type.b72: type = pattern_type %Dest.980 [concrete] @@ -600,6 +602,7 @@ fn InitFromStruct() { // CHECK:STDOUT: --- fail_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Source: type = class_type @Source [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %InaccessibleConstructor: type = class_type @InaccessibleConstructor [concrete] @@ -717,6 +720,7 @@ fn InitFromStruct() { // CHECK:STDOUT: --- fail_deleted.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Source: type = class_type @Source [concrete] // CHECK:STDOUT: %DeletedConstructor: type = class_type @DeletedConstructor [concrete] // CHECK:STDOUT: %pattern_type.937: type = pattern_type %DeletedConstructor [concrete] @@ -774,6 +778,7 @@ fn InitFromStruct() { // CHECK:STDOUT: --- fail_explicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Source: type = class_type @Source [concrete] // CHECK:STDOUT: %ExplicitConstructor: type = class_type @ExplicitConstructor [concrete] // CHECK:STDOUT: %pattern_type.eae: type = pattern_type %ExplicitConstructor [concrete] @@ -831,6 +836,7 @@ fn InitFromStruct() { // CHECK:STDOUT: --- i32_to_int.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -893,6 +899,7 @@ fn InitFromStruct() { // CHECK:STDOUT: --- fail_no_u32_to_int_conversion_in_carbon.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete] @@ -957,6 +964,7 @@ fn InitFromStruct() { // CHECK:STDOUT: --- default_constructor.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %DefaultConstructor: type = class_type @DefaultConstructor [concrete] // CHECK:STDOUT: %pattern_type.be4: type = pattern_type %DefaultConstructor [concrete] @@ -1018,6 +1026,7 @@ fn InitFromStruct() { // CHECK:STDOUT: --- construct_multi_argument.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Two: type = class_type @Two [concrete] // CHECK:STDOUT: %pattern_type.586: type = pattern_type %Two [concrete] @@ -1235,6 +1244,7 @@ fn InitFromStruct() { // CHECK:STDOUT: --- fail_todo_aggregate_from_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Aggregate: type = class_type @Aggregate [concrete] // CHECK:STDOUT: %pattern_type.5dc: type = pattern_type %Aggregate [concrete] @@ -1297,6 +1307,7 @@ fn InitFromStruct() { // CHECK:STDOUT: --- fail_todo_aggregate_from_struct.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Aggregate: type = class_type @Aggregate [concrete] // CHECK:STDOUT: %pattern_type.5dc: type = pattern_type %Aggregate [concrete] // CHECK:STDOUT: %_.patt: %pattern_type.5dc = value_binding_pattern _ [concrete] @@ -1359,6 +1370,7 @@ fn InitFromStruct() { // CHECK:STDOUT: --- non_aggregate_from_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %NonAggregate: type = class_type @NonAggregate [concrete] // CHECK:STDOUT: %pattern_type.273: type = pattern_type %NonAggregate [concrete] @@ -1525,6 +1537,7 @@ fn InitFromStruct() { // CHECK:STDOUT: --- fail_non_aggregate_from_struct.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NonAggregate: type = class_type @NonAggregate [concrete] // CHECK:STDOUT: %pattern_type.273: type = pattern_type %NonAggregate [concrete] // CHECK:STDOUT: %_.patt: %pattern_type.273 = value_binding_pattern _ [concrete] diff --git a/toolchain/check/testdata/interop/cpp/macros/macros.carbon b/toolchain/check/testdata/interop/cpp/macros/macros.carbon index 2dad837f9adc..ce2c33dabc11 100644 --- a/toolchain/check/testdata/interop/cpp/macros/macros.carbon +++ b/toolchain/check/testdata/interop/cpp/macros/macros.carbon @@ -992,6 +992,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- import_integer_literal_replacement_token.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] @@ -1082,6 +1083,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- import_macro_and_non_macro_same_name.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -1218,6 +1220,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- import_unary_operator.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] @@ -1248,6 +1251,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- import_binary_operator.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] @@ -1278,6 +1282,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- import_casting.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.668: type = pattern_type %u32 [concrete] @@ -1343,6 +1348,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- import_nested_macros.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] @@ -1373,6 +1379,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- import_string_literal_object_like_macro.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %str.3d4: type = class_type @String [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %i64: type = class_type @Int, @Int(%int_64) [concrete] @@ -1484,6 +1491,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- import_floating_point_literal_macro.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %pattern_type.fb7: type = pattern_type %f64.dc1 [concrete] @@ -1539,6 +1547,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- import_character_literals.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %char: type = class_type @Char [concrete] // CHECK:STDOUT: %pattern_type.2ff: type = pattern_type %char [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.2ff = value_binding_pattern a [concrete] @@ -1623,6 +1632,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- import_character_literals_operators.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %char: type = class_type @Char [concrete] // CHECK:STDOUT: %pattern_type.2ff: type = pattern_type %char [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.2ff = value_binding_pattern a [concrete] @@ -1677,6 +1687,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- import_boolean_literal_macro.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.831 = value_binding_pattern a [concrete] // CHECK:STDOUT: %true: bool = bool_literal true [concrete] @@ -1802,6 +1813,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- nullptr.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -1916,6 +1928,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- enums.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %A [concrete] // CHECK:STDOUT: %a.patt: %pattern_type = value_binding_pattern a [concrete] @@ -1949,6 +1962,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- constexpr_int.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] @@ -1991,6 +2005,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- constexpr_int_addr.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %const: type = const_type %i32 [concrete] @@ -2037,6 +2052,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- lambda.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] @@ -2067,6 +2083,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- import_macro_redefined.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] @@ -2097,6 +2114,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- import_macro_defined_twice.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] @@ -2127,6 +2145,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- assign.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] @@ -2180,6 +2199,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: --- assign_subobject.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %SubA: type = class_type @SubA [concrete] diff --git a/toolchain/check/testdata/interop/cpp/namespace/import.carbon b/toolchain/check/testdata/interop/cpp/namespace/import.carbon index 6b1820b6233d..87d6df1aba9a 100644 --- a/toolchain/check/testdata/interop/cpp/namespace/import.carbon +++ b/toolchain/check/testdata/interop/cpp/namespace/import.carbon @@ -368,6 +368,7 @@ fn F() { // CHECK:STDOUT: --- import_single.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -400,6 +401,7 @@ fn F() { // CHECK:STDOUT: --- import_multiple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo1.cpp_overload_set.type: type = cpp_overload_set_type @foo1.cpp_overload_set [concrete] // CHECK:STDOUT: %foo1.cpp_overload_set.value: %foo1.cpp_overload_set.type = cpp_overload_set_value @foo1.cpp_overload_set [concrete] @@ -465,6 +467,7 @@ fn F() { // CHECK:STDOUT: --- import_inline.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -497,6 +500,7 @@ fn F() { // CHECK:STDOUT: --- import_inline_ambiguity_not_triggered.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -538,6 +542,7 @@ fn F() { // CHECK:STDOUT: --- import_special_name_call_escpaed.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] diff --git a/toolchain/check/testdata/interop/cpp/operators/arithmetic_operators.carbon b/toolchain/check/testdata/interop/cpp/operators/arithmetic_operators.carbon index bf7a6bda17c0..0eede99ecd7a 100644 --- a/toolchain/check/testdata/interop/cpp/operators/arithmetic_operators.carbon +++ b/toolchain/check/testdata/interop/cpp/operators/arithmetic_operators.carbon @@ -309,6 +309,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: --- arithmetic_operators.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %pattern_type.429: type = pattern_type %Destroy.type [concrete] // CHECK:STDOUT: %Result.patt: %pattern_type.429 = symbolic_binding_pattern Result, 0 [symbolic] @@ -318,7 +319,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Other: type = symbolic_binding Other, 0 [symbolic] // CHECK:STDOUT: %AddWith.type.7e9: type = facet_type <@AddWith.1, @AddWith.1(%Other)> [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] // CHECK:STDOUT: %Self.96a: %AddWith.type.7e9 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %AddWith.assoc_type.588: type = assoc_entity_type @AddWith.1, @AddWith.1(%Other) [symbolic] // CHECK:STDOUT: %AddWith.WithSelf.Op.type.28e: type = fn_type @AddWith.WithSelf.Op, @AddWith.WithSelf(%Other, %Self.96a) [symbolic] @@ -1048,7 +1049,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: %facet_value.20a: %facet_type.546 = facet_value %Int64, (%custom_witness.e7a31c.3, %custom_witness.e66) [concrete] // CHECK:STDOUT: %pattern_type.5db: type = pattern_type %facet_type.546 [concrete] // CHECK:STDOUT: %T.patt.ed0: %pattern_type.5db = symbolic_binding_pattern T, 2 [symbolic] -// CHECK:STDOUT: %U.patt.d47: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: %U.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %U.67d: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %AddAssignWith.type.2c8890.1: type = facet_type <@AddAssignWith.1, @AddAssignWith.1(%Other)> [symbolic] // CHECK:STDOUT: %Self.792732.1: %AddAssignWith.type.2c8890.1 = symbolic_binding Self, 1 [symbolic] @@ -4061,7 +4062,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @AddAssignWith.loc225(constants.%U.67d, constants.%T.792) { -// CHECK:STDOUT: %U.patt.loc225_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc225_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc225_19.1 => constants.%U.67d // CHECK:STDOUT: %AddAssignWith.type.loc225_50.1 => constants.%AddAssignWith.type.2c8890.2 // CHECK:STDOUT: %pattern_type.loc225_28 => constants.%pattern_type.82d @@ -4077,7 +4078,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @SubAssignWith.loc231(constants.%U.67d, constants.%T.f6c) { -// CHECK:STDOUT: %U.patt.loc231_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc231_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc231_19.1 => constants.%U.67d // CHECK:STDOUT: %SubAssignWith.type.loc231_50.1 => constants.%SubAssignWith.type.7e53cf.2 // CHECK:STDOUT: %pattern_type.loc231_28 => constants.%pattern_type.260 @@ -4093,7 +4094,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @MulAssignWith.loc237(constants.%U.67d, constants.%T.64d) { -// CHECK:STDOUT: %U.patt.loc237_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc237_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc237_19.1 => constants.%U.67d // CHECK:STDOUT: %MulAssignWith.type.loc237_50.1 => constants.%MulAssignWith.type.3a0e4d.2 // CHECK:STDOUT: %pattern_type.loc237_28 => constants.%pattern_type.8c2 @@ -4109,7 +4110,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @DivAssignWith.loc243(constants.%U.67d, constants.%T.c33) { -// CHECK:STDOUT: %U.patt.loc243_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc243_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc243_19.1 => constants.%U.67d // CHECK:STDOUT: %DivAssignWith.type.loc243_50.1 => constants.%DivAssignWith.type.7e58ca.2 // CHECK:STDOUT: %pattern_type.loc243_28 => constants.%pattern_type.f74 @@ -4125,7 +4126,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @ModAssignWith.loc249(constants.%U.67d, constants.%T.bca) { -// CHECK:STDOUT: %U.patt.loc249_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc249_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc249_19.1 => constants.%U.67d // CHECK:STDOUT: %ModAssignWith.type.loc249_50.1 => constants.%ModAssignWith.type.778d68.2 // CHECK:STDOUT: %pattern_type.loc249_28 => constants.%pattern_type.fb8 @@ -4141,7 +4142,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @AddAssignWith.loc225(constants.%i16, constants.%AddAssignWith.facet.e34) { -// CHECK:STDOUT: %U.patt.loc225_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc225_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc225_19.1 => constants.%i16 // CHECK:STDOUT: %AddAssignWith.type.loc225_50.1 => constants.%AddAssignWith.type.2a0 // CHECK:STDOUT: %pattern_type.loc225_28 => constants.%pattern_type.b256 @@ -4169,7 +4170,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @SubAssignWith.loc231(constants.%i16, constants.%SubAssignWith.facet.a52) { -// CHECK:STDOUT: %U.patt.loc231_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc231_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc231_19.1 => constants.%i16 // CHECK:STDOUT: %SubAssignWith.type.loc231_50.1 => constants.%SubAssignWith.type.e8b // CHECK:STDOUT: %pattern_type.loc231_28 => constants.%pattern_type.c22 @@ -4197,7 +4198,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @MulAssignWith.loc237(constants.%i16, constants.%MulAssignWith.facet.201) { -// CHECK:STDOUT: %U.patt.loc237_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc237_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc237_19.1 => constants.%i16 // CHECK:STDOUT: %MulAssignWith.type.loc237_50.1 => constants.%MulAssignWith.type.7d4 // CHECK:STDOUT: %pattern_type.loc237_28 => constants.%pattern_type.a24 @@ -4225,7 +4226,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @DivAssignWith.loc243(constants.%i16, constants.%DivAssignWith.facet.a72) { -// CHECK:STDOUT: %U.patt.loc243_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc243_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc243_19.1 => constants.%i16 // CHECK:STDOUT: %DivAssignWith.type.loc243_50.1 => constants.%DivAssignWith.type.081 // CHECK:STDOUT: %pattern_type.loc243_28 => constants.%pattern_type.c970 @@ -4253,7 +4254,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @ModAssignWith.loc249(constants.%i16, constants.%ModAssignWith.facet.4a2) { -// CHECK:STDOUT: %U.patt.loc249_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc249_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc249_19.1 => constants.%i16 // CHECK:STDOUT: %ModAssignWith.type.loc249_50.1 => constants.%ModAssignWith.type.1ea // CHECK:STDOUT: %pattern_type.loc249_28 => constants.%pattern_type.6ef @@ -4281,7 +4282,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @AddAssignWith.loc225(constants.%Int32, constants.%AddAssignWith.facet.348) { -// CHECK:STDOUT: %U.patt.loc225_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc225_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc225_19.1 => constants.%Int32 // CHECK:STDOUT: %AddAssignWith.type.loc225_50.1 => constants.%AddAssignWith.type.23a // CHECK:STDOUT: %pattern_type.loc225_28 => constants.%pattern_type.5ad @@ -4309,7 +4310,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @SubAssignWith.loc231(constants.%Int32, constants.%SubAssignWith.facet.e0e) { -// CHECK:STDOUT: %U.patt.loc231_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc231_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc231_19.1 => constants.%Int32 // CHECK:STDOUT: %SubAssignWith.type.loc231_50.1 => constants.%SubAssignWith.type.4fc // CHECK:STDOUT: %pattern_type.loc231_28 => constants.%pattern_type.190 @@ -4337,7 +4338,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @MulAssignWith.loc237(constants.%Int32, constants.%MulAssignWith.facet.13c) { -// CHECK:STDOUT: %U.patt.loc237_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc237_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc237_19.1 => constants.%Int32 // CHECK:STDOUT: %MulAssignWith.type.loc237_50.1 => constants.%MulAssignWith.type.5fb // CHECK:STDOUT: %pattern_type.loc237_28 => constants.%pattern_type.f3b @@ -4365,7 +4366,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @DivAssignWith.loc243(constants.%Int32, constants.%DivAssignWith.facet.e59) { -// CHECK:STDOUT: %U.patt.loc243_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc243_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc243_19.1 => constants.%Int32 // CHECK:STDOUT: %DivAssignWith.type.loc243_50.1 => constants.%DivAssignWith.type.3ea // CHECK:STDOUT: %pattern_type.loc243_28 => constants.%pattern_type.8f3 @@ -4393,7 +4394,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @ModAssignWith.loc249(constants.%Int32, constants.%ModAssignWith.facet.dac) { -// CHECK:STDOUT: %U.patt.loc249_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc249_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc249_19.1 => constants.%Int32 // CHECK:STDOUT: %ModAssignWith.type.loc249_50.1 => constants.%ModAssignWith.type.567 // CHECK:STDOUT: %pattern_type.loc249_28 => constants.%pattern_type.9ff @@ -4421,7 +4422,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @AddAssignWith.loc225(constants.%Int32, constants.%AddAssignWith.facet.144) { -// CHECK:STDOUT: %U.patt.loc225_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc225_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc225_19.1 => constants.%Int32 // CHECK:STDOUT: %AddAssignWith.type.loc225_50.1 => constants.%AddAssignWith.type.23a // CHECK:STDOUT: %pattern_type.loc225_28 => constants.%pattern_type.5ad @@ -4449,7 +4450,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @SubAssignWith.loc231(constants.%Int32, constants.%SubAssignWith.facet.a7e) { -// CHECK:STDOUT: %U.patt.loc231_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc231_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc231_19.1 => constants.%Int32 // CHECK:STDOUT: %SubAssignWith.type.loc231_50.1 => constants.%SubAssignWith.type.4fc // CHECK:STDOUT: %pattern_type.loc231_28 => constants.%pattern_type.190 @@ -4477,7 +4478,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @MulAssignWith.loc237(constants.%Int32, constants.%MulAssignWith.facet.b35) { -// CHECK:STDOUT: %U.patt.loc237_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc237_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc237_19.1 => constants.%Int32 // CHECK:STDOUT: %MulAssignWith.type.loc237_50.1 => constants.%MulAssignWith.type.5fb // CHECK:STDOUT: %pattern_type.loc237_28 => constants.%pattern_type.f3b @@ -4505,7 +4506,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @DivAssignWith.loc243(constants.%Int32, constants.%DivAssignWith.facet.b1e) { -// CHECK:STDOUT: %U.patt.loc243_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc243_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc243_19.1 => constants.%Int32 // CHECK:STDOUT: %DivAssignWith.type.loc243_50.1 => constants.%DivAssignWith.type.3ea // CHECK:STDOUT: %pattern_type.loc243_28 => constants.%pattern_type.8f3 @@ -4533,7 +4534,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @ModAssignWith.loc249(constants.%Int32, constants.%ModAssignWith.facet.342) { -// CHECK:STDOUT: %U.patt.loc249_19.2 => constants.%U.patt.d47 +// CHECK:STDOUT: %U.patt.loc249_19.2 => constants.%U.patt.3a0 // CHECK:STDOUT: %U.loc249_19.1 => constants.%Int32 // CHECK:STDOUT: %ModAssignWith.type.loc249_50.1 => constants.%ModAssignWith.type.567 // CHECK:STDOUT: %pattern_type.loc249_28 => constants.%pattern_type.9ff diff --git a/toolchain/check/testdata/interop/cpp/operators/deref.carbon b/toolchain/check/testdata/interop/cpp/operators/deref.carbon index d6a95f3453e1..fa9cf7590870 100644 --- a/toolchain/check/testdata/interop/cpp/operators/deref.carbon +++ b/toolchain/check/testdata/interop/cpp/operators/deref.carbon @@ -117,6 +117,7 @@ fn TestDerefFail(not_ptr: Cpp.NotAPtr) { // CHECK:STDOUT: --- const_deref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ConstDeref: type = class_type @ConstDeref [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -186,6 +187,7 @@ fn TestDerefFail(not_ptr: Cpp.NotAPtr) { // CHECK:STDOUT: --- mutable_deref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %MutableDeref: type = class_type @MutableDeref [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/interop/cpp/operators/eq_with.carbon b/toolchain/check/testdata/interop/cpp/operators/eq_with.carbon index 4578178b922a..cf582d65083e 100644 --- a/toolchain/check/testdata/interop/cpp/operators/eq_with.carbon +++ b/toolchain/check/testdata/interop/cpp/operators/eq_with.carbon @@ -360,8 +360,9 @@ fn Test(only_neq: Cpp.OnlyNeq, // CHECK:STDOUT: --- returns_bool.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// 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: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %Other: type = symbolic_binding Other, 0 [symbolic] // CHECK:STDOUT: %EqWith.type.98ea86.1: type = facet_type <@EqWith.1, @EqWith.1(%Other)> [symbolic] @@ -530,8 +531,9 @@ fn Test(only_neq: Cpp.OnlyNeq, // CHECK:STDOUT: --- cross_type_equality.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// 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: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %Other: type = symbolic_binding Other, 0 [symbolic] // CHECK:STDOUT: %EqWith.type.98ea86.1: type = facet_type <@EqWith.1, @EqWith.1(%Other)> [symbolic] diff --git a/toolchain/check/testdata/interop/cpp/operators/operators.carbon b/toolchain/check/testdata/interop/cpp/operators/operators.carbon index adca15723263..230348fac37c 100644 --- a/toolchain/check/testdata/interop/cpp/operators/operators.carbon +++ b/toolchain/check/testdata/interop/cpp/operators/operators.carbon @@ -1022,6 +1022,7 @@ fn F() { // CHECK:STDOUT: --- import_unary_operators.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %pattern_type.bbc: type = pattern_type %C [concrete] @@ -1166,6 +1167,7 @@ fn F() { // CHECK:STDOUT: --- import_binary_operators.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %BinaryC: type = class_type @BinaryC [concrete] // CHECK:STDOUT: %pattern_type.b2b: type = pattern_type %BinaryC [concrete] @@ -1975,6 +1977,7 @@ fn F() { // CHECK:STDOUT: --- multiple_calls.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %BinaryC: type = class_type @BinaryC [concrete] // CHECK:STDOUT: %pattern_type.b2b: type = pattern_type %BinaryC [concrete] @@ -2143,6 +2146,7 @@ fn F() { // CHECK:STDOUT: --- fail_todo_rewrite_spaceship.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %pattern_type.bbc: type = pattern_type %C [concrete] @@ -2313,6 +2317,7 @@ fn F() { // CHECK:STDOUT: --- fail_todo_rewrite_equal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %EqualC: type = class_type @EqualC [concrete] // CHECK:STDOUT: %pattern_type.4e7: type = pattern_type %EqualC [concrete] @@ -2446,6 +2451,7 @@ fn F() { // CHECK:STDOUT: --- import_single_namespace.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %pattern_type.7cb: type = pattern_type %C [concrete] @@ -2573,6 +2579,7 @@ fn F() { // CHECK:STDOUT: --- import_multiple_namespaces.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %C1: type = class_type @C1 [concrete] // CHECK:STDOUT: %pattern_type.da8: type = pattern_type %C1 [concrete] @@ -2762,6 +2769,7 @@ fn F() { // CHECK:STDOUT: --- fail_todo_import_operands_in_namespace_operator_in_global.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %pattern_type.73b: type = pattern_type %C [concrete] @@ -2868,6 +2876,7 @@ fn F() { // CHECK:STDOUT: --- import_inner_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %O: type = class_type @O [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] @@ -2993,6 +3002,7 @@ fn F() { // CHECK:STDOUT: --- import_inner_class_in_namespace.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %O: type = class_type @O [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] @@ -3127,6 +3137,7 @@ fn F() { // CHECK:STDOUT: --- import_member_add_with.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %MemberClass: type = class_type @MemberClass [concrete] // CHECK:STDOUT: %pattern_type.809: type = pattern_type %MemberClass [concrete] @@ -3255,6 +3266,7 @@ fn F() { // CHECK:STDOUT: --- indirect_template_instantiation.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %TemplateB: type = class_type @TemplateB [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -3286,6 +3298,7 @@ fn F() { // CHECK:STDOUT: --- import_overloading.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %pattern_type.bbc: type = pattern_type %C [concrete] diff --git a/toolchain/check/testdata/interop/cpp/operators/ordered_with.carbon b/toolchain/check/testdata/interop/cpp/operators/ordered_with.carbon index 090a8e54c488..885da025f325 100644 --- a/toolchain/check/testdata/interop/cpp/operators/ordered_with.carbon +++ b/toolchain/check/testdata/interop/cpp/operators/ordered_with.carbon @@ -392,8 +392,9 @@ fn Test(missing_less: Cpp.MissingLess, // CHECK:STDOUT: --- returns_bool.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// 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: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %Other: type = symbolic_binding Other, 0 [symbolic] // CHECK:STDOUT: %OrderedWith.type.32ae87.1: type = facet_type <@OrderedWith.1, @OrderedWith.1(%Other)> [symbolic] @@ -634,8 +635,9 @@ fn Test(missing_less: Cpp.MissingLess, // CHECK:STDOUT: --- cross_type_ordering.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// 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: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %Other: type = symbolic_binding Other, 0 [symbolic] // CHECK:STDOUT: %OrderedWith.type.32ae87.1: type = facet_type <@OrderedWith.1, @OrderedWith.1(%Other)> [symbolic] diff --git a/toolchain/check/testdata/interop/cpp/operators/spaceship.carbon b/toolchain/check/testdata/interop/cpp/operators/spaceship.carbon index 3e860219f63f..1eba7c46e56a 100644 --- a/toolchain/check/testdata/interop/cpp/operators/spaceship.carbon +++ b/toolchain/check/testdata/interop/cpp/operators/spaceship.carbon @@ -229,8 +229,9 @@ fn Test(returns_strong_ordering: Cpp.ReturnsStrongOrdering) { // CHECK:STDOUT: --- fail_todo_spaceship_rewrites.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// 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: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %Other: type = symbolic_binding Other, 0 [symbolic] // CHECK:STDOUT: %EqWith.type.98ea86.1: type = facet_type <@EqWith.1, @EqWith.1(%Other)> [symbolic] diff --git a/toolchain/check/testdata/interop/cpp/primitive_types/arithmetic.carbon b/toolchain/check/testdata/interop/cpp/primitive_types/arithmetic.carbon index 179eff531510..ccf3bd895586 100644 --- a/toolchain/check/testdata/interop/cpp/primitive_types/arithmetic.carbon +++ b/toolchain/check/testdata/interop/cpp/primitive_types/arithmetic.carbon @@ -114,6 +114,7 @@ fn F() { // CHECK:STDOUT: --- supported_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete] // CHECK:STDOUT: %i8: type = class_type @Int, @Int(%int_8) [concrete] // CHECK:STDOUT: %pattern_type.0cf: type = pattern_type %i8 [concrete] @@ -470,6 +471,7 @@ fn F() { // CHECK:STDOUT: --- fail_todo_unsupported_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %float.6da: Core.FloatLiteral = float_literal_value 10e-1 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] @@ -524,6 +526,7 @@ fn F() { // CHECK:STDOUT: --- override_builtin.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %unsigned_int: type = class_type @unsigned_int [concrete] // CHECK:STDOUT: %pattern_type.990: type = pattern_type %unsigned_int [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 cec2dab9d6f4..1189fc8e26ba 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 @@ -626,6 +626,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long: type = class_type @Long64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] @@ -798,6 +799,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- unsigned_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.unsigned_long: type = class_type @ULong64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] @@ -970,6 +972,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- long_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -1268,6 +1271,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- copy_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long: type = class_type @Long64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] @@ -1366,6 +1370,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- comparisons_homogeneous_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Cpp.long: type = class_type @Long64 [concrete] // CHECK:STDOUT: %pattern_type.ada: type = pattern_type %Cpp.long [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.ada = value_binding_pattern a [concrete] @@ -1495,6 +1500,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- comparisons_heterogeneous_long_left_side.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %Int.67af24.1: type = class_type @Int, @Int(%N) [symbolic] @@ -1970,6 +1976,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- comparisons_heterogeneous_long_right_side.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %Int.67af24.1: type = class_type @Int, @Int(%N) [symbolic] @@ -2467,6 +2474,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- compound_assignment_homogeneous_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long: type = class_type @Long64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] @@ -2921,6 +2929,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- compound_assignment_hereogeneous_long_and_i64.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -3334,6 +3343,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- compound_assignment_heterogeneous_long_and_int_literal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long: type = class_type @Long64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] @@ -3443,6 +3453,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- compound_assignment_heterogeneous_long_and_runtime_i64.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -3585,6 +3596,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- increment_decrement_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long: type = class_type @Long64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] @@ -3680,6 +3692,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- unsigned_long_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -3972,6 +3985,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- copy_unsigned_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.unsigned_long: type = class_type @ULong64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [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 e3ab75e51efc..ac2487dc6c88 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 @@ -687,6 +687,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- long_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -864,6 +865,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- unsigned_long_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -1041,6 +1043,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long: type = class_type @Long32 [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -1359,6 +1362,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- copy_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long: type = class_type @Long32 [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -1457,6 +1461,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- comparisons_homogeneous_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Cpp.long: type = class_type @Long32 [concrete] // CHECK:STDOUT: %pattern_type.25e: type = pattern_type %Cpp.long [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.25e = value_binding_pattern a [concrete] @@ -1586,6 +1591,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- comparisons_heterogeneous_long_left_side.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] @@ -2042,6 +2048,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- comparisons_heterogeneous_long_right_side.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] @@ -2520,6 +2527,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- arithmetic_homogeneous_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Cpp.long: type = class_type @Long32 [concrete] // CHECK:STDOUT: %pattern_type.25e: type = pattern_type %Cpp.long [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.25e = value_binding_pattern x [concrete] @@ -2736,6 +2744,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- compound_assignment_homogeneous_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long: type = class_type @Long32 [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -3190,6 +3199,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- compound_assignment_hereogeneous_long_and_i32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -3659,6 +3669,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- compound_assignment_heterogeneous_long_and_int_literal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long: type = class_type @Long32 [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -3768,6 +3779,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- compound_assignment_heterogeneous_long_and_runtime_i32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long: type = class_type @Long32 [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -3916,6 +3928,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- increment_decrement_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long: type = class_type @Long32 [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -4011,6 +4024,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- unsigned_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.unsigned_long: type = class_type @ULong32 [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -4325,6 +4339,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: --- copy_unsigned_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.unsigned_long: type = class_type @ULong32 [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [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 b9b70b3732cc..dda0a2718244 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 @@ -635,6 +635,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: --- long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -812,6 +813,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: --- unsigned_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] @@ -989,6 +991,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: --- long_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long_long: type = class_type @LongLong64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] @@ -1284,6 +1287,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: --- copy_long_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long_long: type = class_type @LongLong64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] @@ -1382,6 +1386,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: --- comparisons_homogeneous_long_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Cpp.long_long: type = class_type @LongLong64 [concrete] // CHECK:STDOUT: %pattern_type.d58: type = pattern_type %Cpp.long_long [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.d58 = value_binding_pattern a [concrete] @@ -1511,6 +1516,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: --- comparisons_heterogeneous_long_long_left_side.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %i64: type = class_type @Int, @Int(%int_64) [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] @@ -1967,6 +1973,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: --- comparisons_heterogeneous_long_long_right_side.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %i64: type = class_type @Int, @Int(%int_64) [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] @@ -2445,6 +2452,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: --- compound_assignment_homogeneous_long_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long_long: type = class_type @LongLong64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] @@ -2899,6 +2907,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: --- compound_assignment_hereogeneous_long_long_and_i64.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %i64: type = class_type @Int, @Int(%int_64) [concrete] @@ -3368,6 +3377,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: --- compound_assignment_heterogeneous_long_long_and_int_literal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long_long: type = class_type @LongLong64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] @@ -3477,6 +3487,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: --- compound_assignment_heterogeneous_long_long_and_runtime_i64.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long_long: type = class_type @LongLong64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] @@ -3625,6 +3636,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: --- increment_decrement_long_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.long_long: type = class_type @LongLong64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] @@ -3720,6 +3732,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: --- unsigned_long_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.unsigned_long_long: type = class_type @ULongLong64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] @@ -4035,6 +4048,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: --- copy_unsigned_long_long.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cpp.unsigned_long_long: type = class_type @ULongLong64 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [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 85505f9cac62..40e6ec1c35c2 100644 --- a/toolchain/check/testdata/interop/cpp/primitive_types/void_pointer.carbon +++ b/toolchain/check/testdata/interop/cpp/primitive_types/void_pointer.carbon @@ -139,6 +139,7 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: --- implicit_as_from_cpp_class_pointer_to_void_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] // CHECK:STDOUT: %ptr.037: type = ptr_type %S [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] @@ -194,6 +195,7 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: --- implicit_as_from_carbon_class_pointer_to_void_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %ptr.6b6: type = ptr_type %C [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] @@ -247,6 +249,7 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: --- explicit_as_from_cpp_class_pointer_to_void_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] // CHECK:STDOUT: %ptr.037: type = ptr_type %S [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] @@ -315,6 +318,7 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: --- explicit_as_from_carbon_class_pointer_to_void_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %ptr.6b6: type = ptr_type %C [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] @@ -381,6 +385,7 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: --- fail_explicit_as_from_void_pointer_to_cpp_class_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] // CHECK:STDOUT: %ptr.00a: type = ptr_type %Cpp.void [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] @@ -420,6 +425,7 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: --- fail_explicit_as_from_void_pointer_to_carbon_class_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] // CHECK:STDOUT: %ptr.00a: type = ptr_type %Cpp.void [concrete] @@ -448,6 +454,7 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: --- unsafe_as_from_void_pointer_to_cpp_class_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] // CHECK:STDOUT: %ptr.00a: type = ptr_type %Cpp.void [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] @@ -507,6 +514,7 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: --- unsafe_as_from_void_pointer_to_carbon_class_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %Cpp.void: type = class_type @VoidBase [concrete] // CHECK:STDOUT: %ptr.00a: type = ptr_type %Cpp.void [concrete] diff --git a/toolchain/check/testdata/interop/cpp/range_for.carbon b/toolchain/check/testdata/interop/cpp/range_for.carbon index bb517381694d..edb824e7d706 100644 --- a/toolchain/check/testdata/interop/cpp/range_for.carbon +++ b/toolchain/check/testdata/interop/cpp/range_for.carbon @@ -791,6 +791,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: --- methods_return_same_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -1417,6 +1418,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: --- methods_return_different_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -2043,6 +2045,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: --- method_overloads.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -2478,6 +2481,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: --- adl_return_same_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -2911,6 +2915,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: --- fail_todo_adl_returns_same_types_mutable.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -3346,6 +3351,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: --- adl_returns_different_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -3813,6 +3819,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: --- fail_todo_adl_returns_different_types_mutable.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] @@ -4113,6 +4120,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: --- fail_todo_adl_overloads.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] diff --git a/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon b/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon index cda8f22fb835..14112048c5a0 100644 --- a/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon +++ b/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon @@ -53,6 +53,7 @@ fn F() { // CHECK:STDOUT: --- convert.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/interop/cpp/stdlib/string_view.carbon b/toolchain/check/testdata/interop/cpp/stdlib/string_view.carbon index a0581d7a39be..84538e9d63ea 100644 --- a/toolchain/check/testdata/interop/cpp/stdlib/string_view.carbon +++ b/toolchain/check/testdata/interop/cpp/stdlib/string_view.carbon @@ -75,6 +75,7 @@ fn StarstWith(a: str, b: str) -> bool { // CHECK:STDOUT: --- pass_and_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -164,6 +165,7 @@ fn StarstWith(a: str, b: str) -> bool { // CHECK:STDOUT: --- call_base_method.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %str: type = class_type @String [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %pattern_type.adf: type = pattern_type %str [concrete] diff --git a/toolchain/check/testdata/interop/cpp/template/alias_template.carbon b/toolchain/check/testdata/interop/cpp/template/alias_template.carbon index ff9727ae0280..d622db5413e3 100644 --- a/toolchain/check/testdata/interop/cpp/template/alias_template.carbon +++ b/toolchain/check/testdata/interop/cpp/template/alias_template.carbon @@ -34,6 +34,7 @@ var a2: Cpp.Second(Cpp.B, Cpp.A) = Cpp.A.A(); // CHECK:STDOUT: --- use_alias_template.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %First.type: type = cpp_type_template_type First [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %First.template: %First.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/interop/cpp/template/argument_count.carbon b/toolchain/check/testdata/interop/cpp/template/argument_count.carbon index b195098d2d9a..38cba647d063 100644 --- a/toolchain/check/testdata/interop/cpp/template/argument_count.carbon +++ b/toolchain/check/testdata/interop/cpp/template/argument_count.carbon @@ -121,6 +121,7 @@ var too_many: Cpp.FixedSizePack(Cpp.A, Cpp.A).Inner(Cpp.B, Cpp.B, Cpp.B); // CHECK:STDOUT: --- valid.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %TwoTypes: type = class_type @TwoTypes [concrete] // CHECK:STDOUT: %pattern_type.83a: type = pattern_type %TwoTypes [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.83a = ref_binding_pattern x [concrete] @@ -168,6 +169,7 @@ var too_many: Cpp.FixedSizePack(Cpp.A, Cpp.A).Inner(Cpp.B, Cpp.B, Cpp.B); // CHECK:STDOUT: --- pack.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %TypePack.78f: type = class_type @TypePack.1 [concrete] // CHECK:STDOUT: %pattern_type.a64: type = pattern_type %TypePack.78f [concrete] // CHECK:STDOUT: %a0.patt: %pattern_type.a64 = ref_binding_pattern a0 [concrete] diff --git a/toolchain/check/testdata/interop/cpp/template/class_template.carbon b/toolchain/check/testdata/interop/cpp/template/class_template.carbon index d7d0fde490ff..7df386b988bc 100644 --- a/toolchain/check/testdata/interop/cpp/template/class_template.carbon +++ b/toolchain/check/testdata/interop/cpp/template/class_template.carbon @@ -33,6 +33,7 @@ var a: Cpp.A = Cpp.X(Cpp.A, Cpp.B).f({} as Cpp.B); // CHECK:STDOUT: --- use_class_template.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/interop/cpp/template/concept.carbon b/toolchain/check/testdata/interop/cpp/template/concept.carbon index f4222156257b..85f4595e9279 100644 --- a/toolchain/check/testdata/interop/cpp/template/concept.carbon +++ b/toolchain/check/testdata/interop/cpp/template/concept.carbon @@ -36,6 +36,7 @@ var x2: X(Cpp.IsLarge(Cpp.Large)) = X(true).Make(); // CHECK:STDOUT: --- use_concept.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X.type: type = generic_class_type @X [concrete] // CHECK:STDOUT: %X.generic: %X.type = struct_value () [concrete] // CHECK:STDOUT: %IsLarge.type: type = cpp_type_template_type IsLarge [concrete] diff --git a/toolchain/check/testdata/interop/cpp/template/generic_call.carbon b/toolchain/check/testdata/interop/cpp/template/generic_call.carbon index b15cd2d1a1d8..0eee384a868d 100644 --- a/toolchain/check/testdata/interop/cpp/template/generic_call.carbon +++ b/toolchain/check/testdata/interop/cpp/template/generic_call.carbon @@ -36,10 +36,10 @@ fn G() { // CHECK:STDOUT: --- generic_call.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.51d1c4.1: type = pattern_type %T.67d [symbolic] // CHECK:STDOUT: %x.param_patt.91d: %pattern_type.51d1c4.1 = value_param_pattern [symbolic] @@ -53,11 +53,11 @@ fn G() { // CHECK:STDOUT: %.a92: type = template_inst %T.67d [template] // CHECK:STDOUT: %.d46: type = type_of_inst @F.%.loc8_24.5 [template] // CHECK:STDOUT: %.de1: %.d46 = splice_inst @F.%.loc8_24.5 [template] -// CHECK:STDOUT: %.bc2: type = splice_inst @F.%.loc8_24.8 [template] -// CHECK:STDOUT: %require_complete.e38: = require_complete_type %.bc2 [template] -// CHECK:STDOUT: %pattern_type.aa8: type = pattern_type %.bc2 [template] -// CHECK:STDOUT: %v.patt.295: %pattern_type.aa8 = ref_binding_pattern v [template] -// CHECK:STDOUT: %v.var_patt.ab7: %pattern_type.aa8 = var_pattern %v.patt.295 [template] +// CHECK:STDOUT: %.5cd: type = splice_inst @F.%.loc8_24.8 [template] +// CHECK:STDOUT: %require_complete.363: = require_complete_type %.5cd [template] +// CHECK:STDOUT: %pattern_type.a1f: type = pattern_type %.5cd [template] +// CHECK:STDOUT: %v.patt.019: %pattern_type.a1f = ref_binding_pattern v [template] +// CHECK:STDOUT: %v.var_patt.d78: %pattern_type.a1f = var_pattern %v.patt.019 [template] // CHECK:STDOUT: %DefaultOrUnformed.type: type = facet_type <@DefaultOrUnformed> [concrete] // CHECK:STDOUT: %Self.935: %DefaultOrUnformed.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.8f1: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%Self.935) [symbolic] @@ -66,34 +66,34 @@ fn G() { // CHECK:STDOUT: %T.b09: %Default.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9: 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.cfe: %T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness: = lookup_impl_witness %.bc2, @DefaultOrUnformed [template] -// CHECK:STDOUT: %.c1c: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%.bc2) [template] -// CHECK:STDOUT: %DefaultOrUnformed.facet.680: %DefaultOrUnformed.type = facet_value %.bc2, (%DefaultOrUnformed.lookup_impl_witness) [template] -// CHECK:STDOUT: %.d9c: type = type_of_inst @F.%.loc8_25.7 [template] -// CHECK:STDOUT: %.b48: %.d9c = splice_inst @F.%.loc8_25.7 [template] -// CHECK:STDOUT: %.8ed: type = type_of_inst @F.%.loc8_25.10 [template] -// CHECK:STDOUT: %.9fe: %.8ed = splice_inst @F.%.loc8_25.10 [template] +// CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness: = lookup_impl_witness %.5cd, @DefaultOrUnformed [template] +// CHECK:STDOUT: %.f4d: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%.5cd) [template] +// CHECK:STDOUT: %DefaultOrUnformed.facet.a1a: %DefaultOrUnformed.type = facet_value %.5cd, (%DefaultOrUnformed.lookup_impl_witness) [template] +// CHECK:STDOUT: %.c72: type = type_of_inst @F.%.loc8_25.7 [template] +// CHECK:STDOUT: %.0a6: %.c72 = splice_inst @F.%.loc8_25.7 [template] +// CHECK:STDOUT: %.463: type = type_of_inst @F.%.loc8_25.10 [template] +// CHECK:STDOUT: %.ba3: %.463 = splice_inst @F.%.loc8_25.10 [template] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] -// CHECK:STDOUT: %.7700f4.1: type = type_of_inst @F.%.loc8_3.15 [template] -// CHECK:STDOUT: %.735308.1: %.7700f4.1 = splice_inst @F.%.loc8_3.15 [template] -// CHECK:STDOUT: %.24708c.1: type = type_of_inst @F.%.loc8_3.18 [template] -// CHECK:STDOUT: %.cc0a4d.1: %.24708c.1 = splice_inst @F.%.loc8_3.18 [template] -// CHECK:STDOUT: %.1f2: type = type_of_inst @F.%.loc8_3.21 [template] -// CHECK:STDOUT: %.825: %.1f2 = splice_inst @F.%.loc8_3.21 [template] -// CHECK:STDOUT: %.f83: type = type_of_inst @F.%.loc8_3.24 [template] -// CHECK:STDOUT: %.cd6: %.f83 = splice_inst @F.%.loc8_3.24 [template] -// CHECK:STDOUT: %.e20: %.bc2 = splice_inst @F.%.loc8_3.27 [template] +// CHECK:STDOUT: %.585e1e.1: type = type_of_inst @F.%.loc8_3.15 [template] +// CHECK:STDOUT: %.b296a8.1: %.585e1e.1 = splice_inst @F.%.loc8_3.15 [template] +// CHECK:STDOUT: %.e218d7.1: type = type_of_inst @F.%.loc8_3.18 [template] +// CHECK:STDOUT: %.f58188.1: %.e218d7.1 = splice_inst @F.%.loc8_3.18 [template] +// CHECK:STDOUT: %.797: type = type_of_inst @F.%.loc8_3.21 [template] +// CHECK:STDOUT: %.664: %.797 = splice_inst @F.%.loc8_3.21 [template] +// CHECK:STDOUT: %.9f0: type = type_of_inst @F.%.loc8_3.24 [template] +// CHECK:STDOUT: %.0f3: %.9f0 = splice_inst @F.%.loc8_3.24 [template] +// CHECK:STDOUT: %.e77: %.5cd = splice_inst @F.%.loc8_3.27 [template] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Self.0e7: %Destroy.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.d3e: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Self.0e7) [symbolic] // CHECK:STDOUT: %Destroy.WithSelf.Op.42b: %Destroy.WithSelf.Op.type.d3e = struct_value () [symbolic] // CHECK:STDOUT: %Destroy.assoc_type: type = assoc_entity_type @Destroy [concrete] // CHECK:STDOUT: %assoc0.ae8: %Destroy.assoc_type = assoc_entity element0, imports.%Core.import_ref.918 [concrete] -// CHECK:STDOUT: %.d1a: type = type_of_inst @F.%.loc8_3.29 [template] -// CHECK:STDOUT: %.a68: %.d1a = splice_inst @F.%.loc8_3.29 [template] -// CHECK:STDOUT: %.ecf: type = type_of_inst @F.%.loc8_3.32 [template] -// CHECK:STDOUT: %.264: %.ecf = splice_inst @F.%.loc8_3.32 [template] +// CHECK:STDOUT: %.f94: type = type_of_inst @F.%.loc8_3.29 [template] +// CHECK:STDOUT: %.457: %.f94 = splice_inst @F.%.loc8_3.29 [template] +// CHECK:STDOUT: %.98a: type = type_of_inst @F.%.loc8_3.32 [template] +// CHECK:STDOUT: %.610: %.98a = splice_inst @F.%.loc8_3.32 [template] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -102,7 +102,7 @@ fn G() { // CHECK:STDOUT: %x.patt.af8: %pattern_type.fa7 = wrapper_binding_pattern x, %x.param_patt.468 [concrete] // CHECK:STDOUT: %S: type = class_type @S [concrete] // CHECK:STDOUT: %inst.splice_block.5af: = inst_value [concrete] { -// CHECK:STDOUT: %.788c: type = splice_block imports.%S.decl [concrete = %S] {} +// CHECK:STDOUT: %.788: type = splice_block imports.%S.decl [concrete = %S] {} // CHECK:STDOUT: } // CHECK:STDOUT: %inst.splice_block.c1e: = inst_value [concrete] { // CHECK:STDOUT: %.895: type = splice_block %S [concrete = %S] {} @@ -138,20 +138,20 @@ fn G() { // CHECK:STDOUT: %T.as_type.as.DefaultOrUnformed.impl.Op.call: init %S to %.746 = call %T.as_type.as.DefaultOrUnformed.impl.Op.specific_fn.e6b3f4.2() // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %.d2b: = call_action (%ImplicitAs.generic, %.bc2), false [template] -// CHECK:STDOUT: %.7700f4.2: type = type_of_inst %.d2b [template] -// CHECK:STDOUT: %.735308.2: %.7700f4.2 = splice_inst %.d2b [template] -// CHECK:STDOUT: %.e6e: = access_member_action %.735308.2, Convert [template] -// CHECK:STDOUT: %.24708c.2: type = type_of_inst %.e6e [template] -// CHECK:STDOUT: %.cc0a4d.2: %.24708c.2 = splice_inst %.e6e [template] -// CHECK:STDOUT: %.f9f: = compound_member_access_action %.cc7, %.cc0a4d.2 [template] -// CHECK:STDOUT: %.828: type = type_of_inst %.f9f [template] -// CHECK:STDOUT: %.9e3: %.828 = splice_inst %.f9f [template] -// CHECK:STDOUT: %.497: = call_action (%.9e3), true [template] -// CHECK:STDOUT: %.30d: type = type_of_inst %.497 [template] -// CHECK:STDOUT: %.1ea: %.30d = splice_inst %.497 [template] -// CHECK:STDOUT: %.7884: = convert_to_category_action %.1ea, element10 [template] -// CHECK:STDOUT: %.dcc: %S = splice_inst %.7884 [template] +// CHECK:STDOUT: %.352: = call_action (%ImplicitAs.generic, %.5cd), false [template] +// CHECK:STDOUT: %.585e1e.2: type = type_of_inst %.352 [template] +// CHECK:STDOUT: %.b296a8.2: %.585e1e.2 = splice_inst %.352 [template] +// CHECK:STDOUT: %.556: = access_member_action %.b296a8.2, Convert [template] +// CHECK:STDOUT: %.e218d7.2: type = type_of_inst %.556 [template] +// CHECK:STDOUT: %.f58188.2: %.e218d7.2 = splice_inst %.556 [template] +// CHECK:STDOUT: %.955: = compound_member_access_action %.cc7, %.f58188.2 [template] +// CHECK:STDOUT: %.5c9: type = type_of_inst %.955 [template] +// CHECK:STDOUT: %.2bf: %.5c9 = splice_inst %.955 [template] +// CHECK:STDOUT: %.9a4: = call_action (%.2bf), true [template] +// CHECK:STDOUT: %.94b: type = type_of_inst %.9a4 [template] +// CHECK:STDOUT: %.a03: %.94b = splice_inst %.9a4 [template] +// CHECK:STDOUT: %.169: = convert_to_category_action %.a03, element10 [template] +// CHECK:STDOUT: %.217: %S = splice_inst %.169 [template] // CHECK:STDOUT: %S.cpp_destructor.type: type = fn_type @S.cpp_destructor [concrete] // CHECK:STDOUT: %S.cpp_destructor: %S.cpp_destructor.type = struct_value () [concrete] // CHECK:STDOUT: %S.Op.type.83af6e.2: type = fn_type @S.Op.2 [concrete] @@ -160,19 +160,19 @@ fn G() { // CHECK:STDOUT: %Destroy.facet.2e5: %Destroy.type = facet_value %S, (%custom_witness.e7a31c.2) [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.5df: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Destroy.facet.2e5) [concrete] // CHECK:STDOUT: %.670: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.5df, %Destroy.facet.2e5 [concrete] -// CHECK:STDOUT: %inst.splice_block.9ce: = inst_value [concrete] { -// CHECK:STDOUT: %.09f: = splice_block %bound_method { -// CHECK:STDOUT: %.b4f: ref %S = specific_inst @F.%v.var, @F(%X) +// CHECK:STDOUT: %inst.splice_block.b32: = inst_value [concrete] { +// CHECK:STDOUT: %.ef5: = splice_block %bound_method { +// CHECK:STDOUT: %.e7d: ref %S = specific_inst @F.%v.var, @F(%X) // CHECK:STDOUT: // CHECK:STDOUT: %impl.elem0.c3e: %.670 = impl_witness_access %custom_witness.e7a31c.2, element0 [concrete = %S.Op.4dca31.2] -// CHECK:STDOUT: %bound_method: = bound_method %.b4f, %impl.elem0.c3e +// CHECK:STDOUT: %bound_method: = bound_method %.e7d, %impl.elem0.c3e // CHECK:STDOUT: } // CHECK:STDOUT: } -// CHECK:STDOUT: %inst.splice_block.f2c: = inst_value [concrete] { -// CHECK:STDOUT: %.88c: init %empty_tuple.type = splice_block %S.cpp_destructor.call { +// CHECK:STDOUT: %inst.splice_block.5c0: = inst_value [concrete] { +// CHECK:STDOUT: %.052: init %empty_tuple.type = splice_block %S.cpp_destructor.call { // CHECK:STDOUT: %Op.ref.6a0: %S.cpp_destructor.type = name_ref Op, imports.%S.cpp_destructor.decl [concrete = %S.cpp_destructor] -// CHECK:STDOUT: %S.cpp_destructor.bound: = bound_method %.b4f, %Op.ref.6a0 -// CHECK:STDOUT: %S.cpp_destructor.call: init %empty_tuple.type = call %S.cpp_destructor.bound(%.b4f) +// CHECK:STDOUT: %S.cpp_destructor.bound: = bound_method %.e7d, %Op.ref.6a0 +// CHECK:STDOUT: %S.cpp_destructor.call: init %empty_tuple.type = call %S.cpp_destructor.bound(%.e7d) // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -200,12 +200,12 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc7_7.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc7_7.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %x.param_patt.loc7_23.1: @F.%pattern_type.loc7 (%pattern_type.51d1c4.1) = value_param_pattern [symbolic = %x.param_patt.loc7_23.2 (constants.%x.param_patt.91d)] // CHECK:STDOUT: %x.patt.loc7_23.1: @F.%pattern_type.loc7 (%pattern_type.51d1c4.1) = wrapper_binding_pattern x, %x.param_patt.loc7_23.1 [symbolic = %x.patt.loc7_23.2 (constants.%x.patt.260)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_9.1: type = splice_block %.loc7_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc7_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_7.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_7.1 (constants.%T.67d)] @@ -216,7 +216,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc7_7.2: type) { -// CHECK:STDOUT: %T.patt.loc7_7.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc7_7.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_7.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc7_7.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_7.1 (constants.%T.67d)] // CHECK:STDOUT: %pattern_type.loc7: type = pattern_type %T.loc7_7.1 [symbolic = %pattern_type.loc7 (constants.%pattern_type.51d1c4.1)] // CHECK:STDOUT: %x.param_patt.loc7_23.2: @F.%pattern_type.loc7 (%pattern_type.51d1c4.1) = value_param_pattern [symbolic = %x.param_patt.loc7_23.2 (constants.%x.param_patt.91d)] @@ -229,85 +229,85 @@ fn G() { // CHECK:STDOUT: %.loc8_24.6: type = type_of_inst %.loc8_24.5 [template = %.loc8_24.6 (constants.%.d46)] // CHECK:STDOUT: %.loc8_24.7: @F.%.loc8_24.6 (%.d46) = splice_inst %.loc8_24.5 [template = %.loc8_24.7 (constants.%.de1)] // CHECK:STDOUT: %.loc8_24.8: = convert_to_value_action %.loc8_24.3, type [template] -// CHECK:STDOUT: %.loc8_24.9: type = splice_inst %.loc8_24.8 [template = %.loc8_24.9 (constants.%.bc2)] -// CHECK:STDOUT: %require_complete.loc8: = require_complete_type %.loc8_24.9 [template = %require_complete.loc8 (constants.%require_complete.e38)] -// CHECK:STDOUT: %pattern_type.loc8: type = pattern_type %.loc8_24.9 [template = %pattern_type.loc8 (constants.%pattern_type.aa8)] -// CHECK:STDOUT: %v.patt.loc8_15.2: @F.%pattern_type.loc8 (%pattern_type.aa8) = ref_binding_pattern v [template = %v.patt.loc8_15.2 (constants.%v.patt.295)] -// CHECK:STDOUT: %v.var_patt.loc8_3.2: @F.%pattern_type.loc8 (%pattern_type.aa8) = var_pattern %v.patt.loc8_15.2 [template = %v.var_patt.loc8_3.2 (constants.%v.var_patt.ab7)] -// CHECK:STDOUT: %.loc8_25.6: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%.loc8_24.9) [template = %.loc8_25.6 (constants.%.c1c)] +// CHECK:STDOUT: %.loc8_24.9: type = splice_inst %.loc8_24.8 [template = %.loc8_24.9 (constants.%.5cd)] +// CHECK:STDOUT: %require_complete.loc8: = require_complete_type %.loc8_24.9 [template = %require_complete.loc8 (constants.%require_complete.363)] +// CHECK:STDOUT: %pattern_type.loc8: type = pattern_type %.loc8_24.9 [template = %pattern_type.loc8 (constants.%pattern_type.a1f)] +// CHECK:STDOUT: %v.patt.loc8_15.2: @F.%pattern_type.loc8 (%pattern_type.a1f) = ref_binding_pattern v [template = %v.patt.loc8_15.2 (constants.%v.patt.019)] +// CHECK:STDOUT: %v.var_patt.loc8_3.2: @F.%pattern_type.loc8 (%pattern_type.a1f) = var_pattern %v.patt.loc8_15.2 [template = %v.var_patt.loc8_3.2 (constants.%v.var_patt.d78)] +// CHECK:STDOUT: %.loc8_25.6: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%.loc8_24.9) [template = %.loc8_25.6 (constants.%.f4d)] // 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.680)] +// 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.a1a)] // 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.%.d9c)] -// CHECK:STDOUT: %.loc8_25.9: @F.%.loc8_25.8 (%.d9c) = splice_inst %.loc8_25.7 [template = %.loc8_25.9 (constants.%.b48)] +// CHECK:STDOUT: %.loc8_25.8: type = type_of_inst %.loc8_25.7 [template = %.loc8_25.8 (constants.%.c72)] +// CHECK:STDOUT: %.loc8_25.9: @F.%.loc8_25.8 (%.c72) = splice_inst %.loc8_25.7 [template = %.loc8_25.9 (constants.%.0a6)] // 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.%.8ed)] -// CHECK:STDOUT: %.loc8_25.12: @F.%.loc8_25.11 (%.8ed) = splice_inst %.loc8_25.10 [template = %.loc8_25.12 (constants.%.9fe)] -// CHECK:STDOUT: %.loc8_3.15: = call_action (constants.%ImplicitAs.generic, constants.%.bc2), false [template] -// CHECK:STDOUT: %.loc8_3.16: type = type_of_inst %.loc8_3.15 [template = %.loc8_3.16 (constants.%.7700f4.1)] -// CHECK:STDOUT: %.loc8_3.17: @F.%.loc8_3.16 (%.7700f4.1) = splice_inst %.loc8_3.15 [template = %.loc8_3.17 (constants.%.735308.1)] +// CHECK:STDOUT: %.loc8_25.11: type = type_of_inst %.loc8_25.10 [template = %.loc8_25.11 (constants.%.463)] +// CHECK:STDOUT: %.loc8_25.12: @F.%.loc8_25.11 (%.463) = splice_inst %.loc8_25.10 [template = %.loc8_25.12 (constants.%.ba3)] +// CHECK:STDOUT: %.loc8_3.15: = call_action (constants.%ImplicitAs.generic, constants.%.5cd), false [template] +// CHECK:STDOUT: %.loc8_3.16: type = type_of_inst %.loc8_3.15 [template = %.loc8_3.16 (constants.%.585e1e.1)] +// CHECK:STDOUT: %.loc8_3.17: @F.%.loc8_3.16 (%.585e1e.1) = splice_inst %.loc8_3.15 [template = %.loc8_3.17 (constants.%.b296a8.1)] // CHECK:STDOUT: %.loc8_3.18: = access_member_action %.loc8_3.2, Convert [template] -// CHECK:STDOUT: %.loc8_3.19: type = type_of_inst %.loc8_3.18 [template = %.loc8_3.19 (constants.%.24708c.1)] -// CHECK:STDOUT: %.loc8_3.20: @F.%.loc8_3.19 (%.24708c.1) = splice_inst %.loc8_3.18 [template = %.loc8_3.20 (constants.%.cc0a4d.1)] +// CHECK:STDOUT: %.loc8_3.19: type = type_of_inst %.loc8_3.18 [template = %.loc8_3.19 (constants.%.e218d7.1)] +// CHECK:STDOUT: %.loc8_3.20: @F.%.loc8_3.19 (%.e218d7.1) = splice_inst %.loc8_3.18 [template = %.loc8_3.20 (constants.%.f58188.1)] // CHECK:STDOUT: %.loc8_3.21: = compound_member_access_action %.loc8_25.5, %.loc8_3.4 [template] -// CHECK:STDOUT: %.loc8_3.22: type = type_of_inst %.loc8_3.21 [template = %.loc8_3.22 (constants.%.1f2)] -// CHECK:STDOUT: %.loc8_3.23: @F.%.loc8_3.22 (%.1f2) = splice_inst %.loc8_3.21 [template = %.loc8_3.23 (constants.%.825)] +// CHECK:STDOUT: %.loc8_3.22: type = type_of_inst %.loc8_3.21 [template = %.loc8_3.22 (constants.%.797)] +// CHECK:STDOUT: %.loc8_3.23: @F.%.loc8_3.22 (%.797) = splice_inst %.loc8_3.21 [template = %.loc8_3.23 (constants.%.664)] // CHECK:STDOUT: %.loc8_3.24: = call_action (%.loc8_3.6), true [template] -// CHECK:STDOUT: %.loc8_3.25: type = type_of_inst %.loc8_3.24 [template = %.loc8_3.25 (constants.%.f83)] -// CHECK:STDOUT: %.loc8_3.26: @F.%.loc8_3.25 (%.f83) = splice_inst %.loc8_3.24 [template = %.loc8_3.26 (constants.%.cd6)] +// CHECK:STDOUT: %.loc8_3.25: type = type_of_inst %.loc8_3.24 [template = %.loc8_3.25 (constants.%.9f0)] +// CHECK:STDOUT: %.loc8_3.26: @F.%.loc8_3.25 (%.9f0) = splice_inst %.loc8_3.24 [template = %.loc8_3.26 (constants.%.0f3)] // CHECK:STDOUT: %.loc8_3.27: = convert_to_category_action %.loc8_3.9, element10 [template] -// CHECK:STDOUT: %.loc8_3.28: @F.%.loc8_24.9 (%.bc2) = splice_inst %.loc8_3.27 [template = %.loc8_3.28 (constants.%.e20)] +// CHECK:STDOUT: %.loc8_3.28: @F.%.loc8_24.9 (%.5cd) = splice_inst %.loc8_3.27 [template = %.loc8_3.28 (constants.%.e77)] // CHECK:STDOUT: %.loc8_3.29: = compound_member_access_action %v.var, constants.%assoc0.ae8 [template] -// CHECK:STDOUT: %.loc8_3.30: type = type_of_inst %.loc8_3.29 [template = %.loc8_3.30 (constants.%.d1a)] -// CHECK:STDOUT: %.loc8_3.31: @F.%.loc8_3.30 (%.d1a) = splice_inst %.loc8_3.29 [template = %.loc8_3.31 (constants.%.a68)] +// CHECK:STDOUT: %.loc8_3.30: type = type_of_inst %.loc8_3.29 [template = %.loc8_3.30 (constants.%.f94)] +// CHECK:STDOUT: %.loc8_3.31: @F.%.loc8_3.30 (%.f94) = splice_inst %.loc8_3.29 [template = %.loc8_3.31 (constants.%.457)] // CHECK:STDOUT: %.loc8_3.32: = call_action (%.loc8_3.12), true [template] -// CHECK:STDOUT: %.loc8_3.33: type = type_of_inst %.loc8_3.32 [template = %.loc8_3.33 (constants.%.ecf)] -// CHECK:STDOUT: %.loc8_3.34: @F.%.loc8_3.33 (%.ecf) = splice_inst %.loc8_3.32 [template = %.loc8_3.34 (constants.%.264)] +// CHECK:STDOUT: %.loc8_3.33: type = type_of_inst %.loc8_3.32 [template = %.loc8_3.33 (constants.%.98a)] +// CHECK:STDOUT: %.loc8_3.34: @F.%.loc8_3.33 (%.98a) = splice_inst %.loc8_3.32 [template = %.loc8_3.34 (constants.%.610)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%x.param: @F.%T.loc7_7.1 (%T.67d)) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %v.var: ref @F.%.loc8_24.9 (%.bc2) = var_storage %v.var_patt.loc8_3.1 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc8_25.1: %DefaultOrUnformed.type = facet_value constants.%.bc2, (constants.%DefaultOrUnformed.lookup_impl_witness) [template = %DefaultOrUnformed.facet.loc8_25.2 (constants.%DefaultOrUnformed.facet.680)] -// CHECK:STDOUT: %.loc8_25.1: %DefaultOrUnformed.type = converted constants.%.bc2, %DefaultOrUnformed.facet.loc8_25.1 [template = %DefaultOrUnformed.facet.loc8_25.2 (constants.%DefaultOrUnformed.facet.680)] -// CHECK:STDOUT: %.loc8_25.2: type = type_of_inst %.loc8_25.7 [template = %.loc8_25.8 (constants.%.d9c)] -// CHECK:STDOUT: %.loc8_25.3: @F.%.loc8_25.8 (%.d9c) = splice_inst %.loc8_25.7 [template = %.loc8_25.9 (constants.%.b48)] -// CHECK:STDOUT: %.loc8_25.4: type = type_of_inst %.loc8_25.10 [template = %.loc8_25.11 (constants.%.8ed)] -// CHECK:STDOUT: %.loc8_25.5: @F.%.loc8_25.11 (%.8ed) = splice_inst %.loc8_25.10 [template = %.loc8_25.12 (constants.%.9fe)] -// CHECK:STDOUT: %.loc8_3.1: type = type_of_inst %.loc8_3.15 [template = %.loc8_3.16 (constants.%.7700f4.1)] -// CHECK:STDOUT: %.loc8_3.2: @F.%.loc8_3.16 (%.7700f4.1) = splice_inst %.loc8_3.15 [template = %.loc8_3.17 (constants.%.735308.1)] -// CHECK:STDOUT: %.loc8_3.3: type = type_of_inst %.loc8_3.18 [template = %.loc8_3.19 (constants.%.24708c.1)] -// CHECK:STDOUT: %.loc8_3.4: @F.%.loc8_3.19 (%.24708c.1) = splice_inst %.loc8_3.18 [template = %.loc8_3.20 (constants.%.cc0a4d.1)] -// CHECK:STDOUT: %.loc8_3.5: type = type_of_inst %.loc8_3.21 [template = %.loc8_3.22 (constants.%.1f2)] -// CHECK:STDOUT: %.loc8_3.6: @F.%.loc8_3.22 (%.1f2) = splice_inst %.loc8_3.21 [template = %.loc8_3.23 (constants.%.825)] -// CHECK:STDOUT: %.loc8_3.7: type = type_of_inst %.loc8_3.24 [template = %.loc8_3.25 (constants.%.f83)] -// CHECK:STDOUT: %.loc8_3.8: @F.%.loc8_3.25 (%.f83) = splice_inst %.loc8_3.24 [template = %.loc8_3.26 (constants.%.cd6)] -// CHECK:STDOUT: %.loc8_3.9: @F.%.loc8_24.9 (%.bc2) = converted %.loc8_25.5, %.loc8_3.8 [template = %.loc8_3.26 (constants.%.cd6)] -// CHECK:STDOUT: %.loc8_3.10: @F.%.loc8_24.9 (%.bc2) = splice_inst %.loc8_3.27 [template = %.loc8_3.28 (constants.%.e20)] +// CHECK:STDOUT: %v.var: ref @F.%.loc8_24.9 (%.5cd) = var_storage %v.var_patt.loc8_3.1 +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc8_25.1: %DefaultOrUnformed.type = facet_value constants.%.5cd, (constants.%DefaultOrUnformed.lookup_impl_witness) [template = %DefaultOrUnformed.facet.loc8_25.2 (constants.%DefaultOrUnformed.facet.a1a)] +// CHECK:STDOUT: %.loc8_25.1: %DefaultOrUnformed.type = converted constants.%.5cd, %DefaultOrUnformed.facet.loc8_25.1 [template = %DefaultOrUnformed.facet.loc8_25.2 (constants.%DefaultOrUnformed.facet.a1a)] +// CHECK:STDOUT: %.loc8_25.2: type = type_of_inst %.loc8_25.7 [template = %.loc8_25.8 (constants.%.c72)] +// CHECK:STDOUT: %.loc8_25.3: @F.%.loc8_25.8 (%.c72) = splice_inst %.loc8_25.7 [template = %.loc8_25.9 (constants.%.0a6)] +// CHECK:STDOUT: %.loc8_25.4: type = type_of_inst %.loc8_25.10 [template = %.loc8_25.11 (constants.%.463)] +// CHECK:STDOUT: %.loc8_25.5: @F.%.loc8_25.11 (%.463) = splice_inst %.loc8_25.10 [template = %.loc8_25.12 (constants.%.ba3)] +// CHECK:STDOUT: %.loc8_3.1: type = type_of_inst %.loc8_3.15 [template = %.loc8_3.16 (constants.%.585e1e.1)] +// CHECK:STDOUT: %.loc8_3.2: @F.%.loc8_3.16 (%.585e1e.1) = splice_inst %.loc8_3.15 [template = %.loc8_3.17 (constants.%.b296a8.1)] +// CHECK:STDOUT: %.loc8_3.3: type = type_of_inst %.loc8_3.18 [template = %.loc8_3.19 (constants.%.e218d7.1)] +// CHECK:STDOUT: %.loc8_3.4: @F.%.loc8_3.19 (%.e218d7.1) = splice_inst %.loc8_3.18 [template = %.loc8_3.20 (constants.%.f58188.1)] +// CHECK:STDOUT: %.loc8_3.5: type = type_of_inst %.loc8_3.21 [template = %.loc8_3.22 (constants.%.797)] +// CHECK:STDOUT: %.loc8_3.6: @F.%.loc8_3.22 (%.797) = splice_inst %.loc8_3.21 [template = %.loc8_3.23 (constants.%.664)] +// CHECK:STDOUT: %.loc8_3.7: type = type_of_inst %.loc8_3.24 [template = %.loc8_3.25 (constants.%.9f0)] +// CHECK:STDOUT: %.loc8_3.8: @F.%.loc8_3.25 (%.9f0) = splice_inst %.loc8_3.24 [template = %.loc8_3.26 (constants.%.0f3)] +// CHECK:STDOUT: %.loc8_3.9: @F.%.loc8_24.9 (%.5cd) = converted %.loc8_25.5, %.loc8_3.8 [template = %.loc8_3.26 (constants.%.0f3)] +// CHECK:STDOUT: %.loc8_3.10: @F.%.loc8_24.9 (%.5cd) = splice_inst %.loc8_3.27 [template = %.loc8_3.28 (constants.%.e77)] // CHECK:STDOUT: assign %v.var, %.loc8_3.10 -// CHECK:STDOUT: %.loc8_24.1: type = splice_block %.loc8_24.4 [template = %.loc8_24.9 (constants.%.bc2)] { +// CHECK:STDOUT: %.loc8_24.1: type = splice_block %.loc8_24.4 [template = %.loc8_24.9 (constants.%.5cd)] { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %S.ref: %S.type = name_ref S, imports.%S.template [concrete = constants.%S.template] // CHECK:STDOUT: %T.ref.loc8: type = name_ref T, %T.loc7_7.2 [symbolic = %T.loc7_7.1 (constants.%T.67d)] // CHECK:STDOUT: %.loc8_23.1: type = template_inst %T.ref.loc8 [template = %.loc8_23.2 (constants.%.a92)] // CHECK:STDOUT: %.loc8_24.2: type = type_of_inst %.loc8_24.5 [template = %.loc8_24.6 (constants.%.d46)] // CHECK:STDOUT: %.loc8_24.3: @F.%.loc8_24.6 (%.d46) = splice_inst %.loc8_24.5 [template = %.loc8_24.7 (constants.%.de1)] -// CHECK:STDOUT: %.loc8_24.4: type = splice_inst %.loc8_24.8 [template = %.loc8_24.9 (constants.%.bc2)] +// CHECK:STDOUT: %.loc8_24.4: type = splice_inst %.loc8_24.8 [template = %.loc8_24.9 (constants.%.5cd)] // CHECK:STDOUT: } -// CHECK:STDOUT: %v: ref @F.%.loc8_24.9 (%.bc2) = wrapper_binding v, %v.var +// CHECK:STDOUT: %v: ref @F.%.loc8_24.9 (%.5cd) = wrapper_binding v, %v.var // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %v.patt.loc8_15.1: @F.%pattern_type.loc8 (%pattern_type.aa8) = ref_binding_pattern v [template = %v.patt.loc8_15.2 (constants.%v.patt.295)] -// CHECK:STDOUT: %v.var_patt.loc8_3.1: @F.%pattern_type.loc8 (%pattern_type.aa8) = var_pattern %v.patt.loc8_15.1 [template = %v.var_patt.loc8_3.2 (constants.%v.var_patt.ab7)] +// CHECK:STDOUT: %v.patt.loc8_15.1: @F.%pattern_type.loc8 (%pattern_type.a1f) = ref_binding_pattern v [template = %v.patt.loc8_15.2 (constants.%v.patt.019)] +// CHECK:STDOUT: %v.var_patt.loc8_3.1: @F.%pattern_type.loc8 (%pattern_type.a1f) = var_pattern %v.patt.loc8_15.1 [template = %v.var_patt.loc8_3.2 (constants.%v.var_patt.d78)] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc8_3.11: type = type_of_inst %.loc8_3.29 [template = %.loc8_3.30 (constants.%.d1a)] -// CHECK:STDOUT: %.loc8_3.12: @F.%.loc8_3.30 (%.d1a) = splice_inst %.loc8_3.29 [template = %.loc8_3.31 (constants.%.a68)] -// CHECK:STDOUT: %.loc8_3.13: type = type_of_inst %.loc8_3.32 [template = %.loc8_3.33 (constants.%.ecf)] -// CHECK:STDOUT: %.loc8_3.14: @F.%.loc8_3.33 (%.ecf) = splice_inst %.loc8_3.32 [template = %.loc8_3.34 (constants.%.264)] +// CHECK:STDOUT: %.loc8_3.11: type = type_of_inst %.loc8_3.29 [template = %.loc8_3.30 (constants.%.f94)] +// CHECK:STDOUT: %.loc8_3.12: @F.%.loc8_3.30 (%.f94) = splice_inst %.loc8_3.29 [template = %.loc8_3.31 (constants.%.457)] +// CHECK:STDOUT: %.loc8_3.13: type = type_of_inst %.loc8_3.32 [template = %.loc8_3.33 (constants.%.98a)] +// CHECK:STDOUT: %.loc8_3.14: @F.%.loc8_3.33 (%.98a) = splice_inst %.loc8_3.32 [template = %.loc8_3.34 (constants.%.610)] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc7_7.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc7_7.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc7_7.1 => constants.%T.67d // CHECK:STDOUT: %pattern_type.loc7 => constants.%pattern_type.51d1c4.1 // CHECK:STDOUT: %x.param_patt.loc7_23.2 => constants.%x.param_patt.91d @@ -315,7 +315,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%X) { -// CHECK:STDOUT: %T.patt.loc7_7.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc7_7.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc7_7.1 => constants.%X // CHECK:STDOUT: %pattern_type.loc7 => constants.%pattern_type.fa7 // CHECK:STDOUT: %x.param_patt.loc7_23.2 => constants.%x.param_patt.468 @@ -342,24 +342,24 @@ fn G() { // CHECK:STDOUT: %.loc8_25.10 => constants.%inst.splice_block.7e5 // CHECK:STDOUT: %.loc8_25.11 => constants.%S // CHECK:STDOUT: %.loc8_25.12 => invalid -// CHECK:STDOUT: %.loc8_3.15 => constants.%.d2b -// CHECK:STDOUT: %.loc8_3.16 => constants.%.7700f4.2 -// CHECK:STDOUT: %.loc8_3.17 => constants.%.735308.2 -// CHECK:STDOUT: %.loc8_3.18 => constants.%.e6e -// CHECK:STDOUT: %.loc8_3.19 => constants.%.24708c.2 -// CHECK:STDOUT: %.loc8_3.20 => constants.%.cc0a4d.2 -// CHECK:STDOUT: %.loc8_3.21 => constants.%.f9f -// CHECK:STDOUT: %.loc8_3.22 => constants.%.828 -// CHECK:STDOUT: %.loc8_3.23 => constants.%.9e3 -// CHECK:STDOUT: %.loc8_3.24 => constants.%.497 -// CHECK:STDOUT: %.loc8_3.25 => constants.%.30d -// CHECK:STDOUT: %.loc8_3.26 => constants.%.1ea -// CHECK:STDOUT: %.loc8_3.27 => constants.%.7884 -// CHECK:STDOUT: %.loc8_3.28 => constants.%.dcc -// CHECK:STDOUT: %.loc8_3.29 => constants.%inst.splice_block.9ce +// CHECK:STDOUT: %.loc8_3.15 => constants.%.352 +// CHECK:STDOUT: %.loc8_3.16 => constants.%.585e1e.2 +// CHECK:STDOUT: %.loc8_3.17 => constants.%.b296a8.2 +// CHECK:STDOUT: %.loc8_3.18 => constants.%.556 +// CHECK:STDOUT: %.loc8_3.19 => constants.%.e218d7.2 +// CHECK:STDOUT: %.loc8_3.20 => constants.%.f58188.2 +// CHECK:STDOUT: %.loc8_3.21 => constants.%.955 +// CHECK:STDOUT: %.loc8_3.22 => constants.%.5c9 +// CHECK:STDOUT: %.loc8_3.23 => constants.%.2bf +// CHECK:STDOUT: %.loc8_3.24 => constants.%.9a4 +// CHECK:STDOUT: %.loc8_3.25 => constants.%.94b +// CHECK:STDOUT: %.loc8_3.26 => constants.%.a03 +// CHECK:STDOUT: %.loc8_3.27 => constants.%.169 +// CHECK:STDOUT: %.loc8_3.28 => constants.%.217 +// CHECK:STDOUT: %.loc8_3.29 => constants.%inst.splice_block.b32 // CHECK:STDOUT: %.loc8_3.30 => // CHECK:STDOUT: %.loc8_3.31 => invalid -// CHECK:STDOUT: %.loc8_3.32 => constants.%inst.splice_block.f2c +// CHECK:STDOUT: %.loc8_3.32 => constants.%inst.splice_block.5c0 // CHECK:STDOUT: %.loc8_3.33 => constants.%empty_tuple.type // CHECK:STDOUT: %.loc8_3.34 => invalid // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interop/cpp/template/non_type_param.carbon b/toolchain/check/testdata/interop/cpp/template/non_type_param.carbon index b34f29df2eda..ab628255d0d8 100644 --- a/toolchain/check/testdata/interop/cpp/template/non_type_param.carbon +++ b/toolchain/check/testdata/interop/cpp/template/non_type_param.carbon @@ -182,6 +182,7 @@ fn G() -> i32 { // CHECK:STDOUT: --- valid.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %TwoNonType: type = class_type @TwoNonType [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %pattern_type.2aa: type = pattern_type %TwoNonType [concrete] @@ -212,6 +213,7 @@ fn G() -> i32 { // CHECK:STDOUT: --- dependent.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %DependentNonType.type: type = cpp_type_template_type DependentNonType [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %DependentNonType.template: %DependentNonType.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/interop/cpp/template/template_template_param.carbon b/toolchain/check/testdata/interop/cpp/template/template_template_param.carbon index 3515c16f0304..ee92cc9c149b 100644 --- a/toolchain/check/testdata/interop/cpp/template/template_template_param.carbon +++ b/toolchain/check/testdata/interop/cpp/template/template_template_param.carbon @@ -83,6 +83,7 @@ var x: Cpp.TwoTemplates(Cpp.A, true); // CHECK:STDOUT: --- valid.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %TwoTemplates: type = class_type @TwoTemplates [concrete] // CHECK:STDOUT: %pattern_type.f5e: type = pattern_type %TwoTemplates [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.f5e = ref_binding_pattern x [concrete] diff --git a/toolchain/check/testdata/interop/cpp/template/type_param.carbon b/toolchain/check/testdata/interop/cpp/template/type_param.carbon index 65b5bb31502a..7483314219e4 100644 --- a/toolchain/check/testdata/interop/cpp/template/type_param.carbon +++ b/toolchain/check/testdata/interop/cpp/template/type_param.carbon @@ -67,6 +67,7 @@ var x: Cpp.TwoTypes(Cpp.A, {}); // CHECK:STDOUT: --- valid.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %TwoTypes: type = class_type @TwoTypes [concrete] // CHECK:STDOUT: %pattern_type.83a: type = pattern_type %TwoTypes [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.83a = ref_binding_pattern x [concrete] @@ -114,6 +115,7 @@ var x: Cpp.TwoTypes(Cpp.A, {}); // CHECK:STDOUT: --- char.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %TwoTypes: type = class_type @TwoTypes [concrete] // CHECK:STDOUT: %pattern_type.0c3: type = pattern_type %TwoTypes [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.0c3 = ref_binding_pattern x [concrete] diff --git a/toolchain/check/testdata/interop/cpp/template/var_template.carbon b/toolchain/check/testdata/interop/cpp/template/var_template.carbon index 9e3ec05e5bce..ff09f418ae72 100644 --- a/toolchain/check/testdata/interop/cpp/template/var_template.carbon +++ b/toolchain/check/testdata/interop/cpp/template/var_template.carbon @@ -37,6 +37,7 @@ let pwb: Cpp.B* = &Cpp.Wrap.r#var(Cpp.B); // CHECK:STDOUT: --- use_var_template.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %ptr.25f: type = ptr_type %A [concrete] // CHECK:STDOUT: %pattern_type.1fa: type = pattern_type %ptr.25f [concrete] diff --git a/toolchain/check/testdata/interop/cpp/type_alias/import.carbon b/toolchain/check/testdata/interop/cpp/type_alias/import.carbon index efab1eb5e74a..7880ae192f3e 100644 --- a/toolchain/check/testdata/interop/cpp/type_alias/import.carbon +++ b/toolchain/check/testdata/interop/cpp/type_alias/import.carbon @@ -52,6 +52,7 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: --- use_i32_typedef.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -167,6 +168,7 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: --- use_class_typedef.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %ptr.0a2: type = ptr_type %C [concrete] diff --git a/toolchain/check/testdata/interop/cpp/var/import/global.carbon b/toolchain/check/testdata/interop/cpp/var/import/global.carbon index 93e26bcc7030..1ccc9ccd79b2 100644 --- a/toolchain/check/testdata/interop/cpp/var/import/global.carbon +++ b/toolchain/check/testdata/interop/cpp/var/import/global.carbon @@ -72,6 +72,7 @@ fn MyF() { // CHECK:STDOUT: --- import_global_scope.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %MyF.type: type = fn_type @MyF [concrete] // CHECK:STDOUT: %MyF: %MyF.type = struct_value () [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] @@ -187,6 +188,7 @@ fn MyF() { // CHECK:STDOUT: --- fail_import_unsupported_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %MyF.type: type = fn_type @MyF [concrete] // CHECK:STDOUT: %MyF: %MyF.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interop/cpp/var/import/namespace.carbon b/toolchain/check/testdata/interop/cpp/var/import/namespace.carbon index c561037f735d..566175734294 100644 --- a/toolchain/check/testdata/interop/cpp/var/import/namespace.carbon +++ b/toolchain/check/testdata/interop/cpp/var/import/namespace.carbon @@ -48,6 +48,7 @@ fn F() { // CHECK:STDOUT: --- type_in_namespace.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] diff --git a/toolchain/check/testdata/let/compile_time_bindings.carbon b/toolchain/check/testdata/let/compile_time_bindings.carbon index 9a106ed45071..1df405378776 100644 --- a/toolchain/check/testdata/let/compile_time_bindings.carbon +++ b/toolchain/check/testdata/let/compile_time_bindings.carbon @@ -175,6 +175,7 @@ impl i32 as Empty { // CHECK:STDOUT: --- fail_let_after.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -184,8 +185,7 @@ impl i32 as Empty { // CHECK:STDOUT: %return.patt: %pattern_type = return_slot_pattern %return.param_patt, %empty_tuple.type [concrete] // CHECK:STDOUT: %C.F.type: type = fn_type @C.F [concrete] // CHECK:STDOUT: %C.F: %C.F.type = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %x.patt: %pattern_type = value_binding_pattern x [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -222,7 +222,7 @@ impl i32 as Empty { // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc10_24.2: %empty_tuple.type = converted %.loc10_24.1, %empty_tuple [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc10_19.1: type = splice_block %.loc10_19.3 [concrete = constants.%empty_tuple.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc10_19.2: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc10_19.3: type = converted %.loc10_19.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: } @@ -250,9 +250,9 @@ impl i32 as Empty { // CHECK:STDOUT: --- fail_let_before.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -287,7 +287,7 @@ impl i32 as Empty { // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_24.2: %empty_tuple.type = converted %.loc9_24.1, %empty_tuple [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_19.1: type = splice_block %.loc9_19.3 [concrete = constants.%empty_tuple.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_19.2: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_19.3: type = converted %.loc9_19.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: } @@ -325,9 +325,9 @@ impl i32 as Empty { // CHECK:STDOUT: --- fail_multiple_lets.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] @@ -352,7 +352,7 @@ impl i32 as Empty { // CHECK:STDOUT: %empty_tuple.loc9: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_24.2: %empty_tuple.type = converted %.loc9_24.1, %empty_tuple.loc9 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_19.1: type = splice_block %.loc9_19.3 [concrete = constants.%empty_tuple.type] { -// CHECK:STDOUT: %.Self.frozen.loc9: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc9: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_19.2: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_19.3: type = converted %.loc9_19.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: } @@ -364,7 +364,7 @@ impl i32 as Empty { // CHECK:STDOUT: %b.patt.loc10_17.1: %pattern_type.559 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc10_17.2 (constants.%b.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10_23.1: type = splice_block %.loc10_23.4 [concrete = constants.%tuple.type.9fb] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc10_21: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc10_23.2: %tuple.type.9fb = tuple_literal (%.loc10_21) [concrete = constants.%tuple.f41] // CHECK:STDOUT: %.loc10_23.3: type = converted constants.%empty_tuple, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -385,7 +385,7 @@ impl i32 as Empty { // CHECK:STDOUT: %tuple: %tuple.type.2d5 = tuple_value (%.loc26_44.2, %.loc26_44.3, %.loc26_44.4) [concrete = constants.%tuple.7e4] // CHECK:STDOUT: %.loc26_44.5: %tuple.type.2d5 = converted %.loc26_44.1, %tuple [concrete = constants.%tuple.7e4] // CHECK:STDOUT: %.loc26_29.1: type = splice_block %.loc26_29.6 [concrete = constants.%tuple.type.2d5] { -// CHECK:STDOUT: %.Self.frozen.loc26: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc26: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc26_20: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc26_24: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc26_28: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -424,6 +424,7 @@ impl i32 as Empty { // CHECK:STDOUT: --- fail_invalid_let_after.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -488,6 +489,7 @@ impl i32 as Empty { // CHECK:STDOUT: --- fail_todo_use_in_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: } @@ -497,6 +499,7 @@ impl i32 as Empty { // CHECK:STDOUT: --- fail_todo_use_in_block.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: } @@ -506,6 +509,7 @@ impl i32 as Empty { // CHECK:STDOUT: --- return_in_interface.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: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] @@ -600,11 +604,11 @@ impl i32 as Empty { // CHECK:STDOUT: --- fail_return_in_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I: type = class_type @I [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = value_binding_pattern T [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = value_binding_pattern T [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -636,12 +640,12 @@ impl i32 as Empty { // CHECK:STDOUT: class @I { // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9_18.1: type = splice_block %.loc9_18.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_18.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T: type = wrapper_binding T, %i32 // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = value_binding_pattern T [concrete = constants.%T.patt] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = value_binding_pattern T [concrete = constants.%T.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %I.F.decl: %I.F.type = fn_decl @I.F [concrete = constants.%I.F] { // CHECK:STDOUT: %return.patt: = return_slot_pattern , [concrete = ] @@ -663,10 +667,10 @@ impl i32 as Empty { // CHECK:STDOUT: --- fail_return_in_package_scope.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = value_binding_pattern T [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = value_binding_pattern T [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -692,12 +696,12 @@ impl i32 as Empty { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %.loc8_16.1: type = splice_block %.loc8_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T: type = wrapper_binding T, @__global_init.%i32 // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = value_binding_pattern T [concrete = constants.%T.patt] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = value_binding_pattern T [concrete = constants.%T.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %return.patt: = return_slot_pattern , [concrete = ] @@ -718,6 +722,7 @@ impl i32 as Empty { // CHECK:STDOUT: --- fail_use_in_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Empty.type: type = facet_type <@Empty> [concrete] // CHECK:STDOUT: %Self.d44: %Empty.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -726,8 +731,7 @@ impl i32 as Empty { // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %.d34: = impl_self_witness %i32, @Empty [concrete] // CHECK:STDOUT: %Empty.impl_witness: = impl_witness @i32.as.Empty.impl.%Empty.impl_witness_table [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Zero.patt: %pattern_type.6b6 = value_binding_pattern Zero [concrete] // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [concrete] @@ -798,7 +802,7 @@ impl i32 as Empty { // CHECK:STDOUT: %.loc11_27.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_0.3c0] // CHECK:STDOUT: %.loc11_27.2: %i32 = converted %int_0, %.loc11_27.1 [concrete = constants.%int_0.3c0] // CHECK:STDOUT: %.loc11_21: type = splice_block %i32.loc11 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32.loc11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %Zero: %i32 = wrapper_binding Zero, %.loc11_27.2 diff --git a/toolchain/check/testdata/let/convert.carbon b/toolchain/check/testdata/let/convert.carbon index b16a83b8386f..b256c40b5071 100644 --- a/toolchain/check/testdata/let/convert.carbon +++ b/toolchain/check/testdata/let/convert.carbon @@ -47,10 +47,11 @@ fn G() { // CHECK:STDOUT: --- convert.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.ff9: type = tuple_type (type, type, type) [concrete] -// CHECK:STDOUT: %tuple.04d: %tuple.type.ff9 = tuple_value (%i32, %i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.531: type = tuple_type (type, type, type) [concrete] +// CHECK:STDOUT: %tuple.276: %tuple.type.531 = tuple_value (%i32, %i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.555: type = tuple_type (%i32, %i32, %i32) [concrete] // CHECK:STDOUT: %pattern_type.777: type = pattern_type %tuple.type.555 [concrete] // CHECK:STDOUT: %w.patt: %pattern_type.777 = value_binding_pattern w [concrete] @@ -72,7 +73,7 @@ fn G() { // CHECK:STDOUT: %i32.loc8_11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc8_16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc8_21: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc8_24.2: %tuple.type.ff9 = tuple_literal (%i32.loc8_11, %i32.loc8_16, %i32.loc8_21) [concrete = constants.%tuple.04d] +// CHECK:STDOUT: %.loc8_24.2: %tuple.type.531 = tuple_literal (%i32.loc8_11, %i32.loc8_16, %i32.loc8_21) [concrete = constants.%tuple.276] // CHECK:STDOUT: %.loc8_24.3: type = converted %.loc8_24.2, constants.%tuple.type.555 [concrete = constants.%tuple.type.555] // CHECK:STDOUT: } // CHECK:STDOUT: %w: %tuple.type.555 = wrapper_binding w, %.loc8_28.4 diff --git a/toolchain/check/testdata/let/fail_duplicate_decl.carbon b/toolchain/check/testdata/let/fail_duplicate_decl.carbon index 184534c7b41b..e906bb0136fe 100644 --- a/toolchain/check/testdata/let/fail_duplicate_decl.carbon +++ b/toolchain/check/testdata/let/fail_duplicate_decl.carbon @@ -27,6 +27,7 @@ fn F() { // CHECK:STDOUT: --- fail_duplicate_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] diff --git a/toolchain/check/testdata/let/fail_generic.carbon b/toolchain/check/testdata/let/fail_generic.carbon index ed432b7c1f76..b25acf836f40 100644 --- a/toolchain/check/testdata/let/fail_generic.carbon +++ b/toolchain/check/testdata/let/fail_generic.carbon @@ -26,6 +26,7 @@ fn F(unused a: i32) -> i32 { // CHECK:STDOUT: --- fail_generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/let/fail_generic_import.carbon b/toolchain/check/testdata/let/fail_generic_import.carbon index 364a3105f2a2..252862863127 100644 --- a/toolchain/check/testdata/let/fail_generic_import.carbon +++ b/toolchain/check/testdata/let/fail_generic_import.carbon @@ -36,10 +36,10 @@ let a: T = 0; // CHECK:STDOUT: --- fail_implicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = value_binding_pattern T [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = value_binding_pattern T [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -62,12 +62,12 @@ let a: T = 0; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %.loc8_16.1: type = splice_block %.loc8_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T: type = wrapper_binding T, @__global_init.%i32 // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = value_binding_pattern T [concrete = constants.%T.patt] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = value_binding_pattern T [concrete = constants.%T.patt] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -80,6 +80,7 @@ let a: T = 0; // CHECK:STDOUT: --- fail_implicit.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/let/fail_missing_value.carbon b/toolchain/check/testdata/let/fail_missing_value.carbon index 06835b84423c..dea60f034e81 100644 --- a/toolchain/check/testdata/let/fail_missing_value.carbon +++ b/toolchain/check/testdata/let/fail_missing_value.carbon @@ -29,6 +29,7 @@ fn F() { // CHECK:STDOUT: --- fail_missing_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/let/fail_modifiers.carbon b/toolchain/check/testdata/let/fail_modifiers.carbon index 9eb79310ffa7..6293ced82419 100644 --- a/toolchain/check/testdata/let/fail_modifiers.carbon +++ b/toolchain/check/testdata/let/fail_modifiers.carbon @@ -91,6 +91,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: --- fail_modifiers.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/let/fail_use_in_init.carbon b/toolchain/check/testdata/let/fail_use_in_init.carbon index 91b96370a71c..2283088a9260 100644 --- a/toolchain/check/testdata/let/fail_use_in_init.carbon +++ b/toolchain/check/testdata/let/fail_use_in_init.carbon @@ -30,6 +30,7 @@ fn F() { // CHECK:STDOUT: --- fail_use_in_init.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] diff --git a/toolchain/check/testdata/let/generic.carbon b/toolchain/check/testdata/let/generic.carbon index a81ce32e7556..83af9c994f01 100644 --- a/toolchain/check/testdata/let/generic.carbon +++ b/toolchain/check/testdata/let/generic.carbon @@ -45,6 +45,7 @@ fn F(a: i32) -> i32 { // CHECK:STDOUT: --- fail_todo_assignment.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/let/generic_import.carbon b/toolchain/check/testdata/let/generic_import.carbon index cadf5ce8c5cb..1bd2027fb6bb 100644 --- a/toolchain/check/testdata/let/generic_import.carbon +++ b/toolchain/check/testdata/let/generic_import.carbon @@ -40,10 +40,10 @@ var b: T = *a; // CHECK:STDOUT: --- fail_implicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = value_binding_pattern T [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = value_binding_pattern T [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -66,12 +66,12 @@ var b: T = *a; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %.loc8_16.1: type = splice_block %.loc8_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T: type = wrapper_binding T, @__global_init.%i32 // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = value_binding_pattern T [concrete = constants.%T.patt] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = value_binding_pattern T [concrete = constants.%T.patt] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -83,6 +83,10 @@ var b: T = *a; // CHECK:STDOUT: // CHECK:STDOUT: --- fail_implicit.impl.carbon // CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Implicit.T: type = import_ref Implicit//default, T, loaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [concrete] { diff --git a/toolchain/check/testdata/let/global.carbon b/toolchain/check/testdata/let/global.carbon index d77a2de1cf49..1831b526cfbd 100644 --- a/toolchain/check/testdata/let/global.carbon +++ b/toolchain/check/testdata/let/global.carbon @@ -19,6 +19,7 @@ fn F() -> i32 { return n; } // CHECK:STDOUT: --- global.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/let/import.carbon b/toolchain/check/testdata/let/import.carbon index 581c915038ae..ab6aaf6c69da 100644 --- a/toolchain/check/testdata/let/import.carbon +++ b/toolchain/check/testdata/let/import.carbon @@ -39,6 +39,7 @@ let b: () = Other.a; // CHECK:STDOUT: --- implicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -70,6 +71,7 @@ let b: () = Other.a; // CHECK:STDOUT: --- implicit.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -106,6 +108,7 @@ let b: () = Other.a; // CHECK:STDOUT: --- other.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -137,6 +140,7 @@ let b: () = Other.a; // CHECK:STDOUT: --- import_other.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/let/import_access.carbon b/toolchain/check/testdata/let/import_access.carbon index 1957b569d606..0c345a062ff3 100644 --- a/toolchain/check/testdata/let/import_access.carbon +++ b/toolchain/check/testdata/let/import_access.carbon @@ -59,6 +59,7 @@ let v2: () = Test.v; // CHECK:STDOUT: --- def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -90,6 +91,7 @@ let v2: () = Test.v; // CHECK:STDOUT: --- def.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -126,6 +128,7 @@ let v2: () = Test.v; // CHECK:STDOUT: --- fail_local_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -157,6 +160,7 @@ let v2: () = Test.v; // CHECK:STDOUT: --- fail_other_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/let/lifetime.carbon b/toolchain/check/testdata/let/lifetime.carbon index 9ae477cd44af..4b1b22b71910 100644 --- a/toolchain/check/testdata/let/lifetime.carbon +++ b/toolchain/check/testdata/let/lifetime.carbon @@ -30,6 +30,7 @@ fn F() { // CHECK:STDOUT: --- extend.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %pattern_type.9ef: type = pattern_type %A [concrete] // CHECK:STDOUT: %A.Clone.type: type = fn_type @A.Clone [concrete] diff --git a/toolchain/check/testdata/let/local.carbon b/toolchain/check/testdata/let/local.carbon index a7ff1a47d00b..c93739fe5f73 100644 --- a/toolchain/check/testdata/let/local.carbon +++ b/toolchain/check/testdata/let/local.carbon @@ -41,6 +41,7 @@ fn CallF() { // CHECK:STDOUT: --- local.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/let/ref.carbon b/toolchain/check/testdata/let/ref.carbon index 29773804dd45..1fe304c3db98 100644 --- a/toolchain/check/testdata/let/ref.carbon +++ b/toolchain/check/testdata/let/ref.carbon @@ -51,6 +51,7 @@ fn F() { // CHECK:STDOUT: --- local.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] diff --git a/toolchain/check/testdata/let/shadowed_decl.carbon b/toolchain/check/testdata/let/shadowed_decl.carbon index 9c8042ac4820..870e68da5c9f 100644 --- a/toolchain/check/testdata/let/shadowed_decl.carbon +++ b/toolchain/check/testdata/let/shadowed_decl.carbon @@ -21,6 +21,7 @@ fn F(unused a: i32) -> i32 { // CHECK:STDOUT: --- shadowed_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/main_run/no_return.carbon b/toolchain/check/testdata/main_run/no_return.carbon index 462f3225907b..f46aeedf5e9e 100644 --- a/toolchain/check/testdata/main_run/no_return.carbon +++ b/toolchain/check/testdata/main_run/no_return.carbon @@ -27,6 +27,7 @@ fn Run(unused argc: i32, unused argv: i32*) {} // CHECK:STDOUT: --- no_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Run.type: type = fn_type @Run [concrete] // CHECK:STDOUT: %Run: %Run.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -55,6 +56,7 @@ fn Run(unused argc: i32, unused argv: i32*) {} // CHECK:STDOUT: --- with_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/main_run/return_i32.carbon b/toolchain/check/testdata/main_run/return_i32.carbon index 6dd8a8ac083a..0bf949aa99f6 100644 --- a/toolchain/check/testdata/main_run/return_i32.carbon +++ b/toolchain/check/testdata/main_run/return_i32.carbon @@ -27,6 +27,7 @@ fn Run(unused argc: i32, unused argv: i32*) -> i32 { return 0; } // CHECK:STDOUT: --- no_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -101,6 +102,7 @@ fn Run(unused argc: i32, unused argv: i32*) -> i32 { return 0; } // CHECK:STDOUT: --- with_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/match_first/basic.carbon b/toolchain/check/testdata/match_first/basic.carbon index 61f97176450e..d1ae585a1a65 100644 --- a/toolchain/check/testdata/match_first/basic.carbon +++ b/toolchain/check/testdata/match_first/basic.carbon @@ -453,6 +453,7 @@ final match_first { // CHECK:STDOUT: --- decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -480,6 +481,7 @@ final match_first { // CHECK:STDOUT: --- definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -509,6 +511,7 @@ final match_first { // CHECK:STDOUT: --- redecl_defined.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -536,6 +539,7 @@ final match_first { // CHECK:STDOUT: --- final_block_redecl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -563,6 +567,7 @@ final match_first { // CHECK:STDOUT: --- final_block_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -590,6 +595,7 @@ final match_first { // CHECK:STDOUT: --- final_block_defined.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] diff --git a/toolchain/check/testdata/named_constraint/basic.carbon b/toolchain/check/testdata/named_constraint/basic.carbon index 47935980e2c3..ed636ca1ccc0 100644 --- a/toolchain/check/testdata/named_constraint/basic.carbon +++ b/toolchain/check/testdata/named_constraint/basic.carbon @@ -55,6 +55,7 @@ constraint Declared {} // CHECK:STDOUT: --- definition.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Declared.type: type = facet_type <@Declared> [concrete] // CHECK:STDOUT: %Self: %Declared.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: } @@ -81,6 +82,7 @@ constraint Declared {} // CHECK:STDOUT: --- forward_declaration.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ForwardDeclared.type: type = facet_type <@ForwardDeclared> [concrete] // CHECK:STDOUT: %Self: %ForwardDeclared.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/named_constraint/convert.carbon b/toolchain/check/testdata/named_constraint/convert.carbon index e3bd0cd60d87..dad2c0a6fec0 100644 --- a/toolchain/check/testdata/named_constraint/convert.carbon +++ b/toolchain/check/testdata/named_constraint/convert.carbon @@ -62,22 +62,22 @@ fn G(generic T: Z) { // CHECK:STDOUT: --- type_and_with_named_constraint_self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %E.type: type = facet_type <@E> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type %E.type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a587c.1: type = pattern_type %E.type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %E.type, %type.as.BitAndWith.impl.Op [concrete] -// CHECK:STDOUT: %T.patt.3a0592.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt.3a0592.2: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.f45530.2: %E.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] @@ -91,13 +91,13 @@ fn G(generic T: Z) { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { -// CHECK:STDOUT: %T.patt.loc8_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt.3a0592.2)] +// CHECK:STDOUT: %T.patt.loc8_15.1: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt.3a0592.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_19.1: type = splice_block %.loc8_19.3 [concrete = constants.%E.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %E.ref.loc8_17: type = name_ref E, file.%E.decl [concrete = constants.%E.type] // CHECK:STDOUT: %E.ref.loc8_21: type = name_ref E, file.%E.decl [concrete = constants.%E.type] -// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %E.ref.loc8_17, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%E.ref.loc8_17, %E.ref.loc8_21) [concrete = constants.%E.type] // CHECK:STDOUT: %.loc8_19.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%E.type] @@ -108,7 +108,7 @@ fn G(generic T: Z) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @G(%T.loc8_15.2: %E.type) { -// CHECK:STDOUT: %T.patt.loc8_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt.3a0592.2)] +// CHECK:STDOUT: %T.patt.loc8_15.2: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt.3a0592.2)] // CHECK:STDOUT: %T.loc8_15.1: %E.type = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T.f45530.2)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -132,10 +132,10 @@ fn G(generic T: Z) { // CHECK:STDOUT: --- compatible_constraints.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %E1.type: type = facet_type <@E1> [concrete] // CHECK:STDOUT: %E2.type: type = facet_type <@E2> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -154,7 +154,7 @@ fn G(generic T: Z) { // CHECK:STDOUT: %T.patt.loc9_15.1: %pattern_type.9a587c.2 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_15.2 (constants.%T.patt.3a0592.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9: type = splice_block %E2.ref [concrete = constants.%E2.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %E2.ref: type = name_ref E2, file.%E2.decl [concrete = constants.%E2.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_15.2: %E2.type = symbolic_binding T, 0 [symbolic = %T.loc9_15.1 (constants.%T.f45530.2)] diff --git a/toolchain/check/testdata/named_constraint/empty.carbon b/toolchain/check/testdata/named_constraint/empty.carbon index 4abe83134517..bfff7b664aae 100644 --- a/toolchain/check/testdata/named_constraint/empty.carbon +++ b/toolchain/check/testdata/named_constraint/empty.carbon @@ -34,11 +34,11 @@ fn G(generic T: Z, generic U: type, generic V: Empty) { // CHECK:STDOUT: --- empty.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Empty.type: type = facet_type <@Empty> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type %Empty.type [concrete] -// CHECK:STDOUT: %T.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a587c.1: type = pattern_type %Empty.type [concrete] +// CHECK:STDOUT: %T.patt.3a0: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.f45: %Empty.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -47,10 +47,10 @@ fn G(generic T: Z, generic U: type, generic V: Empty) { // CHECK:STDOUT: %pattern_type.5d7: type = pattern_type %Z.type [concrete] // CHECK:STDOUT: %T.patt.4a7: %pattern_type.5d7 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.013: %Z.type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %pattern_type.9a587c.2: type = pattern_type type [concrete] +// CHECK:STDOUT: %U.patt: %pattern_type.9a587c.2 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 1 [symbolic] -// CHECK:STDOUT: %V.patt: %pattern_type.9a5 = symbolic_binding_pattern V, 2 [symbolic] +// CHECK:STDOUT: %V.patt: %pattern_type.9a587c.1 = symbolic_binding_pattern V, 2 [symbolic] // CHECK:STDOUT: %V: %Empty.type = symbolic_binding V, 2 [symbolic] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] @@ -58,8 +58,8 @@ fn G(generic T: Z, generic U: type, generic V: Empty) { // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %Empty.facet.76f: %Empty.type = facet_value %empty_struct_type, () [concrete] // CHECK:STDOUT: %F.specific_fn.6c4: = specific_function %F, @F(%Empty.facet.76f) [concrete] -// CHECK:STDOUT: %Empty.facet.2cb: %Empty.type = facet_value type, () [concrete] -// CHECK:STDOUT: %F.specific_fn.3c6: = specific_function %F, @F(%Empty.facet.2cb) [concrete] +// CHECK:STDOUT: %Empty.facet.bab: %Empty.type = facet_value type, () [concrete] +// CHECK:STDOUT: %F.specific_fn.c98: = specific_function %F, @F(%Empty.facet.bab) [concrete] // CHECK:STDOUT: %T.as_type: type = facet_access_type %T.013 [symbolic] // CHECK:STDOUT: %Empty.facet.aa1: %Empty.type = facet_value %T.as_type, () [symbolic] // CHECK:STDOUT: %F.specific_fn.40a: = specific_function %F, @F(%Empty.facet.aa1) [symbolic] @@ -70,31 +70,31 @@ fn G(generic T: Z, generic U: type, generic V: Empty) { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc19_22.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_22.2 (constants.%T.patt.3a0)] +// CHECK:STDOUT: %T.patt.loc19_22.1: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_22.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc19: type = splice_block %Empty.ref [concrete = constants.%Empty.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Empty.ref: type = name_ref Empty, file.%Empty.decl [concrete = constants.%Empty.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc19_22.2: %Empty.type = symbolic_binding T, 0 [symbolic = %T.loc19_22.1 (constants.%T.f45)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // CHECK:STDOUT: %T.patt.loc25_15.1: %pattern_type.5d7 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc25_15.2 (constants.%T.patt.4a7)] -// CHECK:STDOUT: %U.patt.loc25_29.1: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc25_29.2 (constants.%U.patt)] -// CHECK:STDOUT: %V.patt.loc25_46.1: %pattern_type.9a5 = symbolic_binding_pattern V, 2 [symbolic = %V.patt.loc25_46.2 (constants.%V.patt)] +// CHECK:STDOUT: %U.patt.loc25_29.1: %pattern_type.9a587c.2 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc25_29.2 (constants.%U.patt)] +// CHECK:STDOUT: %V.patt.loc25_46.1: %pattern_type.9a587c.1 = symbolic_binding_pattern V, 2 [symbolic = %V.patt.loc25_46.2 (constants.%V.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc25_17: type = splice_block %Z.ref [concrete = constants.%Z.type] { -// CHECK:STDOUT: %.Self.frozen.loc25_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc25_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc25_15.2: %Z.type = symbolic_binding T, 0 [symbolic = %T.loc25_15.1 (constants.%T.013)] // CHECK:STDOUT: %.loc25_31.1: type = splice_block %.loc25_31.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc25_29: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc25_29: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc25_31.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc25_29.2: type = symbolic_binding U, 1 [symbolic = %U.loc25_29.1 (constants.%U)] // CHECK:STDOUT: %.loc25_48: type = splice_block %Empty.ref [concrete = constants.%Empty.type] { -// CHECK:STDOUT: %.Self.frozen.loc25_46: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc25_46: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Empty.ref: type = name_ref Empty, file.%Empty.decl [concrete = constants.%Empty.type] // CHECK:STDOUT: } // CHECK:STDOUT: %V.loc25_46.2: %Empty.type = symbolic_binding V, 2 [symbolic = %V.loc25_46.1 (constants.%V)] @@ -102,7 +102,7 @@ fn G(generic T: Z, generic U: type, generic V: Empty) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc19_22.2: %Empty.type) { -// CHECK:STDOUT: %T.patt.loc19_22.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_22.2 (constants.%T.patt.3a0)] +// CHECK:STDOUT: %T.patt.loc19_22.2: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_22.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc19_22.1: %Empty.type = symbolic_binding T, 0 [symbolic = %T.loc19_22.1 (constants.%T.f45)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -116,9 +116,9 @@ fn G(generic T: Z, generic U: type, generic V: Empty) { // CHECK:STDOUT: generic fn @G(%T.loc25_15.2: %Z.type, %U.loc25_29.2: type, %V.loc25_46.2: %Empty.type) { // CHECK:STDOUT: %T.patt.loc25_15.2: %pattern_type.5d7 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc25_15.2 (constants.%T.patt.4a7)] // CHECK:STDOUT: %T.loc25_15.1: %Z.type = symbolic_binding T, 0 [symbolic = %T.loc25_15.1 (constants.%T.013)] -// CHECK:STDOUT: %U.patt.loc25_29.2: %pattern_type.98f = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc25_29.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.patt.loc25_29.2: %pattern_type.9a587c.2 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc25_29.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc25_29.1: type = symbolic_binding U, 1 [symbolic = %U.loc25_29.1 (constants.%U)] -// CHECK:STDOUT: %V.patt.loc25_46.2: %pattern_type.9a5 = symbolic_binding_pattern V, 2 [symbolic = %V.patt.loc25_46.2 (constants.%V.patt)] +// CHECK:STDOUT: %V.patt.loc25_46.2: %pattern_type.9a587c.1 = symbolic_binding_pattern V, 2 [symbolic = %V.patt.loc25_46.2 (constants.%V.patt)] // CHECK:STDOUT: %V.loc25_46.1: %Empty.type = symbolic_binding V, 2 [symbolic = %V.loc25_46.1 (constants.%V)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -139,9 +139,9 @@ fn G(generic T: Z, generic U: type, generic V: Empty) { // CHECK:STDOUT: %F.call.loc26: init %empty_tuple.type = call %F.specific_fn.loc26() // CHECK:STDOUT: %F.ref.loc27: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %.loc27_5: type = type_literal type [concrete = type] -// CHECK:STDOUT: %Empty.facet.loc27: %Empty.type = facet_value %.loc27_5, () [concrete = constants.%Empty.facet.2cb] -// CHECK:STDOUT: %.loc27_9: %Empty.type = converted %.loc27_5, %Empty.facet.loc27 [concrete = constants.%Empty.facet.2cb] -// CHECK:STDOUT: %F.specific_fn.loc27: = specific_function %F.ref.loc27, @F(constants.%Empty.facet.2cb) [concrete = constants.%F.specific_fn.3c6] +// CHECK:STDOUT: %Empty.facet.loc27: %Empty.type = facet_value %.loc27_5, () [concrete = constants.%Empty.facet.bab] +// CHECK:STDOUT: %.loc27_9: %Empty.type = converted %.loc27_5, %Empty.facet.loc27 [concrete = constants.%Empty.facet.bab] +// CHECK:STDOUT: %F.specific_fn.loc27: = specific_function %F.ref.loc27, @F(constants.%Empty.facet.bab) [concrete = constants.%F.specific_fn.c98] // CHECK:STDOUT: %F.call.loc27: init %empty_tuple.type = call %F.specific_fn.loc27() // CHECK:STDOUT: %F.ref.loc28: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %T.ref: %Z.type = name_ref T, %T.loc25_15.2 [symbolic = %T.loc25_15.1 (constants.%T.013)] @@ -185,9 +185,9 @@ fn G(generic T: Z, generic U: type, generic V: Empty) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F(constants.%Empty.facet.2cb) { +// CHECK:STDOUT: specific @F(constants.%Empty.facet.bab) { // CHECK:STDOUT: %T.patt.loc19_22.2 => constants.%T.patt.3a0 -// CHECK:STDOUT: %T.loc19_22.1 => constants.%Empty.facet.2cb +// CHECK:STDOUT: %T.loc19_22.1 => constants.%Empty.facet.bab // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/named_constraint/empty_generic.carbon b/toolchain/check/testdata/named_constraint/empty_generic.carbon index 880e708f09ff..d3f91024e864 100644 --- a/toolchain/check/testdata/named_constraint/empty_generic.carbon +++ b/toolchain/check/testdata/named_constraint/empty_generic.carbon @@ -29,19 +29,19 @@ fn G(generic T: Z, generic U: Empty(T), generic V: type) { // CHECK:STDOUT: --- empty_generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a587c.1: type = pattern_type type [concrete] +// CHECK:STDOUT: %T.patt.3a0: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Empty.type.f30: type = generic_named_constaint_type @Empty [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_struct.26b: %Empty.type.f30 = struct_value () [concrete] // CHECK:STDOUT: %Empty.type.d682d6.1: type = facet_type <@Empty, @Empty(%T.67d)> [symbolic] // CHECK:STDOUT: %Self.22b: %Empty.type.d682d6.1 = symbolic_binding Self, 1 [symbolic] -// CHECK:STDOUT: %pattern_type.9a587c.1: type = pattern_type %Empty.type.d682d6.1 [symbolic] -// CHECK:STDOUT: %U.patt.cb839c.1: %pattern_type.9a587c.1 = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %pattern_type.9a587c.2: type = pattern_type %Empty.type.d682d6.1 [symbolic] +// CHECK:STDOUT: %U.patt.cb839c.1: %pattern_type.9a587c.2 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U.e1f642.1: %Empty.type.d682d6.1 = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -50,51 +50,48 @@ fn G(generic T: Z, generic U: Empty(T), generic V: type) { // CHECK:STDOUT: %T.013: %Z.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type: type = facet_access_type %T.013 [symbolic] // CHECK:STDOUT: %Empty.type.d682d6.2: type = facet_type <@Empty, @Empty(%T.as_type)> [symbolic] -// CHECK:STDOUT: %pattern_type.9a587c.2: type = pattern_type %Empty.type.d682d6.2 [symbolic] -// CHECK:STDOUT: %U.patt.cb839c.2: %pattern_type.9a587c.2 = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %pattern_type.9a587c.3: type = pattern_type %Empty.type.d682d6.2 [symbolic] +// CHECK:STDOUT: %U.patt.cb839c.2: %pattern_type.9a587c.3 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U.e1f642.2: %Empty.type.d682d6.2 = symbolic_binding U, 1 [symbolic] -// CHECK:STDOUT: %V.patt: %pattern_type.98f = symbolic_binding_pattern V, 2 [symbolic] +// CHECK:STDOUT: %V.patt: %pattern_type.9a587c.1 = symbolic_binding_pattern V, 2 [symbolic] // CHECK:STDOUT: %V: type = symbolic_binding V, 2 [symbolic] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct.a40: %empty_struct_type = struct_value () [concrete] -// CHECK:STDOUT: %empty_struct.type.facet: %type = facet_value %empty_struct_type, () [concrete] // CHECK:STDOUT: %Empty.facet.76f: %Empty.type.d682d6.2 = facet_value %empty_struct_type, () [symbolic] -// CHECK:STDOUT: %U.patt.cb839c.3: %pattern_type.9a587c.2 = symbolic_binding_pattern U, 1 [symbolic] +// CHECK:STDOUT: %U.patt.cb839c.3: %pattern_type.9a587c.3 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %F.specific_fn.eb3: = specific_function %F, @F(%T.as_type, %Empty.facet.76f) [symbolic] -// CHECK:STDOUT: %facet_value.2cb: %type = facet_value type, () [concrete] -// CHECK:STDOUT: %Empty.facet.2cb: %Empty.type.d682d6.2 = facet_value type, () [symbolic] -// CHECK:STDOUT: %F.specific_fn.d75: = specific_function %F, @F(%T.as_type, %Empty.facet.2cb) [symbolic] +// CHECK:STDOUT: %Empty.facet.bab: %Empty.type.d682d6.2 = facet_value type, () [symbolic] +// CHECK:STDOUT: %F.specific_fn.2fa: = specific_function %F, @F(%T.as_type, %Empty.facet.bab) [symbolic] // CHECK:STDOUT: %Empty.facet.aa1: %Empty.type.d682d6.2 = facet_value %T.as_type, () [symbolic] // CHECK:STDOUT: %F.specific_fn.7a2: = specific_function %F, @F(%T.as_type, %Empty.facet.aa1) [symbolic] // CHECK:STDOUT: %F.specific_fn.ff9: = specific_function %F, @F(%T.as_type, %U.e1f642.2) [symbolic] -// CHECK:STDOUT: %facet_value.ed5: %type = facet_value %V, () [symbolic] // CHECK:STDOUT: %Empty.facet.ed5: %Empty.type.d682d6.2 = facet_value %V, () [symbolic] // CHECK:STDOUT: %F.specific_fn.67d: = specific_function %F, @F(%T.as_type, %Empty.facet.ed5) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %Empty.decl: %Empty.type.f30 = constraint_decl @Empty [concrete = constants.%empty_struct.26b] { -// CHECK:STDOUT: %T.patt.loc16_19.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc16_19.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc16_19.1: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc16_19.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc16_21.1: type = splice_block %.loc16_21.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc16_21.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc16_19.2: type = symbolic_binding T, 0 [symbolic = %T.loc16_19.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %T.patt.loc18_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc18_15.2 (constants.%T.patt.d47)] -// CHECK:STDOUT: %U.patt.loc18_39.1: @F.%pattern_type (%pattern_type.9a587c.1) = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc18_39.2 (constants.%U.patt.cb839c.1)] +// CHECK:STDOUT: %T.patt.loc18_15.1: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc18_15.2 (constants.%T.patt.3a0)] +// CHECK:STDOUT: %U.patt.loc18_39.1: @F.%pattern_type (%pattern_type.9a587c.2) = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc18_39.2 (constants.%U.patt.cb839c.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18_17.1: type = splice_block %.loc18_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc18_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc18_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc18_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc18_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc18_15.1 (constants.%T.67d)] // CHECK:STDOUT: %.loc18_48: type = splice_block %Empty.type.loc18_48.2 [symbolic = %Empty.type.loc18_48.1 (constants.%Empty.type.d682d6.1)] { -// CHECK:STDOUT: %.Self.frozen.loc18_39: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc18_39: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Empty.ref: %Empty.type.f30 = name_ref Empty, file.%Empty.decl [concrete = constants.%empty_struct.26b] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc18_15.2 [symbolic = %T.loc18_15.1 (constants.%T.67d)] // CHECK:STDOUT: %Empty.type.loc18_48.2: type = facet_type <@Empty, @Empty(constants.%T.67d)> [symbolic = %Empty.type.loc18_48.1 (constants.%Empty.type.d682d6.1)] @@ -103,16 +100,16 @@ fn G(generic T: Z, generic U: Empty(T), generic V: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // CHECK:STDOUT: %T.patt.loc20_15.1: %pattern_type.5d7 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc20_15.2 (constants.%T.patt.4a7)] -// CHECK:STDOUT: %U.patt.loc20_29.1: @G.%pattern_type (%pattern_type.9a587c.2) = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc20_29.2 (constants.%U.patt.cb839c.2)] -// CHECK:STDOUT: %V.patt.loc20_50.1: %pattern_type.98f = symbolic_binding_pattern V, 2 [symbolic = %V.patt.loc20_50.2 (constants.%V.patt)] +// CHECK:STDOUT: %U.patt.loc20_29.1: @G.%pattern_type (%pattern_type.9a587c.3) = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc20_29.2 (constants.%U.patt.cb839c.2)] +// CHECK:STDOUT: %V.patt.loc20_50.1: %pattern_type.9a587c.1 = symbolic_binding_pattern V, 2 [symbolic = %V.patt.loc20_50.2 (constants.%V.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc20_17: type = splice_block %Z.ref [concrete = constants.%Z.type] { -// CHECK:STDOUT: %.Self.frozen.loc20_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc20_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc20_15.2: %Z.type = symbolic_binding T, 0 [symbolic = %T.loc20_15.1 (constants.%T.013)] // CHECK:STDOUT: %.loc20_38.1: type = splice_block %Empty.type.loc20_38.2 [symbolic = %Empty.type.loc20_38.1 (constants.%Empty.type.d682d6.2)] { -// CHECK:STDOUT: %.Self.frozen.loc20_29: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc20_29: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Empty.ref: %Empty.type.f30 = name_ref Empty, file.%Empty.decl [concrete = constants.%empty_struct.26b] // CHECK:STDOUT: %T.ref.loc20: %Z.type = name_ref T, %T.loc20_15.2 [symbolic = %T.loc20_15.1 (constants.%T.013)] // CHECK:STDOUT: %T.as_type.loc20_38.2: type = facet_access_type %T.ref.loc20 [symbolic = %T.as_type.loc20_38.1 (constants.%T.as_type)] @@ -121,7 +118,7 @@ fn G(generic T: Z, generic U: Empty(T), generic V: type) { // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc20_29.2: @G.%Empty.type.loc20_38.1 (%Empty.type.d682d6.2) = symbolic_binding U, 1 [symbolic = %U.loc20_29.1 (constants.%U.e1f642.2)] // CHECK:STDOUT: %.loc20_52.1: type = splice_block %.loc20_52.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc20_50: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc20_50: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc20_52.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %V.loc20_50.2: type = symbolic_binding V, 2 [symbolic = %V.loc20_50.1 (constants.%V)] @@ -129,7 +126,7 @@ fn G(generic T: Z, generic U: Empty(T), generic V: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic constraint @Empty(%T.loc16_19.2: type) { -// CHECK:STDOUT: %T.patt.loc16_19.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc16_19.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc16_19.2: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc16_19.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc16_19.1: type = symbolic_binding T, 0 [symbolic = %T.loc16_19.1 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -148,11 +145,11 @@ fn G(generic T: Z, generic U: Empty(T), generic V: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc18_15.2: type, %U.loc18_39.2: @F.%Empty.type.loc18_48.1 (%Empty.type.d682d6.1)) { -// CHECK:STDOUT: %T.patt.loc18_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc18_15.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc18_15.2: %pattern_type.9a587c.1 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc18_15.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc18_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc18_15.1 (constants.%T.67d)] // CHECK:STDOUT: %Empty.type.loc18_48.1: type = facet_type <@Empty, @Empty(%T.loc18_15.1)> [symbolic = %Empty.type.loc18_48.1 (constants.%Empty.type.d682d6.1)] -// CHECK:STDOUT: %pattern_type: type = pattern_type %Empty.type.loc18_48.1 [symbolic = %pattern_type (constants.%pattern_type.9a587c.1)] -// CHECK:STDOUT: %U.patt.loc18_39.2: @F.%pattern_type (%pattern_type.9a587c.1) = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc18_39.2 (constants.%U.patt.cb839c.1)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %Empty.type.loc18_48.1 [symbolic = %pattern_type (constants.%pattern_type.9a587c.2)] +// CHECK:STDOUT: %U.patt.loc18_39.2: @F.%pattern_type (%pattern_type.9a587c.2) = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc18_39.2 (constants.%U.patt.cb839c.1)] // CHECK:STDOUT: %U.loc18_39.1: @F.%Empty.type.loc18_48.1 (%Empty.type.d682d6.1) = symbolic_binding U, 1 [symbolic = %U.loc18_39.1 (constants.%U.e1f642.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -168,17 +165,17 @@ fn G(generic T: Z, generic U: Empty(T), generic V: type) { // CHECK:STDOUT: %T.loc20_15.1: %Z.type = symbolic_binding T, 0 [symbolic = %T.loc20_15.1 (constants.%T.013)] // CHECK:STDOUT: %T.as_type.loc20_38.1: type = facet_access_type %T.loc20_15.1 [symbolic = %T.as_type.loc20_38.1 (constants.%T.as_type)] // CHECK:STDOUT: %Empty.type.loc20_38.1: type = facet_type <@Empty, @Empty(%T.as_type.loc20_38.1)> [symbolic = %Empty.type.loc20_38.1 (constants.%Empty.type.d682d6.2)] -// CHECK:STDOUT: %pattern_type: type = pattern_type %Empty.type.loc20_38.1 [symbolic = %pattern_type (constants.%pattern_type.9a587c.2)] -// CHECK:STDOUT: %U.patt.loc20_29.2: @G.%pattern_type (%pattern_type.9a587c.2) = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc20_29.2 (constants.%U.patt.cb839c.2)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %Empty.type.loc20_38.1 [symbolic = %pattern_type (constants.%pattern_type.9a587c.3)] +// CHECK:STDOUT: %U.patt.loc20_29.2: @G.%pattern_type (%pattern_type.9a587c.3) = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc20_29.2 (constants.%U.patt.cb839c.2)] // CHECK:STDOUT: %U.loc20_29.1: @G.%Empty.type.loc20_38.1 (%Empty.type.d682d6.2) = symbolic_binding U, 1 [symbolic = %U.loc20_29.1 (constants.%U.e1f642.2)] -// CHECK:STDOUT: %V.patt.loc20_50.2: %pattern_type.98f = symbolic_binding_pattern V, 2 [symbolic = %V.patt.loc20_50.2 (constants.%V.patt)] +// CHECK:STDOUT: %V.patt.loc20_50.2: %pattern_type.9a587c.1 = symbolic_binding_pattern V, 2 [symbolic = %V.patt.loc20_50.2 (constants.%V.patt)] // CHECK:STDOUT: %V.loc20_50.1: type = symbolic_binding V, 2 [symbolic = %V.loc20_50.1 (constants.%V)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Empty.facet.loc21_18.2: @G.%Empty.type.loc20_38.1 (%Empty.type.d682d6.2) = facet_value constants.%empty_struct_type, () [symbolic = %Empty.facet.loc21_18.2 (constants.%Empty.facet.76f)] // CHECK:STDOUT: %F.specific_fn.loc21_3.2: = specific_function constants.%F, @F(%T.as_type.loc20_38.1, %Empty.facet.loc21_18.2) [symbolic = %F.specific_fn.loc21_3.2 (constants.%F.specific_fn.eb3)] -// CHECK:STDOUT: %Empty.facet.loc22_12.2: @G.%Empty.type.loc20_38.1 (%Empty.type.d682d6.2) = facet_value type, () [symbolic = %Empty.facet.loc22_12.2 (constants.%Empty.facet.2cb)] -// CHECK:STDOUT: %F.specific_fn.loc22_3.2: = specific_function constants.%F, @F(%T.as_type.loc20_38.1, %Empty.facet.loc22_12.2) [symbolic = %F.specific_fn.loc22_3.2 (constants.%F.specific_fn.d75)] +// CHECK:STDOUT: %Empty.facet.loc22_12.2: @G.%Empty.type.loc20_38.1 (%Empty.type.d682d6.2) = facet_value type, () [symbolic = %Empty.facet.loc22_12.2 (constants.%Empty.facet.bab)] +// CHECK:STDOUT: %F.specific_fn.loc22_3.2: = specific_function constants.%F, @F(%T.as_type.loc20_38.1, %Empty.facet.loc22_12.2) [symbolic = %F.specific_fn.loc22_3.2 (constants.%F.specific_fn.2fa)] // CHECK:STDOUT: %Empty.facet.loc23_9.2: @G.%Empty.type.loc20_38.1 (%Empty.type.d682d6.2) = facet_value %T.as_type.loc20_38.1, () [symbolic = %Empty.facet.loc23_9.2 (constants.%Empty.facet.aa1)] // CHECK:STDOUT: %F.specific_fn.loc23_3.2: = specific_function constants.%F, @F(%T.as_type.loc20_38.1, %Empty.facet.loc23_9.2) [symbolic = %F.specific_fn.loc23_3.2 (constants.%F.specific_fn.7a2)] // CHECK:STDOUT: %F.specific_fn.loc24_3.2: = specific_function constants.%F, @F(%T.as_type.loc20_38.1, %U.loc20_29.1) [symbolic = %F.specific_fn.loc24_3.2 (constants.%F.specific_fn.ff9)] @@ -203,9 +200,9 @@ fn G(generic T: Z, generic U: Empty(T), generic V: type) { // CHECK:STDOUT: %.loc22_8: type = type_literal type [concrete = type] // CHECK:STDOUT: %T.as_type.loc22: type = facet_access_type %T.ref.loc22 [symbolic = %T.as_type.loc20_38.1 (constants.%T.as_type)] // CHECK:STDOUT: %.loc22_12.1: type = converted %T.ref.loc22, %T.as_type.loc22 [symbolic = %T.as_type.loc20_38.1 (constants.%T.as_type)] -// CHECK:STDOUT: %Empty.facet.loc22_12.1: @G.%Empty.type.loc20_38.1 (%Empty.type.d682d6.2) = facet_value type, () [symbolic = %Empty.facet.loc22_12.2 (constants.%Empty.facet.2cb)] -// CHECK:STDOUT: %.loc22_12.2: @G.%Empty.type.loc20_38.1 (%Empty.type.d682d6.2) = converted type, %Empty.facet.loc22_12.1 [symbolic = %Empty.facet.loc22_12.2 (constants.%Empty.facet.2cb)] -// CHECK:STDOUT: %F.specific_fn.loc22_3.1: = specific_function %F.ref.loc22, @F(constants.%T.as_type, constants.%Empty.facet.2cb) [symbolic = %F.specific_fn.loc22_3.2 (constants.%F.specific_fn.d75)] +// CHECK:STDOUT: %Empty.facet.loc22_12.1: @G.%Empty.type.loc20_38.1 (%Empty.type.d682d6.2) = facet_value type, () [symbolic = %Empty.facet.loc22_12.2 (constants.%Empty.facet.bab)] +// CHECK:STDOUT: %.loc22_12.2: @G.%Empty.type.loc20_38.1 (%Empty.type.d682d6.2) = converted type, %Empty.facet.loc22_12.1 [symbolic = %Empty.facet.loc22_12.2 (constants.%Empty.facet.bab)] +// CHECK:STDOUT: %F.specific_fn.loc22_3.1: = specific_function %F.ref.loc22, @F(constants.%T.as_type, constants.%Empty.facet.bab) [symbolic = %F.specific_fn.loc22_3.2 (constants.%F.specific_fn.2fa)] // CHECK:STDOUT: %F.call.loc22: init %empty_tuple.type = call %F.specific_fn.loc22_3.1() // CHECK:STDOUT: %F.ref.loc23: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %T.ref.loc23_5: %Z.type = name_ref T, %T.loc20_15.2 [symbolic = %T.loc20_15.1 (constants.%T.013)] @@ -238,23 +235,23 @@ fn G(generic T: Z, generic U: Empty(T), generic V: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Empty(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc16_19.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc16_19.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc16_19.1 => constants.%T.67d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Empty.WithSelf(constants.%T.67d, constants.%Self.22b) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.67d, constants.%U.e1f642.1) { -// CHECK:STDOUT: %T.patt.loc18_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc18_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc18_15.1 => constants.%T.67d // CHECK:STDOUT: %Empty.type.loc18_48.1 => constants.%Empty.type.d682d6.1 -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a587c.1 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a587c.2 // CHECK:STDOUT: %U.patt.loc18_39.2 => constants.%U.patt.cb839c.1 // CHECK:STDOUT: %U.loc18_39.1 => constants.%U.e1f642.1 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Empty(constants.%T.as_type) { -// CHECK:STDOUT: %T.patt.loc16_19.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc16_19.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc16_19.1 => constants.%T.as_type // CHECK:STDOUT: } // CHECK:STDOUT: @@ -263,39 +260,39 @@ fn G(generic T: Z, generic U: Empty(T), generic V: type) { // CHECK:STDOUT: %T.loc20_15.1 => constants.%T.013 // CHECK:STDOUT: %T.as_type.loc20_38.1 => constants.%T.as_type // CHECK:STDOUT: %Empty.type.loc20_38.1 => constants.%Empty.type.d682d6.2 -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a587c.2 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a587c.3 // CHECK:STDOUT: %U.patt.loc20_29.2 => constants.%U.patt.cb839c.2 // CHECK:STDOUT: %U.loc20_29.1 => constants.%U.e1f642.2 // CHECK:STDOUT: %V.patt.loc20_50.2 => constants.%V.patt // CHECK:STDOUT: %V.loc20_50.1 => constants.%V // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Empty.WithSelf(constants.%T.as_type, constants.%empty_struct.type.facet) { +// CHECK:STDOUT: specific @Empty.WithSelf(constants.%T.as_type, constants.%empty_struct_type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.as_type, constants.%Empty.facet.76f) { -// CHECK:STDOUT: %T.patt.loc18_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc18_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc18_15.1 => constants.%T.as_type // CHECK:STDOUT: %Empty.type.loc18_48.1 => constants.%Empty.type.d682d6.2 -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a587c.2 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a587c.3 // CHECK:STDOUT: %U.patt.loc18_39.2 => constants.%U.patt.cb839c.3 // CHECK:STDOUT: %U.loc18_39.1 => constants.%Empty.facet.76f // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Empty.WithSelf(constants.%T.as_type, constants.%facet_value.2cb) { +// CHECK:STDOUT: specific @Empty.WithSelf(constants.%T.as_type, type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F(constants.%T.as_type, constants.%Empty.facet.2cb) { -// CHECK:STDOUT: %T.patt.loc18_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: specific @F(constants.%T.as_type, constants.%Empty.facet.bab) { +// CHECK:STDOUT: %T.patt.loc18_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc18_15.1 => constants.%T.as_type // CHECK:STDOUT: %Empty.type.loc18_48.1 => constants.%Empty.type.d682d6.2 -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a587c.2 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a587c.3 // CHECK:STDOUT: %U.patt.loc18_39.2 => constants.%U.patt.cb839c.3 -// CHECK:STDOUT: %U.loc18_39.1 => constants.%Empty.facet.2cb +// CHECK:STDOUT: %U.loc18_39.1 => constants.%Empty.facet.bab // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } @@ -305,10 +302,10 @@ fn G(generic T: Z, generic U: Empty(T), generic V: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.as_type, constants.%Empty.facet.aa1) { -// CHECK:STDOUT: %T.patt.loc18_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc18_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc18_15.1 => constants.%T.as_type // CHECK:STDOUT: %Empty.type.loc18_48.1 => constants.%Empty.type.d682d6.2 -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a587c.2 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a587c.3 // CHECK:STDOUT: %U.patt.loc18_39.2 => constants.%U.patt.cb839c.3 // CHECK:STDOUT: %U.loc18_39.1 => constants.%Empty.facet.aa1 // CHECK:STDOUT: @@ -316,25 +313,25 @@ fn G(generic T: Z, generic U: Empty(T), generic V: type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.as_type, constants.%U.e1f642.2) { -// CHECK:STDOUT: %T.patt.loc18_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc18_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc18_15.1 => constants.%T.as_type // CHECK:STDOUT: %Empty.type.loc18_48.1 => constants.%Empty.type.d682d6.2 -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a587c.2 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a587c.3 // CHECK:STDOUT: %U.patt.loc18_39.2 => constants.%U.patt.cb839c.3 // CHECK:STDOUT: %U.loc18_39.1 => constants.%U.e1f642.2 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Empty.WithSelf(constants.%T.as_type, constants.%facet_value.ed5) { +// CHECK:STDOUT: specific @Empty.WithSelf(constants.%T.as_type, constants.%V) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.as_type, constants.%Empty.facet.ed5) { -// CHECK:STDOUT: %T.patt.loc18_15.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc18_15.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc18_15.1 => constants.%T.as_type // CHECK:STDOUT: %Empty.type.loc18_48.1 => constants.%Empty.type.d682d6.2 -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a587c.2 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.9a587c.3 // CHECK:STDOUT: %U.patt.loc18_39.2 => constants.%U.patt.cb839c.3 // CHECK:STDOUT: %U.loc18_39.1 => constants.%Empty.facet.ed5 // CHECK:STDOUT: diff --git a/toolchain/check/testdata/named_constraint/extend_name_lookup.carbon b/toolchain/check/testdata/named_constraint/extend_name_lookup.carbon index ad79f4bbaef7..78627e0beb75 100644 --- a/toolchain/check/testdata/named_constraint/extend_name_lookup.carbon +++ b/toolchain/check/testdata/named_constraint/extend_name_lookup.carbon @@ -98,6 +98,7 @@ fn F(generic T: type where .Self impls W) { // CHECK:STDOUT: --- facet_type_extends_and_constraint_extends.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Z.assoc_type: type = assoc_entity_type @Z [concrete] @@ -106,8 +107,7 @@ fn F(generic T: type where .Self impls W) { // CHECK:STDOUT: %Y.assoc_type: type = assoc_entity_type @Y [concrete] // CHECK:STDOUT: %assoc0.359: %Y.assoc_type = assoc_entity element0, @Y.WithSelf.%Y.WithSelf.YF.decl [concrete] // CHECK:STDOUT: %W.type: type = facet_type <@W> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type %W.type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: %W.type = symbolic_binding T, 0 [symbolic] @@ -133,7 +133,7 @@ fn F(generic T: type where .Self impls W) { // CHECK:STDOUT: %T.patt.loc12_15.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12: type = splice_block %W.ref [concrete = constants.%W.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %W.ref: type = name_ref W, file.%W.decl [concrete = constants.%W.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12_15.2: %W.type = symbolic_binding T, 0 [symbolic = %T.loc12_15.1 (constants.%T)] @@ -189,6 +189,7 @@ fn F(generic T: type where .Self impls W) { // CHECK:STDOUT: --- facet_type_does_not_extend_and_constraint_extends.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Z.assoc_type: type = assoc_entity_type @Z [concrete] @@ -197,11 +198,8 @@ fn F(generic T: type where .Self impls W) { // CHECK:STDOUT: %Y.assoc_type: type = assoc_entity_type @Y [concrete] // CHECK:STDOUT: %assoc0.359: %Y.assoc_type = assoc_entity element0, @Y.WithSelf.%Y.WithSelf.YF.decl [concrete] // CHECK:STDOUT: %W.type: type = facet_type <@W> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen [symbolic_self] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %type_where: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %type_where [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] @@ -228,23 +226,19 @@ fn F(generic T: type where .Self impls W) { // CHECK:STDOUT: %T.patt.loc12_15.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_22.1: type = splice_block %.loc12_22.2 [concrete = constants.%type_where] { -// CHECK:STDOUT: %.Self.frozen.loc12_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc12_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc12_17: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.frozen.loc12_22: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc12_22: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc12_17 [concrete] -// CHECK:STDOUT: %.Self.ref.loc12_28.1: %type = name_ref .Self, %.Self.frozen.loc12_22 [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.ref.loc12_28.1: type = name_ref .Self, %.Self.frozen.loc12_22 [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %W.ref: type = name_ref W, file.%W.decl [concrete = constants.%W.type] -// CHECK:STDOUT: %.Self.as_type.loc12_28.1: type = facet_access_type %.Self.ref.loc12_28.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %.loc12_28.1: type = converted %.Self.ref.loc12_28.1, %.Self.as_type.loc12_28.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %impls.loc12_34.1 = requirement_impls %.loc12_28.1, %W.ref [concrete] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.ref.loc12_28.2: %type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.as_type.loc12_28.2: type = facet_access_type %.Self.ref.loc12_28.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %.loc12_28.2: type = converted %.Self.ref.loc12_28.1, %.Self.as_type.loc12_28.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %impls.loc12_34.2 = requirement_impls %.loc12_28.2, %W.ref [concrete] +// CHECK:STDOUT: %impls.loc12_34.1 = requirement_impls %.Self.ref.loc12_28.1, %W.ref [concrete] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.Self.ref.loc12_28.2: type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %impls.loc12_34.2 = requirement_impls %.Self.ref.loc12_28.2, %W.ref [concrete] // CHECK:STDOUT: %.loc12_22.2: type = where_expr [concrete = constants.%type_where] { // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc12_17 [concrete] -// CHECK:STDOUT: %impls.loc12_34.2 = requirement_impls %.loc12_28.2, %W.ref [concrete] +// CHECK:STDOUT: %impls.loc12_34.2 = requirement_impls %.Self.ref.loc12_28.2, %W.ref [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12_15.2: %type_where = symbolic_binding T, 0 [symbolic = %T.loc12_15.1 (constants.%T)] diff --git a/toolchain/check/testdata/named_constraint/generic.carbon b/toolchain/check/testdata/named_constraint/generic.carbon index 9395a5e2037a..bd3d12628bdd 100644 --- a/toolchain/check/testdata/named_constraint/generic.carbon +++ b/toolchain/check/testdata/named_constraint/generic.carbon @@ -78,10 +78,10 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: --- generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %GenericType.type.d1d: type = generic_named_constaint_type @GenericType [concrete] // CHECK:STDOUT: %empty_struct.b7e: %GenericType.type.d1d = struct_value () [concrete] @@ -110,10 +110,10 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: .ForwardDeclaredGeneric = %ForwardDeclaredGeneric.decl.loc9 // CHECK:STDOUT: } // CHECK:STDOUT: %GenericType.decl: %GenericType.type.d1d = constraint_decl @GenericType [concrete = constants.%empty_struct.b7e] { -// CHECK:STDOUT: %T.patt.loc4_25.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_25.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_25.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_25.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_27.1: type = splice_block %.loc4_27.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_27.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_25.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)] @@ -123,25 +123,25 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: %U.patt.loc7_22.1: %pattern_type.5d7 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc7_22.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7: type = splice_block %Z.ref [concrete = constants.%Z.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc7_22.2: %Z.type = symbolic_binding U, 0 [symbolic = %U.loc7_22.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %ForwardDeclaredGeneric.decl.loc9: %ForwardDeclaredGeneric.type.650 = constraint_decl @ForwardDeclaredGeneric [concrete = constants.%empty_struct.43d] { -// CHECK:STDOUT: %T.patt.loc10: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc10: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_38.1: type = splice_block %.loc9_38.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc9: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc9: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_38.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_36.2: type = symbolic_binding T, 0 [symbolic = %T.loc9_36.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %ForwardDeclaredGeneric.decl.loc10: %ForwardDeclaredGeneric.type.650 = constraint_decl @ForwardDeclaredGeneric [concrete = constants.%empty_struct.43d] { -// CHECK:STDOUT: %T.patt.loc10: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc10: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10_38.1: type = splice_block %.loc10_38.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc10: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc10: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc10_38.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc10: type = symbolic_binding T, 0 [symbolic = %T.loc9_36.1 (constants.%T)] @@ -160,7 +160,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic constraint @GenericType(%T.loc4_25.2: type) { -// CHECK:STDOUT: %T.patt.loc4_25.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_25.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc4_25.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_25.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc4_25.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -198,7 +198,7 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic constraint @ForwardDeclaredGeneric(%T.loc9_36.2: type) { -// CHECK:STDOUT: %T.patt.loc9: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc9: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9 (constants.%T.patt)] // CHECK:STDOUT: %T.loc9_36.1: type = symbolic_binding T, 0 [symbolic = %T.loc9_36.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/named_constraint/import_constraint_decl.carbon b/toolchain/check/testdata/named_constraint/import_constraint_decl.carbon index 69124c440f0c..f5ac9d1509d3 100644 --- a/toolchain/check/testdata/named_constraint/import_constraint_decl.carbon +++ b/toolchain/check/testdata/named_constraint/import_constraint_decl.carbon @@ -79,8 +79,8 @@ impl C as B {} // CHECK:STDOUT: --- b.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %B.type: type = facet_type <@B> [concrete] // CHECK:STDOUT: %Self.f45: %B.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] @@ -116,7 +116,7 @@ impl C as B {} // CHECK:STDOUT: %T.patt.loc4_22.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_22.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %B.ref [concrete = constants.%B.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %B.ref: type = name_ref B, imports.%Main.B [concrete = constants.%B.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_22.2: %B.type = symbolic_binding T, 0 [symbolic = %T.loc4_22.1 (constants.%T)] diff --git a/toolchain/check/testdata/named_constraint/import_type_and.carbon b/toolchain/check/testdata/named_constraint/import_type_and.carbon index 040dee36a338..d5e619038f0e 100644 --- a/toolchain/check/testdata/named_constraint/import_type_and.carbon +++ b/toolchain/check/testdata/named_constraint/import_type_and.carbon @@ -32,6 +32,7 @@ fn F(generic _: N) {} // CHECK:STDOUT: --- import.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %Self.765: %Y.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] @@ -41,11 +42,11 @@ fn F(generic _: N) {} // CHECK:STDOUT: %Self.as_type.138: type = facet_access_type %Self.d87 [symbolic] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] +// CHECK:STDOUT: %BitAndWith.type.411: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] -// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.411 = facet_value type, (%BitAndWith.impl_witness) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.0cf: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.85c: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.0cf, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %Y.type, %type.as.BitAndWith.impl.Op [concrete] @@ -109,7 +110,7 @@ fn F(generic _: N) {} // CHECK:STDOUT: %Self.as_type.loc9_11.1: type = facet_access_type @N.%Self [symbolic = %Self.as_type.loc9_11.2 (constants.%Self.as_type.138)] // CHECK:STDOUT: %Y.ref: type = name_ref Y, file.%Y.decl [concrete = constants.%Y.type] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] -// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.85c = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %Y.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Y.ref, %Z.ref) [concrete = constants.%facet_type] // CHECK:STDOUT: } @@ -146,8 +147,8 @@ fn F(generic _: N) {} // CHECK:STDOUT: --- import.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %N.type: type = facet_type <@N> [concrete] // CHECK:STDOUT: %Self.f45: %N.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] @@ -156,8 +157,8 @@ fn F(generic _: N) {} // CHECK:STDOUT: %Self.95b: %Y.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %facet_type: type = facet_type <@Z & @Y> [concrete] // CHECK:STDOUT: %Self.as_type.190: type = facet_access_type %Self.f45 [symbolic] -// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type %N.type [concrete] -// CHECK:STDOUT: %_.patt: %pattern_type.9a5 = symbolic_binding_pattern _, 0 [symbolic] +// CHECK:STDOUT: %pattern_type.9a587c.2: type = pattern_type %N.type [concrete] +// CHECK:STDOUT: %_.patt: %pattern_type.9a587c.2 = symbolic_binding_pattern _, 0 [symbolic] // CHECK:STDOUT: %_: %N.type = symbolic_binding _, 0 [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -174,7 +175,7 @@ fn F(generic _: N) {} // CHECK:STDOUT: %Main.import_ref.e73 = import_ref Main//import, loc5_13, unloaded // CHECK:STDOUT: %Main.import_ref.28a = import_ref Main//import, loc4_13, unloaded // CHECK:STDOUT: %Main.import_ref.5f6: type = import_ref Main//import, loc9_11, loaded [symbolic = @N.WithSelf.Self.as_type.impls.facet_type.require.%Self.as_type (constants.%Self.as_type.190)] -// CHECK:STDOUT: %Main.import_ref.9c9: init type = import_ref Main//import, loc9_19, loaded [concrete = constants.%facet_type] +// CHECK:STDOUT: %Main.import_ref.9fd: init type = import_ref Main//import, loc9_19, loaded [concrete = constants.%facet_type] // CHECK:STDOUT: %Main.import_ref.423e3a.2: %N.type = import_ref Main//import, loc7_14, loaded [symbolic = constants.%Self.f45] // CHECK:STDOUT: %Main.import_ref.364 = import_ref Main//import, loc7_14, unloaded // CHECK:STDOUT: } @@ -191,10 +192,10 @@ fn F(generic _: N) {} // CHECK:STDOUT: %default.import.loc1_22.2 = import // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %_.patt.loc5_15.1: %pattern_type.9a5 = symbolic_binding_pattern _, 0 [symbolic = %_.patt.loc5_15.2 (constants.%_.patt)] +// CHECK:STDOUT: %_.patt.loc5_15.1: %pattern_type.9a587c.2 = symbolic_binding_pattern _, 0 [symbolic = %_.patt.loc5_15.2 (constants.%_.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5: type = splice_block %N.ref [concrete = constants.%N.type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %N.ref: type = name_ref N, imports.%Main.N [concrete = constants.%N.type] // CHECK:STDOUT: } // CHECK:STDOUT: %_.loc5_15.2: %N.type = symbolic_binding _, 0 [symbolic = %_.loc5_15.1 (constants.%_)] @@ -223,7 +224,7 @@ fn F(generic _: N) {} // CHECK:STDOUT: // CHECK:STDOUT: !requires: // CHECK:STDOUT: @N.WithSelf.Self.as_type.impls.facet_type.require { -// CHECK:STDOUT: require imports.%Main.import_ref.5f6 impls imports.%Main.import_ref.9c9 +// CHECK:STDOUT: require imports.%Main.import_ref.5f6 impls imports.%Main.import_ref.9fd // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -233,7 +234,7 @@ fn F(generic _: N) {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%_.loc5_15.2: %N.type) { -// CHECK:STDOUT: %_.patt.loc5_15.2: %pattern_type.9a5 = symbolic_binding_pattern _, 0 [symbolic = %_.patt.loc5_15.2 (constants.%_.patt)] +// CHECK:STDOUT: %_.patt.loc5_15.2: %pattern_type.9a587c.2 = symbolic_binding_pattern _, 0 [symbolic = %_.patt.loc5_15.2 (constants.%_.patt)] // CHECK:STDOUT: %_.loc5_15.1: %N.type = symbolic_binding _, 0 [symbolic = %_.loc5_15.1 (constants.%_)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/named_constraint/require.carbon b/toolchain/check/testdata/named_constraint/require.carbon index bde8340d150a..fe1c6aee8338 100644 --- a/toolchain/check/testdata/named_constraint/require.carbon +++ b/toolchain/check/testdata/named_constraint/require.carbon @@ -758,6 +758,7 @@ constraint N { // CHECK:STDOUT: --- extend.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Y.assoc_type: type = assoc_entity_type @Y [concrete] @@ -884,6 +885,7 @@ constraint N { // CHECK:STDOUT: --- extend_with_self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Y.type.cb4: type = generic_interface_type @Y [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -895,8 +897,8 @@ constraint N { // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.d87 [symbolic] // CHECK:STDOUT: %Y.type.f41: type = facet_type <@Y, @Y(%Self.as_type)> [symbolic] // CHECK:STDOUT: %require_complete.097: = require_complete_type %Y.type.f41 [symbolic] -// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type %Z.type [concrete] -// CHECK:STDOUT: %T.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %pattern_type.9a587c.2: type = pattern_type %Z.type [concrete] +// CHECK:STDOUT: %T.patt.3a0592.2: %pattern_type.9a587c.2 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.f45: %Z.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type: type = facet_access_type %T.f45 [symbolic] // CHECK:STDOUT: %pattern_type.86a: type = pattern_type %T.as_type [symbolic] @@ -1019,7 +1021,7 @@ constraint N { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(constants.%T.f45) { -// CHECK:STDOUT: %T.patt.loc13_15.2 => constants.%T.patt.3a0 +// CHECK:STDOUT: %T.patt.loc13_15.2 => constants.%T.patt.3a0592.2 // CHECK:STDOUT: %T.loc13_15.1 => constants.%T.f45 // CHECK:STDOUT: %T.as_type.loc13_23.1 => constants.%T.as_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.86a @@ -1044,6 +1046,7 @@ constraint N { // CHECK:STDOUT: --- implicit_self_impls.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self.d87: %Z.type = symbolic_binding Self, 0 [symbolic] @@ -1103,6 +1106,7 @@ constraint N { // CHECK:STDOUT: --- explicit_self_impls.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self.d87: %Z.type = symbolic_binding Self, 0 [symbolic] @@ -1164,6 +1168,7 @@ constraint N { // CHECK:STDOUT: --- explicit_self_specific_impls.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] @@ -1223,6 +1228,7 @@ constraint N { // CHECK:STDOUT: --- require_impls_where.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %Y.assoc_type: type = assoc_entity_type @Y [concrete] // CHECK:STDOUT: %assoc0: %Y.assoc_type = assoc_entity element0, @Y.WithSelf.%Y1 [concrete] @@ -1299,6 +1305,7 @@ constraint N { // CHECK:STDOUT: --- fail_require_impls_incomplete_constraint.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Self: %Z.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: } @@ -1324,8 +1331,8 @@ constraint N { // CHECK:STDOUT: --- fail_require_impls_without_self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -1340,7 +1347,7 @@ constraint N { // CHECK:STDOUT: %T.patt.loc8_15.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc8_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T)] @@ -1380,6 +1387,7 @@ constraint N { // CHECK:STDOUT: --- require_self_in_requirement.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type: type = facet_type <@Y> [concrete] // CHECK:STDOUT: %Y.assoc_type: type = assoc_entity_type @Y [concrete] // CHECK:STDOUT: %assoc0: %Y.assoc_type = assoc_entity element0, @Y.WithSelf.%Y1 [concrete] @@ -1457,27 +1465,26 @@ constraint N { // CHECK:STDOUT: --- require_with_period_self_impls.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] // CHECK:STDOUT: %Y.type.cb4: type = generic_interface_type @Y [concrete] // CHECK:STDOUT: %Y.generic: %Y.type.cb4 = struct_value () [concrete] // CHECK:STDOUT: %N.type: type = facet_type <@N> [concrete] // CHECK:STDOUT: %Self.d87: %N.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type.138: type = facet_access_type %Self.d87 [symbolic] // CHECK:STDOUT: %.Self.frozen.7b7: %Z.type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.frozen.as_type.e08: type = facet_access_type %.Self.frozen.7b7 [symbolic_self] -// CHECK:STDOUT: %Y.type.d83: type = facet_type <@Y, @Y(%.Self.frozen.as_type.e08)> [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.7b7 [symbolic_self] +// CHECK:STDOUT: %Y.type.d83: type = facet_type <@Y, @Y(%.Self.frozen.as_type)> [symbolic_self] // CHECK:STDOUT: %.Self.9b4: %Z.type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.as_type.179: type = facet_access_type %.Self.9b4 [symbolic_self] -// CHECK:STDOUT: %Y.type.c15: type = facet_type <@Y, @Y(%.Self.as_type.179)> [symbolic_self] -// CHECK:STDOUT: %Z_where.type.794: type = facet_type <@Z where .Self impls @Y, @Y(%.Self.as_type.179)> [concrete] +// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.9b4 [symbolic_self] +// CHECK:STDOUT: %Y.type.c15: type = facet_type <@Y, @Y(%.Self.as_type)> [symbolic_self] +// CHECK:STDOUT: %Z_where.type.794: type = facet_type <@Z where .Self impls @Y, @Y(%.Self.as_type)> [concrete] // CHECK:STDOUT: %Z_where.type.0d5: type = facet_type <@Z where .Self impls @Y, @Y(%Self.as_type.138)> [symbolic] -// CHECK:STDOUT: %.Self.e0b: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.as_type.007: type = facet_access_type %.Self.e0b [symbolic_self] -// CHECK:STDOUT: %facet_type.eeb: type = facet_type <@Z & @Y, @Y(%.Self.as_type.007)> [symbolic_self] -// CHECK:STDOUT: %T.c35: %facet_type.eeb = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %T.as_type: type = facet_access_type %T.c35 [symbolic] -// CHECK:STDOUT: %Z_where.type.eca: type = facet_type <@Z where .Self impls @Y, @Y(%T.as_type)> [symbolic] +// CHECK:STDOUT: %.Self.c86: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %facet_type.de2: type = facet_type <@Z & @Y, @Y(%.Self.c86)> [symbolic_self] +// CHECK:STDOUT: %T.5cb: %facet_type.de2 = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %T.as_type: type = facet_access_type %T.5cb [symbolic] +// CHECK:STDOUT: %Z_where.type.722: type = facet_type <@Z where .Self impls @Y, @Y(%T.as_type)> [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1499,17 +1506,17 @@ constraint N { // CHECK:STDOUT: %.Self.ref.loc10_25.1: %Z.type = name_ref .Self, %.Self.frozen [symbolic_self = constants.%.Self.frozen.7b7] // CHECK:STDOUT: %Y.ref: %Y.type.cb4 = name_ref Y, file.%Y.decl [concrete = constants.%Y.generic] // CHECK:STDOUT: %.Self.ref.loc10_39: %Z.type = name_ref .Self, %.Self.frozen [symbolic_self = constants.%.Self.frozen.7b7] -// CHECK:STDOUT: %.Self.as_type.loc10_44: type = facet_access_type %.Self.ref.loc10_39 [symbolic_self = constants.%.Self.frozen.as_type.e08] -// CHECK:STDOUT: %.loc10_44: type = converted %.Self.ref.loc10_39, %.Self.as_type.loc10_44 [symbolic_self = constants.%.Self.frozen.as_type.e08] -// CHECK:STDOUT: %Y.type.loc10_44.1: type = facet_type <@Y, @Y(constants.%.Self.frozen.as_type.e08)> [symbolic_self = constants.%Y.type.d83] -// CHECK:STDOUT: %.Self.as_type.loc10_25.1: type = facet_access_type %.Self.ref.loc10_25.1 [symbolic_self = constants.%.Self.frozen.as_type.e08] -// CHECK:STDOUT: %.loc10_25.1: type = converted %.Self.ref.loc10_25.1, %.Self.as_type.loc10_25.1 [symbolic_self = constants.%.Self.frozen.as_type.e08] +// CHECK:STDOUT: %.Self.as_type.loc10_44: type = facet_access_type %.Self.ref.loc10_39 [symbolic_self = constants.%.Self.frozen.as_type] +// CHECK:STDOUT: %.loc10_44: type = converted %.Self.ref.loc10_39, %.Self.as_type.loc10_44 [symbolic_self = constants.%.Self.frozen.as_type] +// CHECK:STDOUT: %Y.type.loc10_44.1: type = facet_type <@Y, @Y(constants.%.Self.frozen.as_type)> [symbolic_self = constants.%Y.type.d83] +// CHECK:STDOUT: %.Self.as_type.loc10_25.1: type = facet_access_type %.Self.ref.loc10_25.1 [symbolic_self = constants.%.Self.frozen.as_type] +// CHECK:STDOUT: %.loc10_25.1: type = converted %.Self.ref.loc10_25.1, %.Self.as_type.loc10_25.1 [symbolic_self = constants.%.Self.frozen.as_type] // CHECK:STDOUT: %impls.loc10_31.1 = requirement_impls %.loc10_25.1, %Y.type.loc10_44.1 [concrete] // CHECK:STDOUT: %.Self: %Z.type = symbolic_binding .Self [symbolic_self = constants.%.Self.9b4] // CHECK:STDOUT: %.Self.ref.loc10_25.2: %Z.type = name_ref .Self, %.Self [symbolic_self = constants.%.Self.9b4] -// CHECK:STDOUT: %.Self.as_type.loc10_25.2: type = facet_access_type %.Self.ref.loc10_25.2 [symbolic_self = constants.%.Self.as_type.179] -// CHECK:STDOUT: %.loc10_25.2: type = converted %.Self.ref.loc10_25.1, %.Self.as_type.loc10_25.2 [symbolic_self = constants.%.Self.as_type.179] -// CHECK:STDOUT: %Y.type.loc10_44.2: type = facet_type <@Y, @Y(constants.%.Self.as_type.179)> [symbolic_self = constants.%Y.type.c15] +// CHECK:STDOUT: %.Self.as_type.loc10_25.2: type = facet_access_type %.Self.ref.loc10_25.2 [symbolic_self = constants.%.Self.as_type] +// CHECK:STDOUT: %.loc10_25.2: type = converted %.Self.ref.loc10_25.1, %.Self.as_type.loc10_25.2 [symbolic_self = constants.%.Self.as_type] +// CHECK:STDOUT: %Y.type.loc10_44.2: type = facet_type <@Y, @Y(constants.%.Self.as_type)> [symbolic_self = constants.%Y.type.c15] // CHECK:STDOUT: %impls.loc10_31.2 = requirement_impls %.loc10_25.2, %Y.type.loc10_44.2 [concrete] // CHECK:STDOUT: %.loc10_19: type = where_expr [concrete = constants.%Z_where.type.794] { // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %Z.ref [concrete] @@ -1546,19 +1553,20 @@ constraint N { // CHECK:STDOUT: %Z_where.type.loc10_19.3 => constants.%Z_where.type.0d5 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.WithSelf(constants.%T.c35) { +// CHECK:STDOUT: specific @N.WithSelf(constants.%T.5cb) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @N.WithSelf.Self.as_type.impls.Z_where.type.require(constants.%T.c35) { -// CHECK:STDOUT: %Self => constants.%T.c35 +// CHECK:STDOUT: specific @N.WithSelf.Self.as_type.impls.Z_where.type.require(constants.%T.5cb) { +// CHECK:STDOUT: %Self => constants.%T.5cb // CHECK:STDOUT: %Self.as_type.loc10_11.2 => constants.%T.as_type -// CHECK:STDOUT: %Z_where.type.loc10_19.3 => constants.%Z_where.type.eca +// CHECK:STDOUT: %Z_where.type.loc10_19.3 => constants.%Z_where.type.722 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- require_with_specific_period_self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Z.type: type = facet_type <@Z> [concrete] // CHECK:STDOUT: %Y.type.cb4: type = generic_interface_type @Y [concrete] // CHECK:STDOUT: %Y.generic: %Y.type.cb4 = struct_value () [concrete] diff --git a/toolchain/check/testdata/namespace/add_to_import.carbon b/toolchain/check/testdata/namespace/add_to_import.carbon index b63704fdc424..a0670bbbda70 100644 --- a/toolchain/check/testdata/namespace/add_to_import.carbon +++ b/toolchain/check/testdata/namespace/add_to_import.carbon @@ -47,6 +47,7 @@ var a: i32 = NS.A(); // CHECK:STDOUT: --- implicit.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/namespace/alias.carbon b/toolchain/check/testdata/namespace/alias.carbon index 14c091a9dc90..00494aaf37d8 100644 --- a/toolchain/check/testdata/namespace/alias.carbon +++ b/toolchain/check/testdata/namespace/alias.carbon @@ -27,6 +27,7 @@ fn D() -> i32 { return C(); } // CHECK:STDOUT: --- alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/namespace/fail_conflict_after_merge.carbon b/toolchain/check/testdata/namespace/fail_conflict_after_merge.carbon index 8983ead586af..fb7aaa376c02 100644 --- a/toolchain/check/testdata/namespace/fail_conflict_after_merge.carbon +++ b/toolchain/check/testdata/namespace/fail_conflict_after_merge.carbon @@ -73,6 +73,7 @@ fn NS(); // CHECK:STDOUT: --- fail_conflict.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NS.type.20a02b.1: type = fn_type @NS.loc18 [concrete] // CHECK:STDOUT: %NS.bab1af.1: %NS.type.20a02b.1 = struct_value () [concrete] // CHECK:STDOUT: %NS.type.20a02b.2: type = fn_type @NS.loc32 [concrete] diff --git a/toolchain/check/testdata/namespace/fail_conflict_imported_namespace_first.carbon b/toolchain/check/testdata/namespace/fail_conflict_imported_namespace_first.carbon index 668c87b6d336..d55478a1d842 100644 --- a/toolchain/check/testdata/namespace/fail_conflict_imported_namespace_first.carbon +++ b/toolchain/check/testdata/namespace/fail_conflict_imported_namespace_first.carbon @@ -57,6 +57,7 @@ fn NS.Foo(); // CHECK:STDOUT: --- fail_conflict.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NS.type: type = fn_type @NS [concrete] // CHECK:STDOUT: %NS: %NS.type = struct_value () [concrete] // CHECK:STDOUT: %Foo.type: type = fn_type @Foo [concrete] diff --git a/toolchain/check/testdata/namespace/fail_conflict_imported_namespace_nested.carbon b/toolchain/check/testdata/namespace/fail_conflict_imported_namespace_nested.carbon index a08c36b08f6e..b1a6ab14c4b2 100644 --- a/toolchain/check/testdata/namespace/fail_conflict_imported_namespace_nested.carbon +++ b/toolchain/check/testdata/namespace/fail_conflict_imported_namespace_nested.carbon @@ -59,6 +59,7 @@ fn Other.Nested.F(); // CHECK:STDOUT: --- fail_conflict.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/fail_conflict_imported_namespace_second.carbon b/toolchain/check/testdata/namespace/fail_conflict_imported_namespace_second.carbon index bd70548c8de8..dfa71af791e8 100644 --- a/toolchain/check/testdata/namespace/fail_conflict_imported_namespace_second.carbon +++ b/toolchain/check/testdata/namespace/fail_conflict_imported_namespace_second.carbon @@ -47,6 +47,7 @@ fn NS.Foo(); // CHECK:STDOUT: --- fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NS.type: type = fn_type @NS [concrete] // CHECK:STDOUT: %NS: %NS.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -72,6 +73,7 @@ fn NS.Foo(); // CHECK:STDOUT: --- fail_conflict.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NS.type: type = fn_type @NS [concrete] // CHECK:STDOUT: %NS: %NS.type = struct_value () [concrete] // CHECK:STDOUT: %Foo.type: type = fn_type @Foo [concrete] diff --git a/toolchain/check/testdata/namespace/fail_conflict_in_imports_namespace_first.carbon b/toolchain/check/testdata/namespace/fail_conflict_in_imports_namespace_first.carbon index 86a0b77cdc1f..a045a6ac6c31 100644 --- a/toolchain/check/testdata/namespace/fail_conflict_in_imports_namespace_first.carbon +++ b/toolchain/check/testdata/namespace/fail_conflict_in_imports_namespace_first.carbon @@ -46,6 +46,7 @@ fn NS.Bar() {} // CHECK:STDOUT: --- namespace.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Foo.type: type = fn_type @Foo [concrete] // CHECK:STDOUT: %Foo: %Foo.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -77,6 +78,7 @@ fn NS.Bar() {} // CHECK:STDOUT: --- fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NS.type: type = fn_type @NS [concrete] // CHECK:STDOUT: %NS: %NS.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -105,6 +107,7 @@ fn NS.Bar() {} // CHECK:STDOUT: --- fail_conflict.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Bar.type: type = fn_type @Bar [concrete] // CHECK:STDOUT: %Bar: %Bar.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/fail_conflict_in_imports_namespace_second.carbon b/toolchain/check/testdata/namespace/fail_conflict_in_imports_namespace_second.carbon index fef9ddfa1121..7600ada7589e 100644 --- a/toolchain/check/testdata/namespace/fail_conflict_in_imports_namespace_second.carbon +++ b/toolchain/check/testdata/namespace/fail_conflict_in_imports_namespace_second.carbon @@ -46,6 +46,7 @@ fn NS.Bar() {} // CHECK:STDOUT: --- fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %NS.type: type = fn_type @NS [concrete] // CHECK:STDOUT: %NS: %NS.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -74,6 +75,7 @@ fn NS.Bar() {} // CHECK:STDOUT: --- namespace.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Foo.type: type = fn_type @Foo [concrete] // CHECK:STDOUT: %Foo: %Foo.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -105,6 +107,7 @@ fn NS.Bar() {} // CHECK:STDOUT: --- fail_conflict.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Bar.type: type = fn_type @Bar [concrete] // CHECK:STDOUT: %Bar: %Bar.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon b/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon index 5e232917f288..5cbb99a78796 100644 --- a/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon +++ b/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon @@ -29,6 +29,7 @@ fn ns.A() -> i32 { return 0; } // CHECK:STDOUT: --- fail_decl_in_alias.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/namespace/fail_duplicate.carbon b/toolchain/check/testdata/namespace/fail_duplicate.carbon index 39b486f74833..91fa2dc0fa77 100644 --- a/toolchain/check/testdata/namespace/fail_duplicate.carbon +++ b/toolchain/check/testdata/namespace/fail_duplicate.carbon @@ -30,6 +30,7 @@ fn Foo.Baz() { // CHECK:STDOUT: --- fail_duplicate.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Baz.type.280a69.1: type = fn_type @Baz.loc17 [concrete] // CHECK:STDOUT: %Baz.f49bdd.1: %Baz.type.280a69.1 = struct_value () [concrete] // CHECK:STDOUT: %Baz.type.280a69.2: type = fn_type @Baz.loc27 [concrete] diff --git a/toolchain/check/testdata/namespace/fail_not_top_level.carbon b/toolchain/check/testdata/namespace/fail_not_top_level.carbon index 59d0b12ee53c..c421eea0c108 100644 --- a/toolchain/check/testdata/namespace/fail_not_top_level.carbon +++ b/toolchain/check/testdata/namespace/fail_not_top_level.carbon @@ -42,6 +42,7 @@ interface I { // CHECK:STDOUT: --- fail_not_top_level.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type.eb3: type = fn_type @F.loc15 [concrete] // CHECK:STDOUT: %F.708: %F.type.eb3 = struct_value () [concrete] // CHECK:STDOUT: %F.type.23e: type = fn_type @F.loc21 [concrete] diff --git a/toolchain/check/testdata/namespace/fail_params.carbon b/toolchain/check/testdata/namespace/fail_params.carbon index 15a3ad672df8..6d0b49b277a6 100644 --- a/toolchain/check/testdata/namespace/fail_params.carbon +++ b/toolchain/check/testdata/namespace/fail_params.carbon @@ -48,12 +48,12 @@ fn D(unused T: type).F() {} // CHECK:STDOUT: --- fail_params.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type.14e: type = fn_type @F.loc22 [concrete] // CHECK:STDOUT: %F.19f: %F.type.14e = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T.67db0b.1: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %I.type.335: type = generic_interface_type @I [concrete] // CHECK:STDOUT: %I.generic: %I.type.335 = struct_value () [concrete] @@ -87,27 +87,27 @@ fn D(unused T: type).F() {} // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl.loc22: %F.type.14e = fn_decl @F.loc22 [concrete = constants.%F.19f] {} {} // CHECK:STDOUT: %.loc28_16.1: type = splice_block %.loc28_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc28: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc28: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc28_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc28: type = symbolic_binding T, 0 [symbolic = constants.%T.67db0b.1] // CHECK:STDOUT: %B: = namespace [concrete] {} // CHECK:STDOUT: %I.decl: %I.type.335 = interface_decl @I [concrete = constants.%I.generic] { -// CHECK:STDOUT: %T.patt.loc30_14.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc30_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc30_14.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc30_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc30_16.1: type = splice_block %.loc30_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc30_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc30_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc30_14.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc36_16.1: type = splice_block %.loc36_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc36_14: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc36_14: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc36_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc36: type = symbolic_binding T, 0 [symbolic = constants.%T.67db0b.1] // CHECK:STDOUT: %.loc36_28: type = splice_block %I.type [symbolic = constants.%I.type.3fe] { -// CHECK:STDOUT: %.Self.frozen.loc36_23: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc36_23: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %I.ref: %I.type.335 = name_ref I, %I.decl [concrete = constants.%I.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc36 [symbolic = constants.%T.67db0b.1] // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(constants.%T.67db0b.1)> [symbolic = constants.%I.type.3fe] @@ -117,7 +117,7 @@ fn D(unused T: type).F() {} // CHECK:STDOUT: %D: = namespace [concrete] {} // CHECK:STDOUT: %F.decl.loc46: %F.type.eb3 = fn_decl @F.loc46 [concrete = constants.%F.708] {} { // CHECK:STDOUT: %.loc46_16.1: type = splice_block %.loc46_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc46_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc46_14.3: type = symbolic_binding T, 0 [symbolic = %T.loc46_14.2 (constants.%T.67db0b.2)] @@ -125,7 +125,7 @@ fn D(unused T: type).F() {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @I(%T.loc30_14.2: type) { -// CHECK:STDOUT: %T.patt.loc30_14.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc30_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc30_14.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc30_14.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc30_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc30_14.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -150,7 +150,7 @@ fn D(unused T: type).F() {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F.loc46(%T.loc46_14.3: type) { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] // CHECK:STDOUT: %T.loc46_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc46_14.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %T.loc46_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc46_14.2 (constants.%T.67db0b.2)] // CHECK:STDOUT: diff --git a/toolchain/check/testdata/namespace/fail_unresolved_scope.carbon b/toolchain/check/testdata/namespace/fail_unresolved_scope.carbon index 2b86079e43c3..1a25d643473d 100644 --- a/toolchain/check/testdata/namespace/fail_unresolved_scope.carbon +++ b/toolchain/check/testdata/namespace/fail_unresolved_scope.carbon @@ -22,6 +22,7 @@ fn Foo.Baz() { // CHECK:STDOUT: --- fail_unresolved_scope.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Baz.type: type = fn_type @Baz [concrete] // CHECK:STDOUT: %Baz: %Baz.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/function.carbon b/toolchain/check/testdata/namespace/function.carbon index 2741fa6ed7a6..16eb396441af 100644 --- a/toolchain/check/testdata/namespace/function.carbon +++ b/toolchain/check/testdata/namespace/function.carbon @@ -28,6 +28,7 @@ fn Bar() { // CHECK:STDOUT: --- function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Baz.type.dc3: type = fn_type @Baz.loc18 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Baz.29d: %Baz.type.dc3 = struct_value () [concrete] diff --git a/toolchain/check/testdata/namespace/imported.carbon b/toolchain/check/testdata/namespace/imported.carbon index 5c56489f861c..e9963d0b1c55 100644 --- a/toolchain/check/testdata/namespace/imported.carbon +++ b/toolchain/check/testdata/namespace/imported.carbon @@ -35,6 +35,7 @@ var package_b: () = package.NS.ChildNS.B(); // CHECK:STDOUT: --- implicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: %B.type: type = fn_type @B [concrete] @@ -72,6 +73,7 @@ var package_b: () = package.NS.ChildNS.B(); // CHECK:STDOUT: --- implicit.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/namespace/imported_indirect.carbon b/toolchain/check/testdata/namespace/imported_indirect.carbon index 242ee0f1a805..b919a2242519 100644 --- a/toolchain/check/testdata/namespace/imported_indirect.carbon +++ b/toolchain/check/testdata/namespace/imported_indirect.carbon @@ -95,6 +95,7 @@ fn G() { Same.F(); } // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -122,6 +123,7 @@ fn G() { Same.F(); } // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %.46c: Core.Form = init_form %C [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] @@ -201,6 +203,7 @@ fn G() { Same.F(); } // CHECK:STDOUT: --- d.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %D.type: type = fn_type @D [concrete] // CHECK:STDOUT: %D: %D.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -242,6 +245,7 @@ fn G() { Same.F(); } // CHECK:STDOUT: --- e.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -307,6 +311,7 @@ fn G() { Same.F(); } // CHECK:STDOUT: --- fail_named_indirectly_same_package.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] @@ -353,6 +358,7 @@ fn G() { Same.F(); } // CHECK:STDOUT: --- fail_named_indirectly_different_package.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] diff --git a/toolchain/check/testdata/namespace/merging.carbon b/toolchain/check/testdata/namespace/merging.carbon index bc087b23ee5a..aaf1cfbbbe22 100644 --- a/toolchain/check/testdata/namespace/merging.carbon +++ b/toolchain/check/testdata/namespace/merging.carbon @@ -53,6 +53,7 @@ fn Run() { // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -84,6 +85,7 @@ fn Run() { // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B1.type: type = fn_type @B1 [concrete] // CHECK:STDOUT: %B1: %B1.type = struct_value () [concrete] // CHECK:STDOUT: %B2.type: type = fn_type @B2 [concrete] @@ -128,6 +130,7 @@ fn Run() { // CHECK:STDOUT: --- c.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C.type: type = fn_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %C: %C.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/namespace/merging_with_indirections.carbon b/toolchain/check/testdata/namespace/merging_with_indirections.carbon index 7a298baf55d2..d4932e26b84e 100644 --- a/toolchain/check/testdata/namespace/merging_with_indirections.carbon +++ b/toolchain/check/testdata/namespace/merging_with_indirections.carbon @@ -48,6 +48,7 @@ fn Run() { // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -83,6 +84,7 @@ fn Run() { // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -163,6 +165,7 @@ fn Run() { // CHECK:STDOUT: --- main.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Run.type: type = fn_type @Run [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Run: %Run.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/namespace/nested.carbon b/toolchain/check/testdata/namespace/nested.carbon index f9eaf7f9147b..bab6032f2b6f 100644 --- a/toolchain/check/testdata/namespace/nested.carbon +++ b/toolchain/check/testdata/namespace/nested.carbon @@ -25,6 +25,7 @@ fn Foo.Bar.Baz() { // CHECK:STDOUT: --- nested.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Wiz.type: type = fn_type @Wiz [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Wiz: %Wiz.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/namespace/shadow.carbon b/toolchain/check/testdata/namespace/shadow.carbon index a5d01fd8c7f2..95d0c2fdf25e 100644 --- a/toolchain/check/testdata/namespace/shadow.carbon +++ b/toolchain/check/testdata/namespace/shadow.carbon @@ -34,6 +34,7 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: --- shadow.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type.9f4: type = fn_type @A.loc15 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %A.921: %A.type.9f4 = struct_value () [concrete] diff --git a/toolchain/check/testdata/namespace/unqualified_lookup.carbon b/toolchain/check/testdata/namespace/unqualified_lookup.carbon index 2de7140c025e..9f3d129c3410 100644 --- a/toolchain/check/testdata/namespace/unqualified_lookup.carbon +++ b/toolchain/check/testdata/namespace/unqualified_lookup.carbon @@ -37,6 +37,7 @@ fn OuterN.InnerN.CallABC() { // CHECK:STDOUT: --- unqualified_lookup.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/operators/builtin/and.carbon b/toolchain/check/testdata/operators/builtin/and.carbon index af8d51130d92..c51a5ab97d86 100644 --- a/toolchain/check/testdata/operators/builtin/and.carbon +++ b/toolchain/check/testdata/operators/builtin/and.carbon @@ -33,6 +33,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: --- and.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %.f34: Core.Form = init_form bool [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %return.param_patt.5a1: %pattern_type.831 = out_param_pattern [concrete] diff --git a/toolchain/check/testdata/operators/builtin/assignment.carbon b/toolchain/check/testdata/operators/builtin/assignment.carbon index 0d1b2603e950..8af5028e2a27 100644 --- a/toolchain/check/testdata/operators/builtin/assignment.carbon +++ b/toolchain/check/testdata/operators/builtin/assignment.carbon @@ -33,6 +33,7 @@ fn Main() { // CHECK:STDOUT: --- assignment.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] @@ -65,8 +66,8 @@ fn Main() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f46: = bound_method %int_9.988, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %bound_method.9bf: = bound_method %int_9.988, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_9.056: %i32 = int_value 9 [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.b59: %tuple.type.24b = tuple_value (%i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.94e: %tuple.type.693 = tuple_value (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e55: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %pattern_type.394: type = pattern_type %tuple.type.e55 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.394 = ref_binding_pattern b [concrete] @@ -213,7 +214,7 @@ fn Main() { // CHECK:STDOUT: %.loc19_19.1: type = splice_block %.loc19_19.3 [concrete = constants.%tuple.type.e55] { // CHECK:STDOUT: %i32.loc19_11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc19_16: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc19_19.2: %tuple.type.24b = tuple_literal (%i32.loc19_11, %i32.loc19_16) [concrete = constants.%tuple.b59] +// CHECK:STDOUT: %.loc19_19.2: %tuple.type.693 = tuple_literal (%i32.loc19_11, %i32.loc19_16) [concrete = constants.%tuple.94e] // CHECK:STDOUT: %.loc19_19.3: type = converted %.loc19_19.2, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %tuple.type.e55 = wrapper_binding b, %b.var diff --git a/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon b/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon index 047685db8362..0aaf251e6f80 100644 --- a/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon @@ -90,15 +90,16 @@ fn F() { // CHECK:STDOUT: --- fail_and.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness .inst{{[0-9A-F]+}} [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.f3e: = impl_witness .inst{{[0-9A-F]+}} [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.f3e) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.571: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.39e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.571, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -118,7 +119,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result: // CHECK:STDOUT: %.loc6: type = block_arg !if.expr.result -// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.39e = impl_witness_access constants.%Copy.impl_witness.f3e, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc6, %impl.elem0 // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%.loc6) // CHECK:STDOUT: return %type.as.Copy.impl.Op.call @@ -129,15 +130,16 @@ fn F() { // CHECK:STDOUT: --- fail_or.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness .inst{{[0-9A-F]+}} [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.f3e: = impl_witness .inst{{[0-9A-F]+}} [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.f3e) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.571: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.39e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.571, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -157,7 +159,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result: // CHECK:STDOUT: %.loc6: type = block_arg !if.expr.result -// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.39e = impl_witness_access constants.%Copy.impl_witness.f3e, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc6, %impl.elem0 // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%.loc6) // CHECK:STDOUT: return %type.as.Copy.impl.Op.call @@ -168,6 +170,7 @@ fn F() { // CHECK:STDOUT: --- fail_nested.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type bool [concrete] // CHECK:STDOUT: %B.patt: %pattern_type = symbolic_binding_pattern B, 0 [symbolic] // CHECK:STDOUT: %B.a76: bool = symbolic_binding B, 0 [symbolic] diff --git a/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon b/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon index 44fa99d1127f..c83fcf6eecf2 100644 --- a/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon @@ -51,6 +51,7 @@ fn KnownValueButNonConstantCondition(x: bool) { // CHECK:STDOUT: --- fail_non_constant_result.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.831 = value_param_pattern [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.831 = wrapper_binding_pattern x, %x.param_patt [concrete] @@ -171,6 +172,7 @@ fn KnownValueButNonConstantCondition(x: bool) { // CHECK:STDOUT: --- fail_despite_known_result.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.831 = value_param_pattern [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.831 = wrapper_binding_pattern x, %x.param_patt [concrete] diff --git a/toolchain/check/testdata/operators/builtin/fail_assignment_to_error.carbon b/toolchain/check/testdata/operators/builtin/fail_assignment_to_error.carbon index 4c3769b6797f..341c253e913b 100644 --- a/toolchain/check/testdata/operators/builtin/fail_assignment_to_error.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_assignment_to_error.carbon @@ -28,6 +28,7 @@ fn Main() { // CHECK:STDOUT: --- fail_assignment_to_error.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [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 d33f78fe7783..2bb7b4a73005 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 @@ -64,6 +64,7 @@ fn Main() { // CHECK:STDOUT: --- fail_assignment_to_non_assignable.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -124,10 +125,10 @@ fn Main() { // CHECK:STDOUT: %int_2.295: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %tuple.102: %tuple.type.e55 = tuple_value (%int_1.0c6, %int_2.295) [concrete] // CHECK:STDOUT: %ptr.d08: type = ptr_type %i32 [concrete] -// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness imports.%Copy.impl_witness_table.7b6 [concrete] -// CHECK:STDOUT: %Copy.facet.95f: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95f) [concrete] -// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet.95f [concrete] +// CHECK:STDOUT: %Copy.impl_witness.f3e: = impl_witness imports.%Copy.impl_witness_table.aa5 [concrete] +// CHECK:STDOUT: %Copy.facet.8fa: %Copy.type = facet_value type, (%Copy.impl_witness.f3e) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.571: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.8fa) [concrete] +// CHECK:STDOUT: %.39e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.571, %Copy.facet.8fa [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.bound: = bound_method %ptr.d08, %type.as.Copy.impl.Op [concrete] @@ -175,7 +176,7 @@ fn Main() { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] // CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.9c3475.2: %type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.7b6 = impl_witness_table (%Core.import_ref.9c3475.2), @type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.aa5 = impl_witness_table (%Core.import_ref.9c3475.2), @type.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] // CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] @@ -289,7 +290,7 @@ fn Main() { // CHECK:STDOUT: %i32.loc43_3: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc43_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc43_9 [concrete = constants.%ptr.d08] -// CHECK:STDOUT: %impl.elem0.loc43: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc43: %.39e = impl_witness_access constants.%Copy.impl_witness.f3e, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc43: = bound_method %ptr, %impl.elem0.loc43 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method.loc43(%ptr) [concrete = constants.%ptr.d08] // CHECK:STDOUT: assign %i32.loc43_3, %type.as.Copy.impl.Op.call 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 7049f7ec759d..c59cbe0d1817 100644 --- a/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon @@ -31,6 +31,7 @@ fn Main() { // CHECK:STDOUT: --- fail_redundant_compound_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon b/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon index 4379e71ecfa5..7ccee6163bb9 100644 --- a/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon @@ -26,6 +26,7 @@ fn Main() { // CHECK:STDOUT: --- fail_type_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Main: %Main.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 8d31085f8524..a8299e06e4f4 100644 --- a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon @@ -27,6 +27,7 @@ fn Main() { // CHECK:STDOUT: --- fail_type_mismatch_assignment.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_once.carbon b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_once.carbon index 38372be4610e..2d0c6b8d2478 100644 --- a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_once.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_once.carbon @@ -25,6 +25,7 @@ fn Main() -> i32 { // CHECK:STDOUT: --- fail_type_mismatch_once.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/operators/builtin/fail_unimplemented_op.carbon b/toolchain/check/testdata/operators/builtin/fail_unimplemented_op.carbon index 2f41e2c918b4..2c7a10a76a9b 100644 --- a/toolchain/check/testdata/operators/builtin/fail_unimplemented_op.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_unimplemented_op.carbon @@ -23,6 +23,7 @@ fn Main() -> i32 { // CHECK:STDOUT: --- fail_unimplemented_op.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/operators/builtin/or.carbon b/toolchain/check/testdata/operators/builtin/or.carbon index f54d9191ff1b..991a5b1b5d60 100644 --- a/toolchain/check/testdata/operators/builtin/or.carbon +++ b/toolchain/check/testdata/operators/builtin/or.carbon @@ -33,6 +33,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: --- or.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %.f34: Core.Form = init_form bool [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %return.param_patt.5a1: %pattern_type.831 = out_param_pattern [concrete] diff --git a/toolchain/check/testdata/operators/builtin/unary_op.carbon b/toolchain/check/testdata/operators/builtin/unary_op.carbon index 903de51ba06f..1e7852a08db3 100644 --- a/toolchain/check/testdata/operators/builtin/unary_op.carbon +++ b/toolchain/check/testdata/operators/builtin/unary_op.carbon @@ -27,6 +27,7 @@ fn Constant() { // CHECK:STDOUT: --- unary_op.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %b.param_patt: %pattern_type.831 = value_param_pattern [concrete] // CHECK:STDOUT: %b.patt.d80: %pattern_type.831 = wrapper_binding_pattern b, %b.param_patt [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/add.carbon b/toolchain/check/testdata/operators/overloaded/add.carbon index ac0c401dc2cf..6e8056e59083 100644 --- a/toolchain/check/testdata/operators/overloaded/add.carbon +++ b/toolchain/check/testdata/operators/overloaded/add.carbon @@ -42,6 +42,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: --- add.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %AddWith.type.2bd: type = facet_type <@AddWith, @AddWith(%C)> [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/bit_and.carbon b/toolchain/check/testdata/operators/overloaded/bit_and.carbon index db8cab2dc478..1edc0e8a0646 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_and.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_and.carbon @@ -42,6 +42,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: --- bit_and.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %BitAndWith.type.8cc: type = facet_type <@BitAndWith, @BitAndWith(%C)> [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/bit_complement.carbon b/toolchain/check/testdata/operators/overloaded/bit_complement.carbon index ad2b28eb6280..04c4d283fe67 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_complement.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_complement.carbon @@ -33,6 +33,7 @@ fn TestOp(a: C) -> C { // CHECK:STDOUT: --- bit_complement.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %BitComplement.type: type = facet_type <@BitComplement> [concrete] // CHECK:STDOUT: %BitComplement.impl_witness: = impl_witness @C.as.BitComplement.impl.%BitComplement.impl_witness_table [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/bit_or.carbon b/toolchain/check/testdata/operators/overloaded/bit_or.carbon index 2f3c4d7150dd..8610addace84 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_or.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_or.carbon @@ -42,6 +42,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: --- bit_or.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %BitOrWith.type.f57: type = facet_type <@BitOrWith, @BitOrWith(%C)> [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/bit_xor.carbon b/toolchain/check/testdata/operators/overloaded/bit_xor.carbon index 82d53556fcb1..f663d5e9b39d 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_xor.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_xor.carbon @@ -42,6 +42,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: --- bit_xor.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %BitXorWith.type.5f3: type = facet_type <@BitXorWith, @BitXorWith(%C)> [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/dec.carbon b/toolchain/check/testdata/operators/overloaded/dec.carbon index 0e0aa54037de..cf1d981213e7 100644 --- a/toolchain/check/testdata/operators/overloaded/dec.carbon +++ b/toolchain/check/testdata/operators/overloaded/dec.carbon @@ -32,6 +32,7 @@ fn TestOp() { // CHECK:STDOUT: --- dec.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %Dec.type: type = facet_type <@Dec> [concrete] // CHECK:STDOUT: %Dec.impl_witness: = impl_witness @C.as.Dec.impl.%Dec.impl_witness_table [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/div.carbon b/toolchain/check/testdata/operators/overloaded/div.carbon index 659a25eeed41..91c8472a8b1e 100644 --- a/toolchain/check/testdata/operators/overloaded/div.carbon +++ b/toolchain/check/testdata/operators/overloaded/div.carbon @@ -42,6 +42,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: --- div.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %DivWith.type.148: type = facet_type <@DivWith, @DivWith(%C)> [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon b/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon index 9e99b9afcd46..b0995b02b69b 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon @@ -48,6 +48,7 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: --- fail_assign_non_ref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/fail_error_recovery.carbon b/toolchain/check/testdata/operators/overloaded/fail_error_recovery.carbon index bac09712370a..24c1497ab4a5 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_error_recovery.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_error_recovery.carbon @@ -34,6 +34,7 @@ fn G(n: i32) { // CHECK:STDOUT: --- fail_error_recovery.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon b/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon index 1cd26823674b..86fd9d3dcf92 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon @@ -49,6 +49,7 @@ fn TestRef(b: C) { // CHECK:STDOUT: --- fail_no_impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon index 8eb274159789..ac0e50ed84d0 100644 --- a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon +++ b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon @@ -39,6 +39,7 @@ fn Test() { // CHECK:STDOUT: --- implicit_as.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -54,7 +55,7 @@ fn Test() { // CHECK:STDOUT: %complete_type.cdf: = complete_type_witness %struct_type.n [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] // CHECK:STDOUT: %ImplicitAs.type.7cc: type = facet_type <@ImplicitAs, @ImplicitAs(%X)> [concrete] // CHECK:STDOUT: %.6b4: = impl_self_witness %i32, @ImplicitAs, @ImplicitAs(%X) [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness.70f: = impl_witness @i32.as.ImplicitAs.impl.%ImplicitAs.impl_witness_table [concrete] @@ -72,7 +73,7 @@ fn Test() { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt.3a0: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] @@ -100,8 +101,7 @@ fn Test() { // CHECK:STDOUT: %x.patt: %pattern_type.6cb = wrapper_binding_pattern x, %x.param_patt [concrete] // CHECK:STDOUT: %Sink_X.type: type = fn_type @Sink_X [concrete] // CHECK:STDOUT: %Sink_X: %Sink_X.type = struct_value () [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.184347.2: Core.Form = init_form %T.67d [symbolic] // CHECK:STDOUT: %pattern_type.51d1c4.2: type = pattern_type %T.67d [symbolic] // CHECK:STDOUT: %return.param_patt.41d2d9.2: %pattern_type.51d1c4.2 = out_param_pattern [symbolic] @@ -182,14 +182,14 @@ fn Test() { // CHECK:STDOUT: %x: %X = wrapper_binding x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %Source.decl: %Source.type = fn_decl @Source [concrete = constants.%Source] { -// CHECK:STDOUT: %T.patt.loc31_20.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc31_20.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc31_20.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc31_20.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %return.param_patt.loc31_31.1: @Source.%pattern_type (%pattern_type.51d1c4.2) = out_param_pattern [symbolic = %return.param_patt.loc31_31.2 (constants.%return.param_patt.41d2d9.2)] // CHECK:STDOUT: %return.patt.loc31_28.1: @Source.%pattern_type (%pattern_type.51d1c4.2) = return_slot_pattern %return.param_patt.loc31_31.1, %T.ref.loc31_31 [symbolic = %return.patt.loc31_28.2 (constants.%return.patt.b39)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc31_31: type = name_ref T, %T.loc31_20.2 [symbolic = %T.loc31_20.1 (constants.%T.67d)] // CHECK:STDOUT: %.loc31_31.3: Core.Form = init_form %T.ref.loc31_31 [symbolic = %.loc31_31.2 (constants.%.184347.2)] // CHECK:STDOUT: %.loc31_22.1: type = splice_block %.loc31_22.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc31_22.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc31_20.2: type = symbolic_binding T, 0 [symbolic = %T.loc31_20.1 (constants.%T.67d)] @@ -296,7 +296,7 @@ fn Test() { // CHECK:STDOUT: fn @Sink_X(%x.param: %X); // CHECK:STDOUT: // CHECK:STDOUT: generic fn @Source(%T.loc31_20.2: type) { -// CHECK:STDOUT: %T.patt.loc31_20.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc31_20.2 (constants.%T.patt.d47)] +// CHECK:STDOUT: %T.patt.loc31_20.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc31_20.2 (constants.%T.patt.3a0)] // CHECK:STDOUT: %T.loc31_20.1: type = symbolic_binding T, 0 [symbolic = %T.loc31_20.1 (constants.%T.67d)] // CHECK:STDOUT: %.loc31_31.2: Core.Form = init_form %T.loc31_20.1 [symbolic = %.loc31_31.2 (constants.%.184347.2)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc31_20.1 [symbolic = %pattern_type (constants.%pattern_type.51d1c4.2)] @@ -374,7 +374,7 @@ fn Test() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Source(constants.%T.67d) { -// CHECK:STDOUT: %T.patt.loc31_20.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc31_20.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc31_20.1 => constants.%T.67d // CHECK:STDOUT: %.loc31_31.2 => constants.%.184347.2 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d1c4.2 @@ -387,7 +387,7 @@ fn Test() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Source(constants.%X) { -// CHECK:STDOUT: %T.patt.loc31_20.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc31_20.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc31_20.1 => constants.%X // CHECK:STDOUT: %.loc31_31.2 => constants.%.325 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6cb @@ -400,7 +400,7 @@ fn Test() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Source(constants.%i32) { -// CHECK:STDOUT: %T.patt.loc31_20.2 => constants.%T.patt.d47 +// CHECK:STDOUT: %T.patt.loc31_20.2 => constants.%T.patt.3a0 // CHECK:STDOUT: %T.loc31_20.1 => constants.%i32 // CHECK:STDOUT: %.loc31_31.2 => constants.%.795f // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6b6 diff --git a/toolchain/check/testdata/operators/overloaded/inc.carbon b/toolchain/check/testdata/operators/overloaded/inc.carbon index 04762c35d06d..e56994b95bef 100644 --- a/toolchain/check/testdata/operators/overloaded/inc.carbon +++ b/toolchain/check/testdata/operators/overloaded/inc.carbon @@ -32,6 +32,7 @@ fn TestOp() { // CHECK:STDOUT: --- inc.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %Inc.type: type = facet_type <@Inc> [concrete] // CHECK:STDOUT: %Inc.impl_witness: = impl_witness @C.as.Inc.impl.%Inc.impl_witness_table [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/index.carbon b/toolchain/check/testdata/operators/overloaded/index.carbon index d1eaf28c1070..6b9a318734f9 100644 --- a/toolchain/check/testdata/operators/overloaded/index.carbon +++ b/toolchain/check/testdata/operators/overloaded/index.carbon @@ -79,6 +79,7 @@ fn F() { // CHECK:STDOUT: --- core_wrong_index_with.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %IndexWith: type = class_type @IndexWith [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -124,6 +125,7 @@ fn F() { // CHECK:STDOUT: --- fail_wrong_index_with.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] @@ -171,6 +173,7 @@ fn F() { // CHECK:STDOUT: --- fail_missing_index_with.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] @@ -204,12 +207,12 @@ fn F() { // CHECK:STDOUT: --- core_wrong_arg_count.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %SubscriptType.patt: %pattern_type.98f = symbolic_binding_pattern SubscriptType, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %SubscriptType.patt: %pattern_type.9a5 = symbolic_binding_pattern SubscriptType, 0 [symbolic] // CHECK:STDOUT: %SubscriptType: type = symbolic_binding SubscriptType, 0 [symbolic] -// CHECK:STDOUT: %ElementType.patt: %pattern_type.98f = symbolic_binding_pattern ElementType, 1 [symbolic] +// CHECK:STDOUT: %ElementType.patt: %pattern_type.9a5 = symbolic_binding_pattern ElementType, 1 [symbolic] // CHECK:STDOUT: %ElementType: type = symbolic_binding ElementType, 1 [symbolic] // CHECK:STDOUT: %IndexWith.type.df6: type = generic_interface_type @IndexWith [concrete] // CHECK:STDOUT: %IndexWith.generic: %IndexWith.type.df6 = struct_value () [concrete] @@ -259,16 +262,16 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %IndexWith.decl: %IndexWith.type.df6 = interface_decl @IndexWith [concrete = constants.%IndexWith.generic] { -// CHECK:STDOUT: %SubscriptType.patt.loc4_34.1: %pattern_type.98f = symbolic_binding_pattern SubscriptType, 0 [symbolic = %SubscriptType.patt.loc4_34.2 (constants.%SubscriptType.patt)] -// CHECK:STDOUT: %ElementType.patt.loc4_53.1: %pattern_type.98f = symbolic_binding_pattern ElementType, 1 [symbolic = %ElementType.patt.loc4_53.2 (constants.%ElementType.patt)] +// CHECK:STDOUT: %SubscriptType.patt.loc4_34.1: %pattern_type.9a5 = symbolic_binding_pattern SubscriptType, 0 [symbolic = %SubscriptType.patt.loc4_34.2 (constants.%SubscriptType.patt)] +// CHECK:STDOUT: %ElementType.patt.loc4_53.1: %pattern_type.9a5 = symbolic_binding_pattern ElementType, 1 [symbolic = %ElementType.patt.loc4_53.2 (constants.%ElementType.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_36.1: type = splice_block %.loc4_36.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4_34: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_34: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_36.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %SubscriptType.loc4_34.2: type = symbolic_binding SubscriptType, 0 [symbolic = %SubscriptType.loc4_34.1 (constants.%SubscriptType)] // CHECK:STDOUT: %.loc4_55.1: type = splice_block %.loc4_55.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc4_53: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc4_53: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_55.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %ElementType.loc4_53.2: type = symbolic_binding ElementType, 1 [symbolic = %ElementType.loc4_53.1 (constants.%ElementType)] @@ -276,9 +279,9 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @IndexWith(%SubscriptType.loc4_34.2: type, %ElementType.loc4_53.2: type) { -// CHECK:STDOUT: %SubscriptType.patt.loc4_34.2: %pattern_type.98f = symbolic_binding_pattern SubscriptType, 0 [symbolic = %SubscriptType.patt.loc4_34.2 (constants.%SubscriptType.patt)] +// CHECK:STDOUT: %SubscriptType.patt.loc4_34.2: %pattern_type.9a5 = symbolic_binding_pattern SubscriptType, 0 [symbolic = %SubscriptType.patt.loc4_34.2 (constants.%SubscriptType.patt)] // CHECK:STDOUT: %SubscriptType.loc4_34.1: type = symbolic_binding SubscriptType, 0 [symbolic = %SubscriptType.loc4_34.1 (constants.%SubscriptType)] -// CHECK:STDOUT: %ElementType.patt.loc4_53.2: %pattern_type.98f = symbolic_binding_pattern ElementType, 1 [symbolic = %ElementType.patt.loc4_53.2 (constants.%ElementType.patt)] +// CHECK:STDOUT: %ElementType.patt.loc4_53.2: %pattern_type.9a5 = symbolic_binding_pattern ElementType, 1 [symbolic = %ElementType.patt.loc4_53.2 (constants.%ElementType.patt)] // CHECK:STDOUT: %ElementType.loc4_53.1: type = symbolic_binding ElementType, 1 [symbolic = %ElementType.loc4_53.1 (constants.%ElementType)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -379,6 +382,7 @@ fn F() { // CHECK:STDOUT: --- fail_wrong_arg_count.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -388,9 +392,9 @@ fn F() { // CHECK:STDOUT: %ElementType: type = symbolic_binding ElementType, 1 [symbolic] // CHECK:STDOUT: %SubscriptType: type = symbolic_binding SubscriptType, 0 [symbolic] // CHECK:STDOUT: %IndexWith.type.a54: type = facet_type <@IndexWith, @IndexWith(%SubscriptType, %ElementType)> [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %ElementType.patt: %pattern_type.98f = symbolic_binding_pattern ElementType, 1 [symbolic] -// CHECK:STDOUT: %SubscriptType.patt: %pattern_type.98f = symbolic_binding_pattern SubscriptType, 0 [symbolic] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %ElementType.patt: %pattern_type.9a5 = symbolic_binding_pattern ElementType, 1 [symbolic] +// CHECK:STDOUT: %SubscriptType.patt: %pattern_type.9a5 = symbolic_binding_pattern SubscriptType, 0 [symbolic] // CHECK:STDOUT: %Self.799: %IndexWith.type.a54 = symbolic_binding Self, 2 [symbolic] // CHECK:STDOUT: %IndexWith.WithSelf.At.type.404: type = fn_type @IndexWith.WithSelf.At, @IndexWith.WithSelf(%SubscriptType, %ElementType, %Self.799) [symbolic] // CHECK:STDOUT: %IndexWith.WithSelf.At.310: %IndexWith.WithSelf.At.type.404 = struct_value () [symbolic] @@ -485,9 +489,9 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @IndexWith(imports.%Core.import_ref.b3bc94.3: type, imports.%Core.import_ref.8e8b42.3: type) [from "core_wrong_arg_count.carbon"] { -// CHECK:STDOUT: %SubscriptType.patt: %pattern_type.98f = symbolic_binding_pattern SubscriptType, 0 [symbolic = %SubscriptType.patt (constants.%SubscriptType.patt)] +// CHECK:STDOUT: %SubscriptType.patt: %pattern_type.9a5 = symbolic_binding_pattern SubscriptType, 0 [symbolic = %SubscriptType.patt (constants.%SubscriptType.patt)] // CHECK:STDOUT: %SubscriptType: type = symbolic_binding SubscriptType, 0 [symbolic = %SubscriptType (constants.%SubscriptType)] -// CHECK:STDOUT: %ElementType.patt: %pattern_type.98f = symbolic_binding_pattern ElementType, 1 [symbolic = %ElementType.patt (constants.%ElementType.patt)] +// CHECK:STDOUT: %ElementType.patt: %pattern_type.9a5 = symbolic_binding_pattern ElementType, 1 [symbolic = %ElementType.patt (constants.%ElementType.patt)] // CHECK:STDOUT: %ElementType: type = symbolic_binding ElementType, 1 [symbolic = %ElementType (constants.%ElementType)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon b/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon index bfc7413f9dba..9354e2218cd8 100644 --- a/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon +++ b/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon @@ -86,6 +86,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: --- overloaded_index.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -298,12 +299,13 @@ let x: i32 = c[0]; // CHECK:STDOUT: --- overloaded_builtin.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple.af4: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_tuple.type [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.d95: %tuple.type.24b = tuple_value (%C, %C) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.391: %tuple.type.693 = tuple_value (%C, %C) [concrete] // CHECK:STDOUT: %tuple.type.748: type = tuple_type (%C, %C) [concrete] // CHECK:STDOUT: %IndexWith.type.df6: type = generic_interface_type @IndexWith [concrete] // CHECK:STDOUT: %IndexWith.generic: %IndexWith.type.df6 = struct_value () [concrete] @@ -372,7 +374,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: impl_decl @tuple.type.as.IndexWith.impl [concrete] {} { // CHECK:STDOUT: %C.ref.loc8_7: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %C.ref.loc8_10: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %.loc8_11.1: %tuple.type.24b = tuple_literal (%C.ref.loc8_7, %C.ref.loc8_10) [concrete = constants.%tuple.d95] +// CHECK:STDOUT: %.loc8_11.1: %tuple.type.693 = tuple_literal (%C.ref.loc8_7, %C.ref.loc8_10) [concrete = constants.%tuple.391] // CHECK:STDOUT: %.loc8_11.2: type = converted %.loc8_11.1, constants.%tuple.type.748 [concrete = constants.%tuple.type.748] // CHECK:STDOUT: %Core.ref.loc8_16: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %IndexWith.ref: %IndexWith.type.df6 = name_ref IndexWith, imports.%Core.IndexWith [concrete = constants.%IndexWith.generic] @@ -402,7 +404,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %.loc14_13.1: type = splice_block %.loc14_13.3 [concrete = constants.%tuple.type.748] { // CHECK:STDOUT: %C.ref.loc14_9: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %C.ref.loc14_12: type = name_ref C, %C.decl [concrete = constants.%C] -// CHECK:STDOUT: %.loc14_13.2: %tuple.type.24b = tuple_literal (%C.ref.loc14_9, %C.ref.loc14_12) [concrete = constants.%tuple.d95] +// CHECK:STDOUT: %.loc14_13.2: %tuple.type.693 = tuple_literal (%C.ref.loc14_9, %C.ref.loc14_12) [concrete = constants.%tuple.391] // CHECK:STDOUT: %.loc14_13.3: type = converted %.loc14_13.2, constants.%tuple.type.748 [concrete = constants.%tuple.type.748] // CHECK:STDOUT: } // CHECK:STDOUT: %s: %tuple.type.748 = wrapper_binding s, %.loc14_34 @@ -503,6 +505,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: --- fail_invalid_subscript_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -693,6 +696,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: --- fail_index_with_not_implemented.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // 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] diff --git a/toolchain/check/testdata/operators/overloaded/left_shift.carbon b/toolchain/check/testdata/operators/overloaded/left_shift.carbon index cc24523f2bbf..7022cbed3ee2 100644 --- a/toolchain/check/testdata/operators/overloaded/left_shift.carbon +++ b/toolchain/check/testdata/operators/overloaded/left_shift.carbon @@ -42,6 +42,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: --- left_shift.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %LeftShiftWith.type.d38: type = facet_type <@LeftShiftWith, @LeftShiftWith(%C)> [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/mod.carbon b/toolchain/check/testdata/operators/overloaded/mod.carbon index d43c3471683a..0666919463fb 100644 --- a/toolchain/check/testdata/operators/overloaded/mod.carbon +++ b/toolchain/check/testdata/operators/overloaded/mod.carbon @@ -42,6 +42,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: --- mod.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %ModWith.type.6a7: type = facet_type <@ModWith, @ModWith(%C)> [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/mul.carbon b/toolchain/check/testdata/operators/overloaded/mul.carbon index efb2510c0563..be2ba8042912 100644 --- a/toolchain/check/testdata/operators/overloaded/mul.carbon +++ b/toolchain/check/testdata/operators/overloaded/mul.carbon @@ -42,6 +42,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: --- mul.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %MulWith.type.63d: type = facet_type <@MulWith, @MulWith(%C)> [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/negate.carbon b/toolchain/check/testdata/operators/overloaded/negate.carbon index 75c784fece29..111f2f8da3c7 100644 --- a/toolchain/check/testdata/operators/overloaded/negate.carbon +++ b/toolchain/check/testdata/operators/overloaded/negate.carbon @@ -33,6 +33,7 @@ fn TestOp(a: C) -> C { // CHECK:STDOUT: --- negate.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %Negate.type: type = facet_type <@Negate> [concrete] // CHECK:STDOUT: %Negate.impl_witness: = impl_witness @C.as.Negate.impl.%Negate.impl_witness_table [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/right_shift.carbon b/toolchain/check/testdata/operators/overloaded/right_shift.carbon index 6c1991acd558..afe30444197f 100644 --- a/toolchain/check/testdata/operators/overloaded/right_shift.carbon +++ b/toolchain/check/testdata/operators/overloaded/right_shift.carbon @@ -42,6 +42,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: --- right_shift.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %RightShiftWith.type.d7e: type = facet_type <@RightShiftWith, @RightShiftWith(%C)> [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/string_indexing.carbon b/toolchain/check/testdata/operators/overloaded/string_indexing.carbon index 33f08b0d8835..f5342a0d4ade 100644 --- a/toolchain/check/testdata/operators/overloaded/string_indexing.carbon +++ b/toolchain/check/testdata/operators/overloaded/string_indexing.carbon @@ -80,6 +80,7 @@ fn TestStringIndexing() { // CHECK:STDOUT: --- fail_wrong_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %str.3d4: type = class_type @String [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] @@ -104,6 +105,7 @@ fn TestStringIndexing() { // CHECK:STDOUT: --- test_string_indexing.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %char: type = class_type @Char [concrete] // CHECK:STDOUT: %pattern_type.2ff: type = pattern_type %char [concrete] // CHECK:STDOUT: %c.patt: %pattern_type.2ff = value_binding_pattern c [concrete] diff --git a/toolchain/check/testdata/operators/overloaded/sub.carbon b/toolchain/check/testdata/operators/overloaded/sub.carbon index f5e18c6babb0..9c8bf32181a8 100644 --- a/toolchain/check/testdata/operators/overloaded/sub.carbon +++ b/toolchain/check/testdata/operators/overloaded/sub.carbon @@ -42,6 +42,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: --- sub.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %SubWith.type.3b5: type = facet_type <@SubWith, @SubWith(%C)> [concrete] diff --git a/toolchain/check/testdata/package_expr/syntax.carbon b/toolchain/check/testdata/package_expr/syntax.carbon index bbef4b360786..3dc6a2aa6545 100644 --- a/toolchain/check/testdata/package_expr/syntax.carbon +++ b/toolchain/check/testdata/package_expr/syntax.carbon @@ -48,6 +48,7 @@ fn Main() { // CHECK:STDOUT: --- global.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -152,6 +153,7 @@ fn Main() { // CHECK:STDOUT: --- inside_fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -303,6 +305,7 @@ fn Main() { // CHECK:STDOUT: --- namespace.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %C.Foo.type: type = fn_type @C.Foo [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/packages/cross_package_export.carbon b/toolchain/check/testdata/packages/cross_package_export.carbon index 5d5899f21887..65833e621704 100644 --- a/toolchain/check/testdata/packages/cross_package_export.carbon +++ b/toolchain/check/testdata/packages/cross_package_export.carbon @@ -199,6 +199,7 @@ alias C = Other.C; // CHECK:STDOUT: --- base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -230,6 +231,7 @@ alias C = Other.C; // CHECK:STDOUT: --- conflict.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C.type: type = fn_type @C [concrete] // CHECK:STDOUT: %C: %C.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -288,6 +290,7 @@ alias C = Other.C; // CHECK:STDOUT: --- export_name.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -320,6 +323,7 @@ alias C = Other.C; // CHECK:STDOUT: --- export_name_copy.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -352,6 +356,7 @@ alias C = Other.C; // CHECK:STDOUT: --- export_name_indirect.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -384,6 +389,7 @@ alias C = Other.C; // CHECK:STDOUT: --- use_export_import.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -452,6 +458,7 @@ alias C = Other.C; // CHECK:STDOUT: --- use_export_import_with_copy.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -521,6 +528,7 @@ alias C = Other.C; // CHECK:STDOUT: --- use_export_import_indirect.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -590,6 +598,7 @@ alias C = Other.C; // CHECK:STDOUT: --- use_export_name.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -657,6 +666,7 @@ alias C = Other.C; // CHECK:STDOUT: --- use_export_name_with_copy.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -725,6 +735,7 @@ alias C = Other.C; // CHECK:STDOUT: --- use_export_name_indirect.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -792,6 +803,7 @@ alias C = Other.C; // CHECK:STDOUT: --- use_export_all.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -898,6 +910,7 @@ alias C = Other.C; // CHECK:STDOUT: --- fail_conflict_on_export_import.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C.type: type = fn_type @C [concrete] // CHECK:STDOUT: %C: %C.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -928,6 +941,7 @@ alias C = Other.C; // CHECK:STDOUT: --- fail_conflict_on_export_name.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] diff --git a/toolchain/check/testdata/packages/cross_package_import.carbon b/toolchain/check/testdata/packages/cross_package_import.carbon index 7b4816f1edd4..99a1da383af9 100644 --- a/toolchain/check/testdata/packages/cross_package_import.carbon +++ b/toolchain/check/testdata/packages/cross_package_import.carbon @@ -214,6 +214,7 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: --- other_fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -233,6 +234,7 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: --- other_fn_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -249,6 +251,7 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: --- other_fn_conflict.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -283,6 +286,7 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: --- other_fn2.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F2.type: type = fn_type @F2 [concrete] // CHECK:STDOUT: %F2: %F2.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -302,6 +306,7 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: --- other_fn_use.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] @@ -343,6 +348,7 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: --- main_use_other.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Run.type: type = fn_type @Run [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Run: %Run.type = struct_value () [concrete] @@ -390,6 +396,7 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: --- fail_todo_main_use_other_extern.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Run.type: type = fn_type @Run [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Run: %Run.type = struct_value () [concrete] @@ -444,6 +451,7 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: --- fail_main_use_other_ambiguous.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Run.type: type = fn_type @Run [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Run: %Run.type = struct_value () [concrete] @@ -482,6 +490,7 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: --- fail_main_namespace_conflict.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type.2a8c71.1: type = fn_type @F.1 [concrete] // CHECK:STDOUT: %F.1be9f8.1: %F.type.2a8c71.1 = struct_value () [concrete] // CHECK:STDOUT: %F.type.2a8c71.2: type = fn_type @F.loc23 [concrete] @@ -516,6 +525,7 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: --- fail_main_reopen_other.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -547,6 +557,7 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: --- fail_main_reopen_other_nested.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -577,6 +588,7 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: --- fail_main_add_to_other.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -604,6 +616,7 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: --- fail_use_other_fn_use.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %UseF.type: type = fn_type @UseF [concrete] // CHECK:STDOUT: %UseF: %UseF.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/packages/export_import.carbon b/toolchain/check/testdata/packages/export_import.carbon index ce11c901409d..dc1a52c00605 100644 --- a/toolchain/check/testdata/packages/export_import.carbon +++ b/toolchain/check/testdata/packages/export_import.carbon @@ -193,6 +193,7 @@ export Poison; // CHECK:STDOUT: --- base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -295,6 +296,7 @@ export Poison; // CHECK:STDOUT: --- use_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -357,6 +359,7 @@ export Poison; // CHECK:STDOUT: --- export_export.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -418,6 +421,7 @@ export Poison; // CHECK:STDOUT: --- use_export_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -478,6 +482,7 @@ export Poison; // CHECK:STDOUT: --- use_import_then_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -538,6 +543,7 @@ export Poison; // CHECK:STDOUT: --- use_import_when_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -598,6 +604,7 @@ export Poison; // CHECK:STDOUT: --- use_base_and_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -658,6 +665,7 @@ export Poison; // CHECK:STDOUT: --- use_export_and_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -718,6 +726,7 @@ export Poison; // CHECK:STDOUT: --- use_export_copy.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -790,6 +799,7 @@ export Poison; // CHECK:STDOUT: --- use_non_export_then_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -850,6 +860,7 @@ export Poison; // CHECK:STDOUT: --- indirect_use_non_export_then_base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -912,6 +923,7 @@ export Poison; // CHECK:STDOUT: --- fail_export_poisoned.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/packages/export_mixed.carbon b/toolchain/check/testdata/packages/export_mixed.carbon index e729c52416a6..5085e9295a06 100644 --- a/toolchain/check/testdata/packages/export_mixed.carbon +++ b/toolchain/check/testdata/packages/export_mixed.carbon @@ -121,6 +121,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: --- base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -186,6 +187,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: --- export_import_then_name.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -220,6 +222,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: --- export_name.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -267,6 +270,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: --- use_export_import_then_name.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -327,6 +331,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: --- use_export_name_then_import.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -387,6 +392,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: --- use_both.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -447,6 +453,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: --- fail_nonexport_use_both.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %struct_type.y: type = struct_type {.y: %empty_tuple.type} [concrete] @@ -484,6 +491,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: --- use_both_reversed.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -544,6 +552,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: --- use_both_and_export_import.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] diff --git a/toolchain/check/testdata/packages/export_name.carbon b/toolchain/check/testdata/packages/export_name.carbon index 3fc6677431ad..8cc403143953 100644 --- a/toolchain/check/testdata/packages/export_name.carbon +++ b/toolchain/check/testdata/packages/export_name.carbon @@ -208,6 +208,7 @@ private export C; // CHECK:STDOUT: --- base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -261,6 +262,7 @@ private export C; // CHECK:STDOUT: --- export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -333,6 +335,7 @@ private export C; // CHECK:STDOUT: --- export_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -392,6 +395,7 @@ private export C; // CHECK:STDOUT: --- use_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -498,6 +502,7 @@ private export C; // CHECK:STDOUT: --- export_export.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -605,6 +610,7 @@ private export C; // CHECK:STDOUT: --- use_export_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -730,6 +736,7 @@ private export C; // CHECK:STDOUT: --- fail_export_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Local: type = class_type @Local [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -753,6 +760,7 @@ private export C; // CHECK:STDOUT: --- fail_export_member.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -790,6 +798,7 @@ private export C; // CHECK:STDOUT: --- import_both.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -896,6 +905,7 @@ private export C; // CHECK:STDOUT: --- import_both_reversed.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -1019,6 +1029,7 @@ private export C; // CHECK:STDOUT: --- repeat_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -1057,6 +1068,7 @@ private export C; // CHECK:STDOUT: --- use_repeat_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] @@ -1117,6 +1129,7 @@ private export C; // CHECK:STDOUT: --- fail_modifiers.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] diff --git a/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon b/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon index 5c14b417f5c4..2380389f72c5 100644 --- a/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon +++ b/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon @@ -43,6 +43,7 @@ import library "var"; // CHECK:STDOUT: --- fn.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Foo.type: type = fn_type @Foo [concrete] // CHECK:STDOUT: %Foo: %Foo.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -68,6 +69,7 @@ import library "var"; // CHECK:STDOUT: --- var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/packages/fail_export_name_member.carbon b/toolchain/check/testdata/packages/fail_export_name_member.carbon index 69103a39cc93..2f04cbcb1c32 100644 --- a/toolchain/check/testdata/packages/fail_export_name_member.carbon +++ b/toolchain/check/testdata/packages/fail_export_name_member.carbon @@ -41,6 +41,7 @@ export C.n; // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -72,6 +73,7 @@ export C.n; // CHECK:STDOUT: --- fail_b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %struct_type.n: type = struct_type {.n: %empty_struct_type} [concrete] diff --git a/toolchain/check/testdata/packages/fail_export_name_params.carbon b/toolchain/check/testdata/packages/fail_export_name_params.carbon index 74c2400565ea..7abd163b0cc7 100644 --- a/toolchain/check/testdata/packages/fail_export_name_params.carbon +++ b/toolchain/check/testdata/packages/fail_export_name_params.carbon @@ -36,8 +36,8 @@ export C2(T: type); // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] @@ -56,7 +56,7 @@ export C2(T: type); // CHECK:STDOUT: %T.patt.loc4_11.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_11.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_13.1: type = splice_block %.loc4_13.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_13.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_11.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_11.1 (constants.%T)] @@ -65,7 +65,7 @@ export C2(T: type); // CHECK:STDOUT: %T.patt.loc5_11.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_11.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_13.1: type = splice_block %.loc5_13.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc5_13.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_11.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_11.1 (constants.%T)] @@ -99,13 +99,13 @@ export C2(T: type); // CHECK:STDOUT: --- fail_b.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C1.type: type = generic_class_type @C1 [concrete] // CHECK:STDOUT: %C1.generic: %C1.type = struct_value () [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [symbolic] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %C2.type: type = generic_class_type @C2 [concrete] // CHECK:STDOUT: %C2.generic: %C2.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -125,7 +125,7 @@ export C2(T: type); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %C1: %C1.type = export C1, imports.%Foo.C1 [concrete = constants.%C1.generic] // CHECK:STDOUT: %.loc12_14.1: type = splice_block %.loc12_14.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc12_14.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = constants.%T] diff --git a/toolchain/check/testdata/packages/fail_import_type_error.carbon b/toolchain/check/testdata/packages/fail_import_type_error.carbon index f67feddebd95..ec82025394ad 100644 --- a/toolchain/check/testdata/packages/fail_import_type_error.carbon +++ b/toolchain/check/testdata/packages/fail_import_type_error.carbon @@ -50,6 +50,10 @@ var d: i32 = d_ref; // CHECK:STDOUT: --- fail_implicit.carbon // CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core: = namespace file.%Core.import, [concrete] { // CHECK:STDOUT: import Core//prelude @@ -118,6 +122,7 @@ var d: i32 = d_ref; // CHECK:STDOUT: --- implicit.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/packages/fail_name_with_import_failure.carbon b/toolchain/check/testdata/packages/fail_name_with_import_failure.carbon index d901e092fe6d..afb779dd9b21 100644 --- a/toolchain/check/testdata/packages/fail_name_with_import_failure.carbon +++ b/toolchain/check/testdata/packages/fail_name_with_import_failure.carbon @@ -25,6 +25,7 @@ var a: () = A(); // CHECK:STDOUT: --- fail_implicit.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/packages/implicit_imports_entities.carbon b/toolchain/check/testdata/packages/implicit_imports_entities.carbon index b13f45786172..07f70825c3f1 100644 --- a/toolchain/check/testdata/packages/implicit_imports_entities.carbon +++ b/toolchain/check/testdata/packages/implicit_imports_entities.carbon @@ -172,6 +172,7 @@ import Other library "o1"; // CHECK:STDOUT: --- c1.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C1: type = class_type @C1 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -195,6 +196,7 @@ import Other library "o1"; // CHECK:STDOUT: --- c2.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C2: type = class_type @C2 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -218,6 +220,7 @@ import Other library "o1"; // CHECK:STDOUT: --- ns.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -244,6 +247,7 @@ import Other library "o1"; // CHECK:STDOUT: --- o1.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %O1: type = class_type @O1 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -267,6 +271,7 @@ import Other library "o1"; // CHECK:STDOUT: --- o2.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %O2: type = class_type @O2 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -290,6 +295,7 @@ import Other library "o1"; // CHECK:STDOUT: --- local_other.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Other: type = class_type @Other [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -326,6 +332,7 @@ import Other library "o1"; // CHECK:STDOUT: --- mix_current_package.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C1: type = class_type @C1 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -418,6 +425,7 @@ import Other library "o1"; // CHECK:STDOUT: --- dup_c1.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C1: type = class_type @C1 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -486,6 +494,7 @@ import Other library "o1"; // CHECK:STDOUT: --- use_ns.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -559,6 +568,7 @@ import Other library "o1"; // CHECK:STDOUT: --- mix_other.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %O1: type = class_type @O1 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -665,6 +675,7 @@ import Other library "o1"; // CHECK:STDOUT: --- dup_o1.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %O1: type = class_type @O1 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon index 506b045ea2e1..311757dbbb8b 100644 --- a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon +++ b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon @@ -29,6 +29,7 @@ var b: i32 = a; // CHECK:STDOUT: --- lib.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -99,6 +100,7 @@ var b: i32 = a; // CHECK:STDOUT: --- lib.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] diff --git a/toolchain/check/testdata/packages/loaded_global.carbon b/toolchain/check/testdata/packages/loaded_global.carbon index 0e452ad3a78d..a360e10f0b6d 100644 --- a/toolchain/check/testdata/packages/loaded_global.carbon +++ b/toolchain/check/testdata/packages/loaded_global.carbon @@ -45,6 +45,7 @@ var package_b: () = package.B(); // CHECK:STDOUT: --- implicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -61,6 +62,7 @@ var package_b: () = package.B(); // CHECK:STDOUT: --- implicit.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -123,6 +125,7 @@ var package_b: () = package.B(); // CHECK:STDOUT: --- same_package.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %B.type: type = fn_type @B [concrete] // CHECK:STDOUT: %B: %B.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -139,6 +142,7 @@ var package_b: () = package.B(); // CHECK:STDOUT: --- same_package_importer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/packages/missing_prelude.carbon b/toolchain/check/testdata/packages/missing_prelude.carbon index 47d1942bbdbe..34dfa8711ee1 100644 --- a/toolchain/check/testdata/packages/missing_prelude.carbon +++ b/toolchain/check/testdata/packages/missing_prelude.carbon @@ -127,6 +127,10 @@ let n: type = i32; // CHECK:STDOUT: --- fail_missing_prelude.carbon // CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: package: = namespace [concrete] { // CHECK:STDOUT: .n = %n @@ -154,6 +158,10 @@ let n: type = i32; // CHECK:STDOUT: // CHECK:STDOUT: --- fail_missing_prelude_member.carbon // CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core: = namespace file.%Core.import, [concrete] { // CHECK:STDOUT: .Int = @@ -185,13 +193,13 @@ let n: type = i32; // CHECK:STDOUT: --- prelude_fake_int.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] // CHECK:STDOUT: %N.patt: %pattern_type.51d = symbolic_binding_pattern N, 1 [symbolic] @@ -229,7 +237,7 @@ let n: type = i32; // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} // CHECK:STDOUT: %Int.decl: %Int.type = fn_decl @Int [concrete = constants.%Int] { -// CHECK:STDOUT: %T.patt.loc6_9.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_9.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_9.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_9.2 (constants.%T.patt)] // CHECK:STDOUT: %N.patt.loc6_33.1: @Int.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc6_33.2 (constants.%N.patt)] // CHECK:STDOUT: %return.param_patt: %pattern_type.e00 = out_param_pattern [concrete = constants.%return.param_patt.cb6] // CHECK:STDOUT: %return.patt: %pattern_type.e00 = return_slot_pattern %return.param_patt, %X.ref [concrete = constants.%return.patt.88a] @@ -237,12 +245,12 @@ let n: type = i32; // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %.loc6_41: Core.Form = init_form %X.ref [concrete = constants.%.7b0] // CHECK:STDOUT: %.loc6_11.1: type = splice_block %.loc6_11.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc6_9: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6_9: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_11.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_9.1 (constants.%T)] // CHECK:STDOUT: %.loc6_35: type = splice_block %T.ref [symbolic = %T.loc6_9.1 (constants.%T)] { -// CHECK:STDOUT: %.Self.frozen.loc6_33: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6_33: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc6_9.2 [symbolic = %T.loc6_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc6_33.2: @Int.%T.loc6_9.1 (%T) = symbolic_binding N, 1 [symbolic = %N.loc6_33.1 (constants.%N)] @@ -250,10 +258,10 @@ let n: type = i32; // CHECK:STDOUT: %return: ref %X = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.decl: %ImplicitAs.type.0ff = interface_decl @ImplicitAs [concrete = constants.%ImplicitAs.generic] { -// CHECK:STDOUT: %T.patt.loc8_23.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_23.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_23.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_23.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_25.1: type = splice_block %.loc8_25.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc8_25.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_23.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_23.1 (constants.%T)] @@ -261,7 +269,7 @@ let n: type = i32; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @ImplicitAs(%T.loc8_23.2: type) { -// CHECK:STDOUT: %T.patt.loc8_23.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_23.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc8_23.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_23.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc8_23.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_23.1 (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -314,7 +322,7 @@ let n: type = i32; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @Int(%T.loc6_9.2: type, %N.loc6_33.2: @Int.%T.loc6_9.1 (%T)) { -// CHECK:STDOUT: %T.patt.loc6_9.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_9.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_9.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_9.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_9.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_9.1 (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc6_9.1 [symbolic = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: %N.patt.loc6_33.2: @Int.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc6_33.2 (constants.%N.patt)] @@ -379,6 +387,7 @@ let n: type = i32; // CHECK:STDOUT: --- fail_use_fake_int.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -391,8 +400,8 @@ let n: type = i32; // CHECK:STDOUT: %N: %T = symbolic_binding N, 1 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] // CHECK:STDOUT: %N.patt.9f0: %pattern_type.51d = symbolic_binding_pattern N, 1 [symbolic] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [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: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] // CHECK:STDOUT: %N.patt.94a: %pattern_type.dc0 = symbolic_binding_pattern N, 1 [symbolic] // CHECK:STDOUT: %Int.specific_fn: = specific_function %Int, @Int(Core.IntLiteral, %int_32) [concrete] @@ -410,12 +419,12 @@ let n: type = i32; // CHECK:STDOUT: %self.param_patt: %pattern_type.20e = value_param_pattern [symbolic] // CHECK:STDOUT: %self.patt: %pattern_type.20e = wrapper_binding_pattern self, %self.param_patt [symbolic] // CHECK:STDOUT: %.184: Core.Form = init_form %T [symbolic] -// CHECK:STDOUT: %ImplicitAs.type.5f1: type = facet_type <@ImplicitAs, @ImplicitAs(type)> [concrete] -// CHECK:STDOUT: %Self.966: %ImplicitAs.type.5f1 = symbolic_binding Self, 1 [symbolic] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.082: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(type, %Self.294) [symbolic] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.016: %ImplicitAs.WithSelf.Convert.type.082 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.assoc_type.5b7: type = assoc_entity_type @ImplicitAs, @ImplicitAs(type) [concrete] -// CHECK:STDOUT: %assoc0.08d: %ImplicitAs.assoc_type.5b7 = assoc_entity element0, imports.%Core.import_ref.cb2 [concrete] +// CHECK:STDOUT: %ImplicitAs.type.a5e: type = facet_type <@ImplicitAs, @ImplicitAs(type)> [concrete] +// CHECK:STDOUT: %Self.f01: %ImplicitAs.type.a5e = symbolic_binding Self, 1 [symbolic] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.57e: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(type, %Self.294) [symbolic] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.d57: %ImplicitAs.WithSelf.Convert.type.57e = struct_value () [symbolic] +// CHECK:STDOUT: %ImplicitAs.assoc_type.060: type = assoc_entity_type @ImplicitAs, @ImplicitAs(type) [concrete] +// CHECK:STDOUT: %assoc0.1eb: %ImplicitAs.assoc_type.060 = assoc_entity element0, imports.%Core.import_ref.cb2 [concrete] // CHECK:STDOUT: %assoc0.0ac: %ImplicitAs.assoc_type.fcc = assoc_entity element0, imports.%Core.import_ref.f9d [symbolic] // CHECK:STDOUT: %ImplicitAs.type.52b: type = facet_type <@ImplicitAs, @ImplicitAs(%X)> [concrete] // CHECK:STDOUT: %Self.ad7: %ImplicitAs.type.52b = symbolic_binding Self, 1 [symbolic] @@ -467,7 +476,7 @@ let n: type = i32; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic interface @ImplicitAs(imports.%Core.import_ref.b3bc94.4: type) [from "prelude_fake_int.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: // CHECK:STDOUT: !definition: @@ -492,7 +501,7 @@ let n: type = i32; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @Int(imports.%Core.import_ref.b3bc94.1: type, imports.%Core.import_ref.b42: @Int.%T (%T)) [from "prelude_fake_int.carbon"] { -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] +// 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: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: %N.patt: @Int.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern N, 1 [symbolic = %N.patt (constants.%N.patt.9f0)] @@ -573,19 +582,19 @@ let n: type = i32; // CHECK:STDOUT: %T => type // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.5f1 -// CHECK:STDOUT: %Self => constants.%Self.966 +// CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.a5e +// CHECK:STDOUT: %Self => constants.%Self.f01 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @ImplicitAs.WithSelf(type, constants.%Self.294) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => type -// CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.5f1 +// CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.a5e // CHECK:STDOUT: %Self => constants.%Self.294 -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type => constants.%ImplicitAs.WithSelf.Convert.type.082 -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert => constants.%ImplicitAs.WithSelf.Convert.016 -// CHECK:STDOUT: %ImplicitAs.assoc_type => constants.%ImplicitAs.assoc_type.5b7 -// CHECK:STDOUT: %assoc0 => constants.%assoc0.08d +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type => constants.%ImplicitAs.WithSelf.Convert.type.57e +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert => constants.%ImplicitAs.WithSelf.Convert.d57 +// CHECK:STDOUT: %ImplicitAs.assoc_type => constants.%ImplicitAs.assoc_type.060 +// CHECK:STDOUT: %assoc0 => constants.%assoc0.1eb // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @ImplicitAs(constants.%X) { @@ -611,10 +620,10 @@ let n: type = i32; // CHECK:STDOUT: --- prelude_use_in_prelude.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// 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: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] // CHECK:STDOUT: %N.patt.9f0: %pattern_type.51d = symbolic_binding_pattern N, 1 [symbolic] @@ -641,16 +650,16 @@ let n: type = i32; // CHECK:STDOUT: .n = %n // CHECK:STDOUT: } // CHECK:STDOUT: %Int.decl: %Int.type = class_decl @Int [concrete = constants.%Int.generic] { -// CHECK:STDOUT: %T.patt.loc6_12.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_12.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_12.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_12.2 (constants.%T.patt)] // CHECK:STDOUT: %N.patt.loc6_28.1: @Int.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc6_28.2 (constants.%N.patt.9f0)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_14.1: type = splice_block %.loc6_14.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc6_12: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6_12: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_14.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_12.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_12.1 (constants.%T)] // CHECK:STDOUT: %.loc6_30: type = splice_block %T.ref [symbolic = %T.loc6_12.1 (constants.%T)] { -// CHECK:STDOUT: %.Self.frozen.loc6_28: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc6_28: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc6_12.2 [symbolic = %T.loc6_12.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc6_28.2: @Int.%T.loc6_12.1 (%T) = symbolic_binding N, 1 [symbolic = %N.loc6_28.1 (constants.%N)] @@ -668,7 +677,7 @@ let n: type = i32; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Int(%T.loc6_12.2: type, %N.loc6_28.2: @Int.%T.loc6_12.1 (%T)) { -// CHECK:STDOUT: %T.patt.loc6_12.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_12.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc6_12.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_12.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc6_12.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_12.1 (constants.%T)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc6_12.1 [symbolic = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: %N.patt.loc6_28.2: @Int.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc6_28.2 (constants.%N.patt.9f0)] diff --git a/toolchain/check/testdata/packages/raw_core.carbon b/toolchain/check/testdata/packages/raw_core.carbon index 360c724fc30d..3257bc961b94 100644 --- a/toolchain/check/testdata/packages/raw_core.carbon +++ b/toolchain/check/testdata/packages/raw_core.carbon @@ -57,6 +57,7 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: --- package_raw_core.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -82,6 +83,7 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: --- import_raw_core.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] @@ -144,6 +146,7 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: --- fail_raw_core_not_core.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %H.type: type = fn_type @H [concrete] @@ -194,6 +197,7 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: --- class_raw_core.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Core: type = class_type @Core [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/packages/unused_lazy_import.carbon b/toolchain/check/testdata/packages/unused_lazy_import.carbon index 8c4465a5182b..7c45e3e35b31 100644 --- a/toolchain/check/testdata/packages/unused_lazy_import.carbon +++ b/toolchain/check/testdata/packages/unused_lazy_import.carbon @@ -25,6 +25,7 @@ impl package Implicit; // CHECK:STDOUT: --- implicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/patterns/expression.carbon b/toolchain/check/testdata/patterns/expression.carbon index 1cd257f83715..20aa659ba764 100644 --- a/toolchain/check/testdata/patterns/expression.carbon +++ b/toolchain/check/testdata/patterns/expression.carbon @@ -84,6 +84,7 @@ fn F() { // CHECK:STDOUT: --- fail_todo_control_flow.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %true: bool = bool_literal true [concrete] // CHECK:STDOUT: %false: bool = bool_literal false [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] diff --git a/toolchain/check/testdata/patterns/tuple.carbon b/toolchain/check/testdata/patterns/tuple.carbon index 851ac220285a..1ea721be16b3 100644 --- a/toolchain/check/testdata/patterns/tuple.carbon +++ b/toolchain/check/testdata/patterns/tuple.carbon @@ -61,6 +61,7 @@ let (((b: ()),)) = ((),); // CHECK:STDOUT: --- literal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] @@ -105,6 +106,7 @@ let (((b: ()),)) = ((),); // CHECK:STDOUT: --- init_expr.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %tuple.type: type = tuple_type (%empty_tuple.type, %empty_tuple.type) [concrete] @@ -153,6 +155,7 @@ let (((b: ()),)) = ((),); // CHECK:STDOUT: --- ref_expr.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %tuple.type: type = tuple_type (%empty_tuple.type, %empty_tuple.type) [concrete] @@ -199,6 +202,7 @@ let (((b: ()),)) = ((),); // CHECK:STDOUT: --- grouping_parens.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -239,6 +243,7 @@ let (((b: ()),)) = ((),); // CHECK:STDOUT: --- one_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/patterns/underscore.carbon b/toolchain/check/testdata/patterns/underscore.carbon index adf33f741b51..1a592eb7a32e 100644 --- a/toolchain/check/testdata/patterns/underscore.carbon +++ b/toolchain/check/testdata/patterns/underscore.carbon @@ -108,6 +108,7 @@ fn F() -> {} { // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -210,6 +211,7 @@ fn F() -> {} { // CHECK:STDOUT: --- function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -284,8 +286,8 @@ fn F() -> {} { // CHECK:STDOUT: --- function_generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %_.patt: %pattern_type = symbolic_binding_pattern _, 0 [symbolic] // CHECK:STDOUT: %_: type = symbolic_binding _, 0 [symbolic] @@ -317,7 +319,7 @@ fn F() -> {} { // CHECK:STDOUT: %_.patt.loc4_15.1: %pattern_type = symbolic_binding_pattern _, 0 [symbolic = %_.patt.loc4_15.2 (constants.%_.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %_.loc4_15.2: type = symbolic_binding _, 0 [symbolic = %_.loc4_15.1 (constants.%_)] @@ -362,8 +364,8 @@ fn F() -> {} { // CHECK:STDOUT: --- fail_function_generic_undefined.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %_.patt: %pattern_type = symbolic_binding_pattern _, 0 [symbolic] // CHECK:STDOUT: %_: type = symbolic_binding _, 0 [symbolic] @@ -395,7 +397,7 @@ fn F() -> {} { // CHECK:STDOUT: %_.patt.loc4_15.1: %pattern_type = symbolic_binding_pattern _, 0 [symbolic = %_.patt.loc4_15.2 (constants.%_.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %_.loc4_15.2: type = symbolic_binding _, 0 [symbolic = %_.loc4_15.1 (constants.%_)] @@ -433,8 +435,8 @@ fn F() -> {} { // CHECK:STDOUT: --- function_implict.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete] // CHECK:STDOUT: %_.patt: %pattern_type = symbolic_binding_pattern _, 0 [symbolic] // CHECK:STDOUT: %_: type = symbolic_binding _, 0 [symbolic] @@ -462,7 +464,7 @@ fn F() -> {} { // CHECK:STDOUT: %_.patt.loc4_7.1: %pattern_type = symbolic_binding_pattern _, 0 [symbolic = %_.patt.loc4_7.2 (constants.%_.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_9.1: type = splice_block %.loc4_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc4_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %_.loc4_7.2: type = symbolic_binding _, 0 [symbolic = %_.loc4_7.1 (constants.%_)] @@ -471,7 +473,7 @@ fn F() -> {} { // CHECK:STDOUT: %_.patt.loc6_7.1: %pattern_type = symbolic_binding_pattern _, 0 [symbolic = %_.patt.loc6_7.2 (constants.%_.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc6_9.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %_.loc6_7.2: type = symbolic_binding _, 0 [symbolic = %_.loc6_7.1 (constants.%_)] @@ -510,6 +512,7 @@ fn F() -> {} { // CHECK:STDOUT: --- fail_class.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -549,6 +552,7 @@ fn F() -> {} { // CHECK:STDOUT: --- fail_use.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/pointer/address_of_deref.carbon b/toolchain/check/testdata/pointer/address_of_deref.carbon index 67854e746e79..3770ec903dc3 100644 --- a/toolchain/check/testdata/pointer/address_of_deref.carbon +++ b/toolchain/check/testdata/pointer/address_of_deref.carbon @@ -20,6 +20,7 @@ fn F() -> i32 { // CHECK:STDOUT: --- address_of_deref.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/pointer/address_of_lvalue.carbon b/toolchain/check/testdata/pointer/address_of_lvalue.carbon index d89ca0c0bf31..1cb3c4127fa7 100644 --- a/toolchain/check/testdata/pointer/address_of_lvalue.carbon +++ b/toolchain/check/testdata/pointer/address_of_lvalue.carbon @@ -27,6 +27,7 @@ fn F() { // CHECK:STDOUT: --- address_of_lvalue.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -91,8 +92,8 @@ fn F() { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.b3e: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %r.patt: %pattern_type.f00 = ref_binding_pattern r [concrete] // CHECK:STDOUT: %r.var_patt: %pattern_type.f00 = var_pattern %r.patt [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.b59: %tuple.type.24b = tuple_value (%i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.94e: %tuple.type.693 = tuple_value (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e55: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %pattern_type.394: type = pattern_type %tuple.type.e55 [concrete] // CHECK:STDOUT: %t.patt: %pattern_type.394 = ref_binding_pattern t [concrete] @@ -263,7 +264,7 @@ fn F() { // CHECK:STDOUT: %.loc22_19.1: type = splice_block %.loc22_19.3 [concrete = constants.%tuple.type.e55] { // CHECK:STDOUT: %i32.loc22_11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc22_16: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc22_19.2: %tuple.type.24b = tuple_literal (%i32.loc22_11, %i32.loc22_16) [concrete = constants.%tuple.b59] +// CHECK:STDOUT: %.loc22_19.2: %tuple.type.693 = tuple_literal (%i32.loc22_11, %i32.loc22_16) [concrete = constants.%tuple.94e] // CHECK:STDOUT: %.loc22_19.3: type = converted %.loc22_19.2, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: } // CHECK:STDOUT: %t: ref %tuple.type.e55 = wrapper_binding t, %t.var diff --git a/toolchain/check/testdata/pointer/arrow.carbon b/toolchain/check/testdata/pointer/arrow.carbon index f2228a090849..695c489286e2 100644 --- a/toolchain/check/testdata/pointer/arrow.carbon +++ b/toolchain/check/testdata/pointer/arrow.carbon @@ -30,6 +30,7 @@ fn Foo(ptr: C*) { // CHECK:STDOUT: --- arrow.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.98b = value_param_pattern [concrete] diff --git a/toolchain/check/testdata/pointer/basic.carbon b/toolchain/check/testdata/pointer/basic.carbon index 6207a4c24a84..eb878cdac112 100644 --- a/toolchain/check/testdata/pointer/basic.carbon +++ b/toolchain/check/testdata/pointer/basic.carbon @@ -22,6 +22,7 @@ fn F() -> i32 { // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/pointer/convert_qualifiers.carbon b/toolchain/check/testdata/pointer/convert_qualifiers.carbon index 496b57f9f99d..7ec928d45657 100644 --- a/toolchain/check/testdata/pointer/convert_qualifiers.carbon +++ b/toolchain/check/testdata/pointer/convert_qualifiers.carbon @@ -124,6 +124,7 @@ fn NonConstNonConst(p: X**) { TakeNonConstConst(p); } // CHECK:STDOUT: --- same_or_added_qualifiers.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %const.435: type = const_type %X [concrete] // CHECK:STDOUT: %ptr.faf: type = ptr_type %const.435 [concrete] @@ -174,6 +175,7 @@ fn NonConstNonConst(p: X**) { TakeNonConstConst(p); } // CHECK:STDOUT: --- fail_todo_nested_qualifiers.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %const.435: type = const_type %X [concrete] // CHECK:STDOUT: %ptr.faf: type = ptr_type %const.435 [concrete] diff --git a/toolchain/check/testdata/pointer/fail_address_of_error.carbon b/toolchain/check/testdata/pointer/fail_address_of_error.carbon index c59912d60e6e..7fe26a95b68f 100644 --- a/toolchain/check/testdata/pointer/fail_address_of_error.carbon +++ b/toolchain/check/testdata/pointer/fail_address_of_error.carbon @@ -32,6 +32,7 @@ fn Test() { // CHECK:STDOUT: --- fail_address_of_error.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Test.type: type = fn_type @Test [concrete] // CHECK:STDOUT: %Test: %Test.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/pointer/fail_deref_error.carbon b/toolchain/check/testdata/pointer/fail_deref_error.carbon index f13f15d615c1..7e8ffb9f162b 100644 --- a/toolchain/check/testdata/pointer/fail_deref_error.carbon +++ b/toolchain/check/testdata/pointer/fail_deref_error.carbon @@ -26,6 +26,7 @@ let n2: i32 = undeclared->foo; // CHECK:STDOUT: --- fail_deref_error.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/pointer/fail_deref_function.carbon b/toolchain/check/testdata/pointer/fail_deref_function.carbon index 2e0cb9c16c21..ae91d452cd22 100644 --- a/toolchain/check/testdata/pointer/fail_deref_function.carbon +++ b/toolchain/check/testdata/pointer/fail_deref_function.carbon @@ -28,6 +28,7 @@ fn A() { // CHECK:STDOUT: --- fail_deref_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/pointer/fail_deref_namespace.carbon b/toolchain/check/testdata/pointer/fail_deref_namespace.carbon index 55390431f64a..d64733b0ff7c 100644 --- a/toolchain/check/testdata/pointer/fail_deref_namespace.carbon +++ b/toolchain/check/testdata/pointer/fail_deref_namespace.carbon @@ -30,6 +30,7 @@ fn F() { // CHECK:STDOUT: --- fail_deref_namespace.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/pointer/fail_deref_not_pointer.carbon b/toolchain/check/testdata/pointer/fail_deref_not_pointer.carbon index 66375a0e5588..719a6b865042 100644 --- a/toolchain/check/testdata/pointer/fail_deref_not_pointer.carbon +++ b/toolchain/check/testdata/pointer/fail_deref_not_pointer.carbon @@ -48,6 +48,7 @@ fn Deref(n: i32) { // CHECK:STDOUT: --- fail_deref_not_pointer.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/pointer/fail_deref_type.carbon b/toolchain/check/testdata/pointer/fail_deref_type.carbon index d44a0dfa92ae..73151b4664d7 100644 --- a/toolchain/check/testdata/pointer/fail_deref_type.carbon +++ b/toolchain/check/testdata/pointer/fail_deref_type.carbon @@ -29,6 +29,7 @@ var p2: i32->foo; // CHECK:STDOUT: --- fail_deref_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/pointer/fail_type_mismatch.carbon b/toolchain/check/testdata/pointer/fail_type_mismatch.carbon index 8b372e510955..a94ab8a890fc 100644 --- a/toolchain/check/testdata/pointer/fail_type_mismatch.carbon +++ b/toolchain/check/testdata/pointer/fail_type_mismatch.carbon @@ -26,6 +26,7 @@ fn ConstMismatch(p: const {}*) -> const ({}*) { // CHECK:STDOUT: --- fail_type_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %const.c48: type = const_type %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/pointer/import.carbon b/toolchain/check/testdata/pointer/import.carbon index ff0f631deb70..3701c59faf11 100644 --- a/toolchain/check/testdata/pointer/import.carbon +++ b/toolchain/check/testdata/pointer/import.carbon @@ -28,6 +28,7 @@ var a: i32* = a_ref; // CHECK:STDOUT: --- implicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -139,6 +140,7 @@ var a: i32* = a_ref; // CHECK:STDOUT: --- implicit.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] diff --git a/toolchain/check/testdata/pointer/nested_const.carbon b/toolchain/check/testdata/pointer/nested_const.carbon index 9de486203df5..ce8fcf8868b6 100644 --- a/toolchain/check/testdata/pointer/nested_const.carbon +++ b/toolchain/check/testdata/pointer/nested_const.carbon @@ -21,6 +21,7 @@ fn F(p: const (const (const i32*)*)) -> const i32 { // CHECK:STDOUT: --- nested_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/pointer/types.carbon b/toolchain/check/testdata/pointer/types.carbon index a5d540a05776..138b84bbd973 100644 --- a/toolchain/check/testdata/pointer/types.carbon +++ b/toolchain/check/testdata/pointer/types.carbon @@ -23,6 +23,7 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: --- types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/primitives/import_symbolic.carbon b/toolchain/check/testdata/primitives/import_symbolic.carbon index 6c33d9d6c1ad..3e78589a98a8 100644 --- a/toolchain/check/testdata/primitives/import_symbolic.carbon +++ b/toolchain/check/testdata/primitives/import_symbolic.carbon @@ -197,6 +197,7 @@ fn F() -> u32 { // CHECK:STDOUT: --- import_bool.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table [concrete] @@ -245,6 +246,7 @@ fn F() -> u32 { // CHECK:STDOUT: --- import_char.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %char: type = class_type @Char [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] @@ -294,6 +296,7 @@ fn F() -> u32 { // CHECK:STDOUT: --- import_char_literal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table [concrete] @@ -342,6 +345,7 @@ fn F() -> u32 { // CHECK:STDOUT: --- import_float.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] @@ -399,6 +403,7 @@ fn F() -> u32 { // CHECK:STDOUT: --- import_float_literal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table [concrete] @@ -447,6 +452,7 @@ fn F() -> u32 { // CHECK:STDOUT: --- import_int.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -504,6 +510,7 @@ fn F() -> u32 { // CHECK:STDOUT: --- import_int_literal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table [concrete] @@ -552,6 +559,7 @@ fn F() -> u32 { // CHECK:STDOUT: --- unsigned_uint.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete] diff --git a/toolchain/check/testdata/primitives/string_literals.carbon b/toolchain/check/testdata/primitives/string_literals.carbon index 376ed097572e..bc08e4a1127d 100644 --- a/toolchain/check/testdata/primitives/string_literals.carbon +++ b/toolchain/check/testdata/primitives/string_literals.carbon @@ -116,6 +116,7 @@ This string contains 256 characters. Among them are: // CHECK:STDOUT: --- use_small_string.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %str.3d4: type = class_type @String [concrete] // CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete] // CHECK:STDOUT: %u8: type = class_type @UInt, @UInt(%int_8) [concrete] @@ -146,6 +147,7 @@ This string contains 256 characters. Among them are: // CHECK:STDOUT: --- fail_overfill_small_string.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %str.3d4: type = class_type @String [concrete] // CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete] // CHECK:STDOUT: %u8: type = class_type @UInt, @UInt(%int_8) [concrete] diff --git a/toolchain/check/testdata/primitives/type_literals.carbon b/toolchain/check/testdata/primitives/type_literals.carbon index b656c2443b85..c1fd1650abfd 100644 --- a/toolchain/check/testdata/primitives/type_literals.carbon +++ b/toolchain/check/testdata/primitives/type_literals.carbon @@ -292,6 +292,7 @@ var test_str: str = (); // CHECK:STDOUT: --- iN.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete] // CHECK:STDOUT: %i8: type = class_type @Int, @Int(%int_8) [concrete] // CHECK:STDOUT: %pattern_type.0cf: type = pattern_type %i8 [concrete] @@ -398,6 +399,7 @@ var test_str: str = (); // CHECK:STDOUT: --- uN.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete] // CHECK:STDOUT: %u8: type = class_type @UInt, @UInt(%int_8) [concrete] // CHECK:STDOUT: %pattern_type.186: type = pattern_type %u8 [concrete] @@ -504,6 +506,7 @@ var test_str: str = (); // CHECK:STDOUT: --- fN.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete] // CHECK:STDOUT: %f16.907: type = class_type @Float, @Float(%int_16) [concrete] // CHECK:STDOUT: %pattern_type.7cc: type = pattern_type %f16.907 [concrete] @@ -610,6 +613,7 @@ var test_str: str = (); // CHECK:STDOUT: --- char.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %char: type = class_type @Char [concrete] // CHECK:STDOUT: %pattern_type.2ff: type = pattern_type %char [concrete] // CHECK:STDOUT: %test_char.patt: %pattern_type.2ff = value_binding_pattern test_char [concrete] @@ -652,6 +656,7 @@ var test_str: str = (); // CHECK:STDOUT: --- string.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %str.3d4: type = class_type @String [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %u64: type = class_type @UInt, @UInt(%int_64) [concrete] @@ -684,16 +689,17 @@ var test_str: str = (); // CHECK:STDOUT: --- type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %test_type.patt: %pattern_type.98f = ref_binding_pattern test_type [concrete] -// CHECK:STDOUT: %test_type.var_patt: %pattern_type.98f = var_pattern %test_type.patt [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %test_type.patt: %pattern_type.9a5 = ref_binding_pattern test_type [concrete] +// CHECK:STDOUT: %test_type.var_patt: %pattern_type.9a5 = var_pattern %test_type.patt [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness imports.%Copy.impl_witness_table.7b6 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.f3e: = impl_witness imports.%Copy.impl_witness_table.aa5 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.f3e) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.571: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.39e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.571, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.bound: = bound_method %i32, %type.as.Copy.impl.Op [concrete] @@ -701,7 +707,7 @@ var test_str: str = (); // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.9c3: %type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.7b6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.aa5 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -709,15 +715,15 @@ var test_str: str = (); // CHECK:STDOUT: %.loc5: type = type_literal type [concrete = type] // CHECK:STDOUT: %test_type: ref type = wrapper_binding test_type, %test_type.var [concrete = %test_type.var] // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %test_type.patt: %pattern_type.98f = ref_binding_pattern test_type [concrete = constants.%test_type.patt] -// CHECK:STDOUT: %test_type.var_patt: %pattern_type.98f = var_pattern %test_type.patt [concrete = constants.%test_type.var_patt] +// CHECK:STDOUT: %test_type.patt: %pattern_type.9a5 = ref_binding_pattern test_type [concrete = constants.%test_type.patt] +// CHECK:STDOUT: %test_type.var_patt: %pattern_type.9a5 = var_pattern %test_type.patt [concrete = constants.%test_type.var_patt] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.39e = impl_witness_access constants.%Copy.impl_witness.f3e, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %i32, %impl.elem0 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%i32) [concrete = constants.%i32] // CHECK:STDOUT: assign file.%test_type.var, %type.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/return/code_after_return.carbon b/toolchain/check/testdata/return/code_after_return.carbon index a995c8309f87..6fc39a54600a 100644 --- a/toolchain/check/testdata/return/code_after_return.carbon +++ b/toolchain/check/testdata/return/code_after_return.carbon @@ -20,6 +20,7 @@ fn Main() { // CHECK:STDOUT: --- code_after_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/return/code_after_return_value.carbon b/toolchain/check/testdata/return/code_after_return_value.carbon index a5a85f9566d7..63d24fb742d3 100644 --- a/toolchain/check/testdata/return/code_after_return_value.carbon +++ b/toolchain/check/testdata/return/code_after_return_value.carbon @@ -27,6 +27,7 @@ fn F(unused b: bool) -> i32 { // CHECK:STDOUT: --- code_after_return_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %b.param_patt: %pattern_type.831 = value_param_pattern [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.831 = wrapper_binding_pattern b, %b.param_patt [concrete] diff --git a/toolchain/check/testdata/return/fail_call_in_type.carbon b/toolchain/check/testdata/return/fail_call_in_type.carbon index 2d94751094ac..e7096342f5ee 100644 --- a/toolchain/check/testdata/return/fail_call_in_type.carbon +++ b/toolchain/check/testdata/return/fail_call_in_type.carbon @@ -24,10 +24,11 @@ fn Six() -> ReturnType() { return 6; } // CHECK:STDOUT: --- fail_call_in_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %.805: Core.Form = init_form type [concrete] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %return.param_patt.70e: %pattern_type.98f = out_param_pattern [concrete] -// CHECK:STDOUT: %return.patt.3ae: %pattern_type.98f = return_slot_pattern %return.param_patt.70e, type [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.576: Core.Form = init_form type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %return.param_patt.90b: %pattern_type.9a5 = out_param_pattern [concrete] +// CHECK:STDOUT: %return.patt.718: %pattern_type.9a5 = return_slot_pattern %return.param_patt.90b, type [concrete] // CHECK:STDOUT: %ReturnType.type: type = fn_type @ReturnType [concrete] // CHECK:STDOUT: %ReturnType: %ReturnType.type = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -35,10 +36,10 @@ fn Six() -> ReturnType() { return 6; } // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness imports.%Copy.impl_witness_table.7b6 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.f3e: = impl_witness imports.%Copy.impl_witness_table.aa5 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.f3e) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.571: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.39e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.571, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.bound: = bound_method %i32, %type.as.Copy.impl.Op [concrete] @@ -57,7 +58,7 @@ fn Six() -> ReturnType() { return 6; } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.9c3: %type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.7b6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.aa5 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -68,11 +69,11 @@ fn Six() -> ReturnType() { return 6; } // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ReturnType.decl: %ReturnType.type = fn_decl @ReturnType [concrete = constants.%ReturnType] { -// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern [concrete = constants.%return.param_patt.70e] -// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern %return.param_patt, %.loc17_20.1 [concrete = constants.%return.patt.3ae] +// CHECK:STDOUT: %return.param_patt: %pattern_type.9a5 = out_param_pattern [concrete = constants.%return.param_patt.90b] +// CHECK:STDOUT: %return.patt: %pattern_type.9a5 = return_slot_pattern %return.param_patt, %.loc17_20.1 [concrete = constants.%return.patt.718] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17_20.1: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.loc17_20.2: Core.Form = init_form %.loc17_20.1 [concrete = constants.%.805] +// CHECK:STDOUT: %.loc17_20.2: Core.Form = init_form %.loc17_20.1 [concrete = constants.%.576] // CHECK:STDOUT: %return.param: ref type = out_param call_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } @@ -90,7 +91,7 @@ fn Six() -> ReturnType() { return 6; } // CHECK:STDOUT: fn @ReturnType() -> out %return.param: type { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.39e = impl_witness_access constants.%Copy.impl_witness.f3e, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %i32, %impl.elem0 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%i32) [concrete = constants.%i32] // CHECK:STDOUT: return %type.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/return/fail_error_in_type.carbon b/toolchain/check/testdata/return/fail_error_in_type.carbon index 8dfdba0ab6ce..d4aa3ea76bbe 100644 --- a/toolchain/check/testdata/return/fail_error_in_type.carbon +++ b/toolchain/check/testdata/return/fail_error_in_type.carbon @@ -21,6 +21,7 @@ fn Six() -> x; // CHECK:STDOUT: --- fail_error_in_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Six.type: type = fn_type @Six [concrete] // CHECK:STDOUT: %Six: %Six.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/fail_let_in_type.carbon b/toolchain/check/testdata/return/fail_let_in_type.carbon index e015bf73b8cf..09bd25a7176d 100644 --- a/toolchain/check/testdata/return/fail_let_in_type.carbon +++ b/toolchain/check/testdata/return/fail_let_in_type.carbon @@ -46,8 +46,9 @@ fn FirstPerfectNumber() -> z { return 6; } // CHECK:STDOUT: --- fail_let_in_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %x.patt: %pattern_type.98f = value_binding_pattern x [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %x.patt: %pattern_type.9a5 = value_binding_pattern x [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -55,12 +56,11 @@ fn FirstPerfectNumber() -> z { return 6; } // CHECK:STDOUT: %Six.type: type = fn_type @Six [concrete] // CHECK:STDOUT: %Six: %Six.type = struct_value () [concrete] // CHECK:STDOUT: %int_6: Core.IntLiteral = int_value 6 [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %y.patt: %pattern_type.98f = value_binding_pattern y [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %y.patt: %pattern_type.9a5 = value_binding_pattern y [concrete] // CHECK:STDOUT: %HalfDozen.type: type = fn_type @HalfDozen [concrete] // CHECK:STDOUT: %HalfDozen: %HalfDozen.type = struct_value () [concrete] -// CHECK:STDOUT: %z.patt: %pattern_type.98f = value_binding_pattern z [concrete] +// CHECK:STDOUT: %z.patt: %pattern_type.9a5 = value_binding_pattern z [concrete] // CHECK:STDOUT: %FirstPerfectNumber.type: type = fn_type @FirstPerfectNumber [concrete] // CHECK:STDOUT: %FirstPerfectNumber: %FirstPerfectNumber.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -88,7 +88,7 @@ fn FirstPerfectNumber() -> z { return 6; } // CHECK:STDOUT: %.loc15: type = type_literal type [concrete = type] // CHECK:STDOUT: %x: type = wrapper_binding x, @__global_init.%i32.loc15 // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %x.patt: %pattern_type.98f = value_binding_pattern x [concrete = constants.%x.patt] +// CHECK:STDOUT: %x.patt: %pattern_type.9a5 = value_binding_pattern x [concrete = constants.%x.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %Six.decl: %Six.type = fn_decl @Six [concrete = constants.%Six] { // CHECK:STDOUT: %return.patt: = return_slot_pattern , [concrete = ] @@ -97,12 +97,12 @@ fn FirstPerfectNumber() -> z { return 6; } // CHECK:STDOUT: %return: = return_slot // CHECK:STDOUT: } // CHECK:STDOUT: %.loc27_16.1: type = splice_block %.loc27_16.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc27: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc27: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc27_16.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %y: type = wrapper_binding y, @__global_init.%i32.loc27 // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %y.patt: %pattern_type.98f = value_binding_pattern y [concrete = constants.%y.patt] +// CHECK:STDOUT: %y.patt: %pattern_type.9a5 = value_binding_pattern y [concrete = constants.%y.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %HalfDozen.decl: %HalfDozen.type = fn_decl @HalfDozen [concrete = constants.%HalfDozen] { // CHECK:STDOUT: %return.patt: = return_slot_pattern , [concrete = ] @@ -111,12 +111,12 @@ fn FirstPerfectNumber() -> z { return 6; } // CHECK:STDOUT: %return: = return_slot // CHECK:STDOUT: } // CHECK:STDOUT: %.loc39_17.1: type = splice_block %.loc39_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc39: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc39: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc39_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %z: type = wrapper_binding z, @__global_init.%i32.loc39 // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %z.patt: %pattern_type.98f = value_binding_pattern z [concrete = constants.%z.patt] +// CHECK:STDOUT: %z.patt: %pattern_type.9a5 = value_binding_pattern z [concrete = constants.%z.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %FirstPerfectNumber.decl: %FirstPerfectNumber.type = fn_decl @FirstPerfectNumber [concrete = constants.%FirstPerfectNumber] { // CHECK:STDOUT: %return.patt: = return_slot_pattern , [concrete = ] diff --git a/toolchain/check/testdata/return/fail_missing_return.carbon b/toolchain/check/testdata/return/fail_missing_return.carbon index 23784c7993b9..1b5ba434cd39 100644 --- a/toolchain/check/testdata/return/fail_missing_return.carbon +++ b/toolchain/check/testdata/return/fail_missing_return.carbon @@ -22,6 +22,7 @@ fn Main() -> i32 { // CHECK:STDOUT: --- fail_missing_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/return/fail_missing_return_empty_tuple.carbon b/toolchain/check/testdata/return/fail_missing_return_empty_tuple.carbon index 767c84cc6e6b..13d9627f4005 100644 --- a/toolchain/check/testdata/return/fail_missing_return_empty_tuple.carbon +++ b/toolchain/check/testdata/return/fail_missing_return_empty_tuple.carbon @@ -22,6 +22,7 @@ fn F() -> () { // CHECK:STDOUT: --- fail_missing_return_empty_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %.262: Core.Form = init_form %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/return/fail_return_var_no_returned_var.carbon b/toolchain/check/testdata/return/fail_return_var_no_returned_var.carbon index dc4916fe6b5a..e45f183c7402 100644 --- a/toolchain/check/testdata/return/fail_return_var_no_returned_var.carbon +++ b/toolchain/check/testdata/return/fail_return_var_no_returned_var.carbon @@ -23,6 +23,7 @@ fn Procedure() -> {} { // CHECK:STDOUT: --- fail_return_var_no_returned_var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %.469: Core.Form = init_form %empty_struct_type [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 22b7cb1c3061..f61293077abe 100644 --- a/toolchain/check/testdata/return/fail_return_with_returned_var.carbon +++ b/toolchain/check/testdata/return/fail_return_with_returned_var.carbon @@ -40,6 +40,7 @@ fn G() -> C { // CHECK:STDOUT: --- fail_return_with_returned_var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/return/fail_returned_var_no_return_type.carbon b/toolchain/check/testdata/return/fail_returned_var_no_return_type.carbon index 7e4a1a4fbe3f..e0825e617066 100644 --- a/toolchain/check/testdata/return/fail_returned_var_no_return_type.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_no_return_type.carbon @@ -51,6 +51,7 @@ fn ForgotReturnType() { // CHECK:STDOUT: --- fail_procedure_with_returned_var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Procedure.type: type = fn_type @Procedure [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Procedure: %Procedure.type = struct_value () [concrete] @@ -107,6 +108,7 @@ fn ForgotReturnType() { // CHECK:STDOUT: --- fail_forgot_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %ForgotReturnType.type: type = fn_type @ForgotReturnType [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %ForgotReturnType: %ForgotReturnType.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/return/fail_returned_var_shadow.carbon b/toolchain/check/testdata/return/fail_returned_var_shadow.carbon index 6cbdc182da47..db58c1cc19fd 100644 --- a/toolchain/check/testdata/return/fail_returned_var_shadow.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_shadow.carbon @@ -47,6 +47,7 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: --- fail_returned_var_shadow.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/return/fail_returned_var_type.carbon b/toolchain/check/testdata/return/fail_returned_var_type.carbon index 38e843966bc9..8c555cfacbe7 100644 --- a/toolchain/check/testdata/return/fail_returned_var_type.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_type.carbon @@ -27,6 +27,7 @@ fn Mismatch() -> i32 { // CHECK:STDOUT: --- fail_returned_var_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/return/fail_type_mismatch.carbon b/toolchain/check/testdata/return/fail_type_mismatch.carbon index 9cec446dfc5a..636da7e6216b 100644 --- a/toolchain/check/testdata/return/fail_type_mismatch.carbon +++ b/toolchain/check/testdata/return/fail_type_mismatch.carbon @@ -26,6 +26,7 @@ fn Main() -> i32 { // CHECK:STDOUT: --- fail_type_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/return/fail_value_disallowed.carbon b/toolchain/check/testdata/return/fail_value_disallowed.carbon index 1194f95c86d6..3b4ceacd5c1a 100644 --- a/toolchain/check/testdata/return/fail_value_disallowed.carbon +++ b/toolchain/check/testdata/return/fail_value_disallowed.carbon @@ -26,6 +26,7 @@ fn Main() { // CHECK:STDOUT: --- fail_value_disallowed.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] diff --git a/toolchain/check/testdata/return/fail_value_missing.carbon b/toolchain/check/testdata/return/fail_value_missing.carbon index a7ac5defc592..6ee79685d90e 100644 --- a/toolchain/check/testdata/return/fail_value_missing.carbon +++ b/toolchain/check/testdata/return/fail_value_missing.carbon @@ -26,6 +26,7 @@ fn Main() -> i32 { // CHECK:STDOUT: --- fail_value_missing.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/return/fail_var_in_type.carbon b/toolchain/check/testdata/return/fail_var_in_type.carbon index 1beb9e73ef9d..0bc6f0dda104 100644 --- a/toolchain/check/testdata/return/fail_var_in_type.carbon +++ b/toolchain/check/testdata/return/fail_var_in_type.carbon @@ -22,18 +22,19 @@ fn Six() -> x { return 6; } // CHECK:STDOUT: --- fail_var_in_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] -// CHECK:STDOUT: %x.patt: %pattern_type.98f = ref_binding_pattern x [concrete] -// CHECK:STDOUT: %x.var_patt: %pattern_type.98f = var_pattern %x.patt [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] +// CHECK:STDOUT: %x.patt: %pattern_type.9a5 = ref_binding_pattern x [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.9a5 = var_pattern %x.patt [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness imports.%Copy.impl_witness_table.7b6 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.f3e: = impl_witness imports.%Copy.impl_witness_table.aa5 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.f3e) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.571: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.39e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.571, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.bound: = bound_method %i32, %type.as.Copy.impl.Op [concrete] @@ -52,7 +53,7 @@ fn Six() -> x { return 6; } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.9c3: %type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.7b6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.aa5 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -66,8 +67,8 @@ fn Six() -> x { return 6; } // CHECK:STDOUT: %.loc15: type = type_literal type [concrete = type] // CHECK:STDOUT: %x: ref type = wrapper_binding x, %x.var [concrete = %x.var] // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %x.patt: %pattern_type.98f = ref_binding_pattern x [concrete = constants.%x.patt] -// CHECK:STDOUT: %x.var_patt: %pattern_type.98f = var_pattern %x.patt [concrete = constants.%x.var_patt] +// CHECK:STDOUT: %x.patt: %pattern_type.9a5 = ref_binding_pattern x [concrete = constants.%x.patt] +// CHECK:STDOUT: %x.var_patt: %pattern_type.9a5 = var_pattern %x.patt [concrete = constants.%x.var_patt] // CHECK:STDOUT: } // CHECK:STDOUT: %Six.decl: %Six.type = fn_decl @Six [concrete = constants.%Six] { // CHECK:STDOUT: %return.patt: = return_slot_pattern , [concrete = ] @@ -87,7 +88,7 @@ fn Six() -> x { return 6; } // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.39e = impl_witness_access constants.%Copy.impl_witness.f3e, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %i32, %impl.elem0 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%i32) [concrete = constants.%i32] // CHECK:STDOUT: assign file.%x.var, %type.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/return/import_convert_function.carbon b/toolchain/check/testdata/return/import_convert_function.carbon index d90b2388fb4e..e0c93edc80e4 100644 --- a/toolchain/check/testdata/return/import_convert_function.carbon +++ b/toolchain/check/testdata/return/import_convert_function.carbon @@ -51,8 +51,8 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: --- library.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -215,7 +215,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %N.patt.loc4_10.1: %pattern_type.6b6 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc4_10.2 (constants.%N.patt.38a)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_10.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc4_10.1 (constants.%N.37f)] @@ -761,6 +761,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: --- user.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/return/missing_return_no_return_type.carbon b/toolchain/check/testdata/return/missing_return_no_return_type.carbon index 938880b1c44e..3cb54acdf7a4 100644 --- a/toolchain/check/testdata/return/missing_return_no_return_type.carbon +++ b/toolchain/check/testdata/return/missing_return_no_return_type.carbon @@ -18,6 +18,7 @@ fn F() { // CHECK:STDOUT: --- missing_return_no_return_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/no_value.carbon b/toolchain/check/testdata/return/no_value.carbon index 03814de10364..1f940d3ec019 100644 --- a/toolchain/check/testdata/return/no_value.carbon +++ b/toolchain/check/testdata/return/no_value.carbon @@ -19,6 +19,7 @@ fn Main() { // CHECK:STDOUT: --- no_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/returned_var.carbon b/toolchain/check/testdata/return/returned_var.carbon index 04894e558dda..de860625f718 100644 --- a/toolchain/check/testdata/return/returned_var.carbon +++ b/toolchain/check/testdata/return/returned_var.carbon @@ -30,6 +30,7 @@ fn G() -> i32 { // CHECK:STDOUT: --- returned_var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] diff --git a/toolchain/check/testdata/return/returned_var_scope.carbon b/toolchain/check/testdata/return/returned_var_scope.carbon index d9a5531dedaa..f9aa22babc46 100644 --- a/toolchain/check/testdata/return/returned_var_scope.carbon +++ b/toolchain/check/testdata/return/returned_var_scope.carbon @@ -34,6 +34,7 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: --- returned_var_scope.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/return/struct.carbon b/toolchain/check/testdata/return/struct.carbon index 087be9386e74..99dc3207ffe3 100644 --- a/toolchain/check/testdata/return/struct.carbon +++ b/toolchain/check/testdata/return/struct.carbon @@ -19,6 +19,7 @@ fn Main() -> {.a: i32} { // CHECK:STDOUT: --- struct.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/return/tuple.carbon b/toolchain/check/testdata/return/tuple.carbon index ccc9d14439aa..5e2cacd89cd1 100644 --- a/toolchain/check/testdata/return/tuple.carbon +++ b/toolchain/check/testdata/return/tuple.carbon @@ -20,12 +20,13 @@ fn Main() -> (i32, i32) { // CHECK:STDOUT: --- tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.b59: %tuple.type.24b = tuple_value (%i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.94e: %tuple.type.693 = tuple_value (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e55: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %.c11: Core.Form = init_form %tuple.type.e55 [concrete] // CHECK:STDOUT: %pattern_type.394: type = pattern_type %tuple.type.e55 [concrete] @@ -84,7 +85,7 @@ fn Main() -> (i32, i32) { // CHECK:STDOUT: } { // CHECK:STDOUT: %i32.loc16_15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc16_20: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc16_23.1: %tuple.type.24b = tuple_literal (%i32.loc16_15, %i32.loc16_20) [concrete = constants.%tuple.b59] +// CHECK:STDOUT: %.loc16_23.1: %tuple.type.693 = tuple_literal (%i32.loc16_15, %i32.loc16_20) [concrete = constants.%tuple.94e] // CHECK:STDOUT: %.loc16_23.2: type = converted %.loc16_23.1, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: %.loc16_23.3: Core.Form = init_form %.loc16_23.2 [concrete = constants.%.c11] // CHECK:STDOUT: %return.param: ref %tuple.type.e55 = out_param call_param0 diff --git a/toolchain/check/testdata/return/value.carbon b/toolchain/check/testdata/return/value.carbon index 17cb65abc6e2..9fa0e57f38f1 100644 --- a/toolchain/check/testdata/return/value.carbon +++ b/toolchain/check/testdata/return/value.carbon @@ -19,6 +19,7 @@ fn Main() -> i32 { // CHECK:STDOUT: --- value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/struct/empty.carbon b/toolchain/check/testdata/struct/empty.carbon index e0246375f734..daf1043e5947 100644 --- a/toolchain/check/testdata/struct/empty.carbon +++ b/toolchain/check/testdata/struct/empty.carbon @@ -18,6 +18,7 @@ var y: {} = x; // CHECK:STDOUT: --- empty.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/struct/fail_access_into_invalid.carbon b/toolchain/check/testdata/struct/fail_access_into_invalid.carbon index bf66cf63435f..1f8e42a1e7ae 100644 --- a/toolchain/check/testdata/struct/fail_access_into_invalid.carbon +++ b/toolchain/check/testdata/struct/fail_access_into_invalid.carbon @@ -22,6 +22,7 @@ fn F() { a.b; } // CHECK:STDOUT: --- fail_access_into_invalid.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/struct/fail_assign_empty.carbon b/toolchain/check/testdata/struct/fail_assign_empty.carbon index c82d2c0a2859..ad89518d871a 100644 --- a/toolchain/check/testdata/struct/fail_assign_empty.carbon +++ b/toolchain/check/testdata/struct/fail_assign_empty.carbon @@ -21,6 +21,7 @@ var x: {.a: i32} = {}; // CHECK:STDOUT: --- fail_assign_empty.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/struct/fail_assign_nested.carbon b/toolchain/check/testdata/struct/fail_assign_nested.carbon index 3bf27ca49602..263771de9363 100644 --- a/toolchain/check/testdata/struct/fail_assign_nested.carbon +++ b/toolchain/check/testdata/struct/fail_assign_nested.carbon @@ -21,6 +21,7 @@ var x: {.a: {}} = {.b = {}}; // CHECK:STDOUT: --- fail_assign_nested.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %struct_type.a.225: type = struct_type {.a: %empty_struct_type} [concrete] diff --git a/toolchain/check/testdata/struct/fail_assign_to_empty.carbon b/toolchain/check/testdata/struct/fail_assign_to_empty.carbon index 392753a837b5..56ac49fe2287 100644 --- a/toolchain/check/testdata/struct/fail_assign_to_empty.carbon +++ b/toolchain/check/testdata/struct/fail_assign_to_empty.carbon @@ -21,6 +21,7 @@ var x: {} = {.a = 1}; // CHECK:STDOUT: --- fail_assign_to_empty.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/struct/fail_duplicate_name.carbon b/toolchain/check/testdata/struct/fail_duplicate_name.carbon index 5f7d88073ddf..fab4df129d0a 100644 --- a/toolchain/check/testdata/struct/fail_duplicate_name.carbon +++ b/toolchain/check/testdata/struct/fail_duplicate_name.carbon @@ -60,6 +60,7 @@ var y: {.b: i32, .c: i32} = {.b = 3, .b = 4}; // CHECK:STDOUT: --- fail_duplicate_name.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon b/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon index 5fa1c7ee6562..527611a67ec7 100644 --- a/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon +++ b/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon @@ -34,6 +34,7 @@ var y: {.b: i32} = x; // CHECK:STDOUT: --- fail_field_name_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/struct/fail_field_type_mismatch.carbon b/toolchain/check/testdata/struct/fail_field_type_mismatch.carbon index 816bf6f20ddd..b5a75b0f104f 100644 --- a/toolchain/check/testdata/struct/fail_field_type_mismatch.carbon +++ b/toolchain/check/testdata/struct/fail_field_type_mismatch.carbon @@ -21,6 +21,7 @@ var x: {.a: i32} = {.b = 1.0}; // CHECK:STDOUT: --- fail_field_type_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/struct/fail_member_access_type.carbon b/toolchain/check/testdata/struct/fail_member_access_type.carbon index 67f9dfd64634..c6afafef07bc 100644 --- a/toolchain/check/testdata/struct/fail_member_access_type.carbon +++ b/toolchain/check/testdata/struct/fail_member_access_type.carbon @@ -22,6 +22,7 @@ var y: i32 = x.b; // CHECK:STDOUT: --- fail_member_access_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %Float.type: type = generic_class_type @Float [concrete] // CHECK:STDOUT: %Float.generic: %Float.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/struct/fail_member_of_function.carbon b/toolchain/check/testdata/struct/fail_member_of_function.carbon index f0161460999a..75227f3a258d 100644 --- a/toolchain/check/testdata/struct/fail_member_of_function.carbon +++ b/toolchain/check/testdata/struct/fail_member_of_function.carbon @@ -23,6 +23,7 @@ fn A() { // CHECK:STDOUT: --- fail_member_of_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/struct/fail_nested_incomplete.carbon b/toolchain/check/testdata/struct/fail_nested_incomplete.carbon index 7f66f7572498..41c0284e4785 100644 --- a/toolchain/check/testdata/struct/fail_nested_incomplete.carbon +++ b/toolchain/check/testdata/struct/fail_nested_incomplete.carbon @@ -28,6 +28,7 @@ var p: Incomplete* = &s.a; // CHECK:STDOUT: --- fail_nested_incomplete.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Incomplete: type = class_type @Incomplete [concrete] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %Incomplete} [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %Incomplete [concrete] diff --git a/toolchain/check/testdata/struct/fail_non_member_access.carbon b/toolchain/check/testdata/struct/fail_non_member_access.carbon index 99641970364c..5772ca97e417 100644 --- a/toolchain/check/testdata/struct/fail_non_member_access.carbon +++ b/toolchain/check/testdata/struct/fail_non_member_access.carbon @@ -22,6 +22,7 @@ var y: i32 = x.b; // CHECK:STDOUT: --- fail_non_member_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/struct/fail_too_few_values.carbon b/toolchain/check/testdata/struct/fail_too_few_values.carbon index 69f1d5c9ba73..bc691198d247 100644 --- a/toolchain/check/testdata/struct/fail_too_few_values.carbon +++ b/toolchain/check/testdata/struct/fail_too_few_values.carbon @@ -21,6 +21,7 @@ var x: {.a: i32, .b: i32} = {.a = 1}; // CHECK:STDOUT: --- fail_too_few_values.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/struct/fail_type_assign.carbon b/toolchain/check/testdata/struct/fail_type_assign.carbon index 051246e5c1cf..4a29bd36c5de 100644 --- a/toolchain/check/testdata/struct/fail_type_assign.carbon +++ b/toolchain/check/testdata/struct/fail_type_assign.carbon @@ -24,6 +24,7 @@ var x: {.a: i32} = {.a: i32}; // CHECK:STDOUT: --- fail_type_assign.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/struct/fail_value_as_type.carbon b/toolchain/check/testdata/struct/fail_value_as_type.carbon index 35da61aada72..d082da51e30a 100644 --- a/toolchain/check/testdata/struct/fail_value_as_type.carbon +++ b/toolchain/check/testdata/struct/fail_value_as_type.carbon @@ -24,6 +24,7 @@ var x: {.a = 1}; // CHECK:STDOUT: --- fail_value_as_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: Core.IntLiteral} [concrete] // CHECK:STDOUT: %struct: %struct_type.a = struct_value (%int_1) [concrete] diff --git a/toolchain/check/testdata/struct/import.carbon b/toolchain/check/testdata/struct/import.carbon index 3c73417afad7..5f76931f2c02 100644 --- a/toolchain/check/testdata/struct/import.carbon +++ b/toolchain/check/testdata/struct/import.carbon @@ -82,6 +82,7 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: --- implicit.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] @@ -105,8 +106,8 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple.19c: %tuple.type.85c = tuple_value (%i32) [concrete] +// CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] +// CHECK:STDOUT: %tuple.e3d: %tuple.type.135 = tuple_value (%i32) [concrete] // CHECK:STDOUT: %tuple.type.a8a: type = tuple_type (%i32) [concrete] // CHECK:STDOUT: %struct_type.b.c: type = struct_type {.b: %i32, .c: %tuple.type.a8a} [concrete] // CHECK:STDOUT: %struct_type.a.d.01c: type = struct_type {.a: %struct_type.b.c, .d: %i32} [concrete] @@ -182,7 +183,7 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %.loc6_43: type = splice_block %struct_type.a.d [concrete = constants.%struct_type.a.d.01c] { // CHECK:STDOUT: %i32.loc6_18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc6_28: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc6_32.1: %tuple.type.85c = tuple_literal (%i32.loc6_28) [concrete = constants.%tuple.19c] +// CHECK:STDOUT: %.loc6_32.1: %tuple.type.135 = tuple_literal (%i32.loc6_28) [concrete = constants.%tuple.e3d] // CHECK:STDOUT: %.loc6_32.2: type = converted %.loc6_32.1, constants.%tuple.type.a8a [concrete = constants.%tuple.type.a8a] // CHECK:STDOUT: %struct_type.b.c: type = struct_type {.b: %i32, .c: %tuple.type.a8a} [concrete = constants.%struct_type.b.c] // CHECK:STDOUT: %i32.loc6_40: type = type_literal constants.%i32 [concrete = constants.%i32] @@ -285,6 +286,7 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: --- import_symbolic_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/struct/literal_member_access.carbon b/toolchain/check/testdata/struct/literal_member_access.carbon index 2d25bc2b87ad..403aa94d9756 100644 --- a/toolchain/check/testdata/struct/literal_member_access.carbon +++ b/toolchain/check/testdata/struct/literal_member_access.carbon @@ -21,6 +21,7 @@ fn F() -> i32 { // CHECK:STDOUT: --- literal_member_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/struct/member_access.carbon b/toolchain/check/testdata/struct/member_access.carbon index 9b1797b61046..ffe31feb93af 100644 --- a/toolchain/check/testdata/struct/member_access.carbon +++ b/toolchain/check/testdata/struct/member_access.carbon @@ -19,6 +19,7 @@ var z: i32 = y; // CHECK:STDOUT: --- member_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %Float.type: type = generic_class_type @Float [concrete] // CHECK:STDOUT: %Float.generic: %Float.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/struct/nested_struct_in_place.carbon b/toolchain/check/testdata/struct/nested_struct_in_place.carbon index 343d0ed60328..ee0c478bf6dd 100644 --- a/toolchain/check/testdata/struct/nested_struct_in_place.carbon +++ b/toolchain/check/testdata/struct/nested_struct_in_place.carbon @@ -21,13 +21,14 @@ fn G() { // CHECK:STDOUT: --- nested_struct_in_place.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.ff9: type = tuple_type (type, type, type) [concrete] -// CHECK:STDOUT: %tuple: %tuple.type.ff9 = tuple_value (%i32, %i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.531: type = tuple_type (type, type, type) [concrete] +// CHECK:STDOUT: %tuple: %tuple.type.531 = tuple_value (%i32, %i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.555: type = tuple_type (%i32, %i32, %i32) [concrete] // CHECK:STDOUT: %.718: Core.Form = init_form %tuple.type.555 [concrete] // CHECK:STDOUT: %pattern_type.777: type = pattern_type %tuple.type.555 [concrete] @@ -72,7 +73,7 @@ fn G() { // CHECK:STDOUT: %i32.loc15_12: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc15_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc15_22: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc15_25.1: %tuple.type.ff9 = tuple_literal (%i32.loc15_12, %i32.loc15_17, %i32.loc15_22) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc15_25.1: %tuple.type.531 = tuple_literal (%i32.loc15_12, %i32.loc15_17, %i32.loc15_22) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc15_25.2: type = converted %.loc15_25.1, constants.%tuple.type.555 [concrete = constants.%tuple.type.555] // CHECK:STDOUT: %.loc15_25.3: Core.Form = init_form %.loc15_25.2 [concrete = constants.%.718] // CHECK:STDOUT: %return.param: ref %tuple.type.555 = out_param call_param0 @@ -100,12 +101,12 @@ fn G() { // CHECK:STDOUT: %i32.loc18_23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc18_28: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc18_33: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc18_36.1: %tuple.type.ff9 = tuple_literal (%i32.loc18_23, %i32.loc18_28, %i32.loc18_33) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc18_36.1: %tuple.type.531 = tuple_literal (%i32.loc18_23, %i32.loc18_28, %i32.loc18_33) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc18_36.2: type = converted %.loc18_36.1, constants.%tuple.type.555 [concrete = constants.%tuple.type.555] // CHECK:STDOUT: %i32.loc18_44: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc18_49: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc18_54: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc18_57.1: %tuple.type.ff9 = tuple_literal (%i32.loc18_44, %i32.loc18_49, %i32.loc18_54) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc18_57.1: %tuple.type.531 = tuple_literal (%i32.loc18_44, %i32.loc18_49, %i32.loc18_54) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc18_57.2: type = converted %.loc18_57.1, constants.%tuple.type.555 [concrete = constants.%tuple.type.555] // CHECK:STDOUT: %struct_type.a.b: type = struct_type {.a: %tuple.type.555, .b: %tuple.type.555} [concrete = constants.%struct_type.a.b.2a0] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/struct/one_entry.carbon b/toolchain/check/testdata/struct/one_entry.carbon index 7347ffb6e680..0eeaf340ce76 100644 --- a/toolchain/check/testdata/struct/one_entry.carbon +++ b/toolchain/check/testdata/struct/one_entry.carbon @@ -18,6 +18,7 @@ var y: {.a: i32} = x; // CHECK:STDOUT: --- one_entry.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/struct/partially_const.carbon b/toolchain/check/testdata/struct/partially_const.carbon index 0b8197b6e6a0..070b4db7d1ea 100644 --- a/toolchain/check/testdata/struct/partially_const.carbon +++ b/toolchain/check/testdata/struct/partially_const.carbon @@ -19,6 +19,7 @@ fn Make(n: i32) -> {.a: i32, .b: i32, .c: i32} { // CHECK:STDOUT: --- partially_const.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/struct/reorder_fields.carbon b/toolchain/check/testdata/struct/reorder_fields.carbon index e3bf441b0cca..857093b08c4a 100644 --- a/toolchain/check/testdata/struct/reorder_fields.carbon +++ b/toolchain/check/testdata/struct/reorder_fields.carbon @@ -24,6 +24,7 @@ fn F() -> {.a: i32, .b: f64} { // CHECK:STDOUT: --- reorder_fields.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/struct/tuple_as_element.carbon b/toolchain/check/testdata/struct/tuple_as_element.carbon index cb0dd2a65d43..22642eeec28f 100644 --- a/toolchain/check/testdata/struct/tuple_as_element.carbon +++ b/toolchain/check/testdata/struct/tuple_as_element.carbon @@ -18,13 +18,14 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: --- tuple_as_element.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple.19c: %tuple.type.85c = tuple_value (%i32) [concrete] +// CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] +// CHECK:STDOUT: %tuple.e3d: %tuple.type.135 = tuple_value (%i32) [concrete] // CHECK:STDOUT: %tuple.type.a8a: type = tuple_type (%i32) [concrete] // CHECK:STDOUT: %struct_type.a.b.388: type = struct_type {.a: %i32, .b: %tuple.type.a8a} [concrete] // CHECK:STDOUT: %pattern_type.227: type = pattern_type %struct_type.a.b.388 [concrete] @@ -104,7 +105,7 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %.loc15_28: type = splice_block %struct_type.a.b.loc15 [concrete = constants.%struct_type.a.b.388] { // CHECK:STDOUT: %i32.loc15_13: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc15_23: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc15_27.1: %tuple.type.85c = tuple_literal (%i32.loc15_23) [concrete = constants.%tuple.19c] +// CHECK:STDOUT: %.loc15_27.1: %tuple.type.135 = tuple_literal (%i32.loc15_23) [concrete = constants.%tuple.e3d] // CHECK:STDOUT: %.loc15_27.2: type = converted %.loc15_27.1, constants.%tuple.type.a8a [concrete = constants.%tuple.type.a8a] // CHECK:STDOUT: %struct_type.a.b.loc15: type = struct_type {.a: %i32, .b: %tuple.type.a8a} [concrete = constants.%struct_type.a.b.388] // CHECK:STDOUT: } @@ -117,7 +118,7 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %.loc16_28: type = splice_block %struct_type.a.b.loc16 [concrete = constants.%struct_type.a.b.388] { // CHECK:STDOUT: %i32.loc16_13: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc16_23: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc16_27.1: %tuple.type.85c = tuple_literal (%i32.loc16_23) [concrete = constants.%tuple.19c] +// CHECK:STDOUT: %.loc16_27.1: %tuple.type.135 = tuple_literal (%i32.loc16_23) [concrete = constants.%tuple.e3d] // CHECK:STDOUT: %.loc16_27.2: type = converted %.loc16_27.1, constants.%tuple.type.a8a [concrete = constants.%tuple.type.a8a] // CHECK:STDOUT: %struct_type.a.b.loc16: type = struct_type {.a: %i32, .b: %tuple.type.a8a} [concrete = constants.%struct_type.a.b.388] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/struct/two_entries.carbon b/toolchain/check/testdata/struct/two_entries.carbon index 61266c22acf3..4cced9c6780f 100644 --- a/toolchain/check/testdata/struct/two_entries.carbon +++ b/toolchain/check/testdata/struct/two_entries.carbon @@ -21,6 +21,7 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: --- two_entries.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/tuple/basics.carbon b/toolchain/check/testdata/tuple/basics.carbon index 49f04a54e305..00ccc3e1d877 100644 --- a/toolchain/check/testdata/tuple/basics.carbon +++ b/toolchain/check/testdata/tuple/basics.carbon @@ -51,6 +51,7 @@ var y: ((), ()) = x; // CHECK:STDOUT: --- empty.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -99,6 +100,7 @@ var y: ((), ()) = x; // CHECK:STDOUT: --- nested_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %tuple.type.bcd: type = tuple_type (%empty_tuple.type, %empty_tuple.type) [concrete] @@ -166,6 +168,7 @@ var y: ((), ()) = x; // CHECK:STDOUT: --- one_element.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %tuple.type: type = tuple_type (%empty_tuple.type) [concrete] @@ -230,6 +233,7 @@ var y: ((), ()) = x; // CHECK:STDOUT: --- two_elements.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %tuple.type: type = tuple_type (%empty_tuple.type, %empty_tuple.type) [concrete] diff --git a/toolchain/check/testdata/tuple/element_access.carbon b/toolchain/check/testdata/tuple/element_access.carbon index f8bf680c9e49..f89eeb830b23 100644 --- a/toolchain/check/testdata/tuple/element_access.carbon +++ b/toolchain/check/testdata/tuple/element_access.carbon @@ -204,6 +204,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: --- basics.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] @@ -259,6 +260,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: --- index_not_literal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -434,6 +436,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: --- return_value_access.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/tuple/import.carbon b/toolchain/check/testdata/tuple/import.carbon index e3298258ccf7..cdb8c32d5b46 100644 --- a/toolchain/check/testdata/tuple/import.carbon +++ b/toolchain/check/testdata/tuple/import.carbon @@ -84,14 +84,15 @@ fn F() -> (i32,) { // CHECK:STDOUT: --- implicit.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] -// CHECK:STDOUT: %tuple.19c: %tuple.type.85c = tuple_value (%i32) [concrete] +// CHECK:STDOUT: %tuple.type.135: type = tuple_type (type) [concrete] +// CHECK:STDOUT: %tuple.e3d: %tuple.type.135 = tuple_value (%i32) [concrete] // CHECK:STDOUT: %tuple.type.a8a: type = tuple_type (%i32) [concrete] // CHECK:STDOUT: %pattern_type.e71: type = pattern_type %tuple.type.a8a [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.e71 = ref_binding_pattern a [concrete] @@ -109,12 +110,12 @@ fn F() -> (i32,) { // CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.8c7: type = tuple_type (%tuple.type.85c, type) [concrete] -// CHECK:STDOUT: %tuple.8ca: %tuple.type.8c7 = tuple_value (%tuple.19c, %i32) [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.b59: %tuple.type.24b = tuple_value (%i32, %i32) [concrete] -// CHECK:STDOUT: %tuple.type.58c: type = tuple_type (%tuple.type.8c7, %tuple.type.24b) [concrete] -// CHECK:STDOUT: %tuple.368: %tuple.type.58c = tuple_value (%tuple.8ca, %tuple.b59) [concrete] +// CHECK:STDOUT: %tuple.type.bbc: type = tuple_type (%tuple.type.135, type) [concrete] +// CHECK:STDOUT: %tuple.450: %tuple.type.bbc = tuple_value (%tuple.e3d, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.94e: %tuple.type.693 = tuple_value (%i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.a3a: type = tuple_type (%tuple.type.bbc, %tuple.type.693) [concrete] +// CHECK:STDOUT: %tuple.4d1: %tuple.type.a3a = tuple_value (%tuple.450, %tuple.94e) [concrete] // CHECK:STDOUT: %tuple.type.cc8: type = tuple_type (%tuple.type.a8a, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e55: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e23: type = tuple_type (%tuple.type.cc8, %tuple.type.e55) [concrete] @@ -182,7 +183,7 @@ fn F() -> (i32,) { // CHECK:STDOUT: %a.var: ref %tuple.type.a8a = var_storage %a.var_patt [concrete] // CHECK:STDOUT: %.loc5_13.1: type = splice_block %.loc5_13.3 [concrete = constants.%tuple.type.a8a] { // CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc5_13.2: %tuple.type.85c = tuple_literal (%i32.loc5) [concrete = constants.%tuple.19c] +// CHECK:STDOUT: %.loc5_13.2: %tuple.type.135 = tuple_literal (%i32.loc5) [concrete = constants.%tuple.e3d] // CHECK:STDOUT: %.loc5_13.3: type = converted %.loc5_13.2, constants.%tuple.type.a8a [concrete = constants.%tuple.type.a8a] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %tuple.type.a8a = wrapper_binding a, %a.var [concrete = %a.var] @@ -193,16 +194,16 @@ fn F() -> (i32,) { // CHECK:STDOUT: %b.var: ref %tuple.type.e23 = var_storage %b.var_patt [concrete] // CHECK:STDOUT: %.loc6_34.1: type = splice_block %.loc6_34.6 [concrete = constants.%tuple.type.e23] { // CHECK:STDOUT: %i32.loc6_11: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc6_15: %tuple.type.85c = tuple_literal (%i32.loc6_11) [concrete = constants.%tuple.19c] +// CHECK:STDOUT: %.loc6_15: %tuple.type.135 = tuple_literal (%i32.loc6_11) [concrete = constants.%tuple.e3d] // CHECK:STDOUT: %i32.loc6_18: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc6_21: %tuple.type.8c7 = tuple_literal (%.loc6_15, %i32.loc6_18) [concrete = constants.%tuple.8ca] +// CHECK:STDOUT: %.loc6_21: %tuple.type.bbc = tuple_literal (%.loc6_15, %i32.loc6_18) [concrete = constants.%tuple.450] // CHECK:STDOUT: %i32.loc6_25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc6_30: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc6_33: %tuple.type.24b = tuple_literal (%i32.loc6_25, %i32.loc6_30) [concrete = constants.%tuple.b59] -// CHECK:STDOUT: %.loc6_34.2: %tuple.type.58c = tuple_literal (%.loc6_21, %.loc6_33) [concrete = constants.%tuple.368] -// CHECK:STDOUT: %.loc6_34.3: type = converted constants.%tuple.19c, constants.%tuple.type.a8a [concrete = constants.%tuple.type.a8a] -// CHECK:STDOUT: %.loc6_34.4: type = converted constants.%tuple.8ca, constants.%tuple.type.cc8 [concrete = constants.%tuple.type.cc8] -// CHECK:STDOUT: %.loc6_34.5: type = converted constants.%tuple.b59, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] +// CHECK:STDOUT: %.loc6_33: %tuple.type.693 = tuple_literal (%i32.loc6_25, %i32.loc6_30) [concrete = constants.%tuple.94e] +// CHECK:STDOUT: %.loc6_34.2: %tuple.type.a3a = tuple_literal (%.loc6_21, %.loc6_33) [concrete = constants.%tuple.4d1] +// CHECK:STDOUT: %.loc6_34.3: type = converted constants.%tuple.e3d, constants.%tuple.type.a8a [concrete = constants.%tuple.type.a8a] +// CHECK:STDOUT: %.loc6_34.4: type = converted constants.%tuple.450, constants.%tuple.type.cc8 [concrete = constants.%tuple.type.cc8] +// CHECK:STDOUT: %.loc6_34.5: type = converted constants.%tuple.94e, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: %.loc6_34.6: type = converted %.loc6_34.2, constants.%tuple.type.e23 [concrete = constants.%tuple.type.e23] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %tuple.type.e23 = wrapper_binding b, %b.var [concrete = %b.var] @@ -315,6 +316,7 @@ fn F() -> (i32,) { // CHECK:STDOUT: --- import_symbolic_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/tuple/in_place_tuple_init.carbon b/toolchain/check/testdata/tuple/in_place_tuple_init.carbon index 59f4b606b178..2fc739f55852 100644 --- a/toolchain/check/testdata/tuple/in_place_tuple_init.carbon +++ b/toolchain/check/testdata/tuple/in_place_tuple_init.carbon @@ -49,12 +49,13 @@ fn H() { // CHECK:STDOUT: --- in_place_tuple_init.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.24b: type = tuple_type (type, type) [concrete] -// CHECK:STDOUT: %tuple.b59: %tuple.type.24b = tuple_value (%i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.693: type = tuple_type (type, type) [concrete] +// CHECK:STDOUT: %tuple.94e: %tuple.type.693 = tuple_value (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.e55: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %pattern_type.394: type = pattern_type %tuple.type.e55 [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] @@ -94,7 +95,7 @@ fn H() { // CHECK:STDOUT: %.loc7_19.1: type = splice_block %.loc7_19.3 [concrete = constants.%tuple.type.e55] { // CHECK:STDOUT: %i32.loc7_11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc7_16: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc7_19.2: %tuple.type.24b = tuple_literal (%i32.loc7_11, %i32.loc7_16) [concrete = constants.%tuple.b59] +// CHECK:STDOUT: %.loc7_19.2: %tuple.type.693 = tuple_literal (%i32.loc7_11, %i32.loc7_16) [concrete = constants.%tuple.94e] // CHECK:STDOUT: %.loc7_19.3: type = converted %.loc7_19.2, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] // CHECK:STDOUT: } // CHECK:STDOUT: %v: ref %tuple.type.e55 = wrapper_binding v, %v.var @@ -149,16 +150,17 @@ fn H() { // CHECK:STDOUT: --- nested_tuple_in_place.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %tuple.type.ff9: type = tuple_type (type, type, type) [concrete] -// CHECK:STDOUT: %tuple.04d: %tuple.type.ff9 = tuple_value (%i32, %i32, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.531: type = tuple_type (type, type, type) [concrete] +// CHECK:STDOUT: %tuple.276: %tuple.type.531 = tuple_value (%i32, %i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.555: type = tuple_type (%i32, %i32, %i32) [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.f9f: type = tuple_type (%tuple.type.ff9, %tuple.type.ff9) [concrete] -// CHECK:STDOUT: %tuple.6a5: %tuple.type.f9f = tuple_value (%tuple.04d, %tuple.04d) [concrete] +// CHECK:STDOUT: %tuple.type.d58: type = tuple_type (%tuple.type.531, %tuple.type.531) [concrete] +// CHECK:STDOUT: %tuple.4cf: %tuple.type.d58 = tuple_value (%tuple.276, %tuple.276) [concrete] // CHECK:STDOUT: %tuple.type.015: type = tuple_type (%tuple.type.555, %tuple.type.555) [concrete] // CHECK:STDOUT: %i32.builtin: type = int_type signed, %int_32 [concrete] // CHECK:STDOUT: %pattern_type.e12: type = pattern_type %tuple.type.015 [concrete] @@ -166,8 +168,8 @@ fn H() { // CHECK:STDOUT: %v.var_patt.678: %pattern_type.e12 = var_pattern %v.patt.dde [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.ef016f.4: type = fn_type @Destroy.WithSelf.Op.loc7_3.4 [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.403171.4: %Destroy.WithSelf.Op.type.ef016f.4 = struct_value () [concrete] -// CHECK:STDOUT: %tuple.type.3a3: type = tuple_type (type, %tuple.type.ff9, type) [concrete] -// CHECK:STDOUT: %tuple.82e: %tuple.type.3a3 = tuple_value (%i32, %tuple.04d, %i32) [concrete] +// CHECK:STDOUT: %tuple.type.f8d: type = tuple_type (type, %tuple.type.531, type) [concrete] +// CHECK:STDOUT: %tuple.a61: %tuple.type.f8d = tuple_value (%i32, %tuple.276, %i32) [concrete] // CHECK:STDOUT: %tuple.type.b7e: type = tuple_type (%i32, %tuple.type.555, %i32) [concrete] // CHECK:STDOUT: %pattern_type.f8e: type = pattern_type %tuple.type.b7e [concrete] // CHECK:STDOUT: %v.patt.7e2: %pattern_type.f8e = ref_binding_pattern v [concrete] @@ -218,14 +220,14 @@ fn H() { // CHECK:STDOUT: %i32.loc7_19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc7_24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc7_29: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc7_32: %tuple.type.ff9 = tuple_literal (%i32.loc7_19, %i32.loc7_24, %i32.loc7_29) [concrete = constants.%tuple.04d] +// CHECK:STDOUT: %.loc7_32: %tuple.type.531 = tuple_literal (%i32.loc7_19, %i32.loc7_24, %i32.loc7_29) [concrete = constants.%tuple.276] // CHECK:STDOUT: %i32.loc7_36: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc7_41: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc7_46: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc7_49: %tuple.type.ff9 = tuple_literal (%i32.loc7_36, %i32.loc7_41, %i32.loc7_46) [concrete = constants.%tuple.04d] -// CHECK:STDOUT: %.loc7_50.2: %tuple.type.f9f = tuple_literal (%.loc7_32, %.loc7_49) [concrete = constants.%tuple.6a5] -// CHECK:STDOUT: %.loc7_50.3: type = converted constants.%tuple.04d, constants.%tuple.type.555 [concrete = constants.%tuple.type.555] -// CHECK:STDOUT: %.loc7_50.4: type = converted constants.%tuple.04d, constants.%tuple.type.555 [concrete = constants.%tuple.type.555] +// CHECK:STDOUT: %.loc7_49: %tuple.type.531 = tuple_literal (%i32.loc7_36, %i32.loc7_41, %i32.loc7_46) [concrete = constants.%tuple.276] +// CHECK:STDOUT: %.loc7_50.2: %tuple.type.d58 = tuple_literal (%.loc7_32, %.loc7_49) [concrete = constants.%tuple.4cf] +// CHECK:STDOUT: %.loc7_50.3: type = converted constants.%tuple.276, constants.%tuple.type.555 [concrete = constants.%tuple.type.555] +// CHECK:STDOUT: %.loc7_50.4: type = converted constants.%tuple.276, constants.%tuple.type.555 [concrete = constants.%tuple.type.555] // CHECK:STDOUT: %.loc7_50.5: type = converted %.loc7_50.2, constants.%tuple.type.015 [concrete = constants.%tuple.type.015] // CHECK:STDOUT: } // CHECK:STDOUT: %v: ref %tuple.type.015 = wrapper_binding v, %v.var @@ -288,10 +290,10 @@ fn H() { // CHECK:STDOUT: %i32.loc13_24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc13_29: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc13_34: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc13_37: %tuple.type.ff9 = tuple_literal (%i32.loc13_24, %i32.loc13_29, %i32.loc13_34) [concrete = constants.%tuple.04d] +// CHECK:STDOUT: %.loc13_37: %tuple.type.531 = tuple_literal (%i32.loc13_24, %i32.loc13_29, %i32.loc13_34) [concrete = constants.%tuple.276] // CHECK:STDOUT: %i32.loc13_40: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %.loc13_43.2: %tuple.type.3a3 = tuple_literal (%i32.loc13_18, %.loc13_37, %i32.loc13_40) [concrete = constants.%tuple.82e] -// CHECK:STDOUT: %.loc13_43.3: type = converted constants.%tuple.04d, constants.%tuple.type.555 [concrete = constants.%tuple.type.555] +// CHECK:STDOUT: %.loc13_43.2: %tuple.type.f8d = tuple_literal (%i32.loc13_18, %.loc13_37, %i32.loc13_40) [concrete = constants.%tuple.a61] +// CHECK:STDOUT: %.loc13_43.3: type = converted constants.%tuple.276, constants.%tuple.type.555 [concrete = constants.%tuple.type.555] // CHECK:STDOUT: %.loc13_43.4: type = converted %.loc13_43.2, constants.%tuple.type.b7e [concrete = constants.%tuple.type.b7e] // CHECK:STDOUT: } // CHECK:STDOUT: %v: ref %tuple.type.b7e = wrapper_binding v, %v.var diff --git a/toolchain/check/testdata/tuple/tuple_pattern.carbon b/toolchain/check/testdata/tuple/tuple_pattern.carbon index 074585325464..2bdd31806421 100644 --- a/toolchain/check/testdata/tuple/tuple_pattern.carbon +++ b/toolchain/check/testdata/tuple/tuple_pattern.carbon @@ -98,6 +98,7 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %tuple.type.b6b: type = tuple_type (%empty_struct_type, %empty_struct_type) [concrete] @@ -227,6 +228,7 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: --- variable.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -426,6 +428,7 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: --- nested.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] @@ -483,6 +486,7 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: --- package_scope.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] diff --git a/toolchain/check/testdata/var/destroy_control_flow.carbon b/toolchain/check/testdata/var/destroy_control_flow.carbon index 2e8962290753..542363c9bead 100644 --- a/toolchain/check/testdata/var/destroy_control_flow.carbon +++ b/toolchain/check/testdata/var/destroy_control_flow.carbon @@ -126,6 +126,7 @@ fn WhileContinue(cond: bool) { // CHECK:STDOUT: --- if_then.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Destructible: type = class_type @Destructible [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -207,6 +208,7 @@ fn WhileContinue(cond: bool) { // CHECK:STDOUT: --- if_else.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Destructible: type = class_type @Destructible [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -310,6 +312,7 @@ fn WhileContinue(cond: bool) { // CHECK:STDOUT: --- if_return.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Destructible: type = class_type @Destructible [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -389,6 +392,7 @@ fn WhileContinue(cond: bool) { // CHECK:STDOUT: --- while_break.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Destructible: type = class_type @Destructible [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -505,6 +509,7 @@ fn WhileContinue(cond: bool) { // CHECK:STDOUT: --- while_continue.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Destructible: type = class_type @Destructible [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] diff --git a/toolchain/check/testdata/var/export_name.carbon b/toolchain/check/testdata/var/export_name.carbon index 1e3d6708aa60..e0869e39dad8 100644 --- a/toolchain/check/testdata/var/export_name.carbon +++ b/toolchain/check/testdata/var/export_name.carbon @@ -45,6 +45,7 @@ var w: () = v; // CHECK:STDOUT: --- base.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] @@ -105,6 +106,7 @@ var w: () = v; // CHECK:STDOUT: --- export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %v.patt: %pattern_type = ref_binding_pattern v [concrete] @@ -133,6 +135,7 @@ var w: () = v; // CHECK:STDOUT: --- use_export.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/var/fail_duplicate_decl.carbon b/toolchain/check/testdata/var/fail_duplicate_decl.carbon index 3dce9c104d2b..b9465cb8c33e 100644 --- a/toolchain/check/testdata/var/fail_duplicate_decl.carbon +++ b/toolchain/check/testdata/var/fail_duplicate_decl.carbon @@ -29,6 +29,7 @@ fn Main() { // CHECK:STDOUT: --- fail_basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/var/fail_init_type_mismatch.carbon b/toolchain/check/testdata/var/fail_init_type_mismatch.carbon index ad704ba32861..1588d82a7107 100644 --- a/toolchain/check/testdata/var/fail_init_type_mismatch.carbon +++ b/toolchain/check/testdata/var/fail_init_type_mismatch.carbon @@ -24,6 +24,7 @@ var x: {} = (); // CHECK:STDOUT: --- fail_init_type_mismatch.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/var/fail_init_with_self.carbon b/toolchain/check/testdata/var/fail_init_with_self.carbon index 8bc4c589808b..e97b9c1e2141 100644 --- a/toolchain/check/testdata/var/fail_init_with_self.carbon +++ b/toolchain/check/testdata/var/fail_init_with_self.carbon @@ -32,6 +32,7 @@ fn Main() { // CHECK:STDOUT: --- fail_basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/var/fail_storage_is_literal.carbon b/toolchain/check/testdata/var/fail_storage_is_literal.carbon index b7594124c56f..f1633ea22c51 100644 --- a/toolchain/check/testdata/var/fail_storage_is_literal.carbon +++ b/toolchain/check/testdata/var/fail_storage_is_literal.carbon @@ -26,6 +26,7 @@ fn Main() { // CHECK:STDOUT: --- fail_storage_is_literal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete] diff --git a/toolchain/check/testdata/var/global_decl.carbon b/toolchain/check/testdata/var/global_decl.carbon index ed4c9ae36052..fc93f57a7438 100644 --- a/toolchain/check/testdata/var/global_decl.carbon +++ b/toolchain/check/testdata/var/global_decl.carbon @@ -17,6 +17,7 @@ var x: {.v: ()} = {.v = ()}; // CHECK:STDOUT: --- global_decl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %struct_type.v: type = struct_type {.v: %empty_tuple.type} [concrete] diff --git a/toolchain/check/testdata/var/global_decl_import.carbon b/toolchain/check/testdata/var/global_decl_import.carbon index e59c22915c70..d18cbcb82bb1 100644 --- a/toolchain/check/testdata/var/global_decl_import.carbon +++ b/toolchain/check/testdata/var/global_decl_import.carbon @@ -31,6 +31,7 @@ fn G() -> {.v: ()} { // CHECK:STDOUT: --- import.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %struct_type.v: type = struct_type {.v: %empty_tuple.type} [concrete] diff --git a/toolchain/check/testdata/var/global_decl_with_init.carbon b/toolchain/check/testdata/var/global_decl_with_init.carbon index ef0852df36d7..7d840860dfe3 100644 --- a/toolchain/check/testdata/var/global_decl_with_init.carbon +++ b/toolchain/check/testdata/var/global_decl_with_init.carbon @@ -33,6 +33,7 @@ var (x: (), y: ()) = ((), ()); // CHECK:STDOUT: --- simple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %struct_type.v: type = struct_type {.v: %empty_tuple.type} [concrete] @@ -76,6 +77,7 @@ var (x: (), y: ()) = ((), ()); // CHECK:STDOUT: --- var_in_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] @@ -128,6 +130,7 @@ var (x: (), y: ()) = ((), ()); // CHECK:STDOUT: --- tuple_in_var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/var/global_lookup.carbon b/toolchain/check/testdata/var/global_lookup.carbon index 4117224a14e3..9ec8c40437a9 100644 --- a/toolchain/check/testdata/var/global_lookup.carbon +++ b/toolchain/check/testdata/var/global_lookup.carbon @@ -18,6 +18,7 @@ var y: {.v: ()} = x; // CHECK:STDOUT: --- global_lookup.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %struct_type.v: type = struct_type {.v: %empty_tuple.type} [concrete] diff --git a/toolchain/check/testdata/var/global_lookup_in_scope.carbon b/toolchain/check/testdata/var/global_lookup_in_scope.carbon index 87235b55217b..76342179f105 100644 --- a/toolchain/check/testdata/var/global_lookup_in_scope.carbon +++ b/toolchain/check/testdata/var/global_lookup_in_scope.carbon @@ -23,6 +23,7 @@ fn Main() { // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %struct_type.v: type = struct_type {.v: %empty_tuple.type} [concrete] diff --git a/toolchain/check/testdata/var/import.carbon b/toolchain/check/testdata/var/import.carbon index fedab88b414e..63ae5454bb9a 100644 --- a/toolchain/check/testdata/var/import.carbon +++ b/toolchain/check/testdata/var/import.carbon @@ -27,6 +27,7 @@ var a: () = a_ref; // CHECK:STDOUT: --- implicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -62,6 +63,7 @@ var a: () = a_ref; // CHECK:STDOUT: --- implicit.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/var/import_access.carbon b/toolchain/check/testdata/var/import_access.carbon index 6715bfdb933f..83b23d469cd7 100644 --- a/toolchain/check/testdata/var/import_access.carbon +++ b/toolchain/check/testdata/var/import_access.carbon @@ -59,6 +59,7 @@ var v2: () = Test.v; // CHECK:STDOUT: --- def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -94,6 +95,7 @@ var v2: () = Test.v; // CHECK:STDOUT: --- def.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -139,6 +141,7 @@ var v2: () = Test.v; // CHECK:STDOUT: --- fail_local_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -174,6 +177,7 @@ var v2: () = Test.v; // CHECK:STDOUT: --- fail_other_def.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/var/initialization.carbon b/toolchain/check/testdata/var/initialization.carbon index 1b9979422924..50e3f53d13aa 100644 --- a/toolchain/check/testdata/var/initialization.carbon +++ b/toolchain/check/testdata/var/initialization.carbon @@ -69,6 +69,7 @@ fn Main() { // CHECK:STDOUT: --- initialized.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] @@ -104,6 +105,7 @@ fn Main() { // CHECK:STDOUT: --- uninitialized.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/var/lifetime.carbon b/toolchain/check/testdata/var/lifetime.carbon index 851251e3d869..2a95bb454e9e 100644 --- a/toolchain/check/testdata/var/lifetime.carbon +++ b/toolchain/check/testdata/var/lifetime.carbon @@ -36,6 +36,7 @@ fn F() { // CHECK:STDOUT: --- extend.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %pattern_type.9ef: type = pattern_type %A [concrete] // CHECK:STDOUT: %A.Clone.type: type = fn_type @A.Clone [concrete] diff --git a/toolchain/check/testdata/var/lookup.carbon b/toolchain/check/testdata/var/lookup.carbon index 735dff00b861..b1ef063c584e 100644 --- a/toolchain/check/testdata/var/lookup.carbon +++ b/toolchain/check/testdata/var/lookup.carbon @@ -20,6 +20,7 @@ fn Main() { // CHECK:STDOUT: --- lookup.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/var/shadowing.carbon b/toolchain/check/testdata/var/shadowing.carbon index 4c9eb00d5642..b41b9233c450 100644 --- a/toolchain/check/testdata/var/shadowing.carbon +++ b/toolchain/check/testdata/var/shadowing.carbon @@ -32,6 +32,7 @@ fn Main() { // CHECK:STDOUT: --- basics.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] diff --git a/toolchain/check/testdata/var/var_pattern.carbon b/toolchain/check/testdata/var/var_pattern.carbon index df31c212af9a..948ffe6a8e23 100644 --- a/toolchain/check/testdata/var/var_pattern.carbon +++ b/toolchain/check/testdata/var/var_pattern.carbon @@ -180,6 +180,7 @@ fn Call() { // CHECK:STDOUT: --- basic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -236,6 +237,7 @@ fn Call() { // CHECK:STDOUT: --- var_in_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -308,6 +310,7 @@ fn Call() { // CHECK:STDOUT: --- tuple_in_var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -393,6 +396,7 @@ fn Call() { // CHECK:STDOUT: --- tuple_in_let_var.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -478,6 +482,7 @@ fn Call() { // CHECK:STDOUT: --- function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] @@ -574,6 +579,7 @@ fn Call() { // CHECK:STDOUT: --- public_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -624,6 +630,7 @@ fn Call() { // CHECK:STDOUT: --- public_function.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] @@ -679,6 +686,7 @@ fn Call() { // CHECK:STDOUT: --- use_public_function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] @@ -764,6 +772,7 @@ fn Call() { // CHECK:STDOUT: --- fail_implicit.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] @@ -795,6 +804,7 @@ fn Call() { // CHECK:STDOUT: --- var_self.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %self.param_patt.303: %pattern_type = value_param_pattern [concrete] @@ -846,6 +856,7 @@ fn Call() { // CHECK:STDOUT: --- nested_match.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %.262: Core.Form = init_form %empty_tuple.type [concrete] @@ -954,6 +965,7 @@ fn Call() { // CHECK:STDOUT: --- var_param_from_init.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %pattern_type.6cb: type = pattern_type %X [concrete] @@ -1004,6 +1016,7 @@ fn Call() { // CHECK:STDOUT: --- var_param_from_int_literal.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] diff --git a/toolchain/check/testdata/where_expr/constraints.carbon b/toolchain/check/testdata/where_expr/constraints.carbon index b84160c411ee..657050e9977b 100644 --- a/toolchain/check/testdata/where_expr/constraints.carbon +++ b/toolchain/check/testdata/where_expr/constraints.carbon @@ -184,9 +184,9 @@ fn F() { // CHECK:STDOUT: --- self_impls_type.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.3a0: %I.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.3a0 [symbolic_self] // CHECK:STDOUT: %.Self: %I.type = symbolic_binding .Self [symbolic_self] @@ -205,7 +205,7 @@ fn F() { // CHECK:STDOUT: %T.patt.loc7_15.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_19.1: type = splice_block %.loc7_19.2 [concrete = constants.%I.type] { -// CHECK:STDOUT: %.Self.frozen.loc7_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc7_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.frozen.loc7_19: %I.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.3a0] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %I.ref [concrete] @@ -230,7 +230,7 @@ fn F() { // CHECK:STDOUT: %T.patt.loc13_15.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_19.1: type = splice_block %.loc13_19.2 [concrete = constants.%I.type] { -// CHECK:STDOUT: %.Self.frozen.loc13_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc13_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.frozen.loc13_19: %I.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.3a0] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %I.ref [concrete] @@ -280,9 +280,9 @@ fn F() { // CHECK:STDOUT: --- fail_self_impls_error.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.3a0: %I.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.3a0 [symbolic_self] // CHECK:STDOUT: %.Self: %I.type = symbolic_binding .Self [symbolic_self] @@ -296,7 +296,7 @@ fn F() { // CHECK:STDOUT: %T.patt: = symbolic_binding_pattern T, 0 [concrete = ] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14_19.1: type = splice_block %.loc14_19.2 [concrete = ] { -// CHECK:STDOUT: %.Self.frozen.loc14_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc14_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.frozen.loc14_19: %I.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.3a0] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %I.ref [concrete] @@ -328,12 +328,12 @@ fn F() { // CHECK:STDOUT: --- state_constraints.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.WithSelf.%Member [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.3a0: %I.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -373,7 +373,7 @@ fn F() { // CHECK:STDOUT: %U.patt.loc12_24.1: %pattern_type.603 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc12_24.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_28.1: type = splice_block %.loc12_28.2 [concrete = constants.%I_where.type.267] { -// CHECK:STDOUT: %.Self.frozen.loc12_24: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc12_24: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.frozen.loc12_28: %I.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.3a0] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %I.ref [concrete] @@ -394,7 +394,7 @@ fn F() { // CHECK:STDOUT: %V.patt.loc14_19.1: %pattern_type.17c = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc14_19.2 (constants.%V.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14_23.1: type = splice_block %.loc14_23.2 [concrete = constants.%J_where.type] { -// CHECK:STDOUT: %.Self.frozen.loc14_19: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc14_19: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %.Self.frozen.loc14_23: %J.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.99c] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %J.ref [concrete] @@ -419,7 +419,7 @@ fn F() { // CHECK:STDOUT: %W.patt.loc16_17.1: %pattern_type.e37 = symbolic_binding_pattern W, 0 [symbolic = %W.patt.loc16_17.2 (constants.%W.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc16_21.1: type = splice_block %.loc16_21.2 [concrete = constants.%I_where.type.a1d] { -// CHECK:STDOUT: %.Self.frozen.loc16_17: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc16_17: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.frozen.loc16_21: %I.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.3a0] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %I.ref [concrete] @@ -491,13 +491,13 @@ fn F() { // CHECK:STDOUT: --- associated_type_impls.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %L.type: type = facet_type <@L> [concrete] // CHECK:STDOUT: %M.type: type = facet_type <@M> [concrete] // CHECK:STDOUT: %K.type: type = facet_type <@K> [concrete] // CHECK:STDOUT: %K.assoc_type: type = assoc_entity_type @K [concrete] // CHECK:STDOUT: %assoc0: %K.assoc_type = assoc_entity element0, @K.WithSelf.%Associated [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.b1d: %K.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.b1d [symbolic_self] // CHECK:STDOUT: %K.lookup_impl_witness.46f: = lookup_impl_witness %.Self.frozen.b1d, @K [symbolic_self] @@ -520,7 +520,7 @@ fn F() { // CHECK:STDOUT: %W.patt.loc12_33.1: %pattern_type = symbolic_binding_pattern W, 0 [symbolic = %W.patt.loc12_33.2 (constants.%W.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_37.1: type = splice_block %.loc12_37.2 [concrete = constants.%K_where.type] { -// CHECK:STDOUT: %.Self.frozen.loc12_33: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc12_33: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %K.ref: type = name_ref K, file.%K.decl [concrete = constants.%K.type] // CHECK:STDOUT: %.Self.frozen.loc12_37: %K.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.b1d] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %K.ref [concrete] @@ -561,11 +561,9 @@ fn F() { // CHECK:STDOUT: --- fail_error_in_constraint.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen [symbolic_self] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self [symbolic_self] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %WithError.type: type = fn_type @WithError [concrete] // CHECK:STDOUT: %WithError: %WithError.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -575,23 +573,19 @@ fn F() { // CHECK:STDOUT: %U.patt: = symbolic_binding_pattern U, 0 [concrete = ] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_30.1: type = splice_block %.loc9_30.2 [concrete = ] { -// CHECK:STDOUT: %.Self.frozen.loc9_23: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc9_23: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %.loc9_25: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.frozen.loc9_30: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.frozen.loc9_30: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc9_25 [concrete] -// CHECK:STDOUT: %.Self.ref.loc9_36.1: %type = name_ref .Self, %.Self.frozen.loc9_30 [symbolic_self = constants.%.Self.frozen] +// CHECK:STDOUT: %.Self.ref.loc9_36.1: type = name_ref .Self, %.Self.frozen.loc9_30 [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %I.ref: = name_ref I, [concrete = ] -// CHECK:STDOUT: %.Self.as_type.loc9_36.1: type = facet_access_type %.Self.ref.loc9_36.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %.loc9_36.1: type = converted %.Self.ref.loc9_36.1, %.Self.as_type.loc9_36.1 [symbolic_self = constants.%.Self.frozen.as_type] -// CHECK:STDOUT: %impls.loc9_42.1 = requirement_impls %.loc9_36.1, [concrete] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.ref.loc9_36.2: %type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.Self.as_type.loc9_36.2: type = facet_access_type %.Self.ref.loc9_36.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %.loc9_36.2: type = converted %.Self.ref.loc9_36.1, %.Self.as_type.loc9_36.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %impls.loc9_42.2 = requirement_impls %.loc9_36.2, [concrete] +// CHECK:STDOUT: %impls.loc9_42.1 = requirement_impls %.Self.ref.loc9_36.1, [concrete] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.Self.ref.loc9_36.2: type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %impls.loc9_42.2 = requirement_impls %.Self.ref.loc9_36.2, [concrete] // CHECK:STDOUT: %.loc9_30.2: type = where_expr [concrete = ] { // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc9_25 [concrete] -// CHECK:STDOUT: %impls.loc9_42.2 = requirement_impls %.loc9_36.2, [concrete] +// CHECK:STDOUT: %impls.loc9_42.2 = requirement_impls %.Self.ref.loc9_36.2, [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: %U: = symbolic_binding U, 0 [concrete = ] @@ -607,6 +601,7 @@ fn F() { // CHECK:STDOUT: --- import_error_in_constraint.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %empty_tuple.type [concrete] diff --git a/toolchain/check/testdata/where_expr/designator.carbon b/toolchain/check/testdata/where_expr/designator.carbon index e44ffffb3dcb..79db1d8f6199 100644 --- a/toolchain/check/testdata/where_expr/designator.carbon +++ b/toolchain/check/testdata/where_expr/designator.carbon @@ -466,11 +466,11 @@ fn F(unused T:! I where C == A(.Self)) {} // CHECK:STDOUT: --- success.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.WithSelf.%Member [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.3a0: %I.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -481,7 +481,7 @@ fn F(unused T:! I where C == A(.Self)) {} // CHECK:STDOUT: %T: %I_where.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %PeriodSelf.type: type = fn_type @PeriodSelf [concrete] // CHECK:STDOUT: %PeriodSelf: %PeriodSelf.type = struct_value () [concrete] -// CHECK:STDOUT: %.Self.frozen.as_type.e90: type = facet_access_type %.Self.frozen.3a0 [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.3a0 [symbolic_self] // CHECK:STDOUT: %I.lookup_impl_witness.ced: = lookup_impl_witness %.Self.frozen.3a0, @I [symbolic_self] // CHECK:STDOUT: %impl.elem0.125: type = impl_witness_access %I.lookup_impl_witness.ced, element0 [symbolic_self] // CHECK:STDOUT: %I.lookup_impl_witness.78b: = lookup_impl_witness %.Self.f73, @I [symbolic_self] @@ -490,9 +490,7 @@ fn F(unused T:! I where C == A(.Self)) {} // CHECK:STDOUT: %U: %I_where.type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %PeriodMember.type: type = fn_type @PeriodMember [concrete] // CHECK:STDOUT: %PeriodMember: %PeriodMember.type = struct_value () [concrete] -// CHECK:STDOUT: %.Self.frozen.as_type.bce: type = facet_access_type %.Self.frozen.197 [symbolic_self] -// CHECK:STDOUT: %.Self.e0b: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.e0b [symbolic_self] +// CHECK:STDOUT: %.Self.c86: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %type_where: type = facet_type [concrete] // CHECK:STDOUT: %pattern_type.951: type = pattern_type %type_where [concrete] // CHECK:STDOUT: %V.patt: %pattern_type.951 = symbolic_binding_pattern V, 0 [symbolic] @@ -506,7 +504,7 @@ fn F(unused T:! I where C == A(.Self)) {} // CHECK:STDOUT: %T.patt.loc9_24.1: %pattern_type.603 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_24.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_28.1: type = splice_block %.loc9_28.2 [concrete = constants.%I_where.type] { -// CHECK:STDOUT: %.Self.frozen.loc9_24: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc9_24: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.frozen.loc9_28: %I.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.3a0] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %I.ref [concrete] @@ -527,13 +525,13 @@ fn F(unused T:! I where C == A(.Self)) {} // CHECK:STDOUT: %U.patt.loc11_26.1: %pattern_type.603 = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc11_26.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_30.1: type = splice_block %.loc11_30.2 [concrete = constants.%I_where.type] { -// CHECK:STDOUT: %.Self.frozen.loc11_26: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc11_26: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self.frozen.loc11_30: %I.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.3a0] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %I.ref [concrete] // CHECK:STDOUT: %.Self.ref: %I.type = name_ref .Self, %.Self.frozen.loc11_30 [symbolic_self = constants.%.Self.frozen.3a0] -// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.ref [symbolic_self = constants.%.Self.frozen.as_type.e90] -// CHECK:STDOUT: %.loc11_36: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.frozen.as_type.e90] +// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.ref [symbolic_self = constants.%.Self.frozen.as_type] +// CHECK:STDOUT: %.loc11_36: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.frozen.as_type] // CHECK:STDOUT: %Member.ref: %I.assoc_type = name_ref Member, @Member.%assoc0 [concrete = constants.%assoc0] // CHECK:STDOUT: %impl.elem0.loc11_36.1: type = impl_witness_access constants.%I.lookup_impl_witness.ced, element0 [symbolic_self = constants.%impl.elem0.125] // CHECK:STDOUT: %.loc11_48: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -551,23 +549,19 @@ fn F(unused T:! I where C == A(.Self)) {} // CHECK:STDOUT: %V.patt.loc13_27.1: %pattern_type.951 = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc13_27.2 (constants.%V.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_34.1: type = splice_block %.loc13_34.2 [concrete = constants.%type_where] { -// CHECK:STDOUT: %.Self.frozen.loc13_27: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc13_27: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc13_29: type = type_literal type [concrete = type] -// CHECK:STDOUT: %.Self.frozen.loc13_34: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc13_34: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc13_29 [concrete] -// CHECK:STDOUT: %.Self.ref.loc13_40.1: %type = name_ref .Self, %.Self.frozen.loc13_34 [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.ref.loc13_40.1: type = name_ref .Self, %.Self.frozen.loc13_34 [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] -// CHECK:STDOUT: %.Self.as_type.loc13_40.1: type = facet_access_type %.Self.ref.loc13_40.1 [symbolic_self = constants.%.Self.frozen.as_type.bce] -// CHECK:STDOUT: %.loc13_40.1: type = converted %.Self.ref.loc13_40.1, %.Self.as_type.loc13_40.1 [symbolic_self = constants.%.Self.frozen.as_type.bce] -// CHECK:STDOUT: %impls.loc13_46.1 = requirement_impls %.loc13_40.1, %I.ref [concrete] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.e0b] -// CHECK:STDOUT: %.Self.ref.loc13_40.2: %type = name_ref .Self, %.Self [symbolic_self = constants.%.Self.e0b] -// CHECK:STDOUT: %.Self.as_type.loc13_40.2: type = facet_access_type %.Self.ref.loc13_40.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %.loc13_40.2: type = converted %.Self.ref.loc13_40.1, %.Self.as_type.loc13_40.2 [symbolic_self = constants.%.Self.as_type] -// CHECK:STDOUT: %impls.loc13_46.2 = requirement_impls %.loc13_40.2, %I.ref [concrete] +// CHECK:STDOUT: %impls.loc13_46.1 = requirement_impls %.Self.ref.loc13_40.1, %I.ref [concrete] +// CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self = constants.%.Self.c86] +// CHECK:STDOUT: %.Self.ref.loc13_40.2: type = name_ref .Self, %.Self [symbolic_self = constants.%.Self.c86] +// CHECK:STDOUT: %impls.loc13_46.2 = requirement_impls %.Self.ref.loc13_40.2, %I.ref [concrete] // CHECK:STDOUT: %.loc13_34.2: type = where_expr [concrete = constants.%type_where] { // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %.loc13_29 [concrete] -// CHECK:STDOUT: %impls.loc13_46.2 = requirement_impls %.loc13_40.2, %I.ref [concrete] +// CHECK:STDOUT: %impls.loc13_46.2 = requirement_impls %.Self.ref.loc13_40.2, %I.ref [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: %V.loc13_27.2: %type_where = symbolic_binding V, 0 [symbolic = %V.loc13_27.1 (constants.%V)] diff --git a/toolchain/check/testdata/where_expr/dot_self_index.carbon b/toolchain/check/testdata/where_expr/dot_self_index.carbon index 4ead40093f83..769bea0d3b96 100644 --- a/toolchain/check/testdata/where_expr/dot_self_index.carbon +++ b/toolchain/check/testdata/where_expr/dot_self_index.carbon @@ -28,12 +28,12 @@ fn G(U: Empty(i32) where .A = i32*) { // CHECK:STDOUT: --- dot_self_index.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] +// CHECK:STDOUT: type: type = facet_type [concrete] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type type [concrete] // CHECK:STDOUT: %Empty.type.c52: type = generic_interface_type @Empty [concrete] // CHECK:STDOUT: %Empty.generic: %Empty.type.c52 = struct_value () [concrete] -// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] +// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Empty.type.95d624.2: type = facet_type <@Empty, @Empty(%T)> [symbolic] // CHECK:STDOUT: %.Self.frozen.063: %Empty.type.95d624.2 = symbolic_binding .Self [symbolic] @@ -51,7 +51,7 @@ fn G(U: Empty(i32) where .A = i32*) { // CHECK:STDOUT: %pattern_type.a0f: type = pattern_type %Empty_where.type.696 [symbolic] // CHECK:STDOUT: %U.param_patt.558: %pattern_type.a0f = value_param_pattern [symbolic] // CHECK:STDOUT: %U.patt.1ea: %pattern_type.a0f = wrapper_binding_pattern U, %U.param_patt.558 [symbolic] -// CHECK:STDOUT: %V.patt: %pattern_type.98f = symbolic_binding_pattern V, 1 [symbolic] +// CHECK:STDOUT: %V.patt: %pattern_type.9a5 = symbolic_binding_pattern V, 1 [symbolic] // CHECK:STDOUT: %V: type = symbolic_binding V, 1 [symbolic] // CHECK:STDOUT: %H.type: type = fn_type @H [concrete] // CHECK:STDOUT: %H: %H.type = struct_value () [concrete] @@ -79,13 +79,13 @@ fn G(U: Empty(i32) where .A = i32*) { // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %H.decl: %H.type = fn_decl @H [concrete = constants.%H] { -// CHECK:STDOUT: %T.patt.loc21_15.1: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc21_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc21_15.1: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc21_15.2 (constants.%T.patt)] // CHECK:STDOUT: %U.param_patt.loc21_31.1: @H.%pattern_type (%pattern_type.a0f) = value_param_pattern [symbolic = %U.param_patt.loc21_31.2 (constants.%U.param_patt.558)] // CHECK:STDOUT: %U.patt.loc21_31.1: @H.%pattern_type (%pattern_type.a0f) = wrapper_binding_pattern U, %U.param_patt.loc21_31.1 [symbolic = %U.patt.loc21_31.2 (constants.%U.patt.1ea)] -// CHECK:STDOUT: %V.patt.loc21_73.1: %pattern_type.98f = symbolic_binding_pattern V, 1 [symbolic = %V.patt.loc21_73.2 (constants.%V.patt)] +// CHECK:STDOUT: %V.patt.loc21_73.1: %pattern_type.9a5 = symbolic_binding_pattern V, 1 [symbolic = %V.patt.loc21_73.2 (constants.%V.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc21_17.1: type = splice_block %.loc21_17.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc21_15: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc21_15: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc21_17.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc21_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc21_15.1 (constants.%T)] @@ -114,7 +114,7 @@ fn G(U: Empty(i32) where .A = i32*) { // CHECK:STDOUT: } // CHECK:STDOUT: %U: @H.%Empty_where.type (%Empty_where.type.696) = wrapper_binding U, %U.param // CHECK:STDOUT: %.loc21_75.1: type = splice_block %.loc21_75.2 [concrete = type] { -// CHECK:STDOUT: %.Self.frozen.loc21_73: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc21_73: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %.loc21_75.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: %V.loc21_73.2: type = symbolic_binding V, 1 [symbolic = %V.loc21_73.1 (constants.%V)] @@ -122,7 +122,7 @@ fn G(U: Empty(i32) where .A = i32*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @H(%T.loc21_15.2: type, %V.loc21_73.2: type) { -// CHECK:STDOUT: %T.patt.loc21_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc21_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.patt.loc21_15.2: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc21_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc21_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc21_15.1 (constants.%T)] // CHECK:STDOUT: %Empty.type.loc21_40.1: type = facet_type <@Empty, @Empty(%T.loc21_15.1)> [symbolic = %Empty.type.loc21_40.1 (constants.%Empty.type.95d624.2)] // CHECK:STDOUT: %.Self.frozen.loc21_42.1: @H.%Empty.type.loc21_40.1 (%Empty.type.95d624.2) = symbolic_binding .Self [symbolic = %.Self.frozen.loc21_42.1 (constants.%.Self.frozen.063)] @@ -140,7 +140,7 @@ fn G(U: Empty(i32) where .A = i32*) { // CHECK:STDOUT: %pattern_type: type = pattern_type %Empty_where.type [symbolic = %pattern_type (constants.%pattern_type.a0f)] // CHECK:STDOUT: %U.param_patt.loc21_31.2: @H.%pattern_type (%pattern_type.a0f) = value_param_pattern [symbolic = %U.param_patt.loc21_31.2 (constants.%U.param_patt.558)] // CHECK:STDOUT: %U.patt.loc21_31.2: @H.%pattern_type (%pattern_type.a0f) = wrapper_binding_pattern U, %U.param_patt.loc21_31.2 [symbolic = %U.patt.loc21_31.2 (constants.%U.patt.1ea)] -// CHECK:STDOUT: %V.patt.loc21_73.2: %pattern_type.98f = symbolic_binding_pattern V, 1 [symbolic = %V.patt.loc21_73.2 (constants.%V.patt)] +// CHECK:STDOUT: %V.patt.loc21_73.2: %pattern_type.9a5 = symbolic_binding_pattern V, 1 [symbolic = %V.patt.loc21_73.2 (constants.%V.patt)] // CHECK:STDOUT: %V.loc21_73.1: type = symbolic_binding V, 1 [symbolic = %V.loc21_73.1 (constants.%V)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/where_expr/equal_rewrite.carbon b/toolchain/check/testdata/where_expr/equal_rewrite.carbon index 96a01157bba5..d5ce5787d1e4 100644 --- a/toolchain/check/testdata/where_expr/equal_rewrite.carbon +++ b/toolchain/check/testdata/where_expr/equal_rewrite.carbon @@ -224,11 +224,11 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: --- equal_constraint.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %N.type: type = facet_type <@N> [concrete] // CHECK:STDOUT: %N.assoc_type: type = assoc_entity_type @N [concrete] // CHECK:STDOUT: %assoc0: %N.assoc_type = assoc_entity element0, @N.WithSelf.%P [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.098: %N.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.098 [symbolic_self] // CHECK:STDOUT: %N.lookup_impl_witness.e97: = lookup_impl_witness %.Self.frozen.098, @N [symbolic_self] @@ -251,7 +251,7 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %T.patt.loc9_19.1: %pattern_type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_19.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_23.1: type = splice_block %.loc9_23.2 [concrete = constants.%N_where.type] { -// CHECK:STDOUT: %.Self.frozen.loc9_19: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc9_19: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %N.ref: type = name_ref N, file.%N.decl [concrete = constants.%N.type] // CHECK:STDOUT: %.Self.frozen.loc9_23: %N.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.098] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %N.ref [concrete] @@ -289,12 +289,12 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: --- nested_rewrites.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete] // CHECK:STDOUT: %A.assoc_type: type = assoc_entity_type @A [concrete] // CHECK:STDOUT: %assoc0: %A.assoc_type = assoc_entity element0, @A.WithSelf.%B [concrete] // CHECK:STDOUT: %assoc1: %A.assoc_type = assoc_entity element1, @A.WithSelf.%C [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.d4e: %A.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.d4e [symbolic_self] // CHECK:STDOUT: %A.lookup_impl_witness.5db: = lookup_impl_witness %.Self.frozen.d4e, @A [symbolic_self] @@ -320,7 +320,7 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %D.patt.loc10_27.1: %pattern_type = symbolic_binding_pattern D, 0 [symbolic = %D.patt.loc10_27.2 (constants.%D.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10_49.1: type = splice_block %.loc10_49.2 [concrete = constants.%A_where.type.0ba] { -// CHECK:STDOUT: %.Self.frozen.loc10_27: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc10_27: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %.Self.frozen.loc10_32: %A.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.d4e] // CHECK:STDOUT: %base_facet_type.loc10_32 = requirement_base_facet_type %A.ref [concrete] @@ -373,11 +373,11 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: --- repeated_rewrite.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %E.type: type = facet_type <@E> [concrete] // CHECK:STDOUT: %E.assoc_type: type = assoc_entity_type @E [concrete] // CHECK:STDOUT: %assoc0: %E.assoc_type = assoc_entity element0, @E.WithSelf.%F [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.64b: %E.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.64b [symbolic_self] // CHECK:STDOUT: %E.lookup_impl_witness.b1b: = lookup_impl_witness %.Self.frozen.64b, @E [symbolic_self] @@ -406,7 +406,7 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %G.patt.loc9_31.1: %pattern_type.b73 = symbolic_binding_pattern G, 0 [symbolic = %G.patt.loc9_31.2 (constants.%G.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_35.1: type = splice_block %.loc9_35.2 [concrete = constants.%E_where.type] { -// CHECK:STDOUT: %.Self.frozen.loc9_31: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc9_31: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %E.ref: type = name_ref E, file.%E.decl [concrete = constants.%E.type] // CHECK:STDOUT: %.Self.frozen.loc9_35: %E.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.64b] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %E.ref [concrete] @@ -430,7 +430,7 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %H.patt.loc11_29.1: %pattern_type.b73 = symbolic_binding_pattern H, 0 [symbolic = %H.patt.loc11_29.2 (constants.%H.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_33.1: type = splice_block %.loc11_33.2 [concrete = constants.%E_where.type] { -// CHECK:STDOUT: %.Self.frozen.loc11_29: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc11_29: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %E.ref: type = name_ref E, file.%E.decl [concrete = constants.%E.type] // CHECK:STDOUT: %.Self.frozen.loc11_33: %E.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.64b] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %E.ref [concrete] @@ -524,12 +524,12 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: --- rewrites_reordered.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %J.assoc_type: type = assoc_entity_type @J [concrete] // CHECK:STDOUT: %assoc0: %J.assoc_type = assoc_entity element0, @J.WithSelf.%K [concrete] // CHECK:STDOUT: %assoc1: %J.assoc_type = assoc_entity element1, @J.WithSelf.%L [concrete] -// CHECK:STDOUT: %type: type = facet_type [concrete] -// CHECK:STDOUT: %.Self.frozen.197: %type = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %.Self.frozen.e58: type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.99c: %J.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.Self.frozen.as_type: type = facet_access_type %.Self.frozen.99c [symbolic_self] // CHECK:STDOUT: %J.lookup_impl_witness.cb1: = lookup_impl_witness %.Self.frozen.99c, @J [symbolic_self] @@ -558,7 +558,7 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %M.patt.loc10_33.1: %pattern_type = symbolic_binding_pattern M, 0 [symbolic = %M.patt.loc10_33.2 (constants.%M.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10_37.1: type = splice_block %.loc10_37.2 [concrete = constants.%J_where.type] { -// CHECK:STDOUT: %.Self.frozen.loc10_33: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc10_33: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %.Self.frozen.loc10_37: %J.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.99c] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %J.ref [concrete] @@ -593,7 +593,7 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %N.patt.loc12_22.1: %pattern_type = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc12_22.2 (constants.%N.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_26.1: type = splice_block %.loc12_26.2 [concrete = constants.%J_where.type] { -// CHECK:STDOUT: %.Self.frozen.loc12_22: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] +// CHECK:STDOUT: %.Self.frozen.loc12_22: type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.e58] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %.Self.frozen.loc12_26: %J.type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.99c] // CHECK:STDOUT: %base_facet_type = requirement_base_facet_type %J.ref [concrete] diff --git a/toolchain/check/testdata/where_expr/non_generic.carbon b/toolchain/check/testdata/where_expr/non_generic.carbon index b3d7713dc28d..dcdc25af64bd 100644 --- a/toolchain/check/testdata/where_expr/non_generic.carbon +++ b/toolchain/check/testdata/where_expr/non_generic.carbon @@ -20,6 +20,7 @@ fn NotGenericF(unused U: I where .T == i32) {} // CHECK:STDOUT: --- non_generic.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.WithSelf.%T [concrete] diff --git a/toolchain/check/testdata/while/lifetime.carbon b/toolchain/check/testdata/while/lifetime.carbon index 85f75fa238d0..dd6988ea75ea 100644 --- a/toolchain/check/testdata/while/lifetime.carbon +++ b/toolchain/check/testdata/while/lifetime.carbon @@ -33,6 +33,7 @@ fn F() { // CHECK:STDOUT: --- condition_lifetime.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %A.F.type: type = fn_type @A.F [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] diff --git a/toolchain/check/testdata/while/while.carbon b/toolchain/check/testdata/while/while.carbon index 12993561f1e9..73d764224c4f 100644 --- a/toolchain/check/testdata/while/while.carbon +++ b/toolchain/check/testdata/while/while.carbon @@ -123,6 +123,7 @@ fn While() { // CHECK:STDOUT: --- while.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Cond.type: type = fn_type @Cond [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cond: %Cond.type = struct_value () [concrete] @@ -167,6 +168,7 @@ fn While() { // CHECK:STDOUT: --- unreachable_end.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %Cond.type: type = fn_type @Cond [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Cond: %Cond.type = struct_value () [concrete] @@ -211,6 +213,7 @@ fn While() { // CHECK:STDOUT: --- break_continue.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: type: type = facet_type [concrete] // CHECK:STDOUT: %A.type: type = fn_type @A [concrete] // CHECK:STDOUT: %A: %A.type = struct_value () [concrete] // CHECK:STDOUT: %B.type: type = fn_type @B [concrete] diff --git a/toolchain/check/type.cpp b/toolchain/check/type.cpp index af887d3fe27e..e73a6a0884df 100644 --- a/toolchain/check/type.cpp +++ b/toolchain/check/type.cpp @@ -4,6 +4,7 @@ #include "toolchain/check/type.h" +#include "toolchain/check/control_flow.h" #include "toolchain/check/eval.h" #include "toolchain/check/facet_type.h" #include "toolchain/check/inst.h" @@ -283,7 +284,7 @@ auto GetUnboundElementType(Context& context, SemIR::TypeInstId class_type_id, element_type_id); } -auto GetCanonicalFacetOrTypeValue(Context& context, SemIR::InstId inst_id) +auto GetCanonicalFacet(Context& context, SemIR::InstId inst_id) -> SemIR::InstId { auto const_inst_id = context.constant_values().GetConstantInstId(inst_id); CARBON_DCHECK(const_inst_id.has_value()); @@ -296,23 +297,29 @@ auto GetCanonicalFacetOrTypeValue(Context& context, SemIR::InstId inst_id) return const_inst_id; } -auto GetCanonicalFacetOrTypeValue(Context& context, SemIR::ConstantId const_id) +auto GetCanonicalFacet(Context& context, SemIR::ConstantId const_id) -> SemIR::ConstantId { - return context.constant_values().Get(GetCanonicalFacetOrTypeValue( + return context.constant_values().Get(GetCanonicalFacet( context, context.constant_values().GetInstId(const_id))); } -auto TryGetCanonicalFacetValue(Context& context, SemIR::InstId inst_id) +auto TryGetCanonicalFacet(Context& context, SemIR::InstId inst_id) -> SemIR::InstId { if (context.insts().Get(inst_id).type_id() != SemIR::TypeType::TypeId) { return SemIR::InstId::None; } - auto const_id = context.constant_values().Get(inst_id); - if (!const_id.is_constant()) { + + auto const_inst_id = context.constant_values().GetConstantInstId(inst_id); + if (!const_inst_id.has_value()) { return SemIR::InstId::None; } - return context.constant_values().GetInstId( - GetCanonicalFacetOrTypeValue(context, const_id)); + + if (auto access = + context.insts().TryGetAs(const_inst_id)) { + return access->facet_value_inst_id; + } + + return SemIR::InstId::None; } } // namespace Carbon::Check diff --git a/toolchain/check/type.h b/toolchain/check/type.h index 04014c66996d..bcd81f915d5c 100644 --- a/toolchain/check/type.h +++ b/toolchain/check/type.h @@ -138,35 +138,32 @@ auto GetTypeComponent(Context& context, SemIR::InstId form_inst_id) auto GetUnboundElementType(Context& context, SemIR::TypeInstId class_type_id, SemIR::TypeInstId element_type_id) -> SemIR::TypeId; -// Given a facet value or a type value, get the canonical facet value if -// possible, or return the canonical value of the input type expression if it -// has no canonical facet value. +// Given a facet, returns its canonical facet representation. // -// A facet value can be appear in two ways: as a facet value of type -// `FacetType`, or through an `as type` conversion which has type `TypeType` but -// still refers to the original facet value. While both have canonical values of -// their own, in cases that want to work with the facet value when possible, -// this collapses the two cases back together by undoing the `as type` -// conversion. +// Facet values can be converted to `type` by wrapping them in an `as type` +// conversion. While this wraps the facet in an additional instruction, it does +// not destroy access to the underlying facet. This operation unwraps the +// `as type` conversion if present so that there's only one (canonical) way to +// represent the underlying facet, and returns the canonical inst from the +// facet's constant value. // -// This extra canonicalization step is important for constant comparison of -// facet values, when the `as type` conversion is not required to compare as a -// different value. +// This extra canonicalization step of unwrapping `as type` is important for +// constant comparison of facet values, when the `as type` conversion is not +// required to compare as a different value. // -// For type expressions other than ` as type`, the canonical type -// value is returned. -auto GetCanonicalFacetOrTypeValue(Context& context, SemIR::InstId inst_id) +// For all facets other than ` as type`, the canonical inst from the +// facet's constant value is returned. +auto GetCanonicalFacet(Context& context, SemIR::InstId inst_id) -> SemIR::InstId; -auto GetCanonicalFacetOrTypeValue(Context& context, SemIR::ConstantId const_id) +auto GetCanonicalFacet(Context& context, SemIR::ConstantId const_id) -> SemIR::ConstantId; -// If `inst_id` is a type value which wraps a facet value, return that canonical -// facet value. Otherwise, return None. +// If `inst_id` is a `facet as type`, return that canonical facet inside the +// conversion. Otherwise, return None. // // In particular, this returns None for non-canonical instructions if no -// transformation was needed to return a facet value, to preserve source -// locations in the caller. -auto TryGetCanonicalFacetValue(Context& context, SemIR::InstId inst_id) +// conversion was unwrapped, to preserve source locations in the caller. +auto TryGetCanonicalFacet(Context& context, SemIR::InstId inst_id) -> SemIR::InstId; } // namespace Carbon::Check diff --git a/toolchain/check/type_completion.cpp b/toolchain/check/type_completion.cpp index 6f22b87afdb2..218920a0c9dd 100644 --- a/toolchain/check/type_completion.cpp +++ b/toolchain/check/type_completion.cpp @@ -8,7 +8,6 @@ #include "llvm/ADT/SmallVector.h" #include "toolchain/base/kind_switch.h" #include "toolchain/check/cpp/import.h" -#include "toolchain/check/facet_type.h" #include "toolchain/check/generic.h" #include "toolchain/check/inst.h" #include "toolchain/check/literal.h" @@ -258,9 +257,8 @@ class TypeCompleter { SemIR::ErrorInst, SemIR::FacetType, SemIR::FloatLiteralType, SemIR::FormType, SemIR::IntLiteralType, SemIR::NamespaceType, SemIR::PatternType, SemIR::RequireSpecificDefinitionType, - SemIR::SpecificFunctionType, SemIR::TypeType, - SemIR::UnspecifiedValueType, SemIR::VtableType, - SemIR::WitnessType>()) + SemIR::SpecificFunctionType, SemIR::UnspecifiedValueType, + SemIR::VtableType, SemIR::WitnessType>()) auto BuildInfoForInst(SemIR::TypeId type_id, InstT /*inst*/) const -> SemIR::CompleteTypeInfo { // These types are empty at runtime but have values to copy at compile time. @@ -948,25 +946,6 @@ auto RequireConcreteType(Context& context, SemIR::TypeId type_id, return false; } -// Given a canonical facet value, or a type value, return a facet value. -static auto GetSelfFacetValue(Context& context, SemIR::ConstantId self_const_id) - -> SemIR::ConstantId { - if (self_const_id == SemIR::ErrorInst::ConstantId) { - return SemIR::ErrorInst::ConstantId; - } - - auto self_inst_id = context.constant_values().GetInstId(self_const_id); - auto type_id = context.insts().Get(self_inst_id).type_id(); - CARBON_CHECK(context.types().IsFacetType(type_id)); - - if (context.types().Is(type_id)) { - return self_const_id; - } - - return GetConstantFacetValueForType( - context, context.types().GetAsTypeInstId(self_inst_id)); -} - // Identifies the facet type in the `facet_type_inst_id`. Returns None if an // error is encountered or diagnosed. static auto IdentifyFacetType(Context& context, SemIR::LocId loc_id, @@ -1027,7 +1006,7 @@ static auto IdentifyFacetType(Context& context, SemIR::LocId loc_id, while (!work.empty()) { SelfImplsFacetType next_impls = work.pop_back_val(); bool facet_type_extends = next_impls.extend; - auto self_const_id = GetCanonicalFacetOrTypeValue(context, next_impls.self); + auto self_const_id = GetCanonicalFacet(context, next_impls.self); const auto& declared_facet_type = context.declared_facet_types().Get(next_impls.declared_facet_type); @@ -1064,11 +1043,6 @@ static auto IdentifyFacetType(Context& context, SemIR::LocId loc_id, continue; } - // The self may have type TypeType. But the `Self` in a generic require decl - // has type FacetType, so we need something similar to replace it in the - // specific. - auto self_facet = GetSelfFacetValue(context, self_const_id); - for (auto extends : declared_facet_type.extend_named_constraints) { const auto& constraint = context.named_constraints().Get(extends.named_constraint_id); @@ -1095,7 +1069,7 @@ static auto IdentifyFacetType(Context& context, SemIR::LocId loc_id, auto constraint_with_self_specific_id = MakeSpecificWithInnerSelf( context, loc_id, constraint.generic_id, - constraint.generic_with_self_id, extends.specific_id, self_facet); + constraint.generic_with_self_id, extends.specific_id, self_const_id); if (SpecificHasError(context, constraint_with_self_specific_id)) { return SemIR::IdentifiedFacetTypeId::None; } @@ -1152,7 +1126,7 @@ static auto IdentifyFacetType(Context& context, SemIR::LocId loc_id, auto constraint_with_self_specific_id = MakeSpecificWithInnerSelf( context, loc_id, constraint.generic_id, - constraint.generic_with_self_id, impls.specific_id, self_facet); + constraint.generic_with_self_id, impls.specific_id, self_const_id); if (SpecificHasError(context, constraint_with_self_specific_id)) { return SemIR::IdentifiedFacetTypeId::None; } @@ -1208,12 +1182,10 @@ static auto IdentifyFacetType(Context& context, SemIR::LocId loc_id, return SemIR::IdentifiedFacetTypeId::None; } - auto self_type_facet = GetSelfFacetValue( - context, context.constant_values().Get(self_type_inst_id)); - auto constraint_with_self_specific_id = MakeSpecificWithInnerSelf( context, loc_id, constraint.generic_id, - constraint.generic_with_self_id, impls.specific_id, self_type_facet); + constraint.generic_with_self_id, impls.specific_id, + context.constant_values().Get(self_type_inst_id)); if (SpecificHasError(context, constraint_with_self_specific_id)) { return SemIR::IdentifiedFacetTypeId::None; } diff --git a/toolchain/check/type_completion.h b/toolchain/check/type_completion.h index 484b84552f9b..cd26f0c9701b 100644 --- a/toolchain/check/type_completion.h +++ b/toolchain/check/type_completion.h @@ -83,17 +83,15 @@ auto TryToIdentifyFacetType(Context& context, SemIR::LocId loc_id, // Requires the named constraints in the facet type to be complete, so that the // set of interfaces the facet type requires is known. The `self_const_id` is a -// type or facet type expression that is the self that the FacetType is -// constraining. The `facet_type_inst_id` must be a FacetType (or ErrorInst). -// Produces a set of interfaces that must be implemented for a set of types, -// most of them for the `self_const_id`. Diagnoses an error and returns None if -// any error is found. +// facet expression that is the self that the FacetType is constraining. The +// `facet_type_inst_id` must be a FacetType (or ErrorInst). Produces a set of +// interfaces that must be implemented for a set of facets, most of them for the +// `self_const_id`. Diagnoses an error and returns None if any error is found. // -// The `self_const_id` is converted to the canonical facet value (if it's a -// facet-value-as-type, the as-type is stripped off), and this is visible in the -// resulting IdentifiedFacetType. Comparing the `self_const_id` against the -// output self values requires the caller to also canonicalize the -// `self_const_id`. +// The `self_const_id` is converted to its canonical facet representation (any +// `as type` conversion is stripped off), and this is visible in the resulting +// IdentifiedFacetType. Comparing the `self_const_id` against the output self +// values requires the caller to also canonicalize the `self_const_id`. // // TODO: Remove `diagnose` and split into `TryIdentifyFacetType`. auto RequireIdentifiedFacetType(Context& context, SemIR::LocId loc_id, diff --git a/toolchain/check/type_structure.h b/toolchain/check/type_structure.h index 441d42003b19..7ac6018b7ef0 100644 --- a/toolchain/check/type_structure.h +++ b/toolchain/check/type_structure.h @@ -183,15 +183,14 @@ class TypeStructure : public Printable { llvm::SmallVector concrete_types_; }; -// Constructs the TypeStructure for a self type or facet value and an interface +// Constructs the TypeStructure for a self facet value and an interface // constraint (e.g. `Iface(A, B(C))`), which represents the location of unknown // symbolic constants in the combined signature and which is ordered by them. // // Given `impl C as Z {}` the `self_const_id` would be a `C` and the interface // constraint would be `Z`. // -// Returns nullopt if an ErrorInst is encountered in the self type or facet -// value. +// Returns nullopt if an ErrorInst is encountered in the self facet. auto BuildTypeStructure(Context& context, SemIR::InstId self_inst_id, SemIR::SpecificInterface interface) -> std::optional; diff --git a/toolchain/docs/check/README.md b/toolchain/docs/check/README.md index d5856e8fd6f8..959a6eef6bad 100644 --- a/toolchain/docs/check/README.md +++ b/toolchain/docs/check/README.md @@ -123,8 +123,9 @@ instructions needs to be closely associated, such as a parameter list. A number of instruction types in [sem_ir/typed_insts.h](/toolchain/sem_ir/typed_insts.h) are builtin -instructions, such as `SemIR::TypeType` which represents the unconstrained facet -type `type`. Builtins have stable ids in the `SemIR::InstStore` across `SemIR` +instructions, which are called singletons. We also have a builtin `FacetType` +instruction we call `TypeType` to represent the unconstrained facet type +`type`. Builtins have stable ids in the `SemIR::InstStore` across `SemIR` instances. ### Instruction operands diff --git a/toolchain/driver/testdata/stdin.carbon b/toolchain/driver/testdata/stdin.carbon index c8f4c5e83a01..ca70fd5b370f 100644 --- a/toolchain/driver/testdata/stdin.carbon +++ b/toolchain/driver/testdata/stdin.carbon @@ -35,7 +35,7 @@ // CHECK:STDOUT: clang_decl_signatures: {} // CHECK:STDOUT: default_values: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst10, 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: {}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: functions: {} // CHECK:STDOUT: classes: {} @@ -73,13 +73,16 @@ // CHECK:STDOUT: object_layout: // CHECK:STDOUT: size: 0 // CHECK:STDOUT: alignment: 1 -// CHECK:STDOUT: declared_facet_types: {} +// CHECK:STDOUT: declared_facet_types: +// CHECK:STDOUT: 'declared_facet_type(Empty)': {} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst10: {kind: Namespace, arg0: name_scope0, type: type(inst(NamespaceType))} +// 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: bundles: {} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst10: concrete_constant(inst10) +// CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) +// CHECK:STDOUT: 'inst(Package)': concrete_constant(inst(Package)) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} @@ -88,7 +91,7 @@ // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block60000005: -// CHECK:STDOUT: 0: inst10 +// CHECK:STDOUT: 0: inst(Package) // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: // CHECK:STDOUT: ints: {} diff --git a/toolchain/lower/function_context.cpp b/toolchain/lower/function_context.cpp index 0d25e2ad900c..bc3984faad76 100644 --- a/toolchain/lower/function_context.cpp +++ b/toolchain/lower/function_context.cpp @@ -175,8 +175,10 @@ auto FunctionContext::IsConstant(SemIR::InstId inst_id) -> bool { } auto FunctionContext::GetValue(SemIR::InstId inst_id) -> llvm::Value* { - // All builtins are types, with the same empty lowered value. - if (SemIR::IsSingletonInstId(inst_id)) { + // Singletons are types, as is the builtin TypeType, with the same empty + // lowered value. + if (SemIR::IsSingletonInstId(inst_id) || + inst_id == SemIR::TypeType::TypeInstId) { return GetTypeAsValue(); } diff --git a/toolchain/lower/testdata/function/generic/call.carbon b/toolchain/lower/testdata/function/generic/call.carbon index 70808f11534a..0cf1a612f3fa 100644 --- a/toolchain/lower/testdata/function/generic/call.carbon +++ b/toolchain/lower/testdata/function/generic/call.carbon @@ -59,7 +59,7 @@ fn G() { // CHECK:STDOUT: call void @_CF.Main.84588f41d61dafba(i32 %.loc27), !dbg !56 // CHECK:STDOUT: %.loc28 = load double, ptr %m.var, align 8, !dbg !57 // CHECK:STDOUT: call void @_CF.Main.073fbce68be6103e(double %.loc28), !dbg !58 -// CHECK:STDOUT: call void @_CF.Main.5754c7a55c7cbe4a(%type.26 zeroinitializer), !dbg !59 +// CHECK:STDOUT: call void @_CF.Main.99ea8cc237f84c8d(%type.26 zeroinitializer), !dbg !59 // CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %m.var), !dbg !49 // CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !47 // CHECK:STDOUT: call void @"_COp.a50fd899f969e609:core.Destroy.Core"(ptr %d.var), !dbg !45 @@ -116,7 +116,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CF.Main.5754c7a55c7cbe4a(%type.26 %_) #0 !dbg !97 { +// CHECK:STDOUT: define linkonce_odr void @_CF.Main.99ea8cc237f84c8d(%type.26 %_) #0 !dbg !97 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !100 // CHECK:STDOUT: } @@ -185,7 +185,7 @@ fn G() { // CHECK:STDOUT: !93 = !DILocalVariable(arg: 1, scope: !92, type: !37) // CHECK:STDOUT: !95 = !DILocation(line: 13, column: 1, scope: !92) // CHECK:STDOUT: !96 = !{!93} -// CHECK:STDOUT: !97 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.5754c7a55c7cbe4a", scope: null, file: !32, line: 13, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !101) +// CHECK:STDOUT: !97 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.99ea8cc237f84c8d", scope: null, file: !32, line: 13, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !101) // CHECK:STDOUT: !98 = !DILocalVariable(arg: 1, scope: !97, type: !37) // CHECK:STDOUT: !100 = !DILocation(line: 13, column: 1, scope: !97) // CHECK:STDOUT: !101 = !{!98} diff --git a/toolchain/lower/testdata/function/generic/call_basic.carbon b/toolchain/lower/testdata/function/generic/call_basic.carbon index 8680ab9fc257..a07edf05a34d 100644 --- a/toolchain/lower/testdata/function/generic/call_basic.carbon +++ b/toolchain/lower/testdata/function/generic/call_basic.carbon @@ -138,7 +138,7 @@ fn M() { // CHECK:STDOUT: %H.call.loc29 = call i32 @_CH.Main.4d6ceefeb7f772f4(i32 %x), !dbg !94 // CHECK:STDOUT: store i32 %H.call.loc29, ptr %.loc29_6.3.temp, align 4, !dbg !94 // CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %.loc29_6.3.temp), !dbg !94 -// CHECK:STDOUT: %H.call.loc30 = call %type.26 @_CH.Main.71d6c598da8ca542(%type.26 zeroinitializer), !dbg !95 +// CHECK:STDOUT: %H.call.loc30 = call %type.26 @_CH.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !95 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_8.3.temp), !dbg !97 // CHECK:STDOUT: %G.call = call i32 @_CG.Main.89a3e87df6fdafe1(i32 %x), !dbg !97 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_9.3.temp), !dbg !98 @@ -195,7 +195,7 @@ fn M() { // CHECK:STDOUT: %H.call.loc29 = call double @_CH.Main.c5e4ba542a56b71f(double %x), !dbg !133 // CHECK:STDOUT: store double %H.call.loc29, ptr %.loc29_6.3.temp, align 8, !dbg !133 // CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %.loc29_6.3.temp), !dbg !133 -// CHECK:STDOUT: %H.call.loc30 = call %type.26 @_CH.Main.71d6c598da8ca542(%type.26 zeroinitializer), !dbg !134 +// CHECK:STDOUT: %H.call.loc30 = call %type.26 @_CH.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !134 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_8.3.temp), !dbg !136 // CHECK:STDOUT: %G.call = call double @_CG.Main.38241ddc2cd9d74d(double %x), !dbg !136 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_9.3.temp), !dbg !137 @@ -237,7 +237,7 @@ fn M() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr %type.26 @_CH.Main.71d6c598da8ca542(%type.26 %x) #0 !dbg !169 { +// CHECK:STDOUT: define linkonce_odr %type.26 @_CH.Main.c3359c2c217ad593(%type.26 %x) #0 !dbg !169 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret %type.26 %x, !dbg !175 // CHECK:STDOUT: } @@ -264,7 +264,7 @@ fn M() { // CHECK:STDOUT: ; uselistorder directives // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 18 } // CHECK:STDOUT: uselistorder ptr @_CH.Main.4d6ceefeb7f772f4, { 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CH.Main.71d6c598da8ca542, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CH.Main.c3359c2c217ad593, { 1, 0 } // CHECK:STDOUT: uselistorder ptr @_CH.Main.c5e4ba542a56b71f, { 3, 2, 1, 0 } // CHECK:STDOUT: uselistorder ptr @_CH.Main.a76b78461416b4a8, { 5, 2, 0, 4, 3, 1 } // CHECK:STDOUT: uselistorder ptr @_CH.Main.42513763e01cba2c, { 1, 0 } @@ -375,7 +375,7 @@ fn M() { // CHECK:STDOUT: !162 = !DILocalVariable(arg: 1, scope: !161, type: !34) // CHECK:STDOUT: !167 = !DILocation(line: 23, column: 3, scope: !161) // CHECK:STDOUT: !168 = !{!162} -// CHECK:STDOUT: !169 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.71d6c598da8ca542", scope: null, file: !32, line: 22, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !176) +// CHECK:STDOUT: !169 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.c3359c2c217ad593", scope: null, file: !32, line: 22, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !176) // CHECK:STDOUT: !170 = !DILocalVariable(arg: 1, scope: !169, type: !35) // CHECK:STDOUT: !175 = !DILocation(line: 23, column: 3, scope: !169) // CHECK:STDOUT: !176 = !{!170} diff --git a/toolchain/lower/testdata/function/generic/call_deref_ptr.carbon b/toolchain/lower/testdata/function/generic/call_deref_ptr.carbon index ff87caf2230c..5dd96a447484 100644 --- a/toolchain/lower/testdata/function/generic/call_deref_ptr.carbon +++ b/toolchain/lower/testdata/function/generic/call_deref_ptr.carbon @@ -80,7 +80,7 @@ fn M() { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define linkonce_odr void @_CF.Main.89a3e87df6fdafe1(ptr %x) #0 !dbg !60 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %A.call = call %type.26 @_CA.Main.71d6c598da8ca542(%type.26 zeroinitializer), !dbg !63 +// CHECK:STDOUT: %A.call = call %type.26 @_CA.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !63 // CHECK:STDOUT: call void @_CB.Main.89a3e87df6fdafe1(ptr %x), !dbg !67 // CHECK:STDOUT: ret void, !dbg !68 // CHECK:STDOUT: } @@ -88,13 +88,13 @@ fn M() { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define linkonce_odr void @_CF.Main.38241ddc2cd9d74d(ptr %x) #0 !dbg !70 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %A.call = call %type.26 @_CA.Main.71d6c598da8ca542(%type.26 zeroinitializer), !dbg !73 +// CHECK:STDOUT: %A.call = call %type.26 @_CA.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !73 // CHECK:STDOUT: call void @_CB.Main.38241ddc2cd9d74d(ptr %x), !dbg !75 // CHECK:STDOUT: ret void, !dbg !76 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr %type.26 @_CA.Main.71d6c598da8ca542(%type.26 %x) #0 !dbg !78 { +// CHECK:STDOUT: define linkonce_odr %type.26 @_CA.Main.c3359c2c217ad593(%type.26 %x) #0 !dbg !78 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret %type.26 %x, !dbg !84 // CHECK:STDOUT: } @@ -137,7 +137,7 @@ fn M() { // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 0, 1, 3, 2 } -// CHECK:STDOUT: uselistorder ptr @_CA.Main.71d6c598da8ca542, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CA.Main.c3359c2c217ad593, { 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } // CHECK:STDOUT: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } @@ -187,7 +187,7 @@ fn M() { // CHECK:STDOUT: !75 = !DILocation(line: 32, column: 3, scope: !70) // CHECK:STDOUT: !76 = !DILocation(line: 30, column: 1, scope: !70) // CHECK:STDOUT: !77 = !{!71} -// CHECK:STDOUT: !78 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.71d6c598da8ca542", scope: null, file: !32, line: 18, type: !65, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !85) +// CHECK:STDOUT: !78 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.c3359c2c217ad593", scope: null, file: !32, line: 18, type: !65, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !85) // CHECK:STDOUT: !79 = !DILocalVariable(arg: 1, scope: !78, type: !39) // CHECK:STDOUT: !84 = !DILocation(line: 19, column: 3, scope: !78) // CHECK:STDOUT: !85 = !{!79} diff --git a/toolchain/lower/testdata/function/generic/call_different_specific.carbon b/toolchain/lower/testdata/function/generic/call_different_specific.carbon index ec1dc3d2f032..6155b7e8e319 100644 --- a/toolchain/lower/testdata/function/generic/call_different_specific.carbon +++ b/toolchain/lower/testdata/function/generic/call_different_specific.carbon @@ -73,7 +73,7 @@ fn M(ptr_i32: i32*, ptr_f64: f64*) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define linkonce_odr void @_CF.Main.89a3e87df6fdafe1(ptr %x) #0 !dbg !33 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %A.call = call %type.0 @_CA.Main.71d6c598da8ca542(%type.0 zeroinitializer), !dbg !36 +// CHECK:STDOUT: %A.call = call %type.0 @_CA.Main.c3359c2c217ad593(%type.0 zeroinitializer), !dbg !36 // CHECK:STDOUT: call void @_CB.Main.89a3e87df6fdafe1(ptr %x), !dbg !40 // CHECK:STDOUT: ret void, !dbg !41 // CHECK:STDOUT: } @@ -81,13 +81,13 @@ fn M(ptr_i32: i32*, ptr_f64: f64*) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define linkonce_odr void @_CF.Main.38241ddc2cd9d74d(ptr %x) #0 !dbg !43 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %A.call = call %type.0 @_CA.Main.71d6c598da8ca542(%type.0 zeroinitializer), !dbg !46 +// CHECK:STDOUT: %A.call = call %type.0 @_CA.Main.c3359c2c217ad593(%type.0 zeroinitializer), !dbg !46 // CHECK:STDOUT: call void @_CB.Main.38241ddc2cd9d74d(ptr %x), !dbg !48 // CHECK:STDOUT: ret void, !dbg !49 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr %type.0 @_CA.Main.71d6c598da8ca542(%type.0 %x) #0 !dbg !51 { +// CHECK:STDOUT: define linkonce_odr %type.0 @_CA.Main.c3359c2c217ad593(%type.0 %x) #0 !dbg !51 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret %type.0 %x, !dbg !57 // CHECK:STDOUT: } @@ -132,7 +132,7 @@ fn M(ptr_i32: i32*, ptr_f64: f64*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives -// CHECK:STDOUT: uselistorder ptr @_CA.Main.71d6c598da8ca542, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CA.Main.c3359c2c217ad593, { 1, 0 } // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } @@ -182,7 +182,7 @@ fn M(ptr_i32: i32*, ptr_f64: f64*) { // CHECK:STDOUT: !48 = !DILocation(line: 39, column: 3, scope: !43) // CHECK:STDOUT: !49 = !DILocation(line: 37, column: 1, scope: !43) // CHECK:STDOUT: !50 = !{!44} -// CHECK:STDOUT: !51 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.71d6c598da8ca542", scope: null, file: !4, line: 25, type: !38, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !58) +// CHECK:STDOUT: !51 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.c3359c2c217ad593", scope: null, file: !4, line: 25, type: !38, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !58) // CHECK:STDOUT: !52 = !DILocalVariable(arg: 1, scope: !51, type: !7) // CHECK:STDOUT: !57 = !DILocation(line: 26, column: 3, scope: !51) // CHECK:STDOUT: !58 = !{!52} diff --git a/toolchain/lower/testdata/function/generic/call_specific_in_class.carbon b/toolchain/lower/testdata/function/generic/call_specific_in_class.carbon index 63e3fd0762cc..784e24c2ae95 100644 --- a/toolchain/lower/testdata/function/generic/call_specific_in_class.carbon +++ b/toolchain/lower/testdata/function/generic/call_specific_in_class.carbon @@ -86,7 +86,7 @@ fn M() { // CHECK:STDOUT: %.loc42_5 = load double, ptr %var_f64.var, align 8, !dbg !69 // CHECK:STDOUT: %F.call.loc42 = call double @_CF.Main.c5e4ba542a56b71f(double %.loc42_5), !dbg !70 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !71 -// CHECK:STDOUT: %F.call.loc44 = call %type.26 @_CF.Main.71d6c598da8ca542(%type.26 zeroinitializer), !dbg !73 +// CHECK:STDOUT: %F.call.loc44 = call %type.26 @_CF.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !73 // CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %_.var), !dbg !71 // CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %var_f64.var), !dbg !67 // CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %var_i32.var), !dbg !61 @@ -130,9 +130,9 @@ fn M() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr %type.26 @_CF.Main.71d6c598da8ca542(%type.26 %x) #0 !dbg !128 { +// CHECK:STDOUT: define linkonce_odr %type.26 @_CF.Main.c3359c2c217ad593(%type.26 %x) #0 !dbg !128 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %G.call = call %type.26 @_CG.Main.71d6c598da8ca542(%type.26 %x), !dbg !134 +// CHECK:STDOUT: %G.call = call %type.26 @_CG.Main.c3359c2c217ad593(%type.26 %x), !dbg !134 // CHECK:STDOUT: ret %type.26 %G.call, !dbg !135 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -167,11 +167,11 @@ fn M() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr %type.26 @_CG.Main.71d6c598da8ca542(%type.26 %x) #0 !dbg !196 { +// CHECK:STDOUT: define linkonce_odr %type.26 @_CG.Main.c3359c2c217ad593(%type.26 %x) #0 !dbg !196 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !201 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !201 -// CHECK:STDOUT: %C.Cfn.call = call %type.26 @_CCfn.C.Main.71d6c598da8ca542(ptr %c.var, %type.26 %x), !dbg !203 +// CHECK:STDOUT: %C.Cfn.call = call %type.26 @_CCfn.C.Main.c3359c2c217ad593(ptr %c.var, %type.26 %x), !dbg !203 // CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !201 // CHECK:STDOUT: ret %type.26 %C.Cfn.call, !dbg !205 // CHECK:STDOUT: } @@ -195,7 +195,7 @@ fn M() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr %type.26 @_CCfn.C.Main.71d6c598da8ca542(ptr %self, %type.26 %x) #0 !dbg !257 { +// CHECK:STDOUT: define linkonce_odr %type.26 @_CCfn.C.Main.c3359c2c217ad593(ptr %self, %type.26 %x) #0 !dbg !257 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret %type.26 %x, !dbg !265 // CHECK:STDOUT: } @@ -272,7 +272,7 @@ fn M() { // CHECK:STDOUT: !125 = !DILocation(line: 29, column: 10, scope: !119) // CHECK:STDOUT: !126 = !DILocation(line: 29, column: 3, scope: !119) // CHECK:STDOUT: !127 = !{!120} -// CHECK:STDOUT: !128 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.71d6c598da8ca542", scope: null, file: !32, line: 28, type: !52, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !136) +// CHECK:STDOUT: !128 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c3359c2c217ad593", scope: null, file: !32, line: 28, type: !52, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !136) // CHECK:STDOUT: !129 = !DILocalVariable(arg: 1, scope: !128, type: !35) // CHECK:STDOUT: !134 = !DILocation(line: 29, column: 10, scope: !128) // CHECK:STDOUT: !135 = !DILocation(line: 29, column: 3, scope: !128) @@ -299,7 +299,7 @@ fn M() { // CHECK:STDOUT: !192 = !DILocation(line: 25, column: 10, scope: !185) // CHECK:STDOUT: !194 = !DILocation(line: 25, column: 3, scope: !185) // CHECK:STDOUT: !195 = !{!186} -// CHECK:STDOUT: !196 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.71d6c598da8ca542", scope: null, file: !32, line: 23, type: !52, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !206) +// CHECK:STDOUT: !196 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c3359c2c217ad593", scope: null, file: !32, line: 23, type: !52, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !206) // CHECK:STDOUT: !197 = !DILocalVariable(arg: 1, scope: !196, type: !35) // CHECK:STDOUT: !201 = !DILocation(line: 24, column: 3, scope: !196) // CHECK:STDOUT: !203 = !DILocation(line: 25, column: 10, scope: !196) @@ -320,7 +320,7 @@ fn M() { // CHECK:STDOUT: !249 = !DILocalVariable(arg: 2, scope: !247, type: !35) // CHECK:STDOUT: !255 = !DILocation(line: 19, column: 5, scope: !247) // CHECK:STDOUT: !256 = !{!248, !249} -// CHECK:STDOUT: !257 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.71d6c598da8ca542", scope: null, file: !32, line: 18, type: !147, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !266) +// CHECK:STDOUT: !257 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.c3359c2c217ad593", scope: null, file: !32, line: 18, type: !147, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !266) // CHECK:STDOUT: !258 = !DILocalVariable(arg: 1, scope: !257, type: !35) // CHECK:STDOUT: !259 = !DILocalVariable(arg: 2, scope: !257, type: !35) // CHECK:STDOUT: !265 = !DILocation(line: 19, column: 5, scope: !257) diff --git a/toolchain/lower/type.cpp b/toolchain/lower/type.cpp index 762da8deadef..e72b83076e0c 100644 --- a/toolchain/lower/type.cpp +++ b/toolchain/lower/type.cpp @@ -802,9 +802,7 @@ static auto BuildTypeForInst(FileContext& context, SemIR::TupleType inst) return BuildStructType(context, subtypes, layouts); } -template - requires(InstT::Kind.template IsAnyOf()) -static auto BuildTypeForInst(FileContext& context, InstT /*inst*/) +static auto BuildTypeForInst(FileContext& context, SemIR::FacetType /*inst*/) -> LoweredTypes { return {context.GetTypeType(), nullptr}; } diff --git a/toolchain/sem_ir/declared_facet_type.cpp b/toolchain/sem_ir/declared_facet_type.cpp index d4c782e9456a..c8d4760ea97a 100644 --- a/toolchain/sem_ir/declared_facet_type.cpp +++ b/toolchain/sem_ir/declared_facet_type.cpp @@ -180,11 +180,6 @@ auto DeclaredFacetType::TryAsSingleExtend() const return std::nullopt; } -auto DeclaredFacetType::HasNoConstraints() const -> bool { - return extend_constraints.empty() && extend_named_constraints.empty() && - IsExtendedOnly(); -} - auto DeclaredFacetType::IsExtendedOnly() const -> bool { return self_impls_constraints.empty() && self_impls_named_constraints.empty() && diff --git a/toolchain/sem_ir/declared_facet_type.h b/toolchain/sem_ir/declared_facet_type.h index d7e5b3a8300d..d3ff5467c856 100644 --- a/toolchain/sem_ir/declared_facet_type.h +++ b/toolchain/sem_ir/declared_facet_type.h @@ -66,8 +66,8 @@ struct DeclaredFacetType : Printable { // Requirements on types other than the generic self. struct TypeImplsInterface { - // A facet or type value, which is required to implement the interface. - // Must be a canonical instruction to ensure comparison works correctly. + // A facet that is required to implement the interface. Must be a canonical + // instruction to ensure comparison works correctly. InstId self_type; SpecificInterface specific_interface; @@ -75,8 +75,8 @@ struct DeclaredFacetType : Printable { const TypeImplsInterface& rhs) -> bool = default; }; struct TypeImplsNamedConstraint { - // A facet or type value, which is required to implement the constraint. - // Must be a canonical instruction to ensure comparison works correctly. + // A facet that is required to implement the constraint. Must be a canonical + // instruction to ensure comparison works correctly. InstId self_type; SpecificNamedConstraint specific_named_constraint; @@ -121,10 +121,6 @@ struct DeclaredFacetType : Printable { // has any other requirements. auto TryAsSingleExtend() const -> std::optional; - // Returns whether the facet type has no constraints, making it the facet type - // version of `TypeType`. - auto HasNoConstraints() const -> bool; - // Returns whether the facet type only contains constraints that are extended // by the facet type. If true, `ExtendedOnly()` would be a no-op. auto IsExtendedOnly() const -> bool; diff --git a/toolchain/sem_ir/file.cpp b/toolchain/sem_ir/file.cpp index 041c7efc3ead..1e70e92fff2e 100644 --- a/toolchain/sem_ir/file.cpp +++ b/toolchain/sem_ir/file.cpp @@ -20,6 +20,7 @@ #include "toolchain/base/value_store_impl.h" #include "toolchain/base/yaml.h" #include "toolchain/parse/node_ids.h" +#include "toolchain/sem_ir/constant.h" #include "toolchain/sem_ir/ids.h" #include "toolchain/sem_ir/inst.h" #include "toolchain/sem_ir/inst_kind.h" @@ -56,7 +57,8 @@ File::File(const Parse::Tree* parse_tree, CheckIRId check_ir_id, // 1 reserved id for `ObserveBlockId::Empty`. observe_blocks_(allocator_, check_ir_id, 1), associated_constants_(check_ir_id), - declared_facet_types_(check_ir_id), + // 1 reserved id for `DeclaredFacetTypeId::Empty`. + declared_facet_types_(check_ir_id, 1), identified_facet_types_(check_ir_id), impls_(*this), specific_interfaces_(check_ir_id), @@ -67,10 +69,9 @@ File::File(const Parse::Tree* parse_tree, CheckIRId check_ir_id, import_irs_(check_ir_id, 2), clang_decls_(check_ir_id), clang_decl_signatures_(check_ir_id), - // The `+1` prevents adding a tag to the global `NameSpace::PackageInstId` - // instruction. It's not a "singleton" instruction, but it's a unique - // instruction id that comes right after the singletons. - insts_(this, SingletonInstKinds.size() + 1), + // We have some builtin instructions that have untagged fixed indices, and + // `NumBuiltinInsts` tracks how many. + insts_(this, NumBuiltinInsts), vtables_(check_ir_id), constant_values_(ConstantId::NotConstant, &insts_), inst_blocks_(allocator_, check_ir_id), @@ -103,7 +104,20 @@ File::File(const Parse::Tree* parse_tree, CheckIRId check_ir_id, {.value_repr = {.kind = ValueRepr::Copy, .type_id = InstType::TypeId}, .object_layout = SemIR::ObjectLayout::Empty()}); - insts_.Reserve(SingletonInstKinds.size()); + auto empty_facet_type_id = declared_facet_types_.Add({}); + CARBON_CHECK(empty_facet_type_id == DeclaredFacetTypeId::Empty); + + insts_.Reserve(NumBuiltinInsts); + // Construct the `TypeType:TypeInstId` inst first, as it has InstId of 0. It + // goes in the `constants_` store so that all empty facet types dedupe to the + // singleton's constant value. + auto type_type_const_id = constants_.GetOrAdd( + FacetType{.type_id = TypeType::TypeId, + .declared_facet_type_id = DeclaredFacetTypeId::Empty}, + ConstantDependence::None); + CARBON_CHECK(type_type_const_id == TypeType::ConstantId); + CARBON_CHECK(constant_values_.GetInstId(type_type_const_id) == + TypeType::TypeInstId); for (auto kind : SingletonInstKinds) { auto inst_id = insts_.AddInNoBlock(LocIdAndInst::NoLoc(Inst::MakeSingleton(kind))); diff --git a/toolchain/sem_ir/function.h b/toolchain/sem_ir/function.h index 52ec547d89b3..0e19ac75ff46 100644 --- a/toolchain/sem_ir/function.h +++ b/toolchain/sem_ir/function.h @@ -407,8 +407,7 @@ struct CalleeFunction { SpecificId enclosing_specific_id; // The specific for the callee itself, in a resolved call. SpecificId resolved_specific_id; - // The bound `Self` type or facet value. `None` if not a bound interface - // member. + // The bound `Self` facet. `None` if not a bound interface member. InstId self_type_id; // The bound `self` parameter. `None` if not a method. InstId self_id; diff --git a/toolchain/sem_ir/ids.cpp b/toolchain/sem_ir/ids.cpp index 5dc2f1ef2921..6877c4489a34 100644 --- a/toolchain/sem_ir/ids.cpp +++ b/toolchain/sem_ir/ids.cpp @@ -15,7 +15,11 @@ namespace Carbon::SemIR { auto InstId::Print(llvm::raw_ostream& out) const -> void { if (IsSingletonInstId(*this)) { - out << Label << "(" << SingletonInstKinds[index] << ")"; + out << Label << "(" << GetSingletonInstKind(*this) << ")"; + } else if (*this == TypeType::TypeInstId) { + out << Label << "(TypeType)"; + } else if (*this == Namespace::PackageInstId) { + out << Label << "(Package)"; } else if (*this == InitTombstone) { out << Label << "(InitTombstone)"; } else if (*this == ImplWitnessTablePlaceholder) { @@ -47,8 +51,12 @@ auto ConstantId::Print(llvm::raw_ostream& out, bool disambiguate) const } } -auto CheckIRId::Print(llvm::raw_ostream& out) const -> void { - IdBase::Print(out); +auto DeclaredFacetTypeId::Print(llvm::raw_ostream& out) const -> void { + if (*this == Empty) { + out << Label << "(Empty)"; + } else { + IdBase::Print(out); + } } auto GenericInstIndex::Print(llvm::raw_ostream& out) const -> void { diff --git a/toolchain/sem_ir/ids.h b/toolchain/sem_ir/ids.h index ba0539a3f63c..f844e9b960a0 100644 --- a/toolchain/sem_ir/ids.h +++ b/toolchain/sem_ir/ids.h @@ -323,7 +323,6 @@ struct CheckIRId : public IdBase { static constexpr llvm::StringLiteral Label = "check_ir"; using IdBase::IdBase; - auto Print(llvm::raw_ostream& out) const -> void; }; // The ID of a `Class`. @@ -373,9 +372,17 @@ struct DeclaredFacetTypeId : public IdBase { static constexpr llvm::StringLiteral Label = "declared_facet_type"; using DiagnosticType = Diagnostics::TypeInfo; + // The canonical empty DeclaredFacetType, which is found in the `TypeType` + // instruction. Always the 0 index. + static const DeclaredFacetTypeId Empty; + using IdBase::IdBase; + auto Print(llvm::raw_ostream& out) const -> void; }; +inline constexpr DeclaredFacetTypeId DeclaredFacetTypeId::Empty = + DeclaredFacetTypeId(0); + // The ID of an resolved facet type value. struct IdentifiedFacetTypeId : public IdBase { static constexpr llvm::StringLiteral Label = "identified_facet_type"; diff --git a/toolchain/sem_ir/inst_kind.def b/toolchain/sem_ir/inst_kind.def index 8b1769f6297b..fe7dc5e38b03 100644 --- a/toolchain/sem_ir/inst_kind.def +++ b/toolchain/sem_ir/inst_kind.def @@ -172,7 +172,6 @@ CARBON_SEM_IR_INST_KIND(TupleValue) CARBON_SEM_IR_INST_KIND(TypeComponentOf) CARBON_SEM_IR_INST_KIND(TypeLiteral) CARBON_SEM_IR_INST_KIND(TypeOfInst) -CARBON_SEM_IR_INST_KIND(TypeType) CARBON_SEM_IR_INST_KIND(UnaryOperatorNot) CARBON_SEM_IR_INST_KIND(UnboundElementType) CARBON_SEM_IR_INST_KIND(UninitializedValue) diff --git a/toolchain/sem_ir/inst_namer.cpp b/toolchain/sem_ir/inst_namer.cpp index 4c9d79991aa5..3d2ce1a58561 100644 --- a/toolchain/sem_ir/inst_namer.cpp +++ b/toolchain/sem_ir/inst_namer.cpp @@ -264,7 +264,9 @@ auto InstNamer::GetNameFor(ScopeId scope_id, InstId inst_id) const if (IsSingletonInstId(inst_id)) { return sem_ir_->insts().Get(inst_id).kind().ir_name().str(); } - + if (inst_id == TypeType::TypeInstId) { + return "type"; + } if (inst_id == SemIR::Namespace::PackageInstId) { return "package"; } @@ -1131,27 +1133,6 @@ auto InstNamer::NamingContext::NameInst() -> void { } return; } - if (declared_facet_type.HasNoConstraints()) { - if (auto class_ty = - sem_ir().insts().TryGetAs(inst.type_inst_id)) { - AddEntityNameAndMaybePush(class_ty->class_id, ".type.facet"); - return; - } - if (auto tuple_ty = sem_ir().insts().TryGetAs( - inst.type_inst_id)) { - if (tuple_ty->type_elements_id == InstBlockId::Empty) { - AddInstName("empty_tuple.type.facet"); - } else { - AddInstName("tuple.type.facet"); - } - return; - } - if (auto struct_ty = sem_ir().insts().TryGetAs( - inst.type_inst_id)) { - AddStructTypeInstName(*struct_ty, "", ".type.facet"); - return; - } - } } AddInstName("facet_value"); return; diff --git a/toolchain/sem_ir/mangler.cpp b/toolchain/sem_ir/mangler.cpp index ddd81fb27623..f4e7cbc38701 100644 --- a/toolchain/sem_ir/mangler.cpp +++ b/toolchain/sem_ir/mangler.cpp @@ -123,7 +123,6 @@ auto Mangler::MangleInverseQualifiedNameScope(llvm::raw_ostream& os, case SemIR::NamespaceType::Kind: case SemIR::RequireSpecificDefinitionType::Kind: case SemIR::SpecificFunctionType::Kind: - case SemIR::TypeType::Kind: case SemIR::UnspecifiedValueType::Kind: case SemIR::VtableType::Kind: case SemIR::WitnessType::Kind: { @@ -140,6 +139,11 @@ auto Mangler::MangleInverseQualifiedNameScope(llvm::raw_ostream& os, break; } default: { + if (self_const_inst_id == SemIR::TypeType::TypeInstId) { + os << "type"; + break; + } + // Fall back to including a fingerprint. MangleFingerprint(os, &sem_ir(), self_const_inst_id); break; diff --git a/toolchain/sem_ir/singleton_insts.h b/toolchain/sem_ir/singleton_insts.h index 0233e4c83b91..16f1075fb2cd 100644 --- a/toolchain/sem_ir/singleton_insts.h +++ b/toolchain/sem_ir/singleton_insts.h @@ -10,10 +10,9 @@ namespace Carbon::SemIR { -// The canonical list of singleton kinds. The order of `TypeType` is -// significant because other singletons use it as a type. +// The canonical list of singleton kinds. The index of each in the array acts as +// a means to determine the InstId of the singleton inst for the kind. static constexpr std::array SingletonInstKinds = { - InstKind::TypeType, InstKind::AutoType, InstKind::BoolType, InstKind::BoundMethodType, @@ -31,6 +30,20 @@ static constexpr std::array SingletonInstKinds = { InstKind::WitnessType, }; +// We have some builtin insts with fixed InstIds that are determined relative to +// the singletons InstIds. +// - TypeType::TypeInstId +// - Namespace::PackageInstId +constexpr auto NumBuiltinInstsBeforeSingletons = 1; +constexpr auto NumBuiltinInstsAfterSingletons = 1; + +// The total number of InstIds that are fixed values. These are always the +// first InstIds in the file, and since they are fixed at compile-time of the +// toolchain, they are not tagged IDs. +constexpr auto NumBuiltinInsts = NumBuiltinInstsBeforeSingletons + + static_cast(SingletonInstKinds.size()) + + NumBuiltinInstsAfterSingletons; + // Returns true if the InstKind is a singleton. constexpr auto IsSingletonInstKind(InstKind kind) -> bool; @@ -40,22 +53,44 @@ template requires(IsSingletonInstKind(InstKind::Make(Kind))) constexpr auto MakeSingletonTypeInstId() -> TypeInstId; +// Provides the TypeInstId for the `TypeType` inst. This is exposed as +// `TypeType::TypeInstId` in `typed_insts.h`. Its index is the very first index, +// before the singletons, so that they can refer to it. +constexpr auto MakeBuiltinTypeTypeInstId() -> TypeInstId { + return TypeInstId(0); +} + +// Provides the InstId for the `PackageInstId` inst. This is exposed as +// `Namespace::PackageInstId` in `typed_insts.h`. Its index is the first +// instruction after the singletons. +constexpr auto MakeBuiltinNamespacePackageInstId() -> InstId { + return InstId(NumBuiltinInstsBeforeSingletons + SingletonInstKinds.size()); +} + // Returns true if the InstId corresponds to a singleton inst. constexpr auto IsSingletonInstId(InstId id) -> bool { - return id.index >= 0 && - id.index < static_cast(SingletonInstKinds.size()); + auto index = id.index - NumBuiltinInstsBeforeSingletons; + return index >= 0 && index < static_cast(SingletonInstKinds.size()); +} + +// Returns the InstKind for a singleton InstId. +constexpr auto GetSingletonInstKind(InstId id) -> InstKind { + CARBON_CHECK(IsSingletonInstId(id)); + auto index = id.index - NumBuiltinInstsBeforeSingletons; + return SingletonInstKinds[index]; } // Only implementation details are below. namespace Internal { -// Returns the index for a singleton instruction, or -1 if it's not a singleton. +// Returns the InstId index for a singleton instruction, or -1 if it's not a +// singleton. constexpr auto GetSingletonInstIndex(InstKind kind) -> int32_t { for (int32_t i = 0; i < static_cast(SingletonInstKinds.size()); ++i) { if (SingletonInstKinds[i] == kind) { - return i; + return i + NumBuiltinInstsBeforeSingletons; } } return -1; diff --git a/toolchain/sem_ir/type.h b/toolchain/sem_ir/type.h index 53e106a1fbe2..ca5f8651aaf7 100644 --- a/toolchain/sem_ir/type.h +++ b/toolchain/sem_ir/type.h @@ -251,16 +251,23 @@ class TypeStore : public Yaml::Printable { auto TryGetIntTypeInfo(TypeId int_type_id) const -> std::optional; - // Returns whether `type_id` represents a valid facet type. - auto IsFacetType(TypeId type_id) const -> bool { - return type_id == TypeType::TypeId || Is(type_id); + // Returns whether `type_id` represents a facet type that constrains the + // types which satisfy it. This is any facet type other than the + // unconstrained facet type `type`. + // + // A facet whose `type_id` is a constrained facet type will be symbolic, and + // there won't be a `TypeId` representation of the facet. Whereas a facet + // whose `type_id` is an unconstrained facet type (`TypeType`) will have a + // `TypeId` representation, and may be either concrete or symbolic. + auto IsConstrainedFacetType(TypeId type_id) const -> bool { + return Is(type_id) && type_id != TypeType::TypeId; } // Returns whether `type_id` represents any kind of facet type, including the // error instruction, which can be used as a type and so should be treated as // a facet type in some contexts. auto IsFacetTypeOrError(TypeId type_id) const -> bool { - return IsFacetType(type_id) || type_id == ErrorInst::TypeId; + return Is(type_id) || type_id == ErrorInst::TypeId; } // Returns a list of types that were completed in this file, in the order in diff --git a/toolchain/sem_ir/type_iterator.cpp b/toolchain/sem_ir/type_iterator.cpp index 3c87b06c54f3..ca644eab8d7f 100644 --- a/toolchain/sem_ir/type_iterator.cpp +++ b/toolchain/sem_ir/type_iterator.cpp @@ -146,7 +146,6 @@ auto TypeIterator::ProcessType(InstId inst_id) -> std::optional { case IntLiteralType::Kind: case NamespaceType::Kind: case RequireSpecificDefinitionType::Kind: - case TypeType::Kind: case UnboundElementType::Kind: case UnspecifiedValueType::Kind: case VtableType::Kind: @@ -313,7 +312,7 @@ auto TypeIterator::PushInstId(InstId inst_id) -> void { // non-canonical input through other Add() methods. inst_id = sem_ir_->constant_values().GetConstantInstId(inst_id); - if (sem_ir_->types().IsFacetType(sem_ir_->insts().Get(inst_id).type_id())) { + if (sem_ir_->types().Is(sem_ir_->insts().Get(inst_id).type_id())) { Push(TypeValue{.inst_id = inst_id}); } else if (sem_ir_->constant_values().Get(inst_id).is_symbolic()) { Push(SymbolicNonTypeValue{.inst_id = inst_id}); diff --git a/toolchain/sem_ir/type_iterator.h b/toolchain/sem_ir/type_iterator.h index 8868c27f5efb..b50f1ce92008 100644 --- a/toolchain/sem_ir/type_iterator.h +++ b/toolchain/sem_ir/type_iterator.h @@ -168,12 +168,12 @@ class TypeIterator::Step { struct ConcreteType { TypeId type_id; }; - // A symbolic type value, constrained by `facet_type_id`. + // A symbolic type value, constrained by the `facet`'s type. struct SymbolicType { // If the symbolic type is simply a reference to a symbolic binding, this is // the entity name of that binding. Otherwise, it is None. EntityNameId entity_name_id; - // The facet, whose type is either a FacetType or the TypeType singleton. + // The facet, whose type is a FacetType. InstId facet; }; // A symbolic template type value. diff --git a/toolchain/sem_ir/typed_insts.h b/toolchain/sem_ir/typed_insts.h index 1c661c3e4fcd..f4f314e7a8d2 100644 --- a/toolchain/sem_ir/typed_insts.h +++ b/toolchain/sem_ir/typed_insts.h @@ -808,13 +808,18 @@ struct FacetAccessType { InstId facet_value_inst_id; }; -// A facet type value. +// A facet type which constrains a facet. This has a deliberately +// self-referential type. +// +// The empty FacetType, which has no constraints, represents `type`. We have +// constants in the `TypeType` struct for referencing it. struct FacetType { static constexpr auto Kind = InstKind::FacetType.Define( {.ir_name = "facet_type", .is_type = InstIsType::Always, .constant_kind = InstConstantKind::Always}); + // Always `TypeType`, the empty `FacetType`. TypeId type_id; DeclaredFacetTypeId declared_facet_type_id; }; @@ -1481,8 +1486,8 @@ struct Namespace { // namespace redeclarations. .constant_kind = InstConstantKind::AlwaysUnique}); // The file's package namespace is a well-known instruction to help `package.` - // qualified names. It will always be immediately after singletons. - static constexpr InstId PackageInstId = InstId(SingletonInstKinds.size()); + // qualified names. + static constexpr InstId PackageInstId = MakeBuiltinNamespacePackageInstId(); TypeId type_id; NameScopeId name_scope_id; @@ -2299,13 +2304,14 @@ struct TypeOfInst { InstId inst_id; }; -// Tracks expressions which are valid as types. This has a deliberately -// self-referential type. -struct TypeType : public SingletonTypeInst { - // `TypeType` is always set complete in file.cpp. - static constexpr auto TypeId = - TypeId::ForTypeConstant(ConstantId::ForConcreteConstant(TypeInstId)); -}; +// A constant builtin inst that represents the empty facet type `type`. +namespace TypeType { +inline constexpr auto TypeInstId = MakeBuiltinTypeTypeInstId(); +inline constexpr auto ConstantId = ConstantId::ForConcreteConstant(TypeInstId); + +// `TypeType` is always set complete in file.cpp. +inline constexpr auto TypeId = TypeId::ForTypeConstant(ConstantId); +} // namespace TypeType // The `not` operator, such as `not operand`. struct UnaryOperatorNot { diff --git a/toolchain/sem_ir/yaml_test.cpp b/toolchain/sem_ir/yaml_test.cpp index f5e0b447e75f..54b1f33129c1 100644 --- a/toolchain/sem_ir/yaml_test.cpp +++ b/toolchain/sem_ir/yaml_test.cpp @@ -46,12 +46,12 @@ TEST(SemIRTest, Yaml) { // Matches the ID of an instruction. Instruction counts may change as various // support changes, so this code is only doing loose structural checks. - auto inst_id = Yaml::Scalar(MatchesRegex(R"(inst[0-9A-F]+)")); + auto inst_id = Yaml::Scalar(MatchesRegex(R"(inst\(\w+\)|inst[0-9A-F]+)")); auto inst_block_id = Yaml::Scalar(MatchesRegex(R"(inst_block([0-9A-F]+|_empty))")); auto inst_block = Pair(inst_block_id, Yaml::Mapping(Each(Pair(_, inst_id)))); - auto constant_id = - Yaml::Scalar(MatchesRegex(R"(concrete_constant\(inst[0-9A-F]+\))")); + auto constant_id = Yaml::Scalar( + MatchesRegex(R"(concrete_constant\((inst\(\w+\)|inst[0-9A-F]+)\))")); auto type_id = Yaml::Scalar(MatchesRegex(R"(type\((\w+|inst\(\w+\)|inst[0-9A-F]+)\))")); auto type_builtin = Pair(type_id, Yaml::Mapping(_)); @@ -75,7 +75,7 @@ TEST(SemIRTest, Yaml) { Pair("specific_interfaces", Yaml::Mapping(SizeIs(0))), Pair("struct_type_fields", Yaml::Mapping(SizeIs(1))), Pair("types", Yaml::Mapping(Each(type_builtin))), - Pair("declared_facet_types", Yaml::Mapping(SizeIs(0))), + Pair("declared_facet_types", Yaml::Mapping(SizeIs(1))), Pair("insts", Yaml::Mapping(AllOf( Each(Key(inst_id)),