|
|
@@ -192,6 +192,7 @@ interface C {
|
|
|
// CHECK:STDOUT: %assoc0.cd1: %I.assoc_type = assoc_entity element0, @I.%T [concrete]
|
|
|
// CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete]
|
|
|
// CHECK:STDOUT: %Self.bf6: %J.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.bf6 [symbolic]
|
|
|
// CHECK:STDOUT: %J.F.type: type = fn_type @J.F [concrete]
|
|
|
// CHECK:STDOUT: %J.F: %J.F.type = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %J.assoc_type: type = assoc_entity_type @J [concrete]
|
|
|
@@ -236,6 +237,7 @@ interface C {
|
|
|
// CHECK:STDOUT: %return.patt: <error> = return_slot_pattern [concrete]
|
|
|
// CHECK:STDOUT: %return.param_patt: <error> = out_param_pattern %return.patt, call_param0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
+// CHECK:STDOUT: %Self.as_type.loc15_13.2: type = facet_access_type @J.%Self [symbolic = %Self.as_type.loc15_13.1 (constants.%Self.as_type)]
|
|
|
// CHECK:STDOUT: %U.ref: <error> = name_ref U, <error> [concrete = <error>]
|
|
|
// CHECK:STDOUT: %return.param: ref <error> = out_param call_param0
|
|
|
// CHECK:STDOUT: %return: ref <error> = return_slot %return.param
|
|
|
@@ -255,12 +257,18 @@ interface C {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: generic fn @J.F(@J.%Self: %J.type) {
|
|
|
+// CHECK:STDOUT: %Self: %J.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.bf6)]
|
|
|
+// CHECK:STDOUT: %Self.as_type.loc15_13.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc15_13.1 (constants.%Self.as_type)]
|
|
|
+// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn() -> <error>;
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @T(constants.%Self.7ee) {}
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: specific @J.F(constants.%Self.bf6) {}
|
|
|
+// CHECK:STDOUT: specific @J.F(constants.%Self.bf6) {
|
|
|
+// CHECK:STDOUT: %Self => constants.%Self.bf6
|
|
|
+// CHECK:STDOUT: %Self.as_type.loc15_13.1 => constants.%Self.as_type
|
|
|
+// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: --- alias_to_different_interface_with_requires.carbon
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -362,11 +370,11 @@ interface C {
|
|
|
// CHECK:STDOUT: %return.patt: @J2.F2.%pattern_type (%pattern_type.cad) = return_slot_pattern [concrete]
|
|
|
// CHECK:STDOUT: %return.param_patt: @J2.F2.%pattern_type (%pattern_type.cad) = out_param_pattern %return.patt, call_param0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
-// CHECK:STDOUT: %Self.as_type.loc15_14.2: type = facet_access_type constants.%Self.a70 [symbolic = %Self.as_type.loc15_14.1 (constants.%Self.as_type)]
|
|
|
-// CHECK:STDOUT: %.loc15_14.1: type = converted constants.%Self.a70, %Self.as_type.loc15_14.2 [symbolic = %Self.as_type.loc15_14.1 (constants.%Self.as_type)]
|
|
|
-// CHECK:STDOUT: %.loc15_14.2: %J2.type = converted %.loc15_14.1, constants.%Self.a70 [symbolic = %Self (constants.%Self.a70)]
|
|
|
+// CHECK:STDOUT: %Self.as_type.loc15_14.2: type = facet_access_type @J2.%Self [symbolic = %Self.as_type.loc15_14.1 (constants.%Self.as_type)]
|
|
|
// CHECK:STDOUT: %Self.as_type.loc15_14.3: type = facet_access_type constants.%Self.a70 [symbolic = %Self.as_type.loc15_14.1 (constants.%Self.as_type)]
|
|
|
-// CHECK:STDOUT: %I2.facet.loc15_14.2: %I2.type = facet_value %Self.as_type.loc15_14.3, (constants.%I2.lookup_impl_witness.cb8) [symbolic = %I2.facet.loc15_14.1 (constants.%I2.facet)]
|
|
|
+// CHECK:STDOUT: %.loc15_14.1: type = converted constants.%Self.a70, %Self.as_type.loc15_14.3 [symbolic = %Self.as_type.loc15_14.1 (constants.%Self.as_type)]
|
|
|
+// CHECK:STDOUT: %.loc15_14.2: %J2.type = converted %.loc15_14.1, constants.%Self.a70 [symbolic = %Self (constants.%Self.a70)]
|
|
|
+// CHECK:STDOUT: %I2.facet.loc15_14.2: %I2.type = facet_value %Self.as_type.loc15_14.2, (constants.%I2.lookup_impl_witness.cb8) [symbolic = %I2.facet.loc15_14.1 (constants.%I2.facet)]
|
|
|
// CHECK:STDOUT: %.loc15_14.3: %I2.type = converted @J2.%Self, %I2.facet.loc15_14.2 [symbolic = %I2.facet.loc15_14.1 (constants.%I2.facet)]
|
|
|
// CHECK:STDOUT: %impl.elem0.loc15_14.2: type = impl_witness_access constants.%I2.lookup_impl_witness.cb8, element0 [symbolic = %impl.elem0.loc15_14.1 (constants.%impl.elem0.dc2)]
|
|
|
// CHECK:STDOUT: %U2.ref: type = name_ref U2, %impl.elem0.loc15_14.2 [symbolic = %impl.elem0.loc15_14.1 (constants.%impl.elem0.dc2)]
|
|
|
@@ -448,8 +456,8 @@ interface C {
|
|
|
// CHECK:STDOUT: constants {
|
|
|
// CHECK:STDOUT: %A.type: type = facet_type <@A> [concrete]
|
|
|
// CHECK:STDOUT: %Self.0dd: %A.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.0dd [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.f23: type = pattern_type %Self.as_type [symbolic]
|
|
|
+// CHECK:STDOUT: %Self.as_type.bb6: type = facet_access_type %Self.0dd [symbolic]
|
|
|
+// CHECK:STDOUT: %pattern_type.f23: type = pattern_type %Self.as_type.bb6 [symbolic]
|
|
|
// CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete]
|
|
|
// CHECK:STDOUT: %A.F.type: type = fn_type @A.F [concrete]
|
|
|
// CHECK:STDOUT: %A.F: %A.F.type = struct_value () [concrete]
|
|
|
@@ -457,6 +465,7 @@ interface C {
|
|
|
// CHECK:STDOUT: %assoc0.2e6: %A.assoc_type = assoc_entity element0, @A.%A.F.decl [concrete]
|
|
|
// CHECK:STDOUT: %B.type: type = facet_type <@B> [concrete]
|
|
|
// CHECK:STDOUT: %Self.975: %B.type = bind_symbolic_name Self, 0 [symbolic]
|
|
|
+// CHECK:STDOUT: %Self.as_type.da9: type = facet_access_type %Self.975 [symbolic]
|
|
|
// CHECK:STDOUT: %B.G.type: type = fn_type @B.G [concrete]
|
|
|
// CHECK:STDOUT: %B.G: %B.G.type = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %B.assoc_type: type = assoc_entity_type @B [concrete]
|
|
|
@@ -488,13 +497,13 @@ interface C {
|
|
|
// CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete]
|
|
|
// CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param1 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
-// CHECK:STDOUT: %self.param: @A.F.%Self.as_type.loc6_14.1 (%Self.as_type) = value_param call_param0
|
|
|
-// CHECK:STDOUT: %.loc6_14.1: type = splice_block %.loc6_14.2 [symbolic = %Self.as_type.loc6_14.1 (constants.%Self.as_type)] {
|
|
|
+// CHECK:STDOUT: %self.param: @A.F.%Self.as_type.loc6_14.1 (%Self.as_type.bb6) = value_param call_param0
|
|
|
+// CHECK:STDOUT: %.loc6_14.1: type = splice_block %.loc6_14.2 [symbolic = %Self.as_type.loc6_14.1 (constants.%Self.as_type.bb6)] {
|
|
|
// CHECK:STDOUT: %Self.ref: %A.type = name_ref Self, @A.%Self [symbolic = %Self (constants.%Self.0dd)]
|
|
|
-// CHECK:STDOUT: %Self.as_type.loc6_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc6_14.1 (constants.%Self.as_type)]
|
|
|
-// CHECK:STDOUT: %.loc6_14.2: type = converted %Self.ref, %Self.as_type.loc6_14.2 [symbolic = %Self.as_type.loc6_14.1 (constants.%Self.as_type)]
|
|
|
+// CHECK:STDOUT: %Self.as_type.loc6_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc6_14.1 (constants.%Self.as_type.bb6)]
|
|
|
+// CHECK:STDOUT: %.loc6_14.2: type = converted %Self.ref, %Self.as_type.loc6_14.2 [symbolic = %Self.as_type.loc6_14.1 (constants.%Self.as_type.bb6)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %self: @A.F.%Self.as_type.loc6_14.1 (%Self.as_type) = bind_name self, %self.param
|
|
|
+// CHECK:STDOUT: %self: @A.F.%Self.as_type.loc6_14.1 (%Self.as_type.bb6) = bind_name self, %self.param
|
|
|
// CHECK:STDOUT: %return.param: ref type = out_param call_param1
|
|
|
// CHECK:STDOUT: %return: ref type = return_slot %return.param
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -515,6 +524,7 @@ interface C {
|
|
|
// CHECK:STDOUT: %return.patt: <error> = return_slot_pattern [concrete]
|
|
|
// CHECK:STDOUT: %return.param_patt: <error> = out_param_pattern %return.patt, call_param0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
+// CHECK:STDOUT: %Self.as_type.loc14_13.2: type = facet_access_type @B.%Self [symbolic = %Self.as_type.loc14_13.1 (constants.%Self.as_type.da9)]
|
|
|
// CHECK:STDOUT: %F.ref: <error> = name_ref F, <error> [concrete = <error>]
|
|
|
// CHECK:STDOUT: %return.param: ref <error> = out_param call_param0
|
|
|
// CHECK:STDOUT: %return: ref <error> = return_slot %return.param
|
|
|
@@ -531,23 +541,29 @@ interface C {
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: generic fn @A.F(@A.%Self: %A.type) {
|
|
|
// CHECK:STDOUT: %Self: %A.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.0dd)]
|
|
|
-// CHECK:STDOUT: %Self.as_type.loc6_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc6_14.1 (constants.%Self.as_type)]
|
|
|
+// CHECK:STDOUT: %Self.as_type.loc6_14.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc6_14.1 (constants.%Self.as_type.bb6)]
|
|
|
// CHECK:STDOUT: %pattern_type: type = pattern_type %Self.as_type.loc6_14.1 [symbolic = %pattern_type (constants.%pattern_type.f23)]
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: fn(%self.param: @A.F.%Self.as_type.loc6_14.1 (%Self.as_type)) -> type;
|
|
|
+// CHECK:STDOUT: fn(%self.param: @A.F.%Self.as_type.loc6_14.1 (%Self.as_type.bb6)) -> type;
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: generic fn @B.G(@B.%Self: %B.type) {
|
|
|
+// CHECK:STDOUT: %Self: %B.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.975)]
|
|
|
+// CHECK:STDOUT: %Self.as_type.loc14_13.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc14_13.1 (constants.%Self.as_type.da9)]
|
|
|
+// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn() -> <error>;
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @A.F(constants.%Self.0dd) {
|
|
|
// CHECK:STDOUT: %Self => constants.%Self.0dd
|
|
|
-// CHECK:STDOUT: %Self.as_type.loc6_14.1 => constants.%Self.as_type
|
|
|
+// CHECK:STDOUT: %Self.as_type.loc6_14.1 => constants.%Self.as_type.bb6
|
|
|
// CHECK:STDOUT: %pattern_type => constants.%pattern_type.f23
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: specific @B.G(constants.%Self.975) {}
|
|
|
+// CHECK:STDOUT: specific @B.G(constants.%Self.975) {
|
|
|
+// CHECK:STDOUT: %Self => constants.%Self.975
|
|
|
+// CHECK:STDOUT: %Self.as_type.loc14_13.1 => constants.%Self.as_type.da9
|
|
|
+// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: --- call_with_compound_member_access.carbon
|
|
|
// CHECK:STDOUT:
|