|
|
@@ -100,12 +100,12 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// 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.384: type = pattern_type %Eats.type [concrete]
|
|
|
-// CHECK:STDOUT: %T.as_type: type = facet_access_type %T [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.7fd: type = pattern_type %T.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %T.binding.as_type: type = symbolic_binding_type T, 0, %T [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.fae: type = pattern_type %T.binding.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.89b: <witness> = require_complete_type %T.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.de6: <witness> = require_complete_type %T.binding.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.8a6: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete]
|
|
|
@@ -119,13 +119,13 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// 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.3d0: type = pattern_type %facet_type [concrete]
|
|
|
-// CHECK:STDOUT: %U.as_type: type = facet_access_type %U [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.20f: type = pattern_type %U.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %U.binding.as_type: type = symbolic_binding_type U, 0, %U [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.4ae: type = pattern_type %U.binding.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %HandleAnimal.type: type = fn_type @HandleAnimal [concrete]
|
|
|
// CHECK:STDOUT: %HandleAnimal: %HandleAnimal.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.c20: <witness> = require_complete_type %U.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.787: <witness> = require_complete_type %U.binding.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: %Eats.facet: %Eats.type = facet_value %U.binding.as_type, (%Eats.lookup_impl_witness) [symbolic]
|
|
|
// CHECK:STDOUT: %Feed.specific_fn: <specific function> = specific_function %Feed, @Feed(%Eats.facet) [symbolic]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -153,26 +153,26 @@ fn CallsWithTypeExplicit(U:! 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.384 = symbolic_binding_pattern T, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %e.patt: @Feed.%pattern_type (%pattern_type.7fd) = binding_pattern e [concrete]
|
|
|
-// CHECK:STDOUT: %e.param_patt: @Feed.%pattern_type (%pattern_type.7fd) = value_param_pattern %e.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %e.patt: @Feed.%pattern_type (%pattern_type.fae) = binding_pattern e [concrete]
|
|
|
+// CHECK:STDOUT: %e.param_patt: @Feed.%pattern_type (%pattern_type.fae) = 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]
|
|
|
// CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %T.loc6_9.2: %Eats.type = bind_symbolic_name T, 0 [symbolic = %T.loc6_9.1 (constants.%T)]
|
|
|
-// CHECK:STDOUT: %e.param: @Feed.%T.as_type.loc6_22.1 (%T.as_type) = value_param call_param0
|
|
|
-// CHECK:STDOUT: %.loc6_22.1: type = splice_block %.loc6_22.2 [symbolic = %T.as_type.loc6_22.1 (constants.%T.as_type)] {
|
|
|
+// CHECK:STDOUT: %e.param: @Feed.%T.binding.as_type (%T.binding.as_type) = value_param call_param0
|
|
|
+// CHECK:STDOUT: %.loc6_22.1: type = splice_block %.loc6_22.2 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)] {
|
|
|
// CHECK:STDOUT: %T.ref: %Eats.type = name_ref T, %T.loc6_9.2 [symbolic = %T.loc6_9.1 (constants.%T)]
|
|
|
-// CHECK:STDOUT: %T.as_type.loc6_22.2: type = facet_access_type %T.ref [symbolic = %T.as_type.loc6_22.1 (constants.%T.as_type)]
|
|
|
-// CHECK:STDOUT: %.loc6_22.2: type = converted %T.ref, %T.as_type.loc6_22.2 [symbolic = %T.as_type.loc6_22.1 (constants.%T.as_type)]
|
|
|
+// CHECK:STDOUT: %T.as_type: type = facet_access_type %T.ref [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %.loc6_22.2: type = converted %T.ref, %T.as_type [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %e: @Feed.%T.as_type.loc6_22.1 (%T.as_type) = bind_name e, %e.param
|
|
|
+// CHECK:STDOUT: %e: @Feed.%T.binding.as_type (%T.binding.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.3d0 = symbolic_binding_pattern U, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %a.patt: @HandleAnimal.%pattern_type (%pattern_type.20f) = binding_pattern a [concrete]
|
|
|
-// CHECK:STDOUT: %a.param_patt: @HandleAnimal.%pattern_type (%pattern_type.20f) = value_param_pattern %a.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %a.patt: @HandleAnimal.%pattern_type (%pattern_type.4ae) = binding_pattern a [concrete]
|
|
|
+// CHECK:STDOUT: %a.param_patt: @HandleAnimal.%pattern_type (%pattern_type.4ae) = 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]
|
|
|
@@ -185,13 +185,13 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %.loc8_28.3: type = converted %type.as.BitAndWith.impl.Op.call, %.loc8_28.2 [concrete = constants.%facet_type]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %U.loc8_17.2: %facet_type = bind_symbolic_name U, 0 [symbolic = %U.loc8_17.1 (constants.%U)]
|
|
|
-// CHECK:STDOUT: %a.param: @HandleAnimal.%U.as_type.loc8_39.1 (%U.as_type) = value_param call_param0
|
|
|
-// CHECK:STDOUT: %.loc8_39.1: type = splice_block %.loc8_39.2 [symbolic = %U.as_type.loc8_39.1 (constants.%U.as_type)] {
|
|
|
+// CHECK:STDOUT: %a.param: @HandleAnimal.%U.binding.as_type (%U.binding.as_type) = value_param call_param0
|
|
|
+// CHECK:STDOUT: %.loc8_39.1: type = splice_block %.loc8_39.2 [symbolic = %U.binding.as_type (constants.%U.binding.as_type)] {
|
|
|
// CHECK:STDOUT: %U.ref: %facet_type = name_ref U, %U.loc8_17.2 [symbolic = %U.loc8_17.1 (constants.%U)]
|
|
|
-// CHECK:STDOUT: %U.as_type.loc8_39.2: type = facet_access_type %U.ref [symbolic = %U.as_type.loc8_39.1 (constants.%U.as_type)]
|
|
|
-// CHECK:STDOUT: %.loc8_39.2: type = converted %U.ref, %U.as_type.loc8_39.2 [symbolic = %U.as_type.loc8_39.1 (constants.%U.as_type)]
|
|
|
+// CHECK:STDOUT: %U.as_type: type = facet_access_type %U.ref [symbolic = %U.binding.as_type (constants.%U.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %.loc8_39.2: type = converted %U.ref, %U.as_type [symbolic = %U.binding.as_type (constants.%U.binding.as_type)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %a: @HandleAnimal.%U.as_type.loc8_39.1 (%U.as_type) = bind_name a, %a.param
|
|
|
+// CHECK:STDOUT: %a: @HandleAnimal.%U.binding.as_type (%U.binding.as_type) = bind_name a, %a.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -213,13 +213,13 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// 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.7fd)]
|
|
|
+// CHECK:STDOUT: %T.binding.as_type: type = symbolic_binding_type T, 0, %T.loc6_9.1 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %T.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.fae)]
|
|
|
// 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.89b)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %T.binding.as_type [symbolic = %require_complete (constants.%require_complete.de6)]
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: fn(%e.param: @Feed.%T.as_type.loc6_22.1 (%T.as_type)) {
|
|
|
+// CHECK:STDOUT: fn(%e.param: @Feed.%T.binding.as_type (%T.binding.as_type)) {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: return
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -227,23 +227,23 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// 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.20f)]
|
|
|
+// CHECK:STDOUT: %U.binding.as_type: type = symbolic_binding_type U, 0, %U.loc8_17.1 [symbolic = %U.binding.as_type (constants.%U.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %U.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.4ae)]
|
|
|
// 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.c20)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %U.binding.as_type [symbolic = %require_complete (constants.%require_complete.787)]
|
|
|
// 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: %Eats.facet.loc8_50.3: %Eats.type = facet_value %U.binding.as_type, (%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)]
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: fn(%a.param: @HandleAnimal.%U.as_type.loc8_39.1 (%U.as_type)) {
|
|
|
+// CHECK:STDOUT: fn(%a.param: @HandleAnimal.%U.binding.as_type (%U.binding.as_type)) {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: %Feed.ref: %Feed.type = name_ref Feed, file.%Feed.decl [concrete = constants.%Feed]
|
|
|
-// CHECK:STDOUT: %a.ref: @HandleAnimal.%U.as_type.loc8_39.1 (%U.as_type) = name_ref a, %a
|
|
|
-// CHECK:STDOUT: %Eats.facet.loc8_50.1: %Eats.type = facet_value constants.%U.as_type, (constants.%Eats.lookup_impl_witness) [symbolic = %Eats.facet.loc8_50.3 (constants.%Eats.facet)]
|
|
|
-// CHECK:STDOUT: %.loc8_50.1: %Eats.type = converted constants.%U.as_type, %Eats.facet.loc8_50.1 [symbolic = %Eats.facet.loc8_50.3 (constants.%Eats.facet)]
|
|
|
-// CHECK:STDOUT: %Eats.facet.loc8_50.2: %Eats.type = facet_value constants.%U.as_type, (constants.%Eats.lookup_impl_witness) [symbolic = %Eats.facet.loc8_50.3 (constants.%Eats.facet)]
|
|
|
-// CHECK:STDOUT: %.loc8_50.2: %Eats.type = converted constants.%U.as_type, %Eats.facet.loc8_50.2 [symbolic = %Eats.facet.loc8_50.3 (constants.%Eats.facet)]
|
|
|
+// CHECK:STDOUT: %a.ref: @HandleAnimal.%U.binding.as_type (%U.binding.as_type) = name_ref a, %a
|
|
|
+// CHECK:STDOUT: %Eats.facet.loc8_50.1: %Eats.type = facet_value constants.%U.binding.as_type, (constants.%Eats.lookup_impl_witness) [symbolic = %Eats.facet.loc8_50.3 (constants.%Eats.facet)]
|
|
|
+// CHECK:STDOUT: %.loc8_50.1: %Eats.type = converted constants.%U.binding.as_type, %Eats.facet.loc8_50.1 [symbolic = %Eats.facet.loc8_50.3 (constants.%Eats.facet)]
|
|
|
+// CHECK:STDOUT: %Eats.facet.loc8_50.2: %Eats.type = facet_value constants.%U.binding.as_type, (constants.%Eats.lookup_impl_witness) [symbolic = %Eats.facet.loc8_50.3 (constants.%Eats.facet)]
|
|
|
+// CHECK:STDOUT: %.loc8_50.2: %Eats.type = converted constants.%U.binding.as_type, %Eats.facet.loc8_50.2 [symbolic = %Eats.facet.loc8_50.3 (constants.%Eats.facet)]
|
|
|
// CHECK:STDOUT: %Feed.specific_fn.loc8_44.1: <specific function> = specific_function %Feed.ref, @Feed(constants.%Eats.facet) [symbolic = %Feed.specific_fn.loc8_44.2 (constants.%Feed.specific_fn)]
|
|
|
// CHECK:STDOUT: %Feed.call: init %empty_tuple.type = call %Feed.specific_fn.loc8_44.1(%a.ref)
|
|
|
// CHECK:STDOUT: return
|
|
|
@@ -252,23 +252,23 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// 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.7fd
|
|
|
+// CHECK:STDOUT: %T.binding.as_type => constants.%T.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.fae
|
|
|
// 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.20f
|
|
|
+// CHECK:STDOUT: %U.binding.as_type => constants.%U.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.4ae
|
|
|
// 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.20f
|
|
|
+// CHECK:STDOUT: %T.binding.as_type => constants.%U.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.4ae
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete => constants.%require_complete.c20
|
|
|
+// CHECK:STDOUT: %require_complete => constants.%require_complete.787
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: --- bigger.carbon
|
|
|
@@ -296,25 +296,25 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %facet_type.807: type = facet_type <@Eats & @Tame> [concrete]
|
|
|
// CHECK:STDOUT: %V: %facet_type.807 = bind_symbolic_name V, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %pattern_type.a92: type = pattern_type %facet_type.807 [concrete]
|
|
|
-// CHECK:STDOUT: %V.as_type: type = facet_access_type %V [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.256: type = pattern_type %V.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %V.binding.as_type: type = symbolic_binding_type V, 0, %V [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.113: type = pattern_type %V.binding.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %FeedTame.type: type = fn_type @FeedTame [concrete]
|
|
|
// CHECK:STDOUT: %FeedTame: %FeedTame.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.d3c: <witness> = require_complete_type %V.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.599: <witness> = require_complete_type %V.binding.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.6cd: <bound method> = bound_method %Eats.type, %type.as.BitAndWith.impl.Op [concrete]
|
|
|
// CHECK:STDOUT: %facet_type.075: type = facet_type <@Eats & @Animal> [concrete]
|
|
|
// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.db7: <bound method> = bound_method %facet_type.075, %type.as.BitAndWith.impl.Op [concrete]
|
|
|
// CHECK:STDOUT: %facet_type.57b: type = facet_type <@Eats & @Animal & @Tame> [concrete]
|
|
|
// CHECK:STDOUT: %W: %facet_type.57b = bind_symbolic_name W, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %pattern_type.c41: type = pattern_type %facet_type.57b [concrete]
|
|
|
-// CHECK:STDOUT: %W.as_type: type = facet_access_type %W [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.c91: type = pattern_type %W.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %W.binding.as_type: type = symbolic_binding_type W, 0, %W [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.f61: type = pattern_type %W.binding.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %HandleTameAnimal.type: type = fn_type @HandleTameAnimal [concrete]
|
|
|
// CHECK:STDOUT: %HandleTameAnimal: %HandleTameAnimal.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.466: <witness> = require_complete_type %W.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.a9a: <witness> = require_complete_type %W.binding.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.807 = facet_value %W.as_type, (%Eats.lookup_impl_witness, %Tame.lookup_impl_witness) [symbolic]
|
|
|
+// CHECK:STDOUT: %facet_value: %facet_type.807 = facet_value %W.binding.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:
|
|
|
@@ -344,8 +344,8 @@ fn CallsWithTypeExplicit(U:! 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.a92 = symbolic_binding_pattern V, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %v.patt: @FeedTame.%pattern_type (%pattern_type.256) = binding_pattern v [concrete]
|
|
|
-// CHECK:STDOUT: %v.param_patt: @FeedTame.%pattern_type (%pattern_type.256) = value_param_pattern %v.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %v.patt: @FeedTame.%pattern_type (%pattern_type.113) = binding_pattern v [concrete]
|
|
|
+// CHECK:STDOUT: %v.param_patt: @FeedTame.%pattern_type (%pattern_type.113) = 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.807] {
|
|
|
// CHECK:STDOUT: %.Self: %type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
@@ -358,18 +358,18 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %.loc7_22.3: type = converted %type.as.BitAndWith.impl.Op.call, %.loc7_22.2 [concrete = constants.%facet_type.807]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %V.loc7_13.2: %facet_type.807 = 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.param: @FeedTame.%V.binding.as_type (%V.binding.as_type) = value_param call_param0
|
|
|
+// CHECK:STDOUT: %.loc7_33.1: type = splice_block %.loc7_33.2 [symbolic = %V.binding.as_type (constants.%V.binding.as_type)] {
|
|
|
// CHECK:STDOUT: %V.ref: %facet_type.807 = 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: %V.as_type: type = facet_access_type %V.ref [symbolic = %V.binding.as_type (constants.%V.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %.loc7_33.2: type = converted %V.ref, %V.as_type [symbolic = %V.binding.as_type (constants.%V.binding.as_type)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %v: @FeedTame.%V.as_type.loc7_33.1 (%V.as_type) = bind_name v, %v.param
|
|
|
+// CHECK:STDOUT: %v: @FeedTame.%V.binding.as_type (%V.binding.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.c41 = symbolic_binding_pattern W, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %w.patt: @HandleTameAnimal.%pattern_type (%pattern_type.c91) = binding_pattern w [concrete]
|
|
|
-// CHECK:STDOUT: %w.param_patt: @HandleTameAnimal.%pattern_type (%pattern_type.c91) = value_param_pattern %w.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %w.patt: @HandleTameAnimal.%pattern_type (%pattern_type.f61) = binding_pattern w [concrete]
|
|
|
+// CHECK:STDOUT: %w.param_patt: @HandleTameAnimal.%pattern_type (%pattern_type.f61) = 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.57b] {
|
|
|
// CHECK:STDOUT: %.Self: %type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
@@ -388,13 +388,13 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %.loc9_39.3: type = converted %type.as.BitAndWith.impl.Op.call.loc9_39, %.loc9_39.2 [concrete = constants.%facet_type.57b]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %W.loc9_21.2: %facet_type.57b = 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.param: @HandleTameAnimal.%W.binding.as_type (%W.binding.as_type) = value_param call_param0
|
|
|
+// CHECK:STDOUT: %.loc9_50.1: type = splice_block %.loc9_50.2 [symbolic = %W.binding.as_type (constants.%W.binding.as_type)] {
|
|
|
// CHECK:STDOUT: %W.ref: %facet_type.57b = 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: %W.as_type: type = facet_access_type %W.ref [symbolic = %W.binding.as_type (constants.%W.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %.loc9_50.2: type = converted %W.ref, %W.as_type [symbolic = %W.binding.as_type (constants.%W.binding.as_type)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %w: @HandleTameAnimal.%W.as_type.loc9_50.1 (%W.as_type) = bind_name w, %w.param
|
|
|
+// CHECK:STDOUT: %w: @HandleTameAnimal.%W.binding.as_type (%W.binding.as_type) = bind_name w, %w.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -424,13 +424,13 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: generic fn @FeedTame(%V.loc7_13.2: %facet_type.807) {
|
|
|
// CHECK:STDOUT: %V.loc7_13.1: %facet_type.807 = 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.256)]
|
|
|
+// CHECK:STDOUT: %V.binding.as_type: type = symbolic_binding_type V, 0, %V.loc7_13.1 [symbolic = %V.binding.as_type (constants.%V.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %V.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.113)]
|
|
|
// 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.d3c)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %V.binding.as_type [symbolic = %require_complete (constants.%require_complete.599)]
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: fn(%v.param: @FeedTame.%V.as_type.loc7_33.1 (%V.as_type)) {
|
|
|
+// CHECK:STDOUT: fn(%v.param: @FeedTame.%V.binding.as_type (%V.binding.as_type)) {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: return
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -438,24 +438,24 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: generic fn @HandleTameAnimal(%W.loc9_21.2: %facet_type.57b) {
|
|
|
// CHECK:STDOUT: %W.loc9_21.1: %facet_type.57b = 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.c91)]
|
|
|
+// CHECK:STDOUT: %W.binding.as_type: type = symbolic_binding_type W, 0, %W.loc9_21.1 [symbolic = %W.binding.as_type (constants.%W.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %W.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.f61)]
|
|
|
// 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.466)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %W.binding.as_type [symbolic = %require_complete (constants.%require_complete.a9a)]
|
|
|
// 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.807 = 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.807 = facet_value %W.binding.as_type, (%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: fn(%w.param: @HandleTameAnimal.%W.binding.as_type (%W.binding.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.807 = 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.807 = 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.807 = 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.807 = converted constants.%W.as_type, %facet_value.loc10_13.2 [symbolic = %facet_value.loc10_13.3 (constants.%facet_value)]
|
|
|
+// CHECK:STDOUT: %w.ref: @HandleTameAnimal.%W.binding.as_type (%W.binding.as_type) = name_ref w, %w
|
|
|
+// CHECK:STDOUT: %facet_value.loc10_13.1: %facet_type.807 = facet_value constants.%W.binding.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.807 = converted constants.%W.binding.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.807 = facet_value constants.%W.binding.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.807 = converted constants.%W.binding.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
|
|
|
@@ -464,23 +464,23 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// 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.256
|
|
|
+// CHECK:STDOUT: %V.binding.as_type => constants.%V.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.113
|
|
|
// 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.c91
|
|
|
+// CHECK:STDOUT: %W.binding.as_type => constants.%W.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.f61
|
|
|
// 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.c91
|
|
|
+// CHECK:STDOUT: %V.binding.as_type => constants.%W.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.f61
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete => constants.%require_complete.466
|
|
|
+// CHECK:STDOUT: %require_complete => constants.%require_complete.a9a
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: --- with_blanket.carbon
|
|
|
@@ -496,8 +496,8 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// 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.3c3: type = pattern_type %Animal.type [concrete]
|
|
|
-// CHECK:STDOUT: %A.as_type: type = facet_access_type %A [symbolic]
|
|
|
-// CHECK:STDOUT: %Eats.impl_witness.6dc: <witness> = impl_witness file.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%A) [symbolic]
|
|
|
+// CHECK:STDOUT: %A.binding.as_type: type = symbolic_binding_type A, 0, %A [symbolic]
|
|
|
+// CHECK:STDOUT: %Eats.impl_witness.c78: <witness> = impl_witness file.%Eats.impl_witness_table, @A.binding.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]
|
|
|
@@ -512,26 +512,26 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %facet_type.807: type = facet_type <@Eats & @Tame> [concrete]
|
|
|
// CHECK:STDOUT: %V: %facet_type.807 = bind_symbolic_name V, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %pattern_type.a92: type = pattern_type %facet_type.807 [concrete]
|
|
|
-// CHECK:STDOUT: %V.as_type: type = facet_access_type %V [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.256: type = pattern_type %V.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %V.binding.as_type: type = symbolic_binding_type V, 0, %V [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.113: type = pattern_type %V.binding.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %FeedTame2.type: type = fn_type @FeedTame2 [concrete]
|
|
|
// CHECK:STDOUT: %FeedTame2: %FeedTame2.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.d3c: <witness> = require_complete_type %V.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.599: <witness> = require_complete_type %V.binding.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.ec1: <bound method> = bound_method %Animal.type, %type.as.BitAndWith.impl.Op [concrete]
|
|
|
// CHECK:STDOUT: %facet_type.709: type = facet_type <@Animal & @Tame> [concrete]
|
|
|
// CHECK:STDOUT: %W: %facet_type.709 = bind_symbolic_name W, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %pattern_type.b9c: type = pattern_type %facet_type.709 [concrete]
|
|
|
-// CHECK:STDOUT: %W.as_type: type = facet_access_type %W [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.5ac: type = pattern_type %W.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %W.binding.as_type: type = symbolic_binding_type W, 0, %W [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.072: type = pattern_type %W.binding.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %HandleTameAnimal2.type: type = fn_type @HandleTameAnimal2 [concrete]
|
|
|
// CHECK:STDOUT: %HandleTameAnimal2: %HandleTameAnimal2.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.b2d: <witness> = require_complete_type %W.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.ea5: <witness> = require_complete_type %W.binding.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.7f1: <witness> = impl_witness file.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%Animal.facet) [symbolic]
|
|
|
+// CHECK:STDOUT: %Animal.facet: %Animal.type = facet_value %W.binding.as_type, (%Animal.lookup_impl_witness) [symbolic]
|
|
|
+// CHECK:STDOUT: %Eats.impl_witness.cd9: <witness> = impl_witness file.%Eats.impl_witness_table, @A.binding.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.807 = facet_value %W.as_type, (%Eats.lookup_impl_witness, %Tame.lookup_impl_witness) [symbolic]
|
|
|
+// CHECK:STDOUT: %facet_value: %facet_type.807 = facet_value %W.binding.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:
|
|
|
@@ -559,12 +559,12 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %Eats.decl: type = interface_decl @Eats [concrete = constants.%Eats.type] {} {}
|
|
|
// CHECK:STDOUT: %Animal.decl: type = interface_decl @Animal [concrete = constants.%Animal.type] {} {}
|
|
|
// CHECK:STDOUT: %Tame.decl: type = interface_decl @Tame [concrete = constants.%Tame.type] {} {}
|
|
|
-// CHECK:STDOUT: impl_decl @A.as_type.as.Eats.impl [concrete] {
|
|
|
+// CHECK:STDOUT: impl_decl @A.binding.as_type.as.Eats.impl [concrete] {
|
|
|
// CHECK:STDOUT: %A.patt: %pattern_type.3c3 = 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)]
|
|
|
-// CHECK:STDOUT: %.loc7_26: type = converted %A.ref, %A.as_type.loc7_26.1 [symbolic = %A.as_type.loc7_26.2 (constants.%A.as_type)]
|
|
|
+// CHECK:STDOUT: %A.as_type: type = facet_access_type %A.ref [symbolic = %A.binding.as_type (constants.%A.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %.loc7_26: type = converted %A.ref, %A.as_type [symbolic = %A.binding.as_type (constants.%A.binding.as_type)]
|
|
|
// CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type]
|
|
|
// CHECK:STDOUT: %.loc7_18: type = splice_block %Animal.ref [concrete = constants.%Animal.type] {
|
|
|
// CHECK:STDOUT: %.Self: %type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
@@ -572,12 +572,12 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// 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.6dc)]
|
|
|
+// CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @A.binding.as_type.as.Eats.impl [concrete]
|
|
|
+// CHECK:STDOUT: %Eats.impl_witness: <witness> = impl_witness %Eats.impl_witness_table, @A.binding.as_type.as.Eats.impl(constants.%A) [symbolic = @A.binding.as_type.as.Eats.impl.%Eats.impl_witness (constants.%Eats.impl_witness.c78)]
|
|
|
// CHECK:STDOUT: %FeedTame2.decl: %FeedTame2.type = fn_decl @FeedTame2 [concrete = constants.%FeedTame2] {
|
|
|
// CHECK:STDOUT: %V.patt: %pattern_type.a92 = symbolic_binding_pattern V, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %v.patt: @FeedTame2.%pattern_type (%pattern_type.256) = binding_pattern v [concrete]
|
|
|
-// CHECK:STDOUT: %v.param_patt: @FeedTame2.%pattern_type (%pattern_type.256) = value_param_pattern %v.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %v.patt: @FeedTame2.%pattern_type (%pattern_type.113) = binding_pattern v [concrete]
|
|
|
+// CHECK:STDOUT: %v.param_patt: @FeedTame2.%pattern_type (%pattern_type.113) = 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.807] {
|
|
|
// CHECK:STDOUT: %.Self: %type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
@@ -590,18 +590,18 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %.loc9_23.3: type = converted %type.as.BitAndWith.impl.Op.call, %.loc9_23.2 [concrete = constants.%facet_type.807]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %V.loc9_14.2: %facet_type.807 = 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.param: @FeedTame2.%V.binding.as_type (%V.binding.as_type) = value_param call_param0
|
|
|
+// CHECK:STDOUT: %.loc9_34.1: type = splice_block %.loc9_34.2 [symbolic = %V.binding.as_type (constants.%V.binding.as_type)] {
|
|
|
// CHECK:STDOUT: %V.ref: %facet_type.807 = 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: %V.as_type: type = facet_access_type %V.ref [symbolic = %V.binding.as_type (constants.%V.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %.loc9_34.2: type = converted %V.ref, %V.as_type [symbolic = %V.binding.as_type (constants.%V.binding.as_type)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %v: @FeedTame2.%V.as_type.loc9_34.1 (%V.as_type) = bind_name v, %v.param
|
|
|
+// CHECK:STDOUT: %v: @FeedTame2.%V.binding.as_type (%V.binding.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.b9c = symbolic_binding_pattern W, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %w.patt: @HandleTameAnimal2.%pattern_type (%pattern_type.5ac) = binding_pattern w [concrete]
|
|
|
-// CHECK:STDOUT: %w.param_patt: @HandleTameAnimal2.%pattern_type (%pattern_type.5ac) = value_param_pattern %w.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %w.patt: @HandleTameAnimal2.%pattern_type (%pattern_type.072) = binding_pattern w [concrete]
|
|
|
+// CHECK:STDOUT: %w.param_patt: @HandleTameAnimal2.%pattern_type (%pattern_type.072) = 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.709] {
|
|
|
// CHECK:STDOUT: %.Self: %type = bind_symbolic_name .Self [symbolic_self = constants.%.Self]
|
|
|
@@ -614,13 +614,13 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %.loc11_33.3: type = converted %type.as.BitAndWith.impl.Op.call, %.loc11_33.2 [concrete = constants.%facet_type.709]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %W.loc11_22.2: %facet_type.709 = 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.param: @HandleTameAnimal2.%W.binding.as_type (%W.binding.as_type) = value_param call_param0
|
|
|
+// CHECK:STDOUT: %.loc11_44.1: type = splice_block %.loc11_44.2 [symbolic = %W.binding.as_type (constants.%W.binding.as_type)] {
|
|
|
// CHECK:STDOUT: %W.ref: %facet_type.709 = 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: %W.as_type: type = facet_access_type %W.ref [symbolic = %W.binding.as_type (constants.%W.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %.loc11_44.2: type = converted %W.ref, %W.as_type [symbolic = %W.binding.as_type (constants.%W.binding.as_type)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %w: @HandleTameAnimal2.%W.as_type.loc11_44.1 (%W.as_type) = bind_name w, %w.param
|
|
|
+// CHECK:STDOUT: %w: @HandleTameAnimal2.%W.binding.as_type (%W.binding.as_type) = bind_name w, %w.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -648,10 +648,10 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: witness = ()
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: generic impl @A.as_type.as.Eats.impl(%A.loc7_14.1: %Animal.type) {
|
|
|
+// CHECK:STDOUT: generic impl @A.binding.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.6dc)]
|
|
|
+// CHECK:STDOUT: %A.binding.as_type: type = symbolic_binding_type A, 0, %A.loc7_14.2 [symbolic = %A.binding.as_type (constants.%A.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %Eats.impl_witness: <witness> = impl_witness file.%Eats.impl_witness_table, @A.binding.as_type.as.Eats.impl(%A.loc7_14.2) [symbolic = %Eats.impl_witness (constants.%Eats.impl_witness.c78)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -663,13 +663,13 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: generic fn @FeedTame2(%V.loc9_14.2: %facet_type.807) {
|
|
|
// CHECK:STDOUT: %V.loc9_14.1: %facet_type.807 = 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.256)]
|
|
|
+// CHECK:STDOUT: %V.binding.as_type: type = symbolic_binding_type V, 0, %V.loc9_14.1 [symbolic = %V.binding.as_type (constants.%V.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %V.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.113)]
|
|
|
// 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.d3c)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %V.binding.as_type [symbolic = %require_complete (constants.%require_complete.599)]
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: fn(%v.param: @FeedTame2.%V.as_type.loc9_34.1 (%V.as_type)) {
|
|
|
+// CHECK:STDOUT: fn(%v.param: @FeedTame2.%V.binding.as_type (%V.binding.as_type)) {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: return
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -677,71 +677,71 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: generic fn @HandleTameAnimal2(%W.loc11_22.2: %facet_type.709) {
|
|
|
// CHECK:STDOUT: %W.loc11_22.1: %facet_type.709 = 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.5ac)]
|
|
|
+// CHECK:STDOUT: %W.binding.as_type: type = symbolic_binding_type W, 0, %W.loc11_22.1 [symbolic = %W.binding.as_type (constants.%W.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %W.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.072)]
|
|
|
// 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.b2d)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %W.binding.as_type [symbolic = %require_complete (constants.%require_complete.ea5)]
|
|
|
// 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: %Animal.facet.loc12_14.3: %Animal.type = facet_value %W.binding.as_type, (%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.807 = 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.807 = facet_value %W.binding.as_type, (%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)) {
|
|
|
+// CHECK:STDOUT: fn(%w.param: @HandleTameAnimal2.%W.binding.as_type (%W.binding.as_type)) {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: %FeedTame2.ref: %FeedTame2.type = name_ref FeedTame2, file.%FeedTame2.decl [concrete = constants.%FeedTame2]
|
|
|
-// CHECK:STDOUT: %w.ref: @HandleTameAnimal2.%W.as_type.loc11_44.1 (%W.as_type) = name_ref w, %w
|
|
|
-// CHECK:STDOUT: %W.as_type.loc12_14.1: type = facet_access_type constants.%W [symbolic = %W.as_type.loc11_44.1 (constants.%W.as_type)]
|
|
|
-// CHECK:STDOUT: %Animal.facet.loc12_14.1: %Animal.type = facet_value %W.as_type.loc12_14.1, (constants.%Animal.lookup_impl_witness) [symbolic = %Animal.facet.loc12_14.3 (constants.%Animal.facet)]
|
|
|
+// CHECK:STDOUT: %w.ref: @HandleTameAnimal2.%W.binding.as_type (%W.binding.as_type) = name_ref w, %w
|
|
|
+// CHECK:STDOUT: %as_type.loc12_14.1: type = facet_access_type constants.%W [symbolic = %W.binding.as_type (constants.%W.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %Animal.facet.loc12_14.1: %Animal.type = facet_value %as_type.loc12_14.1, (constants.%Animal.lookup_impl_witness) [symbolic = %Animal.facet.loc12_14.3 (constants.%Animal.facet)]
|
|
|
// CHECK:STDOUT: %.loc12_14.1: %Animal.type = converted constants.%W, %Animal.facet.loc12_14.1 [symbolic = %Animal.facet.loc12_14.3 (constants.%Animal.facet)]
|
|
|
-// CHECK:STDOUT: %facet_value.loc12_14.1: %facet_type.807 = 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.2: %facet_type.807 = 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: %Animal.facet.loc12_14.2: %Animal.type = facet_value %W.as_type.loc12_14.2, (constants.%Animal.lookup_impl_witness) [symbolic = %Animal.facet.loc12_14.3 (constants.%Animal.facet)]
|
|
|
+// CHECK:STDOUT: %facet_value.loc12_14.1: %facet_type.807 = facet_value constants.%W.binding.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.2: %facet_type.807 = converted constants.%W.binding.as_type, %facet_value.loc12_14.1 [symbolic = %facet_value.loc12_14.3 (constants.%facet_value)]
|
|
|
+// CHECK:STDOUT: %as_type.loc12_14.2: type = facet_access_type constants.%W [symbolic = %W.binding.as_type (constants.%W.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %Animal.facet.loc12_14.2: %Animal.type = facet_value %as_type.loc12_14.2, (constants.%Animal.lookup_impl_witness) [symbolic = %Animal.facet.loc12_14.3 (constants.%Animal.facet)]
|
|
|
// CHECK:STDOUT: %.loc12_14.3: %Animal.type = converted constants.%W, %Animal.facet.loc12_14.2 [symbolic = %Animal.facet.loc12_14.3 (constants.%Animal.facet)]
|
|
|
-// CHECK:STDOUT: %facet_value.loc12_14.2: %facet_type.807 = 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.4: %facet_type.807 = 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.807 = facet_value constants.%W.binding.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.4: %facet_type.807 = converted constants.%W.binding.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
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: specific @A.as_type.as.Eats.impl(constants.%A) {
|
|
|
+// CHECK:STDOUT: specific @A.binding.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.6dc
|
|
|
+// CHECK:STDOUT: %A.binding.as_type => constants.%A.binding.as_type
|
|
|
+// CHECK:STDOUT: %Eats.impl_witness => constants.%Eats.impl_witness.c78
|
|
|
// 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.256
|
|
|
+// CHECK:STDOUT: %V.binding.as_type => constants.%V.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.113
|
|
|
// 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.5ac
|
|
|
+// CHECK:STDOUT: %W.binding.as_type => constants.%W.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.072
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: specific @A.as_type.as.Eats.impl(constants.%Animal.facet) {
|
|
|
+// CHECK:STDOUT: specific @A.binding.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.7f1
|
|
|
+// CHECK:STDOUT: %A.binding.as_type => constants.%W.binding.as_type
|
|
|
+// CHECK:STDOUT: %Eats.impl_witness => constants.%Eats.impl_witness.cd9
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// 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.5ac
|
|
|
+// CHECK:STDOUT: %V.binding.as_type => constants.%W.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.072
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete => constants.%require_complete.b2d
|
|
|
+// CHECK:STDOUT: %require_complete => constants.%require_complete.ea5
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: --- equivalent.carbon
|
|
|
@@ -753,20 +753,20 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %.Self.659: %type = bind_symbolic_name .Self [symbolic_self]
|
|
|
// CHECK:STDOUT: %T: %A.type = bind_symbolic_name T, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %pattern_type.3d9: type = pattern_type %A.type [concrete]
|
|
|
-// CHECK:STDOUT: %T.as_type: type = facet_access_type %T [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.f23f71.1: type = pattern_type %T.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %T.binding.as_type: type = symbolic_binding_type T, 0, %T [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.c8b0d2.1: type = pattern_type %T.binding.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.35e863.1: <witness> = require_complete_type %T.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.29533e.1: <witness> = require_complete_type %T.binding.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %.Self.56d: %A.type = bind_symbolic_name .Self [symbolic_self]
|
|
|
-// CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.56d [symbolic_self]
|
|
|
+// CHECK:STDOUT: %.Self.binding.as_type: type = symbolic_binding_type .Self, %.Self.56d [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.f23f71.2: type = pattern_type %U.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %U.binding.as_type: type = symbolic_binding_type U, 0, %U [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.c8b0d2.2: type = pattern_type %U.binding.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %WithExtraWhere.type: type = fn_type @WithExtraWhere [concrete]
|
|
|
// CHECK:STDOUT: %WithExtraWhere: %WithExtraWhere.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.35e863.2: <witness> = require_complete_type %U.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.29533e.2: <witness> = require_complete_type %U.binding.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %TakesA.specific_fn: <specific function> = specific_function %TakesA, @TakesA(%U) [symbolic]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -788,47 +788,47 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// 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.3d9 = symbolic_binding_pattern T, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %x.patt: @TakesA.%pattern_type (%pattern_type.f23f71.1) = binding_pattern x [concrete]
|
|
|
-// CHECK:STDOUT: %x.param_patt: @TakesA.%pattern_type (%pattern_type.f23f71.1) = value_param_pattern %x.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %x.patt: @TakesA.%pattern_type (%pattern_type.c8b0d2.1) = binding_pattern x [concrete]
|
|
|
+// CHECK:STDOUT: %x.param_patt: @TakesA.%pattern_type (%pattern_type.c8b0d2.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.659]
|
|
|
// CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %T.loc7_11.2: %A.type = bind_symbolic_name T, 0 [symbolic = %T.loc7_11.1 (constants.%T)]
|
|
|
-// CHECK:STDOUT: %x.param: @TakesA.%T.as_type.loc7_21.1 (%T.as_type) = value_param call_param0
|
|
|
-// CHECK:STDOUT: %.loc7_21.1: type = splice_block %.loc7_21.2 [symbolic = %T.as_type.loc7_21.1 (constants.%T.as_type)] {
|
|
|
+// CHECK:STDOUT: %x.param: @TakesA.%T.binding.as_type (%T.binding.as_type) = value_param call_param0
|
|
|
+// CHECK:STDOUT: %.loc7_21.1: type = splice_block %.loc7_21.2 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)] {
|
|
|
// CHECK:STDOUT: %T.ref: %A.type = name_ref T, %T.loc7_11.2 [symbolic = %T.loc7_11.1 (constants.%T)]
|
|
|
-// CHECK:STDOUT: %T.as_type.loc7_21.2: type = facet_access_type %T.ref [symbolic = %T.as_type.loc7_21.1 (constants.%T.as_type)]
|
|
|
-// CHECK:STDOUT: %.loc7_21.2: type = converted %T.ref, %T.as_type.loc7_21.2 [symbolic = %T.as_type.loc7_21.1 (constants.%T.as_type)]
|
|
|
+// CHECK:STDOUT: %T.as_type: type = facet_access_type %T.ref [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %.loc7_21.2: type = converted %T.ref, %T.as_type [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %x: @TakesA.%T.as_type.loc7_21.1 (%T.as_type) = bind_name x, %x.param
|
|
|
+// CHECK:STDOUT: %x: @TakesA.%T.binding.as_type (%T.binding.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.3d9 = symbolic_binding_pattern U, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %y.patt: @WithExtraWhere.%pattern_type (%pattern_type.f23f71.2) = binding_pattern y [concrete]
|
|
|
-// CHECK:STDOUT: %y.param_patt: @WithExtraWhere.%pattern_type (%pattern_type.f23f71.2) = value_param_pattern %y.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %y.patt: @WithExtraWhere.%pattern_type (%pattern_type.c8b0d2.2) = binding_pattern y [concrete]
|
|
|
+// CHECK:STDOUT: %y.param_patt: @WithExtraWhere.%pattern_type (%pattern_type.c8b0d2.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.659]
|
|
|
// 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.56d]
|
|
|
// CHECK:STDOUT: %.Self.ref: %A.type = name_ref .Self, %.Self.2 [symbolic_self = constants.%.Self.56d]
|
|
|
-// 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: %.Self.as_type: type = facet_access_type %.Self.ref [symbolic_self = constants.%.Self.binding.as_type]
|
|
|
+// CHECK:STDOUT: %.loc9_31: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.binding.as_type]
|
|
|
// CHECK:STDOUT: %.loc9_25.2: type = where_expr %.Self.2 [concrete = constants.%A.type] {
|
|
|
// CHECK:STDOUT: requirement_base_facet_type constants.%A.type
|
|
|
// CHECK:STDOUT: requirement_impls %.loc9_31, type
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %U.loc9_19.2: %A.type = bind_symbolic_name U, 0 [symbolic = %U.loc9_19.1 (constants.%U)]
|
|
|
-// CHECK:STDOUT: %y.param: @WithExtraWhere.%U.as_type.loc9_52.1 (%U.as_type) = value_param call_param0
|
|
|
-// CHECK:STDOUT: %.loc9_52.1: type = splice_block %.loc9_52.2 [symbolic = %U.as_type.loc9_52.1 (constants.%U.as_type)] {
|
|
|
+// CHECK:STDOUT: %y.param: @WithExtraWhere.%U.binding.as_type (%U.binding.as_type) = value_param call_param0
|
|
|
+// CHECK:STDOUT: %.loc9_52.1: type = splice_block %.loc9_52.2 [symbolic = %U.binding.as_type (constants.%U.binding.as_type)] {
|
|
|
// CHECK:STDOUT: %U.ref: %A.type = name_ref U, %U.loc9_19.2 [symbolic = %U.loc9_19.1 (constants.%U)]
|
|
|
-// CHECK:STDOUT: %U.as_type.loc9_52.2: type = facet_access_type %U.ref [symbolic = %U.as_type.loc9_52.1 (constants.%U.as_type)]
|
|
|
-// CHECK:STDOUT: %.loc9_52.2: type = converted %U.ref, %U.as_type.loc9_52.2 [symbolic = %U.as_type.loc9_52.1 (constants.%U.as_type)]
|
|
|
+// CHECK:STDOUT: %U.as_type: type = facet_access_type %U.ref [symbolic = %U.binding.as_type (constants.%U.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %.loc9_52.2: type = converted %U.ref, %U.as_type [symbolic = %U.binding.as_type (constants.%U.binding.as_type)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %y: @WithExtraWhere.%U.as_type.loc9_52.1 (%U.as_type) = bind_name y, %y.param
|
|
|
+// CHECK:STDOUT: %y: @WithExtraWhere.%U.binding.as_type (%U.binding.as_type) = bind_name y, %y.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -842,13 +842,13 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// 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.f23f71.1)]
|
|
|
+// CHECK:STDOUT: %T.binding.as_type: type = symbolic_binding_type T, 0, %T.loc7_11.1 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %T.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.c8b0d2.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.35e863.1)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %T.binding.as_type [symbolic = %require_complete (constants.%require_complete.29533e.1)]
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: fn(%x.param: @TakesA.%T.as_type.loc7_21.1 (%T.as_type)) {
|
|
|
+// CHECK:STDOUT: fn(%x.param: @TakesA.%T.binding.as_type (%T.binding.as_type)) {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: return
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -856,19 +856,19 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// 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.f23f71.2)]
|
|
|
+// CHECK:STDOUT: %U.binding.as_type: type = symbolic_binding_type U, 0, %U.loc9_19.1 [symbolic = %U.binding.as_type (constants.%U.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %U.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.c8b0d2.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.35e863.2)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %U.binding.as_type [symbolic = %require_complete (constants.%require_complete.29533e.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)) {
|
|
|
+// CHECK:STDOUT: fn(%y.param: @WithExtraWhere.%U.binding.as_type (%U.binding.as_type)) {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: %TakesA.ref: %TakesA.type = name_ref TakesA, file.%TakesA.decl [concrete = constants.%TakesA]
|
|
|
-// CHECK:STDOUT: %y.ref: @WithExtraWhere.%U.as_type.loc9_52.1 (%U.as_type) = name_ref y, %y
|
|
|
-// CHECK:STDOUT: %.loc10_11.1: %A.type = converted constants.%U.as_type, constants.%U [symbolic = %U.loc9_19.1 (constants.%U)]
|
|
|
-// CHECK:STDOUT: %.loc10_11.2: %A.type = converted constants.%U.as_type, constants.%U [symbolic = %U.loc9_19.1 (constants.%U)]
|
|
|
+// CHECK:STDOUT: %y.ref: @WithExtraWhere.%U.binding.as_type (%U.binding.as_type) = name_ref y, %y
|
|
|
+// CHECK:STDOUT: %.loc10_11.1: %A.type = converted constants.%U.binding.as_type, constants.%U [symbolic = %U.loc9_19.1 (constants.%U)]
|
|
|
+// CHECK:STDOUT: %.loc10_11.2: %A.type = converted constants.%U.binding.as_type, constants.%U [symbolic = %U.loc9_19.1 (constants.%U)]
|
|
|
// CHECK:STDOUT: %TakesA.specific_fn.loc10_3.1: <specific function> = specific_function %TakesA.ref, @TakesA(constants.%U) [symbolic = %TakesA.specific_fn.loc10_3.2 (constants.%TakesA.specific_fn)]
|
|
|
// CHECK:STDOUT: %TakesA.call: init %empty_tuple.type = call %TakesA.specific_fn.loc10_3.1(%y.ref)
|
|
|
// CHECK:STDOUT: return
|
|
|
@@ -877,23 +877,23 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// 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.f23f71.1
|
|
|
+// CHECK:STDOUT: %T.binding.as_type => constants.%T.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.c8b0d2.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.f23f71.2
|
|
|
+// CHECK:STDOUT: %U.binding.as_type => constants.%U.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.c8b0d2.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.f23f71.2
|
|
|
+// CHECK:STDOUT: %T.binding.as_type => constants.%U.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.c8b0d2.2
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete => constants.%require_complete.35e863.2
|
|
|
+// CHECK:STDOUT: %require_complete => constants.%require_complete.29533e.2
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: --- no_interfaces_success.carbon
|
|
|
@@ -911,17 +911,17 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %.Self.644: type = bind_symbolic_name .Self [symbolic_self]
|
|
|
// CHECK:STDOUT: %U: %type = bind_symbolic_name U, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %pattern_type.e25: type = pattern_type %type [concrete]
|
|
|
-// CHECK:STDOUT: %U.as_type: type = facet_access_type %U [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.9b8: type = pattern_type %U.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %U.binding.as_type: type = symbolic_binding_type U, 0, %U [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.bf1: type = pattern_type %U.binding.as_type [symbolic]
|
|
|
// CHECK:STDOUT: %CallsWithExtraWhere.type: type = fn_type @CallsWithExtraWhere [concrete]
|
|
|
// CHECK:STDOUT: %CallsWithExtraWhere: %CallsWithExtraWhere.type = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %require_complete.e59: <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: %require_complete.4cc: <witness> = require_complete_type %U.binding.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %TakesTypeDeduced.specific_fn: <specific function> = specific_function %TakesTypeDeduced, @TakesTypeDeduced(%U.binding.as_type) [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> = specific_function %TakesTypeExplicit, @TakesTypeExplicit(%U.as_type) [symbolic]
|
|
|
+// CHECK:STDOUT: %TakesTypeExplicit.specific_fn: <specific function> = specific_function %TakesTypeExplicit, @TakesTypeExplicit(%U.binding.as_type) [symbolic]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: imports {
|
|
|
@@ -953,8 +953,8 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %CallsWithExtraWhere.decl: %CallsWithExtraWhere.type = fn_decl @CallsWithExtraWhere [concrete = constants.%CallsWithExtraWhere] {
|
|
|
// CHECK:STDOUT: %U.patt: %pattern_type.e25 = symbolic_binding_pattern U, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %y.patt: @CallsWithExtraWhere.%pattern_type (%pattern_type.9b8) = binding_pattern y [concrete]
|
|
|
-// CHECK:STDOUT: %y.param_patt: @CallsWithExtraWhere.%pattern_type (%pattern_type.9b8) = value_param_pattern %y.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %y.patt: @CallsWithExtraWhere.%pattern_type (%pattern_type.bf1) = binding_pattern y [concrete]
|
|
|
+// CHECK:STDOUT: %y.param_patt: @CallsWithExtraWhere.%pattern_type (%pattern_type.bf1) = 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.659]
|
|
|
@@ -966,13 +966,13 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %U.loc4_24.2: %type = bind_symbolic_name U, 0 [symbolic = %U.loc4_24.1 (constants.%U)]
|
|
|
-// CHECK:STDOUT: %y.param: @CallsWithExtraWhere.%U.as_type.loc4_60.1 (%U.as_type) = value_param call_param0
|
|
|
-// CHECK:STDOUT: %.loc4_60.1: type = splice_block %.loc4_60.2 [symbolic = %U.as_type.loc4_60.1 (constants.%U.as_type)] {
|
|
|
+// CHECK:STDOUT: %y.param: @CallsWithExtraWhere.%U.binding.as_type (%U.binding.as_type) = value_param call_param0
|
|
|
+// CHECK:STDOUT: %.loc4_60.1: type = splice_block %.loc4_60.2 [symbolic = %U.binding.as_type (constants.%U.binding.as_type)] {
|
|
|
// CHECK:STDOUT: %U.ref: %type = name_ref U, %U.loc4_24.2 [symbolic = %U.loc4_24.1 (constants.%U)]
|
|
|
-// CHECK:STDOUT: %U.as_type.loc4_60.2: type = facet_access_type %U.ref [symbolic = %U.as_type.loc4_60.1 (constants.%U.as_type)]
|
|
|
-// CHECK:STDOUT: %.loc4_60.2: type = converted %U.ref, %U.as_type.loc4_60.2 [symbolic = %U.as_type.loc4_60.1 (constants.%U.as_type)]
|
|
|
+// CHECK:STDOUT: %U.as_type: type = facet_access_type %U.ref [symbolic = %U.binding.as_type (constants.%U.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %.loc4_60.2: type = converted %U.ref, %U.as_type [symbolic = %U.binding.as_type (constants.%U.binding.as_type)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %y: @CallsWithExtraWhere.%U.as_type.loc4_60.1 (%U.as_type) = bind_name y, %y.param
|
|
|
+// CHECK:STDOUT: %y: @CallsWithExtraWhere.%U.binding.as_type (%U.binding.as_type) = bind_name y, %y.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %TakesTypeExplicit.decl: %TakesTypeExplicit.type = fn_decl @TakesTypeExplicit [concrete = constants.%TakesTypeExplicit] {
|
|
|
// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete]
|
|
|
@@ -1011,18 +1011,18 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// 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.9b8)]
|
|
|
+// CHECK:STDOUT: %U.binding.as_type: type = symbolic_binding_type U, 0, %U.loc4_24.1 [symbolic = %U.binding.as_type (constants.%U.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %U.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.bf1)]
|
|
|
// 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.e59)]
|
|
|
-// 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: %require_complete: <witness> = require_complete_type %U.binding.as_type [symbolic = %require_complete (constants.%require_complete.4cc)]
|
|
|
+// CHECK:STDOUT: %TakesTypeDeduced.specific_fn.loc5_3.2: <specific function> = specific_function constants.%TakesTypeDeduced, @TakesTypeDeduced(%U.binding.as_type) [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)) {
|
|
|
+// CHECK:STDOUT: fn(%y.param: @CallsWithExtraWhere.%U.binding.as_type (%U.binding.as_type)) {
|
|
|
// 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_60.1 (%U.as_type) = name_ref y, %y
|
|
|
-// CHECK:STDOUT: %TakesTypeDeduced.specific_fn.loc5_3.1: <specific function> = 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.binding.as_type (%U.binding.as_type) = name_ref y, %y
|
|
|
+// CHECK:STDOUT: %TakesTypeDeduced.specific_fn.loc5_3.1: <specific function> = specific_function %TakesTypeDeduced.ref, @TakesTypeDeduced(constants.%U.binding.as_type) [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: }
|
|
|
@@ -1043,16 +1043,16 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %U.loc9_32.1: %type = bind_symbolic_name U, 0 [symbolic = %U.loc9_32.1 (constants.%U)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %U.as_type.loc10_22.2: type = facet_access_type %U.loc9_32.1 [symbolic = %U.as_type.loc10_22.2 (constants.%U.as_type)]
|
|
|
-// CHECK:STDOUT: %TakesTypeExplicit.specific_fn.loc10_3.2: <specific function> = specific_function constants.%TakesTypeExplicit, @TakesTypeExplicit(%U.as_type.loc10_22.2) [symbolic = %TakesTypeExplicit.specific_fn.loc10_3.2 (constants.%TakesTypeExplicit.specific_fn)]
|
|
|
+// CHECK:STDOUT: %U.binding.as_type: type = symbolic_binding_type U, 0, %U.loc9_32.1 [symbolic = %U.binding.as_type (constants.%U.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %TakesTypeExplicit.specific_fn.loc10_3.2: <specific function> = specific_function constants.%TakesTypeExplicit, @TakesTypeExplicit(%U.binding.as_type) [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_32.2 [symbolic = %U.loc9_32.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> = specific_function %TakesTypeExplicit.ref, @TakesTypeExplicit(constants.%U.as_type) [symbolic = %TakesTypeExplicit.specific_fn.loc10_3.2 (constants.%TakesTypeExplicit.specific_fn)]
|
|
|
+// CHECK:STDOUT: %U.as_type: type = facet_access_type %U.ref [symbolic = %U.binding.as_type (constants.%U.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %.loc10: type = converted %U.ref, %U.as_type [symbolic = %U.binding.as_type (constants.%U.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %TakesTypeExplicit.specific_fn.loc10_3.1: <specific function> = specific_function %TakesTypeExplicit.ref, @TakesTypeExplicit(constants.%U.binding.as_type) [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: }
|
|
|
@@ -1065,16 +1065,16 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// 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.9b8
|
|
|
+// CHECK:STDOUT: %U.binding.as_type => constants.%U.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.bf1
|
|
|
// 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.9b8
|
|
|
+// CHECK:STDOUT: specific @TakesTypeDeduced(constants.%U.binding.as_type) {
|
|
|
+// CHECK:STDOUT: %T.loc3_21.1 => constants.%U.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.bf1
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %require_complete => constants.%require_complete.e59
|
|
|
+// CHECK:STDOUT: %require_complete => constants.%require_complete.4cc
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @TakesTypeExplicit(constants.%T) {
|
|
|
@@ -1085,8 +1085,8 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %U.loc9_32.1 => constants.%U
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: specific @TakesTypeExplicit(constants.%U.as_type) {
|
|
|
-// CHECK:STDOUT: %T.loc8_22.1 => constants.%U.as_type
|
|
|
+// CHECK:STDOUT: specific @TakesTypeExplicit(constants.%U.binding.as_type) {
|
|
|
+// CHECK:STDOUT: %T.loc8_22.1 => constants.%U.binding.as_type
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -1099,12 +1099,12 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %.Self.644: type = bind_symbolic_name .Self [symbolic_self]
|
|
|
// CHECK:STDOUT: %T: %type = bind_symbolic_name T, 0 [symbolic]
|
|
|
// CHECK:STDOUT: %pattern_type.e25: type = pattern_type %type [concrete]
|
|
|
-// CHECK:STDOUT: %T.as_type: type = facet_access_type %T [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.9b8: type = pattern_type %T.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %T.binding.as_type: type = symbolic_binding_type T, 0, %T [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.bf1: type = pattern_type %T.binding.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.e59: <witness> = require_complete_type %T.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %require_complete.4cc: <witness> = require_complete_type %T.binding.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]
|
|
|
@@ -1138,8 +1138,8 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: %Core.import = import Core
|
|
|
// CHECK:STDOUT: %TakesExtraWhereDeduced.decl: %TakesExtraWhereDeduced.type = fn_decl @TakesExtraWhereDeduced [concrete = constants.%TakesExtraWhereDeduced] {
|
|
|
// CHECK:STDOUT: %T.patt: %pattern_type.e25 = symbolic_binding_pattern T, 0 [concrete]
|
|
|
-// CHECK:STDOUT: %x.patt: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.9b8) = binding_pattern x [concrete]
|
|
|
-// CHECK:STDOUT: %x.param_patt: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.9b8) = value_param_pattern %x.patt, call_param0 [concrete]
|
|
|
+// CHECK:STDOUT: %x.patt: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.bf1) = binding_pattern x [concrete]
|
|
|
+// CHECK:STDOUT: %x.param_patt: @TakesExtraWhereDeduced.%pattern_type (%pattern_type.bf1) = 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.659]
|
|
|
@@ -1151,13 +1151,13 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %T.loc3_27.2: %type = bind_symbolic_name T, 0 [symbolic = %T.loc3_27.1 (constants.%T)]
|
|
|
-// CHECK:STDOUT: %x.param: @TakesExtraWhereDeduced.%T.as_type.loc3_63.1 (%T.as_type) = value_param call_param0
|
|
|
-// CHECK:STDOUT: %.loc3_63.1: type = splice_block %.loc3_63.2 [symbolic = %T.as_type.loc3_63.1 (constants.%T.as_type)] {
|
|
|
+// CHECK:STDOUT: %x.param: @TakesExtraWhereDeduced.%T.binding.as_type (%T.binding.as_type) = value_param call_param0
|
|
|
+// CHECK:STDOUT: %.loc3_63.1: type = splice_block %.loc3_63.2 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)] {
|
|
|
// CHECK:STDOUT: %T.ref: %type = name_ref T, %T.loc3_27.2 [symbolic = %T.loc3_27.1 (constants.%T)]
|
|
|
-// CHECK:STDOUT: %T.as_type.loc3_63.2: type = facet_access_type %T.ref [symbolic = %T.as_type.loc3_63.1 (constants.%T.as_type)]
|
|
|
-// CHECK:STDOUT: %.loc3_63.2: type = converted %T.ref, %T.as_type.loc3_63.2 [symbolic = %T.as_type.loc3_63.1 (constants.%T.as_type)]
|
|
|
+// CHECK:STDOUT: %T.as_type: type = facet_access_type %T.ref [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %.loc3_63.2: type = converted %T.ref, %T.as_type [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %x: @TakesExtraWhereDeduced.%T.as_type.loc3_63.1 (%T.as_type) = bind_name x, %x.param
|
|
|
+// CHECK:STDOUT: %x: @TakesExtraWhereDeduced.%T.binding.as_type (%T.binding.as_type) = bind_name x, %x.param
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %CallsWithType.decl: %CallsWithType.type = fn_decl @CallsWithType [concrete = constants.%CallsWithType] {
|
|
|
// CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete]
|
|
|
@@ -1194,13 +1194,13 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// 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.9b8)]
|
|
|
+// CHECK:STDOUT: %T.binding.as_type: type = symbolic_binding_type T, 0, %T.loc3_27.1 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)]
|
|
|
+// CHECK:STDOUT: %pattern_type: type = pattern_type %T.binding.as_type [symbolic = %pattern_type (constants.%pattern_type.bf1)]
|
|
|
// 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.e59)]
|
|
|
+// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %T.binding.as_type [symbolic = %require_complete (constants.%require_complete.4cc)]
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: fn(%x.param: @TakesExtraWhereDeduced.%T.as_type.loc3_63.1 (%T.as_type)) {
|
|
|
+// CHECK:STDOUT: fn(%x.param: @TakesExtraWhereDeduced.%T.binding.as_type (%T.binding.as_type)) {
|
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: return
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -1261,8 +1261,8 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// 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.9b8
|
|
|
+// CHECK:STDOUT: %T.binding.as_type => constants.%T.binding.as_type
|
|
|
+// CHECK:STDOUT: %pattern_type => constants.%pattern_type.bf1
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @CallsWithType(constants.%U) {
|
|
|
@@ -1272,7 +1272,7 @@ fn CallsWithTypeExplicit(U:! type) {
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @TakesExtraWhereDeduced(constants.%facet_value) {
|
|
|
// CHECK:STDOUT: %T.loc3_27.1 => constants.%facet_value
|
|
|
-// CHECK:STDOUT: %T.as_type.loc3_63.1 => constants.%U
|
|
|
+// CHECK:STDOUT: %T.binding.as_type => constants.%U
|
|
|
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.7dc
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|