|
|
@@ -93,36 +93,36 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: constants {
|
|
|
// CHECK:STDOUT: %Eats.type: type = facet_type <@Eats> [concrete]
|
|
|
-// CHECK:STDOUT: %Self.1b5: %Eats.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %Self.3c7: %Eats.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete]
|
|
|
-// CHECK:STDOUT: %Self.fd4: %Animal.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %Self.a8c: %Animal.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self [symbolic_self]
|
|
|
// CHECK:STDOUT: %T: %Eats.type = bind_symbolic_name T, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.a05: type = pattern_type %Eats.type [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type.08e: type = pattern_type %Eats.type [concrete]
|
|
|
// CHECK:STDOUT: %T.as_type: type = facet_access_type %T [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.2b4: type = pattern_type %T.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.de8: type = pattern_type %T.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %Feed.type: type = fn_type @Feed [concrete]
|
|
|
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete]
|
|
|
// CHECK:STDOUT: %Feed: %Feed.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.c75: <witness> = require_complete_type %T.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.a45: <witness> = require_complete_type %T.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %BitAndWith.type.f2e: type = generic_interface_type @BitAndWith [concrete]
|
|
|
// CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.f2e = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %BitAndWith.type.e8c: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete]
|
|
|
+// CHECK:STDOUT: %BitAndWith.type.b10: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete]
|
|
|
// CHECK:STDOUT: %BitAndWith.Op.type.9a3: type = fn_type @BitAndWith.Op, @BitAndWith(type) [concrete]
|
|
|
// CHECK:STDOUT: %BitAndWith.impl_witness: <witness> = impl_witness imports.%BitAndWith.impl_witness_table [concrete]
|
|
|
-// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.e8c = facet_value type, (%BitAndWith.impl_witness) [concrete]
|
|
|
-// CHECK:STDOUT: %.2af: type = fn_type_with_self_type %BitAndWith.Op.type.9a3, %BitAndWith.facet [concrete]
|
|
|
+// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.b10 = facet_value type, (%BitAndWith.impl_witness) [concrete]
|
|
|
+// CHECK:STDOUT: %.b22: type = fn_type_with_self_type %BitAndWith.Op.type.9a3, %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> = bound_method %Animal.type, %type.as.BitAndWith.impl.Op [concrete]
|
|
|
// CHECK:STDOUT: %facet_type: type = facet_type <@Eats & @Animal> [concrete]
|
|
|
// CHECK:STDOUT: %U: %facet_type = bind_symbolic_name U, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.787: type = pattern_type %facet_type [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type.004: type = pattern_type %facet_type [concrete]
|
|
|
// CHECK:STDOUT: %U.as_type: type = facet_access_type %U [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.56f: type = pattern_type %U.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.3a3: type = pattern_type %U.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %HandleAnimal.type: type = fn_type @HandleAnimal [concrete]
|
|
|
// CHECK:STDOUT: %HandleAnimal: %HandleAnimal.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.680: <witness> = require_complete_type %U.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.80b: <witness> = require_complete_type %U.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %Eats.lookup_impl_witness: <witness> = lookup_impl_witness %U, @Eats [symbolic]
|
|
|
// CHECK:STDOUT: %Eats.facet: %Eats.type = facet_value %U.as_type, (%Eats.lookup_impl_witness) [symbolic]
|
|
|
// CHECK:STDOUT: %Feed.specific_fn: <specific function> = specific_function %Feed, @Feed(%Eats.facet) [symbolic]
|
|
|
@@ -135,8 +135,8 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: import Core//prelude/...
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.f2e = import_ref Core//prelude, BitAndWith, loaded [concrete = constants.%BitAndWith.generic]
|
|
|
-// CHECK:STDOUT: %Core.import_ref.012: %type.as.BitAndWith.impl.Op.type = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
-// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @type.as.BitAndWith.impl [concrete]
|
|
|
+// CHECK:STDOUT: %Core.import_ref.a4f: %type.as.BitAndWith.impl.Op.type = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
+// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.a4f), @type.as.BitAndWith.impl [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: file {
|
|
|
@@ -151,9 +151,9 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %Eats.decl: type = interface_decl @Eats [concrete = constants.%Eats.type] {} {}
|
|
|
// CHECK:STDOUT: %Animal.decl: type = interface_decl @Animal [concrete = constants.%Animal.type] {} {}
|
|
|
// CHECK:STDOUT: %Feed.decl: %Feed.type = fn_decl @Feed [concrete = constants.%Feed] {
|
|
|
-// CHECK:STDOUT: %T.patt: %pattern_type.a05 = symbolic_binding_pattern T, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %e.patt: @Feed.%pattern_type (%pattern_type.2b4) = binding_pattern e [concrete]
|
|
|
-// CHECK:STDOUT: %e.param_patt: @Feed.%pattern_type (%pattern_type.2b4) = value_param_pattern %e.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %T.patt: %pattern_type.08e = symbolic_binding_pattern T, 0 [concrete]
|
|
|
+// CHECK:STDOUT: %e.patt: @Feed.%pattern_type (%pattern_type.de8) = binding_pattern e [concrete]
|
|
|
+// CHECK:STDOUT: %e.param_patt: @Feed.%pattern_type (%pattern_type.de8) = value_param_pattern %e.patt, call_param0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %.loc6_13: type = splice_block %Eats.ref [concrete = constants.%Eats.type] {
|
|
|
// CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
@@ -169,15 +169,15 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %e: @Feed.%T.as_type.loc6_22.1 (%T.as_type) = bind_name e, %e.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %HandleAnimal.decl: %HandleAnimal.type = fn_decl @HandleAnimal [concrete = constants.%HandleAnimal] {
|
|
|
-// CHECK:STDOUT: %U.patt: %pattern_type.787 = symbolic_binding_pattern U, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %a.patt: @HandleAnimal.%pattern_type (%pattern_type.56f) = binding_pattern a [concrete]
|
|
|
-// CHECK:STDOUT: %a.param_patt: @HandleAnimal.%pattern_type (%pattern_type.56f) = value_param_pattern %a.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %U.patt: %pattern_type.004 = symbolic_binding_pattern U, 0 [concrete]
|
|
|
+// CHECK:STDOUT: %a.patt: @HandleAnimal.%pattern_type (%pattern_type.3a3) = binding_pattern a [concrete]
|
|
|
+// CHECK:STDOUT: %a.param_patt: @HandleAnimal.%pattern_type (%pattern_type.3a3) = value_param_pattern %a.patt, call_param0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %.loc8_28.1: type = splice_block %.loc8_28.3 [concrete = constants.%facet_type] {
|
|
|
// CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
// 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: %.2af = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
+// CHECK:STDOUT: %impl.elem0: %.b22 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
// CHECK:STDOUT: %bound_method: <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_28.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type]
|
|
|
@@ -195,7 +195,7 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: interface @Eats {
|
|
|
-// CHECK:STDOUT: %Self: %Eats.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.1b5]
|
|
|
+// CHECK:STDOUT: %Self: %Eats.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.3c7]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !members:
|
|
|
// CHECK:STDOUT: .Self = %Self
|
|
|
@@ -203,7 +203,7 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: interface @Animal {
|
|
|
-// CHECK:STDOUT: %Self: %Animal.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.fd4]
|
|
|
+// CHECK:STDOUT: %Self: %Animal.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.a8c]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !members:
|
|
|
// CHECK:STDOUT: .Self = %Self
|
|
|
@@ -213,10 +213,10 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: generic fn @Feed(%T.loc6_9.2: %Eats.type) {
|
|
|
// CHECK:STDOUT: %T.loc6_9.1: %Eats.type = bind_symbolic_name T, 0 [symbolic = %T.loc6_9.1 (constants.%T)]
|
|
|
// CHECK:STDOUT: %T.as_type.loc6_22.1: type = facet_access_type %T.loc6_9.1 [symbolic = %T.as_type.loc6_22.1 (constants.%T.as_type)]
|
|
|
-// CHECK:STDOUT: %pattern_type: type = pattern_type %T.as_type.loc6_22.1 [symbolic = %pattern_type (constants.%pattern_type.2b4)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %T.as_type.loc6_22.1 [symbolic = %pattern_type (constants.%pattern_type.de8)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %T.as_type.loc6_22.1 [symbolic = %require_complete (constants.%require_complete.c75)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %T.as_type.loc6_22.1 [symbolic = %require_complete (constants.%require_complete.a45)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn(%e.param: @Feed.%T.as_type.loc6_22.1 (%T.as_type)) {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
@@ -227,10 +227,10 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: generic fn @HandleAnimal(%U.loc8_17.2: %facet_type) {
|
|
|
// CHECK:STDOUT: %U.loc8_17.1: %facet_type = bind_symbolic_name U, 0 [symbolic = %U.loc8_17.1 (constants.%U)]
|
|
|
// CHECK:STDOUT: %U.as_type.loc8_39.1: type = facet_access_type %U.loc8_17.1 [symbolic = %U.as_type.loc8_39.1 (constants.%U.as_type)]
|
|
|
-// CHECK:STDOUT: %pattern_type: type = pattern_type %U.as_type.loc8_39.1 [symbolic = %pattern_type (constants.%pattern_type.56f)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %U.as_type.loc8_39.1 [symbolic = %pattern_type (constants.%pattern_type.3a3)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %U.as_type.loc8_39.1 [symbolic = %require_complete (constants.%require_complete.680)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %U.as_type.loc8_39.1 [symbolic = %require_complete (constants.%require_complete.80b)]
|
|
|
// CHECK:STDOUT: %Eats.lookup_impl_witness: <witness> = lookup_impl_witness %U.loc8_17.1, @Eats [symbolic = %Eats.lookup_impl_witness (constants.%Eats.lookup_impl_witness)]
|
|
|
// CHECK:STDOUT: %Eats.facet.loc8_50.3: %Eats.type = facet_value %U.as_type.loc8_39.1, (%Eats.lookup_impl_witness) [symbolic = %Eats.facet.loc8_50.3 (constants.%Eats.facet)]
|
|
|
// CHECK:STDOUT: %Feed.specific_fn.loc8_44.2: <specific function> = specific_function constants.%Feed, @Feed(%Eats.facet.loc8_50.3) [symbolic = %Feed.specific_fn.loc8_44.2 (constants.%Feed.specific_fn)]
|
|
|
@@ -252,67 +252,67 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: specific @Feed(constants.%T) {
|
|
|
// CHECK:STDOUT: %T.loc6_9.1 => constants.%T
|
|
|
// CHECK:STDOUT: %T.as_type.loc6_22.1 => constants.%T.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.2b4
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.de8
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @HandleAnimal(constants.%U) {
|
|
|
// CHECK:STDOUT: %U.loc8_17.1 => constants.%U
|
|
|
// CHECK:STDOUT: %U.as_type.loc8_39.1 => constants.%U.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.56f
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.3a3
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @Feed(constants.%Eats.facet) {
|
|
|
// CHECK:STDOUT: %T.loc6_9.1 => constants.%Eats.facet
|
|
|
// CHECK:STDOUT: %T.as_type.loc6_22.1 => constants.%U.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.56f
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.3a3
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete => constants.%require_complete.680
|
|
|
+// CHECK:STDOUT: %require_complete => constants.%require_complete.80b
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: --- bigger.carbon
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: constants {
|
|
|
// CHECK:STDOUT: %Eats.type: type = facet_type <@Eats> [concrete]
|
|
|
-// CHECK:STDOUT: %Self.1b5: %Eats.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %Self.3c7: %Eats.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete]
|
|
|
-// CHECK:STDOUT: %Self.fd4: %Animal.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %Self.a8c: %Animal.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %Tame.type: type = facet_type <@Tame> [concrete]
|
|
|
-// CHECK:STDOUT: %Self.7ee: %Tame.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %Self.e89: %Tame.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self [symbolic_self]
|
|
|
// CHECK:STDOUT: %BitAndWith.type.f2e: type = generic_interface_type @BitAndWith [concrete]
|
|
|
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete]
|
|
|
// CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.f2e = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %BitAndWith.type.e8c: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete]
|
|
|
+// CHECK:STDOUT: %BitAndWith.type.b10: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete]
|
|
|
// CHECK:STDOUT: %BitAndWith.Op.type.9a3: type = fn_type @BitAndWith.Op, @BitAndWith(type) [concrete]
|
|
|
// CHECK:STDOUT: %BitAndWith.impl_witness: <witness> = impl_witness imports.%BitAndWith.impl_witness_table [concrete]
|
|
|
-// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.e8c = facet_value type, (%BitAndWith.impl_witness) [concrete]
|
|
|
-// CHECK:STDOUT: %.2af: type = fn_type_with_self_type %BitAndWith.Op.type.9a3, %BitAndWith.facet [concrete]
|
|
|
+// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.b10 = facet_value type, (%BitAndWith.impl_witness) [concrete]
|
|
|
+// CHECK:STDOUT: %.b22: type = fn_type_with_self_type %BitAndWith.Op.type.9a3, %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.0c8: <bound method> = bound_method %Tame.type, %type.as.BitAndWith.impl.Op [concrete]
|
|
|
-// CHECK:STDOUT: %facet_type.6ff: type = facet_type <@Eats & @Tame> [concrete]
|
|
|
-// CHECK:STDOUT: %V: %facet_type.6ff = bind_symbolic_name V, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.9f3: type = pattern_type %facet_type.6ff [concrete]
|
|
|
+// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.584: <bound method> = bound_method %Tame.type, %type.as.BitAndWith.impl.Op [concrete]
|
|
|
+// CHECK:STDOUT: %facet_type.a4d: type = facet_type <@Eats & @Tame> [concrete]
|
|
|
+// CHECK:STDOUT: %V: %facet_type.a4d = bind_symbolic_name V, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.0e6: type = pattern_type %facet_type.a4d [concrete]
|
|
|
// CHECK:STDOUT: %V.as_type: type = facet_access_type %V [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.760: type = pattern_type %V.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.f4d: type = pattern_type %V.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %FeedTame.type: type = fn_type @FeedTame [concrete]
|
|
|
// CHECK:STDOUT: %FeedTame: %FeedTame.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.940: <witness> = require_complete_type %V.as_type [symbolic]
|
|
|
-// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.a5f: <bound method> = bound_method %Eats.type, %type.as.BitAndWith.impl.Op [concrete]
|
|
|
-// CHECK:STDOUT: %facet_type.c3f: type = facet_type <@Eats & @Animal> [concrete]
|
|
|
-// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.70b: <bound method> = bound_method %facet_type.c3f, %type.as.BitAndWith.impl.Op [concrete]
|
|
|
-// CHECK:STDOUT: %facet_type.a95: type = facet_type <@Eats & @Animal & @Tame> [concrete]
|
|
|
-// CHECK:STDOUT: %W: %facet_type.a95 = bind_symbolic_name W, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.f1b: type = pattern_type %facet_type.a95 [concrete]
|
|
|
+// CHECK:STDOUT: %require_complete.ed9: <witness> = require_complete_type %V.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.622: <bound method> = bound_method %Eats.type, %type.as.BitAndWith.impl.Op [concrete]
|
|
|
+// CHECK:STDOUT: %facet_type.c5e: type = facet_type <@Eats & @Animal> [concrete]
|
|
|
+// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.9eb: <bound method> = bound_method %facet_type.c5e, %type.as.BitAndWith.impl.Op [concrete]
|
|
|
+// CHECK:STDOUT: %facet_type.936: type = facet_type <@Eats & @Animal & @Tame> [concrete]
|
|
|
+// CHECK:STDOUT: %W: %facet_type.936 = bind_symbolic_name W, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.26f: type = pattern_type %facet_type.936 [concrete]
|
|
|
// CHECK:STDOUT: %W.as_type: type = facet_access_type %W [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.002: type = pattern_type %W.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.c13: type = pattern_type %W.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %HandleTameAnimal.type: type = fn_type @HandleTameAnimal [concrete]
|
|
|
// CHECK:STDOUT: %HandleTameAnimal: %HandleTameAnimal.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.40f: <witness> = require_complete_type %W.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.560: <witness> = require_complete_type %W.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %Eats.lookup_impl_witness: <witness> = lookup_impl_witness %W, @Eats [symbolic]
|
|
|
// CHECK:STDOUT: %Tame.lookup_impl_witness: <witness> = lookup_impl_witness %W, @Tame [symbolic]
|
|
|
-// CHECK:STDOUT: %facet_value: %facet_type.6ff = facet_value %W.as_type, (%Eats.lookup_impl_witness, %Tame.lookup_impl_witness) [symbolic]
|
|
|
+// CHECK:STDOUT: %facet_value: %facet_type.a4d = facet_value %W.as_type, (%Eats.lookup_impl_witness, %Tame.lookup_impl_witness) [symbolic]
|
|
|
// CHECK:STDOUT: %FeedTame.specific_fn: <specific function> = specific_function %FeedTame, @FeedTame(%facet_value) [symbolic]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -323,8 +323,8 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: import Core//prelude/...
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.f2e = import_ref Core//prelude, BitAndWith, loaded [concrete = constants.%BitAndWith.generic]
|
|
|
-// CHECK:STDOUT: %Core.import_ref.012: %type.as.BitAndWith.impl.Op.type = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
-// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @type.as.BitAndWith.impl [concrete]
|
|
|
+// CHECK:STDOUT: %Core.import_ref.a4f: %type.as.BitAndWith.impl.Op.type = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
+// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.a4f), @type.as.BitAndWith.impl [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: file {
|
|
|
@@ -341,54 +341,54 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %Animal.decl: type = interface_decl @Animal [concrete = constants.%Animal.type] {} {}
|
|
|
// CHECK:STDOUT: %Tame.decl: type = interface_decl @Tame [concrete = constants.%Tame.type] {} {}
|
|
|
// CHECK:STDOUT: %FeedTame.decl: %FeedTame.type = fn_decl @FeedTame [concrete = constants.%FeedTame] {
|
|
|
-// CHECK:STDOUT: %V.patt: %pattern_type.9f3 = symbolic_binding_pattern V, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %v.patt: @FeedTame.%pattern_type (%pattern_type.760) = binding_pattern v [concrete]
|
|
|
-// CHECK:STDOUT: %v.param_patt: @FeedTame.%pattern_type (%pattern_type.760) = value_param_pattern %v.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %V.patt: %pattern_type.0e6 = symbolic_binding_pattern V, 0 [concrete]
|
|
|
+// CHECK:STDOUT: %v.patt: @FeedTame.%pattern_type (%pattern_type.f4d) = binding_pattern v [concrete]
|
|
|
+// CHECK:STDOUT: %v.param_patt: @FeedTame.%pattern_type (%pattern_type.f4d) = value_param_pattern %v.patt, call_param0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
-// CHECK:STDOUT: %.loc7_22.1: type = splice_block %.loc7_22.3 [concrete = constants.%facet_type.6ff] {
|
|
|
+// CHECK:STDOUT: %.loc7_22.1: type = splice_block %.loc7_22.3 [concrete = constants.%facet_type.a4d] {
|
|
|
// CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
// 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: %.2af = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
-// CHECK:STDOUT: %bound_method: <bound method> = bound_method %Tame.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.0c8]
|
|
|
-// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Tame.ref, %Eats.ref) [concrete = constants.%facet_type.6ff]
|
|
|
-// CHECK:STDOUT: %.loc7_22.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type.6ff]
|
|
|
-// CHECK:STDOUT: %.loc7_22.3: type = converted %type.as.BitAndWith.impl.Op.call, %.loc7_22.2 [concrete = constants.%facet_type.6ff]
|
|
|
+// CHECK:STDOUT: %impl.elem0: %.b22 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
+// CHECK:STDOUT: %bound_method: <bound method> = bound_method %Tame.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.584]
|
|
|
+// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Tame.ref, %Eats.ref) [concrete = constants.%facet_type.a4d]
|
|
|
+// CHECK:STDOUT: %.loc7_22.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type.a4d]
|
|
|
+// CHECK:STDOUT: %.loc7_22.3: type = converted %type.as.BitAndWith.impl.Op.call, %.loc7_22.2 [concrete = constants.%facet_type.a4d]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %V.loc7_13.2: %facet_type.6ff = bind_symbolic_name V, 0 [symbolic = %V.loc7_13.1 (constants.%V)]
|
|
|
+// CHECK:STDOUT: %V.loc7_13.2: %facet_type.a4d = bind_symbolic_name V, 0 [symbolic = %V.loc7_13.1 (constants.%V)]
|
|
|
// CHECK:STDOUT: %v.param: @FeedTame.%V.as_type.loc7_33.1 (%V.as_type) = value_param call_param0
|
|
|
// CHECK:STDOUT: %.loc7_33.1: type = splice_block %.loc7_33.2 [symbolic = %V.as_type.loc7_33.1 (constants.%V.as_type)] {
|
|
|
-// CHECK:STDOUT: %V.ref: %facet_type.6ff = name_ref V, %V.loc7_13.2 [symbolic = %V.loc7_13.1 (constants.%V)]
|
|
|
+// CHECK:STDOUT: %V.ref: %facet_type.a4d = name_ref V, %V.loc7_13.2 [symbolic = %V.loc7_13.1 (constants.%V)]
|
|
|
// CHECK:STDOUT: %V.as_type.loc7_33.2: type = facet_access_type %V.ref [symbolic = %V.as_type.loc7_33.1 (constants.%V.as_type)]
|
|
|
// CHECK:STDOUT: %.loc7_33.2: type = converted %V.ref, %V.as_type.loc7_33.2 [symbolic = %V.as_type.loc7_33.1 (constants.%V.as_type)]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %v: @FeedTame.%V.as_type.loc7_33.1 (%V.as_type) = bind_name v, %v.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %HandleTameAnimal.decl: %HandleTameAnimal.type = fn_decl @HandleTameAnimal [concrete = constants.%HandleTameAnimal] {
|
|
|
-// CHECK:STDOUT: %W.patt: %pattern_type.f1b = symbolic_binding_pattern W, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %w.patt: @HandleTameAnimal.%pattern_type (%pattern_type.002) = binding_pattern w [concrete]
|
|
|
-// CHECK:STDOUT: %w.param_patt: @HandleTameAnimal.%pattern_type (%pattern_type.002) = value_param_pattern %w.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %W.patt: %pattern_type.26f = symbolic_binding_pattern W, 0 [concrete]
|
|
|
+// CHECK:STDOUT: %w.patt: @HandleTameAnimal.%pattern_type (%pattern_type.c13) = binding_pattern w [concrete]
|
|
|
+// CHECK:STDOUT: %w.param_patt: @HandleTameAnimal.%pattern_type (%pattern_type.c13) = value_param_pattern %w.patt, call_param0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
-// CHECK:STDOUT: %.loc9_39.1: type = splice_block %.loc9_39.3 [concrete = constants.%facet_type.a95] {
|
|
|
+// CHECK:STDOUT: %.loc9_39.1: type = splice_block %.loc9_39.3 [concrete = constants.%facet_type.936] {
|
|
|
// CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
// 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_30: %.2af = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
-// CHECK:STDOUT: %bound_method.loc9_30: <bound method> = bound_method %Eats.ref, %impl.elem0.loc9_30 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.a5f]
|
|
|
-// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc9_30: init type = call %bound_method.loc9_30(%Eats.ref, %Animal.ref) [concrete = constants.%facet_type.c3f]
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc9_30: %.b22 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
+// CHECK:STDOUT: %bound_method.loc9_30: <bound method> = bound_method %Eats.ref, %impl.elem0.loc9_30 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.622]
|
|
|
+// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc9_30: init type = call %bound_method.loc9_30(%Eats.ref, %Animal.ref) [concrete = constants.%facet_type.c5e]
|
|
|
// CHECK:STDOUT: %Tame.ref: type = name_ref Tame, file.%Tame.decl [concrete = constants.%Tame.type]
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc9_39: %.2af = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
-// CHECK:STDOUT: %bound_method.loc9_39: <bound method> = bound_method %type.as.BitAndWith.impl.Op.call.loc9_30, %impl.elem0.loc9_39 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.70b]
|
|
|
-// CHECK:STDOUT: %.loc9_30.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc9_30 [concrete = constants.%facet_type.c3f]
|
|
|
-// CHECK:STDOUT: %.loc9_30.2: type = converted %type.as.BitAndWith.impl.Op.call.loc9_30, %.loc9_30.1 [concrete = constants.%facet_type.c3f]
|
|
|
-// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc9_39: init type = call %bound_method.loc9_39(%.loc9_30.2, %Tame.ref) [concrete = constants.%facet_type.a95]
|
|
|
-// CHECK:STDOUT: %.loc9_39.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc9_39 [concrete = constants.%facet_type.a95]
|
|
|
-// CHECK:STDOUT: %.loc9_39.3: type = converted %type.as.BitAndWith.impl.Op.call.loc9_39, %.loc9_39.2 [concrete = constants.%facet_type.a95]
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc9_39: %.b22 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
+// CHECK:STDOUT: %bound_method.loc9_39: <bound method> = bound_method %type.as.BitAndWith.impl.Op.call.loc9_30, %impl.elem0.loc9_39 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.9eb]
|
|
|
+// CHECK:STDOUT: %.loc9_30.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc9_30 [concrete = constants.%facet_type.c5e]
|
|
|
+// CHECK:STDOUT: %.loc9_30.2: type = converted %type.as.BitAndWith.impl.Op.call.loc9_30, %.loc9_30.1 [concrete = constants.%facet_type.c5e]
|
|
|
+// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc9_39: init type = call %bound_method.loc9_39(%.loc9_30.2, %Tame.ref) [concrete = constants.%facet_type.936]
|
|
|
+// CHECK:STDOUT: %.loc9_39.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc9_39 [concrete = constants.%facet_type.936]
|
|
|
+// CHECK:STDOUT: %.loc9_39.3: type = converted %type.as.BitAndWith.impl.Op.call.loc9_39, %.loc9_39.2 [concrete = constants.%facet_type.936]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %W.loc9_21.2: %facet_type.a95 = bind_symbolic_name W, 0 [symbolic = %W.loc9_21.1 (constants.%W)]
|
|
|
+// CHECK:STDOUT: %W.loc9_21.2: %facet_type.936 = bind_symbolic_name W, 0 [symbolic = %W.loc9_21.1 (constants.%W)]
|
|
|
// CHECK:STDOUT: %w.param: @HandleTameAnimal.%W.as_type.loc9_50.1 (%W.as_type) = value_param call_param0
|
|
|
// CHECK:STDOUT: %.loc9_50.1: type = splice_block %.loc9_50.2 [symbolic = %W.as_type.loc9_50.1 (constants.%W.as_type)] {
|
|
|
-// CHECK:STDOUT: %W.ref: %facet_type.a95 = name_ref W, %W.loc9_21.2 [symbolic = %W.loc9_21.1 (constants.%W)]
|
|
|
+// CHECK:STDOUT: %W.ref: %facet_type.936 = name_ref W, %W.loc9_21.2 [symbolic = %W.loc9_21.1 (constants.%W)]
|
|
|
// CHECK:STDOUT: %W.as_type.loc9_50.2: type = facet_access_type %W.ref [symbolic = %W.as_type.loc9_50.1 (constants.%W.as_type)]
|
|
|
// CHECK:STDOUT: %.loc9_50.2: type = converted %W.ref, %W.as_type.loc9_50.2 [symbolic = %W.as_type.loc9_50.1 (constants.%W.as_type)]
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -397,7 +397,7 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: interface @Eats {
|
|
|
-// CHECK:STDOUT: %Self: %Eats.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.1b5]
|
|
|
+// CHECK:STDOUT: %Self: %Eats.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.3c7]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !members:
|
|
|
// CHECK:STDOUT: .Self = %Self
|
|
|
@@ -405,7 +405,7 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: interface @Animal {
|
|
|
-// CHECK:STDOUT: %Self: %Animal.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.fd4]
|
|
|
+// CHECK:STDOUT: %Self: %Animal.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.a8c]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !members:
|
|
|
// CHECK:STDOUT: .Self = %Self
|
|
|
@@ -413,20 +413,20 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: interface @Tame {
|
|
|
-// CHECK:STDOUT: %Self: %Tame.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.7ee]
|
|
|
+// CHECK:STDOUT: %Self: %Tame.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.e89]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !members:
|
|
|
// CHECK:STDOUT: .Self = %Self
|
|
|
// CHECK:STDOUT: witness = ()
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: generic fn @FeedTame(%V.loc7_13.2: %facet_type.6ff) {
|
|
|
-// CHECK:STDOUT: %V.loc7_13.1: %facet_type.6ff = bind_symbolic_name V, 0 [symbolic = %V.loc7_13.1 (constants.%V)]
|
|
|
+// CHECK:STDOUT: generic fn @FeedTame(%V.loc7_13.2: %facet_type.a4d) {
|
|
|
+// CHECK:STDOUT: %V.loc7_13.1: %facet_type.a4d = bind_symbolic_name V, 0 [symbolic = %V.loc7_13.1 (constants.%V)]
|
|
|
// CHECK:STDOUT: %V.as_type.loc7_33.1: type = facet_access_type %V.loc7_13.1 [symbolic = %V.as_type.loc7_33.1 (constants.%V.as_type)]
|
|
|
-// CHECK:STDOUT: %pattern_type: type = pattern_type %V.as_type.loc7_33.1 [symbolic = %pattern_type (constants.%pattern_type.760)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %V.as_type.loc7_33.1 [symbolic = %pattern_type (constants.%pattern_type.f4d)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %V.as_type.loc7_33.1 [symbolic = %require_complete (constants.%require_complete.940)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %V.as_type.loc7_33.1 [symbolic = %require_complete (constants.%require_complete.ed9)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn(%v.param: @FeedTame.%V.as_type.loc7_33.1 (%V.as_type)) {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
@@ -434,26 +434,26 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: generic fn @HandleTameAnimal(%W.loc9_21.2: %facet_type.a95) {
|
|
|
-// CHECK:STDOUT: %W.loc9_21.1: %facet_type.a95 = bind_symbolic_name W, 0 [symbolic = %W.loc9_21.1 (constants.%W)]
|
|
|
+// CHECK:STDOUT: generic fn @HandleTameAnimal(%W.loc9_21.2: %facet_type.936) {
|
|
|
+// CHECK:STDOUT: %W.loc9_21.1: %facet_type.936 = bind_symbolic_name W, 0 [symbolic = %W.loc9_21.1 (constants.%W)]
|
|
|
// CHECK:STDOUT: %W.as_type.loc9_50.1: type = facet_access_type %W.loc9_21.1 [symbolic = %W.as_type.loc9_50.1 (constants.%W.as_type)]
|
|
|
-// CHECK:STDOUT: %pattern_type: type = pattern_type %W.as_type.loc9_50.1 [symbolic = %pattern_type (constants.%pattern_type.002)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %W.as_type.loc9_50.1 [symbolic = %pattern_type (constants.%pattern_type.c13)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %W.as_type.loc9_50.1 [symbolic = %require_complete (constants.%require_complete.40f)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %W.as_type.loc9_50.1 [symbolic = %require_complete (constants.%require_complete.560)]
|
|
|
// CHECK:STDOUT: %Eats.lookup_impl_witness: <witness> = lookup_impl_witness %W.loc9_21.1, @Eats [symbolic = %Eats.lookup_impl_witness (constants.%Eats.lookup_impl_witness)]
|
|
|
// CHECK:STDOUT: %Tame.lookup_impl_witness: <witness> = lookup_impl_witness %W.loc9_21.1, @Tame [symbolic = %Tame.lookup_impl_witness (constants.%Tame.lookup_impl_witness)]
|
|
|
-// CHECK:STDOUT: %facet_value.loc10_13.3: %facet_type.6ff = facet_value %W.as_type.loc9_50.1, (%Eats.lookup_impl_witness, %Tame.lookup_impl_witness) [symbolic = %facet_value.loc10_13.3 (constants.%facet_value)]
|
|
|
+// CHECK:STDOUT: %facet_value.loc10_13.3: %facet_type.a4d = facet_value %W.as_type.loc9_50.1, (%Eats.lookup_impl_witness, %Tame.lookup_impl_witness) [symbolic = %facet_value.loc10_13.3 (constants.%facet_value)]
|
|
|
// CHECK:STDOUT: %FeedTame.specific_fn.loc10_3.2: <specific function> = specific_function constants.%FeedTame, @FeedTame(%facet_value.loc10_13.3) [symbolic = %FeedTame.specific_fn.loc10_3.2 (constants.%FeedTame.specific_fn)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn(%w.param: @HandleTameAnimal.%W.as_type.loc9_50.1 (%W.as_type)) {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: %FeedTame.ref: %FeedTame.type = name_ref FeedTame, file.%FeedTame.decl [concrete = constants.%FeedTame]
|
|
|
// CHECK:STDOUT: %w.ref: @HandleTameAnimal.%W.as_type.loc9_50.1 (%W.as_type) = name_ref w, %w
|
|
|
-// CHECK:STDOUT: %facet_value.loc10_13.1: %facet_type.6ff = facet_value constants.%W.as_type, (constants.%Eats.lookup_impl_witness, constants.%Tame.lookup_impl_witness) [symbolic = %facet_value.loc10_13.3 (constants.%facet_value)]
|
|
|
-// CHECK:STDOUT: %.loc10_13.1: %facet_type.6ff = converted constants.%W.as_type, %facet_value.loc10_13.1 [symbolic = %facet_value.loc10_13.3 (constants.%facet_value)]
|
|
|
-// CHECK:STDOUT: %facet_value.loc10_13.2: %facet_type.6ff = facet_value constants.%W.as_type, (constants.%Eats.lookup_impl_witness, constants.%Tame.lookup_impl_witness) [symbolic = %facet_value.loc10_13.3 (constants.%facet_value)]
|
|
|
-// CHECK:STDOUT: %.loc10_13.2: %facet_type.6ff = converted constants.%W.as_type, %facet_value.loc10_13.2 [symbolic = %facet_value.loc10_13.3 (constants.%facet_value)]
|
|
|
+// CHECK:STDOUT: %facet_value.loc10_13.1: %facet_type.a4d = facet_value constants.%W.as_type, (constants.%Eats.lookup_impl_witness, constants.%Tame.lookup_impl_witness) [symbolic = %facet_value.loc10_13.3 (constants.%facet_value)]
|
|
|
+// CHECK:STDOUT: %.loc10_13.1: %facet_type.a4d = converted constants.%W.as_type, %facet_value.loc10_13.1 [symbolic = %facet_value.loc10_13.3 (constants.%facet_value)]
|
|
|
+// CHECK:STDOUT: %facet_value.loc10_13.2: %facet_type.a4d = facet_value constants.%W.as_type, (constants.%Eats.lookup_impl_witness, constants.%Tame.lookup_impl_witness) [symbolic = %facet_value.loc10_13.3 (constants.%facet_value)]
|
|
|
+// CHECK:STDOUT: %.loc10_13.2: %facet_type.a4d = converted constants.%W.as_type, %facet_value.loc10_13.2 [symbolic = %facet_value.loc10_13.3 (constants.%facet_value)]
|
|
|
// CHECK:STDOUT: %FeedTame.specific_fn.loc10_3.1: <specific function> = specific_function %FeedTame.ref, @FeedTame(constants.%facet_value) [symbolic = %FeedTame.specific_fn.loc10_3.2 (constants.%FeedTame.specific_fn)]
|
|
|
// CHECK:STDOUT: %FeedTame.call: init %empty_tuple.type = call %FeedTame.specific_fn.loc10_3.1(%w.ref)
|
|
|
// CHECK:STDOUT: return
|
|
|
@@ -463,72 +463,72 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: specific @FeedTame(constants.%V) {
|
|
|
// CHECK:STDOUT: %V.loc7_13.1 => constants.%V
|
|
|
// CHECK:STDOUT: %V.as_type.loc7_33.1 => constants.%V.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.760
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.f4d
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @HandleTameAnimal(constants.%W) {
|
|
|
// CHECK:STDOUT: %W.loc9_21.1 => constants.%W
|
|
|
// CHECK:STDOUT: %W.as_type.loc9_50.1 => constants.%W.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.002
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.c13
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @FeedTame(constants.%facet_value) {
|
|
|
// CHECK:STDOUT: %V.loc7_13.1 => constants.%facet_value
|
|
|
// CHECK:STDOUT: %V.as_type.loc7_33.1 => constants.%W.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.002
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.c13
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete => constants.%require_complete.40f
|
|
|
+// CHECK:STDOUT: %require_complete => constants.%require_complete.560
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: --- with_blanket.carbon
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: constants {
|
|
|
// CHECK:STDOUT: %Eats.type: type = facet_type <@Eats> [concrete]
|
|
|
-// CHECK:STDOUT: %Self.1b5: %Eats.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %Self.3c7: %Eats.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %Animal.type: type = facet_type <@Animal> [concrete]
|
|
|
-// CHECK:STDOUT: %Self.fd4: %Animal.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %Self.a8c: %Animal.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %Tame.type: type = facet_type <@Tame> [concrete]
|
|
|
-// CHECK:STDOUT: %Self.7ee: %Tame.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %Self.e89: %Tame.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self [symbolic_self]
|
|
|
// CHECK:STDOUT: %A: %Animal.type = bind_symbolic_name A, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.3b0: type = pattern_type %Animal.type [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type.bd6: type = pattern_type %Animal.type [concrete]
|
|
|
// CHECK:STDOUT: %A.as_type: type = facet_access_type %A [symbolic]
|
|
|
-// CHECK:STDOUT: %Eats.impl_witness.8ab: <witness> = impl_witness file.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%A) [symbolic]
|
|
|
+// CHECK:STDOUT: %Eats.impl_witness.3d1: <witness> = impl_witness file.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%A) [symbolic]
|
|
|
// CHECK:STDOUT: %BitAndWith.type.f2e: type = generic_interface_type @BitAndWith [concrete]
|
|
|
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete]
|
|
|
// CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.f2e = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %BitAndWith.type.e8c: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete]
|
|
|
+// CHECK:STDOUT: %BitAndWith.type.b10: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete]
|
|
|
// CHECK:STDOUT: %BitAndWith.Op.type.9a3: type = fn_type @BitAndWith.Op, @BitAndWith(type) [concrete]
|
|
|
// CHECK:STDOUT: %BitAndWith.impl_witness: <witness> = impl_witness imports.%BitAndWith.impl_witness_table [concrete]
|
|
|
-// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.e8c = facet_value type, (%BitAndWith.impl_witness) [concrete]
|
|
|
-// CHECK:STDOUT: %.2af: type = fn_type_with_self_type %BitAndWith.Op.type.9a3, %BitAndWith.facet [concrete]
|
|
|
+// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.b10 = facet_value type, (%BitAndWith.impl_witness) [concrete]
|
|
|
+// CHECK:STDOUT: %.b22: type = fn_type_with_self_type %BitAndWith.Op.type.9a3, %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.0c8: <bound method> = bound_method %Tame.type, %type.as.BitAndWith.impl.Op [concrete]
|
|
|
-// CHECK:STDOUT: %facet_type.6ff: type = facet_type <@Eats & @Tame> [concrete]
|
|
|
-// CHECK:STDOUT: %V: %facet_type.6ff = bind_symbolic_name V, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.9f3: type = pattern_type %facet_type.6ff [concrete]
|
|
|
+// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.584: <bound method> = bound_method %Tame.type, %type.as.BitAndWith.impl.Op [concrete]
|
|
|
+// CHECK:STDOUT: %facet_type.a4d: type = facet_type <@Eats & @Tame> [concrete]
|
|
|
+// CHECK:STDOUT: %V: %facet_type.a4d = bind_symbolic_name V, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.0e6: type = pattern_type %facet_type.a4d [concrete]
|
|
|
// CHECK:STDOUT: %V.as_type: type = facet_access_type %V [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.760: type = pattern_type %V.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.f4d: type = pattern_type %V.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %FeedTame2.type: type = fn_type @FeedTame2 [concrete]
|
|
|
// CHECK:STDOUT: %FeedTame2: %FeedTame2.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.940: <witness> = require_complete_type %V.as_type [symbolic]
|
|
|
-// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.cb0: <bound method> = bound_method %Animal.type, %type.as.BitAndWith.impl.Op [concrete]
|
|
|
-// CHECK:STDOUT: %facet_type.65c: type = facet_type <@Animal & @Tame> [concrete]
|
|
|
-// CHECK:STDOUT: %W: %facet_type.65c = bind_symbolic_name W, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.6e8: type = pattern_type %facet_type.65c [concrete]
|
|
|
+// CHECK:STDOUT: %require_complete.ed9: <witness> = require_complete_type %V.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.54f: <bound method> = bound_method %Animal.type, %type.as.BitAndWith.impl.Op [concrete]
|
|
|
+// CHECK:STDOUT: %facet_type.411: type = facet_type <@Animal & @Tame> [concrete]
|
|
|
+// CHECK:STDOUT: %W: %facet_type.411 = bind_symbolic_name W, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.c65: type = pattern_type %facet_type.411 [concrete]
|
|
|
// CHECK:STDOUT: %W.as_type: type = facet_access_type %W [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.5d1: type = pattern_type %W.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.00c: type = pattern_type %W.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %HandleTameAnimal2.type: type = fn_type @HandleTameAnimal2 [concrete]
|
|
|
// CHECK:STDOUT: %HandleTameAnimal2: %HandleTameAnimal2.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.ba9: <witness> = require_complete_type %W.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.a5b: <witness> = require_complete_type %W.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %Animal.lookup_impl_witness: <witness> = lookup_impl_witness %W, @Animal [symbolic]
|
|
|
// CHECK:STDOUT: %Animal.facet: %Animal.type = facet_value %W.as_type, (%Animal.lookup_impl_witness) [symbolic]
|
|
|
-// CHECK:STDOUT: %Eats.impl_witness.e5d: <witness> = impl_witness file.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%Animal.facet) [symbolic]
|
|
|
+// CHECK:STDOUT: %Eats.impl_witness.44d: <witness> = impl_witness file.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%Animal.facet) [symbolic]
|
|
|
// CHECK:STDOUT: %Eats.lookup_impl_witness: <witness> = lookup_impl_witness %W, @Eats [symbolic]
|
|
|
// CHECK:STDOUT: %Tame.lookup_impl_witness: <witness> = lookup_impl_witness %W, @Tame [symbolic]
|
|
|
-// CHECK:STDOUT: %facet_value: %facet_type.6ff = facet_value %W.as_type, (%Eats.lookup_impl_witness, %Tame.lookup_impl_witness) [symbolic]
|
|
|
+// CHECK:STDOUT: %facet_value: %facet_type.a4d = facet_value %W.as_type, (%Eats.lookup_impl_witness, %Tame.lookup_impl_witness) [symbolic]
|
|
|
// CHECK:STDOUT: %FeedTame2.specific_fn: <specific function> = specific_function %FeedTame2, @FeedTame2(%facet_value) [symbolic]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -539,8 +539,8 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: import Core//prelude/...
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.f2e = import_ref Core//prelude, BitAndWith, loaded [concrete = constants.%BitAndWith.generic]
|
|
|
-// CHECK:STDOUT: %Core.import_ref.012: %type.as.BitAndWith.impl.Op.type = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
-// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.012), @type.as.BitAndWith.impl [concrete]
|
|
|
+// CHECK:STDOUT: %Core.import_ref.a4f: %type.as.BitAndWith.impl.Op.type = import_ref Core//prelude, loc13_42, loaded [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
+// CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.a4f), @type.as.BitAndWith.impl [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: file {
|
|
|
@@ -557,7 +557,7 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %Animal.decl: type = interface_decl @Animal [concrete = constants.%Animal.type] {} {}
|
|
|
// CHECK:STDOUT: %Tame.decl: type = interface_decl @Tame [concrete = constants.%Tame.type] {} {}
|
|
|
// CHECK:STDOUT: impl_decl @A.as_type.as.Eats.impl [concrete] {
|
|
|
-// CHECK:STDOUT: %A.patt: %pattern_type.3b0 = symbolic_binding_pattern A, 0 [concrete]
|
|
|
+// CHECK:STDOUT: %A.patt: %pattern_type.bd6 = symbolic_binding_pattern A, 0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %A.ref: %Animal.type = name_ref A, %A.loc7_14.1 [symbolic = %A.loc7_14.2 (constants.%A)]
|
|
|
// CHECK:STDOUT: %A.as_type.loc7_26.1: type = facet_access_type %A.ref [symbolic = %A.as_type.loc7_26.2 (constants.%A.as_type)]
|
|
|
@@ -570,50 +570,50 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %A.loc7_14.1: %Animal.type = bind_symbolic_name A, 0 [symbolic = %A.loc7_14.2 (constants.%A)]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @A.as_type.as.Eats.impl [concrete]
|
|
|
-// CHECK:STDOUT: %Eats.impl_witness: <witness> = impl_witness %Eats.impl_witness_table, @A.as_type.as.Eats.impl(constants.%A) [symbolic = @A.as_type.as.Eats.impl.%Eats.impl_witness (constants.%Eats.impl_witness.8ab)]
|
|
|
+// CHECK:STDOUT: %Eats.impl_witness: <witness> = impl_witness %Eats.impl_witness_table, @A.as_type.as.Eats.impl(constants.%A) [symbolic = @A.as_type.as.Eats.impl.%Eats.impl_witness (constants.%Eats.impl_witness.3d1)]
|
|
|
// CHECK:STDOUT: %FeedTame2.decl: %FeedTame2.type = fn_decl @FeedTame2 [concrete = constants.%FeedTame2] {
|
|
|
-// CHECK:STDOUT: %V.patt: %pattern_type.9f3 = symbolic_binding_pattern V, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %v.patt: @FeedTame2.%pattern_type (%pattern_type.760) = binding_pattern v [concrete]
|
|
|
-// CHECK:STDOUT: %v.param_patt: @FeedTame2.%pattern_type (%pattern_type.760) = value_param_pattern %v.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %V.patt: %pattern_type.0e6 = symbolic_binding_pattern V, 0 [concrete]
|
|
|
+// CHECK:STDOUT: %v.patt: @FeedTame2.%pattern_type (%pattern_type.f4d) = binding_pattern v [concrete]
|
|
|
+// CHECK:STDOUT: %v.param_patt: @FeedTame2.%pattern_type (%pattern_type.f4d) = value_param_pattern %v.patt, call_param0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
-// CHECK:STDOUT: %.loc9_23.1: type = splice_block %.loc9_23.3 [concrete = constants.%facet_type.6ff] {
|
|
|
+// CHECK:STDOUT: %.loc9_23.1: type = splice_block %.loc9_23.3 [concrete = constants.%facet_type.a4d] {
|
|
|
// CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
// 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: %.2af = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
-// CHECK:STDOUT: %bound_method: <bound method> = bound_method %Tame.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.0c8]
|
|
|
-// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Tame.ref, %Eats.ref) [concrete = constants.%facet_type.6ff]
|
|
|
-// CHECK:STDOUT: %.loc9_23.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type.6ff]
|
|
|
-// CHECK:STDOUT: %.loc9_23.3: type = converted %type.as.BitAndWith.impl.Op.call, %.loc9_23.2 [concrete = constants.%facet_type.6ff]
|
|
|
+// CHECK:STDOUT: %impl.elem0: %.b22 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
+// CHECK:STDOUT: %bound_method: <bound method> = bound_method %Tame.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.584]
|
|
|
+// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Tame.ref, %Eats.ref) [concrete = constants.%facet_type.a4d]
|
|
|
+// CHECK:STDOUT: %.loc9_23.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type.a4d]
|
|
|
+// CHECK:STDOUT: %.loc9_23.3: type = converted %type.as.BitAndWith.impl.Op.call, %.loc9_23.2 [concrete = constants.%facet_type.a4d]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %V.loc9_14.2: %facet_type.6ff = bind_symbolic_name V, 0 [symbolic = %V.loc9_14.1 (constants.%V)]
|
|
|
+// CHECK:STDOUT: %V.loc9_14.2: %facet_type.a4d = bind_symbolic_name V, 0 [symbolic = %V.loc9_14.1 (constants.%V)]
|
|
|
// CHECK:STDOUT: %v.param: @FeedTame2.%V.as_type.loc9_34.1 (%V.as_type) = value_param call_param0
|
|
|
// CHECK:STDOUT: %.loc9_34.1: type = splice_block %.loc9_34.2 [symbolic = %V.as_type.loc9_34.1 (constants.%V.as_type)] {
|
|
|
-// CHECK:STDOUT: %V.ref: %facet_type.6ff = name_ref V, %V.loc9_14.2 [symbolic = %V.loc9_14.1 (constants.%V)]
|
|
|
+// CHECK:STDOUT: %V.ref: %facet_type.a4d = name_ref V, %V.loc9_14.2 [symbolic = %V.loc9_14.1 (constants.%V)]
|
|
|
// CHECK:STDOUT: %V.as_type.loc9_34.2: type = facet_access_type %V.ref [symbolic = %V.as_type.loc9_34.1 (constants.%V.as_type)]
|
|
|
// CHECK:STDOUT: %.loc9_34.2: type = converted %V.ref, %V.as_type.loc9_34.2 [symbolic = %V.as_type.loc9_34.1 (constants.%V.as_type)]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %v: @FeedTame2.%V.as_type.loc9_34.1 (%V.as_type) = bind_name v, %v.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %HandleTameAnimal2.decl: %HandleTameAnimal2.type = fn_decl @HandleTameAnimal2 [concrete = constants.%HandleTameAnimal2] {
|
|
|
-// CHECK:STDOUT: %W.patt: %pattern_type.6e8 = symbolic_binding_pattern W, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %w.patt: @HandleTameAnimal2.%pattern_type (%pattern_type.5d1) = binding_pattern w [concrete]
|
|
|
-// CHECK:STDOUT: %w.param_patt: @HandleTameAnimal2.%pattern_type (%pattern_type.5d1) = value_param_pattern %w.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %W.patt: %pattern_type.c65 = symbolic_binding_pattern W, 0 [concrete]
|
|
|
+// CHECK:STDOUT: %w.patt: @HandleTameAnimal2.%pattern_type (%pattern_type.00c) = binding_pattern w [concrete]
|
|
|
+// CHECK:STDOUT: %w.param_patt: @HandleTameAnimal2.%pattern_type (%pattern_type.00c) = value_param_pattern %w.patt, call_param0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
-// CHECK:STDOUT: %.loc11_33.1: type = splice_block %.loc11_33.3 [concrete = constants.%facet_type.65c] {
|
|
|
+// CHECK:STDOUT: %.loc11_33.1: type = splice_block %.loc11_33.3 [concrete = constants.%facet_type.411] {
|
|
|
// CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
// 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: %.2af = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
-// CHECK:STDOUT: %bound_method: <bound method> = bound_method %Animal.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.cb0]
|
|
|
-// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Animal.ref, %Tame.ref) [concrete = constants.%facet_type.65c]
|
|
|
-// CHECK:STDOUT: %.loc11_33.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type.65c]
|
|
|
-// CHECK:STDOUT: %.loc11_33.3: type = converted %type.as.BitAndWith.impl.Op.call, %.loc11_33.2 [concrete = constants.%facet_type.65c]
|
|
|
+// CHECK:STDOUT: %impl.elem0: %.b22 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op]
|
|
|
+// CHECK:STDOUT: %bound_method: <bound method> = bound_method %Animal.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.54f]
|
|
|
+// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Animal.ref, %Tame.ref) [concrete = constants.%facet_type.411]
|
|
|
+// CHECK:STDOUT: %.loc11_33.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type.411]
|
|
|
+// CHECK:STDOUT: %.loc11_33.3: type = converted %type.as.BitAndWith.impl.Op.call, %.loc11_33.2 [concrete = constants.%facet_type.411]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %W.loc11_22.2: %facet_type.65c = bind_symbolic_name W, 0 [symbolic = %W.loc11_22.1 (constants.%W)]
|
|
|
+// CHECK:STDOUT: %W.loc11_22.2: %facet_type.411 = bind_symbolic_name W, 0 [symbolic = %W.loc11_22.1 (constants.%W)]
|
|
|
// CHECK:STDOUT: %w.param: @HandleTameAnimal2.%W.as_type.loc11_44.1 (%W.as_type) = value_param call_param0
|
|
|
// CHECK:STDOUT: %.loc11_44.1: type = splice_block %.loc11_44.2 [symbolic = %W.as_type.loc11_44.1 (constants.%W.as_type)] {
|
|
|
-// CHECK:STDOUT: %W.ref: %facet_type.65c = name_ref W, %W.loc11_22.2 [symbolic = %W.loc11_22.1 (constants.%W)]
|
|
|
+// CHECK:STDOUT: %W.ref: %facet_type.411 = name_ref W, %W.loc11_22.2 [symbolic = %W.loc11_22.1 (constants.%W)]
|
|
|
// CHECK:STDOUT: %W.as_type.loc11_44.2: type = facet_access_type %W.ref [symbolic = %W.as_type.loc11_44.1 (constants.%W.as_type)]
|
|
|
// CHECK:STDOUT: %.loc11_44.2: type = converted %W.ref, %W.as_type.loc11_44.2 [symbolic = %W.as_type.loc11_44.1 (constants.%W.as_type)]
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -622,7 +622,7 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: interface @Eats {
|
|
|
-// CHECK:STDOUT: %Self: %Eats.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.1b5]
|
|
|
+// CHECK:STDOUT: %Self: %Eats.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.3c7]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !members:
|
|
|
// CHECK:STDOUT: .Self = %Self
|
|
|
@@ -630,7 +630,7 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: interface @Animal {
|
|
|
-// CHECK:STDOUT: %Self: %Animal.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.fd4]
|
|
|
+// CHECK:STDOUT: %Self: %Animal.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.a8c]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !members:
|
|
|
// CHECK:STDOUT: .Self = %Self
|
|
|
@@ -638,7 +638,7 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: interface @Tame {
|
|
|
-// CHECK:STDOUT: %Self: %Tame.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.7ee]
|
|
|
+// CHECK:STDOUT: %Self: %Tame.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.e89]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !members:
|
|
|
// CHECK:STDOUT: .Self = %Self
|
|
|
@@ -648,7 +648,7 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: generic impl @A.as_type.as.Eats.impl(%A.loc7_14.1: %Animal.type) {
|
|
|
// CHECK:STDOUT: %A.loc7_14.2: %Animal.type = bind_symbolic_name A, 0 [symbolic = %A.loc7_14.2 (constants.%A)]
|
|
|
// CHECK:STDOUT: %A.as_type.loc7_26.2: type = facet_access_type %A.loc7_14.2 [symbolic = %A.as_type.loc7_26.2 (constants.%A.as_type)]
|
|
|
-// CHECK:STDOUT: %Eats.impl_witness: <witness> = impl_witness file.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%A.loc7_14.2) [symbolic = %Eats.impl_witness (constants.%Eats.impl_witness.8ab)]
|
|
|
+// CHECK:STDOUT: %Eats.impl_witness: <witness> = impl_witness file.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%A.loc7_14.2) [symbolic = %Eats.impl_witness (constants.%Eats.impl_witness.3d1)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -658,13 +658,13 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: generic fn @FeedTame2(%V.loc9_14.2: %facet_type.6ff) {
|
|
|
-// CHECK:STDOUT: %V.loc9_14.1: %facet_type.6ff = bind_symbolic_name V, 0 [symbolic = %V.loc9_14.1 (constants.%V)]
|
|
|
+// CHECK:STDOUT: generic fn @FeedTame2(%V.loc9_14.2: %facet_type.a4d) {
|
|
|
+// CHECK:STDOUT: %V.loc9_14.1: %facet_type.a4d = bind_symbolic_name V, 0 [symbolic = %V.loc9_14.1 (constants.%V)]
|
|
|
// CHECK:STDOUT: %V.as_type.loc9_34.1: type = facet_access_type %V.loc9_14.1 [symbolic = %V.as_type.loc9_34.1 (constants.%V.as_type)]
|
|
|
-// CHECK:STDOUT: %pattern_type: type = pattern_type %V.as_type.loc9_34.1 [symbolic = %pattern_type (constants.%pattern_type.760)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %V.as_type.loc9_34.1 [symbolic = %pattern_type (constants.%pattern_type.f4d)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %V.as_type.loc9_34.1 [symbolic = %require_complete (constants.%require_complete.940)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %V.as_type.loc9_34.1 [symbolic = %require_complete (constants.%require_complete.ed9)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn(%v.param: @FeedTame2.%V.as_type.loc9_34.1 (%V.as_type)) {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
@@ -672,18 +672,18 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: generic fn @HandleTameAnimal2(%W.loc11_22.2: %facet_type.65c) {
|
|
|
-// CHECK:STDOUT: %W.loc11_22.1: %facet_type.65c = bind_symbolic_name W, 0 [symbolic = %W.loc11_22.1 (constants.%W)]
|
|
|
+// CHECK:STDOUT: generic fn @HandleTameAnimal2(%W.loc11_22.2: %facet_type.411) {
|
|
|
+// CHECK:STDOUT: %W.loc11_22.1: %facet_type.411 = bind_symbolic_name W, 0 [symbolic = %W.loc11_22.1 (constants.%W)]
|
|
|
// CHECK:STDOUT: %W.as_type.loc11_44.1: type = facet_access_type %W.loc11_22.1 [symbolic = %W.as_type.loc11_44.1 (constants.%W.as_type)]
|
|
|
-// CHECK:STDOUT: %pattern_type: type = pattern_type %W.as_type.loc11_44.1 [symbolic = %pattern_type (constants.%pattern_type.5d1)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %W.as_type.loc11_44.1 [symbolic = %pattern_type (constants.%pattern_type.00c)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %W.as_type.loc11_44.1 [symbolic = %require_complete (constants.%require_complete.ba9)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %W.as_type.loc11_44.1 [symbolic = %require_complete (constants.%require_complete.a5b)]
|
|
|
// CHECK:STDOUT: %Animal.lookup_impl_witness: <witness> = lookup_impl_witness %W.loc11_22.1, @Animal [symbolic = %Animal.lookup_impl_witness (constants.%Animal.lookup_impl_witness)]
|
|
|
// CHECK:STDOUT: %Animal.facet.loc12_14.3: %Animal.type = facet_value %W.as_type.loc11_44.1, (%Animal.lookup_impl_witness) [symbolic = %Animal.facet.loc12_14.3 (constants.%Animal.facet)]
|
|
|
// CHECK:STDOUT: %Eats.lookup_impl_witness: <witness> = lookup_impl_witness %W.loc11_22.1, @Eats [symbolic = %Eats.lookup_impl_witness (constants.%Eats.lookup_impl_witness)]
|
|
|
// CHECK:STDOUT: %Tame.lookup_impl_witness: <witness> = lookup_impl_witness %W.loc11_22.1, @Tame [symbolic = %Tame.lookup_impl_witness (constants.%Tame.lookup_impl_witness)]
|
|
|
-// CHECK:STDOUT: %facet_value.loc12_14.3: %facet_type.6ff = facet_value %W.as_type.loc11_44.1, (%Eats.lookup_impl_witness, %Tame.lookup_impl_witness) [symbolic = %facet_value.loc12_14.3 (constants.%facet_value)]
|
|
|
+// CHECK:STDOUT: %facet_value.loc12_14.3: %facet_type.a4d = facet_value %W.as_type.loc11_44.1, (%Eats.lookup_impl_witness, %Tame.lookup_impl_witness) [symbolic = %facet_value.loc12_14.3 (constants.%facet_value)]
|
|
|
// CHECK:STDOUT: %FeedTame2.specific_fn.loc12_3.2: <specific function> = specific_function constants.%FeedTame2, @FeedTame2(%facet_value.loc12_14.3) [symbolic = %FeedTame2.specific_fn.loc12_3.2 (constants.%FeedTame2.specific_fn)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn(%w.param: @HandleTameAnimal2.%W.as_type.loc11_44.1 (%W.as_type)) {
|
|
|
@@ -694,14 +694,14 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %.loc12_14.1: type = converted constants.%W, %W.as_type.loc12_14.1 [symbolic = %W.as_type.loc11_44.1 (constants.%W.as_type)]
|
|
|
// CHECK:STDOUT: %Animal.facet.loc12_14.1: %Animal.type = facet_value constants.%W.as_type, (constants.%Animal.lookup_impl_witness) [symbolic = %Animal.facet.loc12_14.3 (constants.%Animal.facet)]
|
|
|
// CHECK:STDOUT: %.loc12_14.2: %Animal.type = converted %.loc12_14.1, %Animal.facet.loc12_14.1 [symbolic = %Animal.facet.loc12_14.3 (constants.%Animal.facet)]
|
|
|
-// CHECK:STDOUT: %facet_value.loc12_14.1: %facet_type.6ff = facet_value constants.%W.as_type, (constants.%Eats.lookup_impl_witness, constants.%Tame.lookup_impl_witness) [symbolic = %facet_value.loc12_14.3 (constants.%facet_value)]
|
|
|
-// CHECK:STDOUT: %.loc12_14.3: %facet_type.6ff = converted constants.%W.as_type, %facet_value.loc12_14.1 [symbolic = %facet_value.loc12_14.3 (constants.%facet_value)]
|
|
|
+// CHECK:STDOUT: %facet_value.loc12_14.1: %facet_type.a4d = facet_value constants.%W.as_type, (constants.%Eats.lookup_impl_witness, constants.%Tame.lookup_impl_witness) [symbolic = %facet_value.loc12_14.3 (constants.%facet_value)]
|
|
|
+// CHECK:STDOUT: %.loc12_14.3: %facet_type.a4d = converted constants.%W.as_type, %facet_value.loc12_14.1 [symbolic = %facet_value.loc12_14.3 (constants.%facet_value)]
|
|
|
// CHECK:STDOUT: %W.as_type.loc12_14.2: type = facet_access_type constants.%W [symbolic = %W.as_type.loc11_44.1 (constants.%W.as_type)]
|
|
|
// CHECK:STDOUT: %.loc12_14.4: type = converted constants.%W, %W.as_type.loc12_14.2 [symbolic = %W.as_type.loc11_44.1 (constants.%W.as_type)]
|
|
|
// CHECK:STDOUT: %Animal.facet.loc12_14.2: %Animal.type = facet_value constants.%W.as_type, (constants.%Animal.lookup_impl_witness) [symbolic = %Animal.facet.loc12_14.3 (constants.%Animal.facet)]
|
|
|
// CHECK:STDOUT: %.loc12_14.5: %Animal.type = converted %.loc12_14.4, %Animal.facet.loc12_14.2 [symbolic = %Animal.facet.loc12_14.3 (constants.%Animal.facet)]
|
|
|
-// CHECK:STDOUT: %facet_value.loc12_14.2: %facet_type.6ff = facet_value constants.%W.as_type, (constants.%Eats.lookup_impl_witness, constants.%Tame.lookup_impl_witness) [symbolic = %facet_value.loc12_14.3 (constants.%facet_value)]
|
|
|
-// CHECK:STDOUT: %.loc12_14.6: %facet_type.6ff = converted constants.%W.as_type, %facet_value.loc12_14.2 [symbolic = %facet_value.loc12_14.3 (constants.%facet_value)]
|
|
|
+// CHECK:STDOUT: %facet_value.loc12_14.2: %facet_type.a4d = facet_value constants.%W.as_type, (constants.%Eats.lookup_impl_witness, constants.%Tame.lookup_impl_witness) [symbolic = %facet_value.loc12_14.3 (constants.%facet_value)]
|
|
|
+// CHECK:STDOUT: %.loc12_14.6: %facet_type.a4d = converted constants.%W.as_type, %facet_value.loc12_14.2 [symbolic = %facet_value.loc12_14.3 (constants.%facet_value)]
|
|
|
// CHECK:STDOUT: %FeedTame2.specific_fn.loc12_3.1: <specific function> = specific_function %FeedTame2.ref, @FeedTame2(constants.%facet_value) [symbolic = %FeedTame2.specific_fn.loc12_3.2 (constants.%FeedTame2.specific_fn)]
|
|
|
// CHECK:STDOUT: %FeedTame2.call: init %empty_tuple.type = call %FeedTame2.specific_fn.loc12_3.1(%w.ref)
|
|
|
// CHECK:STDOUT: return
|
|
|
@@ -711,25 +711,25 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: specific @A.as_type.as.Eats.impl(constants.%A) {
|
|
|
// CHECK:STDOUT: %A.loc7_14.2 => constants.%A
|
|
|
// CHECK:STDOUT: %A.as_type.loc7_26.2 => constants.%A.as_type
|
|
|
-// CHECK:STDOUT: %Eats.impl_witness => constants.%Eats.impl_witness.8ab
|
|
|
+// CHECK:STDOUT: %Eats.impl_witness => constants.%Eats.impl_witness.3d1
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @FeedTame2(constants.%V) {
|
|
|
// CHECK:STDOUT: %V.loc9_14.1 => constants.%V
|
|
|
// CHECK:STDOUT: %V.as_type.loc9_34.1 => constants.%V.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.760
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.f4d
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @HandleTameAnimal2(constants.%W) {
|
|
|
// CHECK:STDOUT: %W.loc11_22.1 => constants.%W
|
|
|
// CHECK:STDOUT: %W.as_type.loc11_44.1 => constants.%W.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.5d1
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.00c
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @A.as_type.as.Eats.impl(constants.%Animal.facet) {
|
|
|
// CHECK:STDOUT: %A.loc7_14.2 => constants.%Animal.facet
|
|
|
// CHECK:STDOUT: %A.as_type.loc7_26.2 => constants.%W.as_type
|
|
|
-// CHECK:STDOUT: %Eats.impl_witness => constants.%Eats.impl_witness.e5d
|
|
|
+// CHECK:STDOUT: %Eats.impl_witness => constants.%Eats.impl_witness.44d
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -737,10 +737,10 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: specific @FeedTame2(constants.%facet_value) {
|
|
|
// CHECK:STDOUT: %V.loc9_14.1 => constants.%facet_value
|
|
|
// CHECK:STDOUT: %V.as_type.loc9_34.1 => constants.%W.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.5d1
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.00c
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete => constants.%require_complete.ba9
|
|
|
+// CHECK:STDOUT: %require_complete => constants.%require_complete.a5b
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: --- equivalent.carbon
|
|
|
@@ -750,21 +750,21 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %Self: %A.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %.Self.644: type = bind_symbolic_name .Self [symbolic_self]
|
|
|
// CHECK:STDOUT: %T: %A.type = bind_symbolic_name T, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.a2b: type = pattern_type %A.type [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type.a6e: type = pattern_type %A.type [concrete]
|
|
|
// CHECK:STDOUT: %T.as_type: type = facet_access_type %T [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.f9844e.1: type = pattern_type %T.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.6c35e2.1: type = pattern_type %T.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %TakesA.type: type = fn_type @TakesA [concrete]
|
|
|
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete]
|
|
|
// CHECK:STDOUT: %TakesA: %TakesA.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.cf45b7.1: <witness> = require_complete_type %T.as_type [symbolic]
|
|
|
-// CHECK:STDOUT: %.Self.3ca: %A.type = bind_symbolic_name .Self [symbolic_self]
|
|
|
-// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.3ca [symbolic_self]
|
|
|
+// CHECK:STDOUT: %require_complete.cb17be.1: <witness> = require_complete_type %T.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %.Self.e6d: %A.type = bind_symbolic_name .Self [symbolic_self]
|
|
|
+// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.e6d [symbolic_self]
|
|
|
// CHECK:STDOUT: %U: %A.type = bind_symbolic_name U, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %U.as_type: type = facet_access_type %U [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.f9844e.2: type = pattern_type %U.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.6c35e2.2: type = pattern_type %U.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %WithExtraWhere.type: type = fn_type @WithExtraWhere [concrete]
|
|
|
// CHECK:STDOUT: %WithExtraWhere: %WithExtraWhere.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.cf45b7.2: <witness> = require_complete_type %U.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.cb17be.2: <witness> = require_complete_type %U.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %TakesA.specific_fn: <specific function> = specific_function %TakesA, @TakesA(%U) [symbolic]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -785,9 +785,9 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %Core.import = import Core
|
|
|
// CHECK:STDOUT: %A.decl: type = interface_decl @A [concrete = constants.%A.type] {} {}
|
|
|
// CHECK:STDOUT: %TakesA.decl: %TakesA.type = fn_decl @TakesA [concrete = constants.%TakesA] {
|
|
|
-// CHECK:STDOUT: %T.patt: %pattern_type.a2b = symbolic_binding_pattern T, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %x.patt: @TakesA.%pattern_type (%pattern_type.f9844e.1) = binding_pattern x [concrete]
|
|
|
-// CHECK:STDOUT: %x.param_patt: @TakesA.%pattern_type (%pattern_type.f9844e.1) = value_param_pattern %x.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %T.patt: %pattern_type.a6e = symbolic_binding_pattern T, 0 [concrete]
|
|
|
+// CHECK:STDOUT: %x.patt: @TakesA.%pattern_type (%pattern_type.6c35e2.1) = binding_pattern x [concrete]
|
|
|
+// CHECK:STDOUT: %x.param_patt: @TakesA.%pattern_type (%pattern_type.6c35e2.1) = value_param_pattern %x.patt, call_param0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %.loc7_15: type = splice_block %A.ref [concrete = constants.%A.type] {
|
|
|
// CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self [symbolic_self = constants.%.Self.644]
|
|
|
@@ -803,15 +803,15 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %x: @TakesA.%T.as_type.loc7_21.1 (%T.as_type) = bind_name x, %x.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %WithExtraWhere.decl: %WithExtraWhere.type = fn_decl @WithExtraWhere [concrete = constants.%WithExtraWhere] {
|
|
|
-// CHECK:STDOUT: %U.patt: %pattern_type.a2b = symbolic_binding_pattern U, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %y.patt: @WithExtraWhere.%pattern_type (%pattern_type.f9844e.2) = binding_pattern y [concrete]
|
|
|
-// CHECK:STDOUT: %y.param_patt: @WithExtraWhere.%pattern_type (%pattern_type.f9844e.2) = value_param_pattern %y.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %U.patt: %pattern_type.a6e = symbolic_binding_pattern U, 0 [concrete]
|
|
|
+// CHECK:STDOUT: %y.patt: @WithExtraWhere.%pattern_type (%pattern_type.6c35e2.2) = binding_pattern y [concrete]
|
|
|
+// CHECK:STDOUT: %y.param_patt: @WithExtraWhere.%pattern_type (%pattern_type.6c35e2.2) = value_param_pattern %y.patt, call_param0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %.loc9_25.1: type = splice_block %.loc9_25.2 [concrete = constants.%A.type] {
|
|
|
// CHECK:STDOUT: %.Self.1: type = bind_symbolic_name .Self [symbolic_self = constants.%.Self.644]
|
|
|
// CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type]
|
|
|
-// CHECK:STDOUT: %.Self.2: %A.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self.3ca]
|
|
|
-// CHECK:STDOUT: %.Self.ref: %A.type = name_ref .Self, %.Self.2 [symbolic_self = constants.%.Self.3ca]
|
|
|
+// CHECK:STDOUT: %.Self.2: %A.type = bind_symbolic_name .Self [symbolic_self = constants.%.Self.e6d]
|
|
|
+// CHECK:STDOUT: %.Self.ref: %A.type = name_ref .Self, %.Self.2 [symbolic_self = constants.%.Self.e6d]
|
|
|
// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.ref [symbolic_self = constants.%.Self.as_type]
|
|
|
// CHECK:STDOUT: %.loc9_31: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.as_type]
|
|
|
// CHECK:STDOUT: %.loc9_25.2: type = where_expr %.Self.2 [concrete = constants.%A.type] {
|
|
|
@@ -841,10 +841,10 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: generic fn @TakesA(%T.loc7_11.2: %A.type) {
|
|
|
// CHECK:STDOUT: %T.loc7_11.1: %A.type = bind_symbolic_name T, 0 [symbolic = %T.loc7_11.1 (constants.%T)]
|
|
|
// CHECK:STDOUT: %T.as_type.loc7_21.1: type = facet_access_type %T.loc7_11.1 [symbolic = %T.as_type.loc7_21.1 (constants.%T.as_type)]
|
|
|
-// CHECK:STDOUT: %pattern_type: type = pattern_type %T.as_type.loc7_21.1 [symbolic = %pattern_type (constants.%pattern_type.f9844e.1)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %T.as_type.loc7_21.1 [symbolic = %pattern_type (constants.%pattern_type.6c35e2.1)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %T.as_type.loc7_21.1 [symbolic = %require_complete (constants.%require_complete.cf45b7.1)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %T.as_type.loc7_21.1 [symbolic = %require_complete (constants.%require_complete.cb17be.1)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn(%x.param: @TakesA.%T.as_type.loc7_21.1 (%T.as_type)) {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
@@ -855,10 +855,10 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: generic fn @WithExtraWhere(%U.loc9_19.2: %A.type) {
|
|
|
// CHECK:STDOUT: %U.loc9_19.1: %A.type = bind_symbolic_name U, 0 [symbolic = %U.loc9_19.1 (constants.%U)]
|
|
|
// CHECK:STDOUT: %U.as_type.loc9_52.1: type = facet_access_type %U.loc9_19.1 [symbolic = %U.as_type.loc9_52.1 (constants.%U.as_type)]
|
|
|
-// CHECK:STDOUT: %pattern_type: type = pattern_type %U.as_type.loc9_52.1 [symbolic = %pattern_type (constants.%pattern_type.f9844e.2)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %U.as_type.loc9_52.1 [symbolic = %pattern_type (constants.%pattern_type.6c35e2.2)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %U.as_type.loc9_52.1 [symbolic = %require_complete (constants.%require_complete.cf45b7.2)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %U.as_type.loc9_52.1 [symbolic = %require_complete (constants.%require_complete.cb17be.2)]
|
|
|
// CHECK:STDOUT: %TakesA.specific_fn.loc10_3.2: <specific function> = specific_function constants.%TakesA, @TakesA(%U.loc9_19.1) [symbolic = %TakesA.specific_fn.loc10_3.2 (constants.%TakesA.specific_fn)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn(%y.param: @WithExtraWhere.%U.as_type.loc9_52.1 (%U.as_type)) {
|
|
|
@@ -876,22 +876,22 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: specific @TakesA(constants.%T) {
|
|
|
// CHECK:STDOUT: %T.loc7_11.1 => constants.%T
|
|
|
// CHECK:STDOUT: %T.as_type.loc7_21.1 => constants.%T.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.f9844e.1
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.6c35e2.1
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @WithExtraWhere(constants.%U) {
|
|
|
// CHECK:STDOUT: %U.loc9_19.1 => constants.%U
|
|
|
// CHECK:STDOUT: %U.as_type.loc9_52.1 => constants.%U.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.f9844e.2
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.6c35e2.2
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @TakesA(constants.%U) {
|
|
|
// CHECK:STDOUT: %T.loc7_11.1 => constants.%U
|
|
|
// CHECK:STDOUT: %T.as_type.loc7_21.1 => constants.%U.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.f9844e.2
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.6c35e2.2
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete => constants.%require_complete.cf45b7.2
|
|
|
+// CHECK:STDOUT: %require_complete => constants.%require_complete.cb17be.2
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: --- no_interfaces_success.carbon
|
|
|
@@ -907,12 +907,12 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %require_complete.4ae: <witness> = require_complete_type %T [symbolic]
|
|
|
// CHECK:STDOUT: %type: type = facet_type <type> [concrete]
|
|
|
// CHECK:STDOUT: %U: %type = bind_symbolic_name U, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.d06: type = pattern_type %type [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type %type [concrete]
|
|
|
// CHECK:STDOUT: %U.as_type: type = facet_access_type %U [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.772: type = pattern_type %U.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.fa6: type = pattern_type %U.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %CallsWithExtraWhere.type: type = fn_type @CallsWithExtraWhere [concrete]
|
|
|
// CHECK:STDOUT: %CallsWithExtraWhere: %CallsWithExtraWhere.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.5eb: <witness> = require_complete_type %U.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.f46: <witness> = require_complete_type %U.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %TakesTypeDeduced.specific_fn: <specific function> = specific_function %TakesTypeDeduced, @TakesTypeDeduced(%U.as_type) [symbolic]
|
|
|
// CHECK:STDOUT: %TakesTypeExplicit.type: type = fn_type @TakesTypeExplicit [concrete]
|
|
|
// CHECK:STDOUT: %TakesTypeExplicit: %TakesTypeExplicit.type = struct_value () [concrete]
|
|
|
@@ -949,9 +949,9 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %x: @TakesTypeDeduced.%T.loc3_21.1 (%T) = bind_name x, %x.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %CallsWithExtraWhere.decl: %CallsWithExtraWhere.type = fn_decl @CallsWithExtraWhere [concrete = constants.%CallsWithExtraWhere] {
|
|
|
-// CHECK:STDOUT: %U.patt: %pattern_type.d06 = symbolic_binding_pattern U, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %y.patt: @CallsWithExtraWhere.%pattern_type (%pattern_type.772) = binding_pattern y [concrete]
|
|
|
-// CHECK:STDOUT: %y.param_patt: @CallsWithExtraWhere.%pattern_type (%pattern_type.772) = value_param_pattern %y.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [concrete]
|
|
|
+// CHECK:STDOUT: %y.patt: @CallsWithExtraWhere.%pattern_type (%pattern_type.fa6) = binding_pattern y [concrete]
|
|
|
+// CHECK:STDOUT: %y.param_patt: @CallsWithExtraWhere.%pattern_type (%pattern_type.fa6) = value_param_pattern %y.patt, call_param0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %.loc4_33.1: type = splice_block %.loc4_33.2 [concrete = constants.%type] {
|
|
|
// CHECK:STDOUT: %.Self.1: type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
@@ -978,7 +978,7 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %T.loc8_22.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_22.1 (constants.%T)]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %CallsWithExtraWhereExplicit.decl: %CallsWithExtraWhereExplicit.type = fn_decl @CallsWithExtraWhereExplicit [concrete = constants.%CallsWithExtraWhereExplicit] {
|
|
|
-// CHECK:STDOUT: %U.patt: %pattern_type.d06 = symbolic_binding_pattern U, 0 [concrete]
|
|
|
+// CHECK:STDOUT: %U.patt: %pattern_type.9a5 = symbolic_binding_pattern U, 0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %.loc9_41.1: type = splice_block %.loc9_41.2 [concrete = constants.%type] {
|
|
|
// CHECK:STDOUT: %.Self.1: type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
@@ -1009,10 +1009,10 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: generic fn @CallsWithExtraWhere(%U.loc4_24.2: %type) {
|
|
|
// CHECK:STDOUT: %U.loc4_24.1: %type = bind_symbolic_name U, 0 [symbolic = %U.loc4_24.1 (constants.%U)]
|
|
|
// CHECK:STDOUT: %U.as_type.loc4_60.1: type = facet_access_type %U.loc4_24.1 [symbolic = %U.as_type.loc4_60.1 (constants.%U.as_type)]
|
|
|
-// CHECK:STDOUT: %pattern_type: type = pattern_type %U.as_type.loc4_60.1 [symbolic = %pattern_type (constants.%pattern_type.772)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %U.as_type.loc4_60.1 [symbolic = %pattern_type (constants.%pattern_type.fa6)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %U.as_type.loc4_60.1 [symbolic = %require_complete (constants.%require_complete.5eb)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %U.as_type.loc4_60.1 [symbolic = %require_complete (constants.%require_complete.f46)]
|
|
|
// CHECK:STDOUT: %TakesTypeDeduced.specific_fn.loc5_3.2: <specific function> = specific_function constants.%TakesTypeDeduced, @TakesTypeDeduced(%U.as_type.loc4_60.1) [symbolic = %TakesTypeDeduced.specific_fn.loc5_3.2 (constants.%TakesTypeDeduced.specific_fn)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn(%y.param: @CallsWithExtraWhere.%U.as_type.loc4_60.1 (%U.as_type)) {
|
|
|
@@ -1063,15 +1063,15 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: specific @CallsWithExtraWhere(constants.%U) {
|
|
|
// CHECK:STDOUT: %U.loc4_24.1 => constants.%U
|
|
|
// CHECK:STDOUT: %U.as_type.loc4_60.1 => constants.%U.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.772
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.fa6
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @TakesTypeDeduced(constants.%U.as_type) {
|
|
|
// CHECK:STDOUT: %T.loc3_21.1 => constants.%U.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.772
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.fa6
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete => constants.%require_complete.5eb
|
|
|
+// CHECK:STDOUT: %require_complete => constants.%require_complete.f46
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @TakesTypeExplicit(constants.%T) {
|
|
|
@@ -1094,13 +1094,13 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self [symbolic_self]
|
|
|
// CHECK:STDOUT: %type: type = facet_type <type> [concrete]
|
|
|
// CHECK:STDOUT: %T: %type = bind_symbolic_name T, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.d06: type = pattern_type %type [concrete]
|
|
|
+// CHECK:STDOUT: %pattern_type.9a5: type = pattern_type %type [concrete]
|
|
|
// CHECK:STDOUT: %T.as_type: type = facet_access_type %T [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.772: type = pattern_type %T.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.fa6: type = pattern_type %T.as_type [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.5eb: <witness> = require_complete_type %T.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.f46: <witness> = require_complete_type %T.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %U: type = bind_symbolic_name U, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
|
|
// CHECK:STDOUT: %pattern_type.7dc: type = pattern_type %U [symbolic]
|
|
|
@@ -1133,9 +1133,9 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %Core.import = import Core
|
|
|
// CHECK:STDOUT: %TakesExtraWhereDeduced.decl: %TakesExtraWhereDeduced.type = fn_decl @TakesExtraWhereDeduced [concrete = constants.%TakesExtraWhereDeduced] {
|
|
|
-// CHECK:STDOUT: %T.patt: %pattern_type.d06 = symbolic_binding_pattern T, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %x.patt: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.772) = binding_pattern x [concrete]
|
|
|
-// CHECK:STDOUT: %x.param_patt: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.772) = value_param_pattern %x.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [concrete]
|
|
|
+// CHECK:STDOUT: %x.patt: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.fa6) = binding_pattern x [concrete]
|
|
|
+// CHECK:STDOUT: %x.param_patt: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.fa6) = value_param_pattern %x.patt, call_param0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %.loc3_36.1: type = splice_block %.loc3_36.2 [concrete = constants.%type] {
|
|
|
// CHECK:STDOUT: %.Self.1: type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
@@ -1167,7 +1167,7 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %y: @CallsWithType.%U.loc4_18.1 (%U) = bind_name y, %y.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %TakesExtraWhereExplicit.decl: %TakesExtraWhereExplicit.type = fn_decl @TakesExtraWhereExplicit [concrete = constants.%TakesExtraWhereExplicit] {
|
|
|
-// CHECK:STDOUT: %T.patt: %pattern_type.d06 = symbolic_binding_pattern T, 0 [concrete]
|
|
|
+// CHECK:STDOUT: %T.patt: %pattern_type.9a5 = symbolic_binding_pattern T, 0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %.loc8_37.1: type = splice_block %.loc8_37.2 [concrete = constants.%type] {
|
|
|
// CHECK:STDOUT: %.Self.1: type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
@@ -1191,10 +1191,10 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: generic fn @TakesExtraWhereDeduced(%T.loc3_27.2: %type) {
|
|
|
// CHECK:STDOUT: %T.loc3_27.1: %type = bind_symbolic_name T, 0 [symbolic = %T.loc3_27.1 (constants.%T)]
|
|
|
// CHECK:STDOUT: %T.as_type.loc3_63.1: type = facet_access_type %T.loc3_27.1 [symbolic = %T.as_type.loc3_63.1 (constants.%T.as_type)]
|
|
|
-// CHECK:STDOUT: %pattern_type: type = pattern_type %T.as_type.loc3_63.1 [symbolic = %pattern_type (constants.%pattern_type.772)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %T.as_type.loc3_63.1 [symbolic = %pattern_type (constants.%pattern_type.fa6)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %T.as_type.loc3_63.1 [symbolic = %require_complete (constants.%require_complete.5eb)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %T.as_type.loc3_63.1 [symbolic = %require_complete (constants.%require_complete.f46)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn(%x.param: @TakesExtraWhereDeduced.%T.as_type.loc3_63.1 (%T.as_type)) {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
@@ -1258,7 +1258,7 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: specific @TakesExtraWhereDeduced(constants.%T) {
|
|
|
// CHECK:STDOUT: %T.loc3_27.1 => constants.%T
|
|
|
// CHECK:STDOUT: %T.as_type.loc3_63.1 => constants.%T.as_type
|
|
|
-// CHECK:STDOUT: %pattern_type => constants.%pattern_type.772
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.fa6
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @CallsWithType(constants.%U) {
|