|
@@ -417,7 +417,7 @@ fn BitWiseHomogeneousLong() {
|
|
|
//@dump-sem-ir-end
|
|
//@dump-sem-ir-end
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-// --- fail_todo_bitwise_heterogeneous_long.carbon
|
|
|
|
|
|
|
+// --- bitwise_heterogeneous_long_left_side.carbon
|
|
|
|
|
|
|
|
library "[[@TEST_NAME]]";
|
|
library "[[@TEST_NAME]]";
|
|
|
|
|
|
|
@@ -425,30 +425,130 @@ import Cpp;
|
|
|
|
|
|
|
|
fn AssertSameType[T:! type](a: T, b: T) {}
|
|
fn AssertSameType[T:! type](a: T, b: T) {}
|
|
|
|
|
|
|
|
-fn BitWiseHeterogeneousLong() {
|
|
|
|
|
|
|
+fn BitWiseHeterogeneousLongLeftSide() {
|
|
|
//@dump-sem-ir-begin
|
|
//@dump-sem-ir-begin
|
|
|
let a: Cpp.long = 1;
|
|
let a: Cpp.long = 1;
|
|
|
|
|
|
|
|
- // CHECK:STDERR: fail_todo_bitwise_heterogeneous_long.carbon:[[@LINE+4]]:18: error: cannot access member of interface `Core.BitAndWith(i32)` in type `Cpp.long` that does not implement that interface [MissingImplInMemberAccess]
|
|
|
|
|
- // CHECK:STDERR: AssertSameType(a & (1 as i32), a);
|
|
|
|
|
- // CHECK:STDERR: ^~~~~~~~~~~~~~
|
|
|
|
|
- // CHECK:STDERR:
|
|
|
|
|
AssertSameType(a & (1 as i32), a);
|
|
AssertSameType(a & (1 as i32), a);
|
|
|
|
|
+ AssertSameType(a | (1 as i32), a);
|
|
|
|
|
+ AssertSameType(a ^ (1 as i32), a);
|
|
|
|
|
+ AssertSameType(a << (1 as i32), a);
|
|
|
|
|
+ AssertSameType(a >> (1 as i32), a);
|
|
|
|
|
+
|
|
|
|
|
+ AssertSameType(a & 1, a);
|
|
|
|
|
+ AssertSameType(a | 1, a);
|
|
|
|
|
+ AssertSameType(a ^ 1, a);
|
|
|
|
|
+ AssertSameType(a << 1, a);
|
|
|
|
|
+ AssertSameType(a >> 1, a);
|
|
|
|
|
+
|
|
|
|
|
+ let b: i32 = 1;
|
|
|
|
|
+ AssertSameType(a & b, a);
|
|
|
|
|
+ AssertSameType(a | b, a);
|
|
|
|
|
+ AssertSameType(a ^ b, a);
|
|
|
|
|
+ AssertSameType(a << b, a);
|
|
|
|
|
+ AssertSameType(a >> b, a);
|
|
|
|
|
+ //@dump-sem-ir-end
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// --- bitwise_heterogeneous_long_right_side.carbon
|
|
|
|
|
+
|
|
|
|
|
+library "[[@TEST_NAME]]";
|
|
|
|
|
+
|
|
|
|
|
+import Cpp;
|
|
|
|
|
+
|
|
|
|
|
+fn AssertSameType[T:! type](a: T, b: T) {}
|
|
|
|
|
+
|
|
|
|
|
+fn BitWiseHeterogeneousLongRightSide() {
|
|
|
|
|
+ //@dump-sem-ir-begin
|
|
|
|
|
+ let a: Cpp.long = 1;
|
|
|
|
|
|
|
|
- // CHECK:STDERR: fail_todo_bitwise_heterogeneous_long.carbon:[[@LINE+4]]:18: error: cannot access member of interface `Core.BitAndWith(Cpp.long)` in type `i32` that does not implement that interface [MissingImplInMemberAccess]
|
|
|
|
|
- // CHECK:STDERR: AssertSameType((1 as i32) & a, a);
|
|
|
|
|
- // CHECK:STDERR: ^~~~~~~~~~~~~~
|
|
|
|
|
- // CHECK:STDERR:
|
|
|
|
|
AssertSameType((1 as i32) & a, a);
|
|
AssertSameType((1 as i32) & a, a);
|
|
|
|
|
+ AssertSameType((1 as i32) | a, a);
|
|
|
|
|
+ AssertSameType((1 as i32) ^ a, a);
|
|
|
|
|
+ AssertSameType((1 as i32) << a, a);
|
|
|
|
|
+ AssertSameType((1 as i32) >> a, a);
|
|
|
|
|
+
|
|
|
|
|
+ AssertSameType(1 & a, a);
|
|
|
|
|
+ AssertSameType(1 | a, a);
|
|
|
|
|
+ AssertSameType(1 ^ a, a);
|
|
|
|
|
+ AssertSameType(1 << a, a);
|
|
|
|
|
+ AssertSameType(1 >> a, a);
|
|
|
|
|
+
|
|
|
|
|
+ let b: i32 = 1;
|
|
|
|
|
+ AssertSameType(b & a, a);
|
|
|
|
|
+ AssertSameType(b | a, a);
|
|
|
|
|
+ AssertSameType(b ^ a, a);
|
|
|
|
|
+ AssertSameType(b << a, a);
|
|
|
|
|
+ AssertSameType(b >> a, a);
|
|
|
|
|
+ //@dump-sem-ir-end
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// --- bitwise_heterogeneous_long_and_i64.carbon
|
|
|
|
|
+
|
|
|
|
|
+library "[[@TEST_NAME]]";
|
|
|
|
|
+
|
|
|
|
|
+import Cpp;
|
|
|
|
|
+
|
|
|
|
|
+fn AssertSameType[T:! type](a: T, b: T) {}
|
|
|
|
|
|
|
|
|
|
+fn BitWiseHeterogeneousLongAndI64() {
|
|
|
|
|
+ //@dump-sem-ir-begin
|
|
|
|
|
+ let a: Cpp.long = 1;
|
|
|
let b: i64 = 1;
|
|
let b: i64 = 1;
|
|
|
- AssertSameType(a & b, b);
|
|
|
|
|
|
|
|
|
|
|
|
+ AssertSameType(a & b, b);
|
|
|
AssertSameType(b & a, b);
|
|
AssertSameType(b & a, b);
|
|
|
-
|
|
|
|
|
//@dump-sem-ir-end
|
|
//@dump-sem-ir-end
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+// --- fail_todo_bitwise_heterogeneous_long_and_i16.carbon
|
|
|
|
|
+
|
|
|
|
|
+library "[[@TEST_NAME]]";
|
|
|
|
|
+
|
|
|
|
|
+import Cpp;
|
|
|
|
|
+
|
|
|
|
|
+fn AssertSameType[T:! type](a: T, b: T) {}
|
|
|
|
|
+
|
|
|
|
|
+fn BitWiseHeterogeneousLongAndI16() {
|
|
|
|
|
+ let a: Cpp.long = 1;
|
|
|
|
|
+ let b: i16 = 1;
|
|
|
|
|
+
|
|
|
|
|
+ // CHECK:STDERR: fail_todo_bitwise_heterogeneous_long_and_i16.carbon:[[@LINE+4]]:18: error: cannot access member of interface `Core.BitAndWith(i16)` in type `Cpp.long` that does not implement that interface [MissingImplInMemberAccess]
|
|
|
|
|
+ // CHECK:STDERR: AssertSameType(a & b, a);
|
|
|
|
|
+ // CHECK:STDERR: ^~~~~
|
|
|
|
|
+ // CHECK:STDERR:
|
|
|
|
|
+ AssertSameType(a & b, a);
|
|
|
|
|
+ // CHECK:STDERR: fail_todo_bitwise_heterogeneous_long_and_i16.carbon:[[@LINE+4]]:18: error: cannot access member of interface `Core.BitAndWith(Cpp.long)` in type `i16` that does not implement that interface [MissingImplInMemberAccess]
|
|
|
|
|
+ // CHECK:STDERR: AssertSameType(b & a, a);
|
|
|
|
|
+ // CHECK:STDERR: ^~~~~
|
|
|
|
|
+ // CHECK:STDERR:
|
|
|
|
|
+ AssertSameType(b & a, a);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// --- fail_todo_bitwise_heterogeneous_long_and_i128.carbon
|
|
|
|
|
+
|
|
|
|
|
+library "[[@TEST_NAME]]";
|
|
|
|
|
+
|
|
|
|
|
+import Cpp;
|
|
|
|
|
+
|
|
|
|
|
+fn AssertSameType[T:! type](a: T, b: T) {}
|
|
|
|
|
+
|
|
|
|
|
+fn BitWiseHeterogeneousLongAndI128() {
|
|
|
|
|
+ let a: Cpp.long = 1;
|
|
|
|
|
+ let b: i128 = 1;
|
|
|
|
|
+
|
|
|
|
|
+ // CHECK:STDERR: fail_todo_bitwise_heterogeneous_long_and_i128.carbon:[[@LINE+4]]:18: error: cannot access member of interface `Core.BitAndWith(i128)` in type `Cpp.long` that does not implement that interface [MissingImplInMemberAccess]
|
|
|
|
|
+ // CHECK:STDERR: AssertSameType(a & b, b);
|
|
|
|
|
+ // CHECK:STDERR: ^~~~~
|
|
|
|
|
+ // CHECK:STDERR:
|
|
|
|
|
+ AssertSameType(a & b, b);
|
|
|
|
|
+ // CHECK:STDERR: fail_todo_bitwise_heterogeneous_long_and_i128.carbon:[[@LINE+4]]:18: error: cannot access member of interface `Core.BitAndWith(Cpp.long)` in type `i128` that does not implement that interface [MissingImplInMemberAccess]
|
|
|
|
|
+ // CHECK:STDERR: AssertSameType(b & a, b);
|
|
|
|
|
+ // CHECK:STDERR: ^~~~~
|
|
|
|
|
+ // CHECK:STDERR:
|
|
|
|
|
+ AssertSameType(b & a, b);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
// --- compound_assignment_homogeneous_long.carbon
|
|
// --- compound_assignment_homogeneous_long.carbon
|
|
|
|
|
|
|
|
library "[[@TEST_NAME]]";
|
|
library "[[@TEST_NAME]]";
|
|
@@ -4757,36 +4857,36 @@ fn CopyUnsignedLong() {
|
|
|
// CHECK:STDOUT: %BitAndWith.impl_witness.6f1: <witness> = impl_witness imports.%BitAndWith.impl_witness_table.e8c [concrete]
|
|
// CHECK:STDOUT: %BitAndWith.impl_witness.6f1: <witness> = impl_witness imports.%BitAndWith.impl_witness_table.e8c [concrete]
|
|
|
// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.0b5 = facet_value %Cpp.long, (%BitAndWith.impl_witness.6f1) [concrete]
|
|
// CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.0b5 = facet_value %Cpp.long, (%BitAndWith.impl_witness.6f1) [concrete]
|
|
|
// CHECK:STDOUT: %.78c: type = fn_type_with_self_type %BitAndWith.Op.type.e13, %BitAndWith.facet [concrete]
|
|
// CHECK:STDOUT: %.78c: type = fn_type_with_self_type %BitAndWith.Op.type.e13, %BitAndWith.facet [concrete]
|
|
|
-// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.type: type = fn_type @Cpp.long.as.BitAndWith.impl.Op [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op: %Cpp.long.as.BitAndWith.impl.Op.type = struct_value () [concrete]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.type.a55: type = fn_type @Cpp.long.as.BitAndWith.impl.Op.3 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.340: %Cpp.long.as.BitAndWith.impl.Op.type.a55 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %BitOrWith.type.b22: type = facet_type <@BitOrWith, @BitOrWith(%Cpp.long)> [concrete]
|
|
// CHECK:STDOUT: %BitOrWith.type.b22: type = facet_type <@BitOrWith, @BitOrWith(%Cpp.long)> [concrete]
|
|
|
// CHECK:STDOUT: %BitOrWith.Op.type.a1b: type = fn_type @BitOrWith.Op, @BitOrWith(%Cpp.long) [concrete]
|
|
// CHECK:STDOUT: %BitOrWith.Op.type.a1b: type = fn_type @BitOrWith.Op, @BitOrWith(%Cpp.long) [concrete]
|
|
|
// CHECK:STDOUT: %BitOrWith.impl_witness.003: <witness> = impl_witness imports.%BitOrWith.impl_witness_table.513 [concrete]
|
|
// CHECK:STDOUT: %BitOrWith.impl_witness.003: <witness> = impl_witness imports.%BitOrWith.impl_witness_table.513 [concrete]
|
|
|
// CHECK:STDOUT: %BitOrWith.facet: %BitOrWith.type.b22 = facet_value %Cpp.long, (%BitOrWith.impl_witness.003) [concrete]
|
|
// CHECK:STDOUT: %BitOrWith.facet: %BitOrWith.type.b22 = facet_value %Cpp.long, (%BitOrWith.impl_witness.003) [concrete]
|
|
|
// CHECK:STDOUT: %.ee7: type = fn_type_with_self_type %BitOrWith.Op.type.a1b, %BitOrWith.facet [concrete]
|
|
// CHECK:STDOUT: %.ee7: type = fn_type_with_self_type %BitOrWith.Op.type.a1b, %BitOrWith.facet [concrete]
|
|
|
-// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.type: type = fn_type @Cpp.long.as.BitOrWith.impl.Op [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op: %Cpp.long.as.BitOrWith.impl.Op.type = struct_value () [concrete]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.type.178: type = fn_type @Cpp.long.as.BitOrWith.impl.Op.3 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.b33: %Cpp.long.as.BitOrWith.impl.Op.type.178 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %BitXorWith.type.87f: type = facet_type <@BitXorWith, @BitXorWith(%Cpp.long)> [concrete]
|
|
// CHECK:STDOUT: %BitXorWith.type.87f: type = facet_type <@BitXorWith, @BitXorWith(%Cpp.long)> [concrete]
|
|
|
// CHECK:STDOUT: %BitXorWith.Op.type.5cf: type = fn_type @BitXorWith.Op, @BitXorWith(%Cpp.long) [concrete]
|
|
// CHECK:STDOUT: %BitXorWith.Op.type.5cf: type = fn_type @BitXorWith.Op, @BitXorWith(%Cpp.long) [concrete]
|
|
|
// CHECK:STDOUT: %BitXorWith.impl_witness.e60: <witness> = impl_witness imports.%BitXorWith.impl_witness_table.708 [concrete]
|
|
// CHECK:STDOUT: %BitXorWith.impl_witness.e60: <witness> = impl_witness imports.%BitXorWith.impl_witness_table.708 [concrete]
|
|
|
// CHECK:STDOUT: %BitXorWith.facet: %BitXorWith.type.87f = facet_value %Cpp.long, (%BitXorWith.impl_witness.e60) [concrete]
|
|
// CHECK:STDOUT: %BitXorWith.facet: %BitXorWith.type.87f = facet_value %Cpp.long, (%BitXorWith.impl_witness.e60) [concrete]
|
|
|
// CHECK:STDOUT: %.e9a: type = fn_type_with_self_type %BitXorWith.Op.type.5cf, %BitXorWith.facet [concrete]
|
|
// CHECK:STDOUT: %.e9a: type = fn_type_with_self_type %BitXorWith.Op.type.5cf, %BitXorWith.facet [concrete]
|
|
|
-// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.type: type = fn_type @Cpp.long.as.BitXorWith.impl.Op [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op: %Cpp.long.as.BitXorWith.impl.Op.type = struct_value () [concrete]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.type.198: type = fn_type @Cpp.long.as.BitXorWith.impl.Op.3 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.655: %Cpp.long.as.BitXorWith.impl.Op.type.198 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %LeftShiftWith.type.3f9: type = facet_type <@LeftShiftWith, @LeftShiftWith(%Cpp.long)> [concrete]
|
|
// CHECK:STDOUT: %LeftShiftWith.type.3f9: type = facet_type <@LeftShiftWith, @LeftShiftWith(%Cpp.long)> [concrete]
|
|
|
// CHECK:STDOUT: %LeftShiftWith.Op.type.224: type = fn_type @LeftShiftWith.Op, @LeftShiftWith(%Cpp.long) [concrete]
|
|
// CHECK:STDOUT: %LeftShiftWith.Op.type.224: type = fn_type @LeftShiftWith.Op, @LeftShiftWith(%Cpp.long) [concrete]
|
|
|
// CHECK:STDOUT: %LeftShiftWith.impl_witness.cd6: <witness> = impl_witness imports.%LeftShiftWith.impl_witness_table.01c [concrete]
|
|
// CHECK:STDOUT: %LeftShiftWith.impl_witness.cd6: <witness> = impl_witness imports.%LeftShiftWith.impl_witness_table.01c [concrete]
|
|
|
// CHECK:STDOUT: %LeftShiftWith.facet: %LeftShiftWith.type.3f9 = facet_value %Cpp.long, (%LeftShiftWith.impl_witness.cd6) [concrete]
|
|
// CHECK:STDOUT: %LeftShiftWith.facet: %LeftShiftWith.type.3f9 = facet_value %Cpp.long, (%LeftShiftWith.impl_witness.cd6) [concrete]
|
|
|
// CHECK:STDOUT: %.864: type = fn_type_with_self_type %LeftShiftWith.Op.type.224, %LeftShiftWith.facet [concrete]
|
|
// CHECK:STDOUT: %.864: type = fn_type_with_self_type %LeftShiftWith.Op.type.224, %LeftShiftWith.facet [concrete]
|
|
|
-// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.type: type = fn_type @Cpp.long.as.LeftShiftWith.impl.Op [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op: %Cpp.long.as.LeftShiftWith.impl.Op.type = struct_value () [concrete]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.type.235: type = fn_type @Cpp.long.as.LeftShiftWith.impl.Op.3 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.dd3: %Cpp.long.as.LeftShiftWith.impl.Op.type.235 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %RightShiftWith.type.995: type = facet_type <@RightShiftWith, @RightShiftWith(%Cpp.long)> [concrete]
|
|
// CHECK:STDOUT: %RightShiftWith.type.995: type = facet_type <@RightShiftWith, @RightShiftWith(%Cpp.long)> [concrete]
|
|
|
// CHECK:STDOUT: %RightShiftWith.Op.type.fd9: type = fn_type @RightShiftWith.Op, @RightShiftWith(%Cpp.long) [concrete]
|
|
// CHECK:STDOUT: %RightShiftWith.Op.type.fd9: type = fn_type @RightShiftWith.Op, @RightShiftWith(%Cpp.long) [concrete]
|
|
|
// CHECK:STDOUT: %RightShiftWith.impl_witness.b46: <witness> = impl_witness imports.%RightShiftWith.impl_witness_table.636 [concrete]
|
|
// CHECK:STDOUT: %RightShiftWith.impl_witness.b46: <witness> = impl_witness imports.%RightShiftWith.impl_witness_table.636 [concrete]
|
|
|
// CHECK:STDOUT: %RightShiftWith.facet: %RightShiftWith.type.995 = facet_value %Cpp.long, (%RightShiftWith.impl_witness.b46) [concrete]
|
|
// CHECK:STDOUT: %RightShiftWith.facet: %RightShiftWith.type.995 = facet_value %Cpp.long, (%RightShiftWith.impl_witness.b46) [concrete]
|
|
|
// CHECK:STDOUT: %.398: type = fn_type_with_self_type %RightShiftWith.Op.type.fd9, %RightShiftWith.facet [concrete]
|
|
// CHECK:STDOUT: %.398: type = fn_type_with_self_type %RightShiftWith.Op.type.fd9, %RightShiftWith.facet [concrete]
|
|
|
-// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.type: type = fn_type @Cpp.long.as.RightShiftWith.impl.Op [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op: %Cpp.long.as.RightShiftWith.impl.Op.type = struct_value () [concrete]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.type.233: type = fn_type @Cpp.long.as.RightShiftWith.impl.Op.3 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.f79: %Cpp.long.as.RightShiftWith.impl.Op.type.233 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: imports {
|
|
// CHECK:STDOUT: imports {
|
|
@@ -4799,21 +4899,21 @@ fn CopyUnsignedLong() {
|
|
|
// CHECK:STDOUT: %Core.import_ref.cb912f.1 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
// CHECK:STDOUT: %Core.import_ref.cb912f.1 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
// CHECK:STDOUT: %Core.import_ref.454: %Cpp.long.as.BitComplement.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.BitComplement.impl.Op]
|
|
// CHECK:STDOUT: %Core.import_ref.454: %Cpp.long.as.BitComplement.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.BitComplement.impl.Op]
|
|
|
// CHECK:STDOUT: %BitComplement.impl_witness_table = impl_witness_table (%Core.import_ref.cb912f.1, %Core.import_ref.454), @Cpp.long.as.BitComplement.impl [concrete]
|
|
// CHECK:STDOUT: %BitComplement.impl_witness_table = impl_witness_table (%Core.import_ref.cb912f.1, %Core.import_ref.454), @Cpp.long.as.BitComplement.impl [concrete]
|
|
|
-// CHECK:STDOUT: %Core.import_ref.cb912f.2 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
-// CHECK:STDOUT: %Core.import_ref.f38: %Cpp.long.as.BitAndWith.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op]
|
|
|
|
|
-// CHECK:STDOUT: %BitAndWith.impl_witness_table.e8c = impl_witness_table (%Core.import_ref.cb912f.2, %Core.import_ref.f38), @Cpp.long.as.BitAndWith.impl [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Core.import_ref.cb912f.3 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
-// CHECK:STDOUT: %Core.import_ref.a17: %Cpp.long.as.BitOrWith.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op]
|
|
|
|
|
-// CHECK:STDOUT: %BitOrWith.impl_witness_table.513 = impl_witness_table (%Core.import_ref.cb912f.3, %Core.import_ref.a17), @Cpp.long.as.BitOrWith.impl [concrete]
|
|
|
|
|
// CHECK:STDOUT: %Core.import_ref.cb912f.4 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
// CHECK:STDOUT: %Core.import_ref.cb912f.4 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
-// CHECK:STDOUT: %Core.import_ref.4fd: %Cpp.long.as.BitXorWith.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op]
|
|
|
|
|
-// CHECK:STDOUT: %BitXorWith.impl_witness_table.708 = impl_witness_table (%Core.import_ref.cb912f.4, %Core.import_ref.4fd), @Cpp.long.as.BitXorWith.impl [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Core.import_ref.cb912f.5 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
-// CHECK:STDOUT: %Core.import_ref.c09: %Cpp.long.as.LeftShiftWith.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op]
|
|
|
|
|
-// CHECK:STDOUT: %LeftShiftWith.impl_witness_table.01c = impl_witness_table (%Core.import_ref.cb912f.5, %Core.import_ref.c09), @Cpp.long.as.LeftShiftWith.impl [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Core.import_ref.cb912f.6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
-// CHECK:STDOUT: %Core.import_ref.6c0: %Cpp.long.as.RightShiftWith.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op]
|
|
|
|
|
-// CHECK:STDOUT: %RightShiftWith.impl_witness_table.636 = impl_witness_table (%Core.import_ref.cb912f.6, %Core.import_ref.6c0), @Cpp.long.as.RightShiftWith.impl [concrete]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.f38: %Cpp.long.as.BitAndWith.impl.Op.type.a55 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.340]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.impl_witness_table.e8c = impl_witness_table (%Core.import_ref.cb912f.4, %Core.import_ref.f38), @Cpp.long.as.BitAndWith.impl.7cf [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.cb912f.7 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.a17: %Cpp.long.as.BitOrWith.impl.Op.type.178 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.b33]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.impl_witness_table.513 = impl_witness_table (%Core.import_ref.cb912f.7, %Core.import_ref.a17), @Cpp.long.as.BitOrWith.impl.fd5 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.cb912f.10 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.4fd: %Cpp.long.as.BitXorWith.impl.Op.type.198 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.655]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.impl_witness_table.708 = impl_witness_table (%Core.import_ref.cb912f.10, %Core.import_ref.4fd), @Cpp.long.as.BitXorWith.impl.ef4 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.cb912f.13 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.c09: %Cpp.long.as.LeftShiftWith.impl.Op.type.235 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.dd3]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.impl_witness_table.01c = impl_witness_table (%Core.import_ref.cb912f.13, %Core.import_ref.c09), @Cpp.long.as.LeftShiftWith.impl.979 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.cb912f.16 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.6c0: %Cpp.long.as.RightShiftWith.impl.Op.type.233 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.f79]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.impl_witness_table.636 = impl_witness_table (%Core.import_ref.cb912f.16, %Core.import_ref.6c0), @Cpp.long.as.RightShiftWith.impl.711 [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn @BitWiseHomogeneousLong() {
|
|
// CHECK:STDOUT: fn @BitWiseHomogeneousLong() {
|
|
@@ -4873,7 +4973,7 @@ fn CopyUnsignedLong() {
|
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc15: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc15: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
// CHECK:STDOUT: %a.ref.loc15: %Cpp.long = name_ref a, %a
|
|
// CHECK:STDOUT: %a.ref.loc15: %Cpp.long = name_ref a, %a
|
|
|
// CHECK:STDOUT: %b.ref.loc15: %Cpp.long = name_ref b, %b
|
|
// CHECK:STDOUT: %b.ref.loc15: %Cpp.long = name_ref b, %b
|
|
|
-// CHECK:STDOUT: %impl.elem1.loc15: %.78c = impl_witness_access constants.%BitAndWith.impl_witness.6f1, element1 [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc15: %.78c = impl_witness_access constants.%BitAndWith.impl_witness.6f1, element1 [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.340]
|
|
|
// CHECK:STDOUT: %bound_method.loc15: <bound method> = bound_method %a.ref.loc15, %impl.elem1.loc15
|
|
// CHECK:STDOUT: %bound_method.loc15: <bound method> = bound_method %a.ref.loc15, %impl.elem1.loc15
|
|
|
// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.call: init %Cpp.long = call %bound_method.loc15(%a.ref.loc15, %b.ref.loc15)
|
|
// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.call: init %Cpp.long = call %bound_method.loc15(%a.ref.loc15, %b.ref.loc15)
|
|
|
// CHECK:STDOUT: %c.ref.loc15: %Cpp.long = name_ref c, %c
|
|
// CHECK:STDOUT: %c.ref.loc15: %Cpp.long = name_ref c, %c
|
|
@@ -4884,7 +4984,7 @@ fn CopyUnsignedLong() {
|
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc16: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc16: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
// CHECK:STDOUT: %a.ref.loc16: %Cpp.long = name_ref a, %a
|
|
// CHECK:STDOUT: %a.ref.loc16: %Cpp.long = name_ref a, %a
|
|
|
// CHECK:STDOUT: %b.ref.loc16: %Cpp.long = name_ref b, %b
|
|
// CHECK:STDOUT: %b.ref.loc16: %Cpp.long = name_ref b, %b
|
|
|
-// CHECK:STDOUT: %impl.elem1.loc16: %.ee7 = impl_witness_access constants.%BitOrWith.impl_witness.003, element1 [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc16: %.ee7 = impl_witness_access constants.%BitOrWith.impl_witness.003, element1 [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.b33]
|
|
|
// CHECK:STDOUT: %bound_method.loc16: <bound method> = bound_method %a.ref.loc16, %impl.elem1.loc16
|
|
// CHECK:STDOUT: %bound_method.loc16: <bound method> = bound_method %a.ref.loc16, %impl.elem1.loc16
|
|
|
// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.call: init %Cpp.long = call %bound_method.loc16(%a.ref.loc16, %b.ref.loc16)
|
|
// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.call: init %Cpp.long = call %bound_method.loc16(%a.ref.loc16, %b.ref.loc16)
|
|
|
// CHECK:STDOUT: %c.ref.loc16: %Cpp.long = name_ref c, %c
|
|
// CHECK:STDOUT: %c.ref.loc16: %Cpp.long = name_ref c, %c
|
|
@@ -4895,7 +4995,7 @@ fn CopyUnsignedLong() {
|
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc17: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc17: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
// CHECK:STDOUT: %a.ref.loc17: %Cpp.long = name_ref a, %a
|
|
// CHECK:STDOUT: %a.ref.loc17: %Cpp.long = name_ref a, %a
|
|
|
// CHECK:STDOUT: %b.ref.loc17: %Cpp.long = name_ref b, %b
|
|
// CHECK:STDOUT: %b.ref.loc17: %Cpp.long = name_ref b, %b
|
|
|
-// CHECK:STDOUT: %impl.elem1.loc17: %.e9a = impl_witness_access constants.%BitXorWith.impl_witness.e60, element1 [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc17: %.e9a = impl_witness_access constants.%BitXorWith.impl_witness.e60, element1 [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.655]
|
|
|
// CHECK:STDOUT: %bound_method.loc17: <bound method> = bound_method %a.ref.loc17, %impl.elem1.loc17
|
|
// CHECK:STDOUT: %bound_method.loc17: <bound method> = bound_method %a.ref.loc17, %impl.elem1.loc17
|
|
|
// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.call: init %Cpp.long = call %bound_method.loc17(%a.ref.loc17, %b.ref.loc17)
|
|
// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.call: init %Cpp.long = call %bound_method.loc17(%a.ref.loc17, %b.ref.loc17)
|
|
|
// CHECK:STDOUT: %c.ref.loc17: %Cpp.long = name_ref c, %c
|
|
// CHECK:STDOUT: %c.ref.loc17: %Cpp.long = name_ref c, %c
|
|
@@ -4906,7 +5006,7 @@ fn CopyUnsignedLong() {
|
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc18: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc18: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
// CHECK:STDOUT: %a.ref.loc18: %Cpp.long = name_ref a, %a
|
|
// CHECK:STDOUT: %a.ref.loc18: %Cpp.long = name_ref a, %a
|
|
|
// CHECK:STDOUT: %b.ref.loc18: %Cpp.long = name_ref b, %b
|
|
// CHECK:STDOUT: %b.ref.loc18: %Cpp.long = name_ref b, %b
|
|
|
-// CHECK:STDOUT: %impl.elem1.loc18: %.864 = impl_witness_access constants.%LeftShiftWith.impl_witness.cd6, element1 [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc18: %.864 = impl_witness_access constants.%LeftShiftWith.impl_witness.cd6, element1 [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.dd3]
|
|
|
// CHECK:STDOUT: %bound_method.loc18: <bound method> = bound_method %a.ref.loc18, %impl.elem1.loc18
|
|
// CHECK:STDOUT: %bound_method.loc18: <bound method> = bound_method %a.ref.loc18, %impl.elem1.loc18
|
|
|
// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.call: init %Cpp.long = call %bound_method.loc18(%a.ref.loc18, %b.ref.loc18)
|
|
// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.call: init %Cpp.long = call %bound_method.loc18(%a.ref.loc18, %b.ref.loc18)
|
|
|
// CHECK:STDOUT: %c.ref.loc18: %Cpp.long = name_ref c, %c
|
|
// CHECK:STDOUT: %c.ref.loc18: %Cpp.long = name_ref c, %c
|
|
@@ -4917,7 +5017,7 @@ fn CopyUnsignedLong() {
|
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc19: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc19: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
// CHECK:STDOUT: %a.ref.loc19: %Cpp.long = name_ref a, %a
|
|
// CHECK:STDOUT: %a.ref.loc19: %Cpp.long = name_ref a, %a
|
|
|
// CHECK:STDOUT: %b.ref.loc19: %Cpp.long = name_ref b, %b
|
|
// CHECK:STDOUT: %b.ref.loc19: %Cpp.long = name_ref b, %b
|
|
|
-// CHECK:STDOUT: %impl.elem1.loc19: %.398 = impl_witness_access constants.%RightShiftWith.impl_witness.b46, element1 [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc19: %.398 = impl_witness_access constants.%RightShiftWith.impl_witness.b46, element1 [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.f79]
|
|
|
// CHECK:STDOUT: %bound_method.loc19: <bound method> = bound_method %a.ref.loc19, %impl.elem1.loc19
|
|
// CHECK:STDOUT: %bound_method.loc19: <bound method> = bound_method %a.ref.loc19, %impl.elem1.loc19
|
|
|
// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.call: init %Cpp.long = call %bound_method.loc19(%a.ref.loc19, %b.ref.loc19)
|
|
// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.call: init %Cpp.long = call %bound_method.loc19(%a.ref.loc19, %b.ref.loc19)
|
|
|
// CHECK:STDOUT: %c.ref.loc19: %Cpp.long = name_ref c, %c
|
|
// CHECK:STDOUT: %c.ref.loc19: %Cpp.long = name_ref c, %c
|
|
@@ -4928,7 +5028,7 @@ fn CopyUnsignedLong() {
|
|
|
// CHECK:STDOUT: <elided>
|
|
// CHECK:STDOUT: <elided>
|
|
|
// CHECK:STDOUT: }
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: --- fail_todo_bitwise_heterogeneous_long.carbon
|
|
|
|
|
|
|
+// CHECK:STDOUT: --- bitwise_heterogeneous_long_left_side.carbon
|
|
|
// CHECK:STDOUT:
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: constants {
|
|
// CHECK:STDOUT: constants {
|
|
|
// CHECK:STDOUT: %AssertSameType.type: type = fn_type @AssertSameType [concrete]
|
|
// CHECK:STDOUT: %AssertSameType.type: type = fn_type @AssertSameType [concrete]
|
|
@@ -4936,17 +5036,11 @@ fn CopyUnsignedLong() {
|
|
|
// CHECK:STDOUT: %AssertSameType: %AssertSameType.type = struct_value () [concrete]
|
|
// CHECK:STDOUT: %AssertSameType: %AssertSameType.type = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %Cpp.long: type = class_type @Long32 [concrete]
|
|
// CHECK:STDOUT: %Cpp.long: type = class_type @Long32 [concrete]
|
|
|
// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete]
|
|
// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete]
|
|
|
-// CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic]
|
|
|
|
|
-// CHECK:STDOUT: %Int.fc6021.1: type = class_type @Int, @Int(%N) [symbolic]
|
|
|
|
|
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
|
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
|
|
// CHECK:STDOUT: %pattern_type.68c: type = pattern_type %Cpp.long [concrete]
|
|
// CHECK:STDOUT: %pattern_type.68c: type = pattern_type %Cpp.long [concrete]
|
|
|
// CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete]
|
|
// CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete]
|
|
|
// CHECK:STDOUT: %ImplicitAs.type.819: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete]
|
|
// CHECK:STDOUT: %ImplicitAs.type.819: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete]
|
|
|
// CHECK:STDOUT: %ImplicitAs.Convert.type.4c2: type = fn_type @ImplicitAs.Convert, @ImplicitAs(%Cpp.long) [concrete]
|
|
// CHECK:STDOUT: %ImplicitAs.Convert.type.4c2: type = fn_type @ImplicitAs.Convert, @ImplicitAs(%Cpp.long) [concrete]
|
|
|
-// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %i64: type = class_type @Int, @Int(%int_64) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %ImplicitAs.type.2ad: type = facet_type <@ImplicitAs, @ImplicitAs(%i64)> [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %ImplicitAs.Convert.type.94e: type = fn_type @ImplicitAs.Convert, @ImplicitAs(%i64) [concrete]
|
|
|
|
|
// CHECK:STDOUT: %ImplicitAs.impl_witness.2ce: <witness> = impl_witness imports.%ImplicitAs.impl_witness_table.903 [concrete]
|
|
// CHECK:STDOUT: %ImplicitAs.impl_witness.2ce: <witness> = impl_witness imports.%ImplicitAs.impl_witness_table.903 [concrete]
|
|
|
// CHECK:STDOUT: %ImplicitAs.facet.eed: %ImplicitAs.type.819 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.2ce) [concrete]
|
|
// CHECK:STDOUT: %ImplicitAs.facet.eed: %ImplicitAs.type.819 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.2ce) [concrete]
|
|
|
// CHECK:STDOUT: %.dad: type = fn_type_with_self_type %ImplicitAs.Convert.type.4c2, %ImplicitAs.facet.eed [concrete]
|
|
// CHECK:STDOUT: %.dad: type = fn_type_with_self_type %ImplicitAs.Convert.type.4c2, %ImplicitAs.facet.eed [concrete]
|
|
@@ -4965,60 +5059,160 @@ fn CopyUnsignedLong() {
|
|
|
// CHECK:STDOUT: %As.facet: %As.type.047 = facet_value Core.IntLiteral, (%As.impl_witness.ab6) [concrete]
|
|
// CHECK:STDOUT: %As.facet: %As.type.047 = facet_value Core.IntLiteral, (%As.impl_witness.ab6) [concrete]
|
|
|
// CHECK:STDOUT: %.97a: type = fn_type_with_self_type %As.Convert.type.99b, %As.facet [concrete]
|
|
// CHECK:STDOUT: %.97a: type = fn_type_with_self_type %As.Convert.type.99b, %As.facet [concrete]
|
|
|
// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.29b [concrete]
|
|
// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.29b [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
|
|
|
// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: <specific function> = specific_function %Core.IntLiteral.as.As.impl.Convert.29b, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete]
|
|
// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: <specific function> = specific_function %Core.IntLiteral.as.As.impl.Convert.29b, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete]
|
|
|
// CHECK:STDOUT: %bound_method.290: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete]
|
|
// CHECK:STDOUT: %bound_method.290: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete]
|
|
|
// CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete]
|
|
// CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete]
|
|
|
-// CHECK:STDOUT: %BitAndWith.type.0b5: type = facet_type <@BitAndWith, @BitAndWith(%Cpp.long)> [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %BitAndWith.Op.type.e13: type = fn_type @BitAndWith.Op, @BitAndWith(%Cpp.long) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %ImplicitAs.type.39a54f.1: type = facet_type <@ImplicitAs, @ImplicitAs(%Int.fc6021.1)> [symbolic]
|
|
|
|
|
-// CHECK:STDOUT: %U.354: %ImplicitAs.type.39a54f.1 = symbolic_binding U, 1 [symbolic]
|
|
|
|
|
-// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.type.1b6537.1: type = fn_type @Int.as.BitAndWith.impl.Op.2, @Int.as.BitAndWith.impl.4ac(%N, %U.354) [symbolic]
|
|
|
|
|
-// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.b9569a.1: %Int.as.BitAndWith.impl.Op.type.1b6537.1 = struct_value () [symbolic]
|
|
|
|
|
-// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.type.1b6537.2: type = fn_type @Int.as.BitAndWith.impl.Op.3, @Int.as.BitAndWith.impl.4ac(%N, %U.354) [symbolic]
|
|
|
|
|
-// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.b9569a.2: %Int.as.BitAndWith.impl.Op.type.1b6537.2 = struct_value () [symbolic]
|
|
|
|
|
-// CHECK:STDOUT: %T.354: %ImplicitAs.type.39a54f.1 = symbolic_binding T, 1 [symbolic]
|
|
|
|
|
-// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.type.e95062.1: type = fn_type @T.binding.as_type.as.BitAndWith.impl.Op.3, @T.binding.as_type.as.BitAndWith.impl.96d(%N, %T.354) [symbolic]
|
|
|
|
|
-// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.892c6d.1: %T.binding.as_type.as.BitAndWith.impl.Op.type.e95062.1 = struct_value () [symbolic]
|
|
|
|
|
-// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.type.e95062.2: type = fn_type @T.binding.as_type.as.BitAndWith.impl.Op.4, @T.binding.as_type.as.BitAndWith.impl.96d(%N, %T.354) [symbolic]
|
|
|
|
|
-// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.892c6d.2: %T.binding.as_type.as.BitAndWith.impl.Op.type.e95062.2 = struct_value () [symbolic]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.type.0fb: type = facet_type <@BitAndWith, @BitAndWith(%i32)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.Op.type.e35: type = fn_type @BitAndWith.Op, @BitAndWith(%i32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.57d: %ImplicitAs.type.819 = symbolic_binding T, 0 [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.type.8319b2.1: type = fn_type @Cpp.long.as.BitAndWith.impl.Op.1, @Cpp.long.as.BitAndWith.impl.334(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.3828c1.1: %Cpp.long.as.BitAndWith.impl.Op.type.8319b2.1 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.type.8319b2.2: type = fn_type @Cpp.long.as.BitAndWith.impl.Op.2, @Cpp.long.as.BitAndWith.impl.334(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.3828c1.2: %Cpp.long.as.BitAndWith.impl.Op.type.8319b2.2 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.type.011: type = facet_type <@BitAndWith, @BitAndWith(Core.IntLiteral)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.Op.type.4bf: type = fn_type @BitAndWith.Op, @BitAndWith(Core.IntLiteral) [concrete]
|
|
|
// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.b2d(%To.fe9) [symbolic]
|
|
// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.b2d(%To.fe9) [symbolic]
|
|
|
// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3c2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6 = struct_value () [symbolic]
|
|
// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3c2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6 = struct_value () [symbolic]
|
|
|
-// CHECK:STDOUT: %pattern_type.95b: type = pattern_type %i64 [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %ImplicitAs.impl_witness.556: <witness> = impl_witness imports.%ImplicitAs.impl_witness_table.74f, @Core.IntLiteral.as.ImplicitAs.impl.b2d(%int_64) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b78: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.b2d(%int_64) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.57d: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b78 = struct_value () [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %ImplicitAs.facet.d48: %ImplicitAs.type.2ad = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.556) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %.567: type = fn_type_with_self_type %ImplicitAs.Convert.type.94e, %ImplicitAs.facet.d48 [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.102: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.57d [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: <specific function> = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.57d, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(%int_64) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.288: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %int_1.41a: %i64 = int_value 1 [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %BitAndWith.type.46b: type = facet_type <@BitAndWith, @BitAndWith(%i64)> [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %BitAndWith.Op.type.2e7: type = fn_type @BitAndWith.Op, @BitAndWith(%i64) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %ImplicitAs.impl_witness.bbc: <witness> = impl_witness imports.%ImplicitAs.impl_witness_table.cb1 [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %ImplicitAs.facet.ba4: %ImplicitAs.type.2ad = facet_value %Cpp.long, (%ImplicitAs.impl_witness.bbc) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %BitAndWith.impl_witness.c6a: <witness> = impl_witness imports.%BitAndWith.impl_witness_table.5e7, @T.binding.as_type.as.BitAndWith.impl.96d(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.type.7732f0.1: type = fn_type @T.binding.as_type.as.BitAndWith.impl.Op.4, @T.binding.as_type.as.BitAndWith.impl.96d(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.12fb91.1: %T.binding.as_type.as.BitAndWith.impl.Op.type.7732f0.1 = struct_value () [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.type.7732f0.2: type = fn_type @T.binding.as_type.as.BitAndWith.impl.Op.3, @T.binding.as_type.as.BitAndWith.impl.96d(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.12fb91.2: %T.binding.as_type.as.BitAndWith.impl.Op.type.7732f0.2 = struct_value () [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %BitAndWith.facet.bc4: %BitAndWith.type.46b = facet_value %Cpp.long, (%BitAndWith.impl_witness.c6a) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %.656: type = fn_type_with_self_type %BitAndWith.Op.type.2e7, %BitAndWith.facet.bc4 [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.d9a57f.1: <specific function> = specific_function %T.binding.as_type.as.BitAndWith.impl.Op.12fb91.2, @T.binding.as_type.as.BitAndWith.impl.Op.3(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.d9a57f.2: <specific function> = specific_function %T.binding.as_type.as.BitAndWith.impl.Op.12fb91.1, @T.binding.as_type.as.BitAndWith.impl.Op.4(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %.8a2: type = fn_type_with_self_type %ImplicitAs.Convert.type.94e, %ImplicitAs.facet.ba4 [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.type: type = fn_type @Cpp.long.as.ImplicitAs.impl.Convert [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert: %Cpp.long.as.ImplicitAs.impl.Convert.type = struct_value () [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %AssertSameType.specific_fn: <specific function> = specific_function %AssertSameType, @AssertSameType(%i64) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %BitAndWith.impl_witness.c34: <witness> = impl_witness imports.%BitAndWith.impl_witness_table.ebf, @Int.as.BitAndWith.impl.4ac(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.type.871ddc.1: type = fn_type @Int.as.BitAndWith.impl.Op.3, @Int.as.BitAndWith.impl.4ac(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.740875.1: %Int.as.BitAndWith.impl.Op.type.871ddc.1 = struct_value () [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.type.871ddc.2: type = fn_type @Int.as.BitAndWith.impl.Op.2, @Int.as.BitAndWith.impl.4ac(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.740875.2: %Int.as.BitAndWith.impl.Op.type.871ddc.2 = struct_value () [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %BitAndWith.facet.a93: %BitAndWith.type.0b5 = facet_value %i64, (%BitAndWith.impl_witness.c34) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %.29c: type = fn_type_with_self_type %BitAndWith.Op.type.e13, %BitAndWith.facet.a93 [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.specific_fn.7b1efb.1: <specific function> = specific_function %Int.as.BitAndWith.impl.Op.740875.2, @Int.as.BitAndWith.impl.Op.2(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.specific_fn.7b1efb.2: <specific function> = specific_function %Int.as.BitAndWith.impl.Op.740875.1, @Int.as.BitAndWith.impl.Op.3(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness.0fc: <witness> = impl_witness imports.%ImplicitAs.impl_witness_table.5ad [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.174: %ImplicitAs.type.819 = facet_value %i32, (%ImplicitAs.impl_witness.0fc) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.impl_witness.fe3: <witness> = impl_witness imports.%BitAndWith.impl_witness_table.072, @Cpp.long.as.BitAndWith.impl.334(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.type.202298.1: type = fn_type @Cpp.long.as.BitAndWith.impl.Op.2, @Cpp.long.as.BitAndWith.impl.334(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.a9ac84.1: %Cpp.long.as.BitAndWith.impl.Op.type.202298.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.type.202298.2: type = fn_type @Cpp.long.as.BitAndWith.impl.Op.1, @Cpp.long.as.BitAndWith.impl.334(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.a9ac84.2: %Cpp.long.as.BitAndWith.impl.Op.type.202298.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.facet.9d5: %BitAndWith.type.0fb = facet_value %Cpp.long, (%BitAndWith.impl_witness.fe3) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.bdd: type = fn_type_with_self_type %BitAndWith.Op.type.e35, %BitAndWith.facet.9d5 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.specific_fn.dcd797.1: <specific function> = specific_function %Cpp.long.as.BitAndWith.impl.Op.a9ac84.2, @Cpp.long.as.BitAndWith.impl.Op.1(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.c45: type = fn_type_with_self_type %ImplicitAs.Convert.type.4c2, %ImplicitAs.facet.174 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.type: type = fn_type @i32.as.ImplicitAs.impl.Convert [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert: %i32.as.ImplicitAs.impl.Convert.type = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.bound: <bound method> = bound_method %int_1.5d2, %i32.as.ImplicitAs.impl.Convert [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.specific_fn.dcd797.2: <specific function> = specific_function %Cpp.long.as.BitAndWith.impl.Op.a9ac84.1, @Cpp.long.as.BitAndWith.impl.Op.2(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn: <specific function> = specific_function %AssertSameType, @AssertSameType(%Cpp.long) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.type.428: type = facet_type <@BitOrWith, @BitOrWith(%i32)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.Op.type.99b: type = fn_type @BitOrWith.Op, @BitOrWith(%i32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.type.9f5440.1: type = fn_type @Cpp.long.as.BitOrWith.impl.Op.1, @Cpp.long.as.BitOrWith.impl.fc3(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.81f55a.1: %Cpp.long.as.BitOrWith.impl.Op.type.9f5440.1 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.type.9f5440.2: type = fn_type @Cpp.long.as.BitOrWith.impl.Op.2, @Cpp.long.as.BitOrWith.impl.fc3(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.81f55a.2: %Cpp.long.as.BitOrWith.impl.Op.type.9f5440.2 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.type.cba: type = facet_type <@BitOrWith, @BitOrWith(Core.IntLiteral)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.Op.type.0e5: type = fn_type @BitOrWith.Op, @BitOrWith(Core.IntLiteral) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.impl_witness.b0c: <witness> = impl_witness imports.%BitOrWith.impl_witness_table.9a6, @Cpp.long.as.BitOrWith.impl.fc3(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.type.dccbc7.1: type = fn_type @Cpp.long.as.BitOrWith.impl.Op.2, @Cpp.long.as.BitOrWith.impl.fc3(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.d9c870.1: %Cpp.long.as.BitOrWith.impl.Op.type.dccbc7.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.type.dccbc7.2: type = fn_type @Cpp.long.as.BitOrWith.impl.Op.1, @Cpp.long.as.BitOrWith.impl.fc3(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.d9c870.2: %Cpp.long.as.BitOrWith.impl.Op.type.dccbc7.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.facet.acb: %BitOrWith.type.428 = facet_value %Cpp.long, (%BitOrWith.impl_witness.b0c) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.faa: type = fn_type_with_self_type %BitOrWith.Op.type.99b, %BitOrWith.facet.acb [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.specific_fn.03ab4b.1: <specific function> = specific_function %Cpp.long.as.BitOrWith.impl.Op.d9c870.2, @Cpp.long.as.BitOrWith.impl.Op.1(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.specific_fn.03ab4b.2: <specific function> = specific_function %Cpp.long.as.BitOrWith.impl.Op.d9c870.1, @Cpp.long.as.BitOrWith.impl.Op.2(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.type.1fc: type = facet_type <@BitXorWith, @BitXorWith(%i32)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.Op.type.a4b: type = fn_type @BitXorWith.Op, @BitXorWith(%i32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.type.876fc1.1: type = fn_type @Cpp.long.as.BitXorWith.impl.Op.1, @Cpp.long.as.BitXorWith.impl.732(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.c0eaae.1: %Cpp.long.as.BitXorWith.impl.Op.type.876fc1.1 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.type.876fc1.2: type = fn_type @Cpp.long.as.BitXorWith.impl.Op.2, @Cpp.long.as.BitXorWith.impl.732(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.c0eaae.2: %Cpp.long.as.BitXorWith.impl.Op.type.876fc1.2 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.type.fd0: type = facet_type <@BitXorWith, @BitXorWith(Core.IntLiteral)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.Op.type.1f1: type = fn_type @BitXorWith.Op, @BitXorWith(Core.IntLiteral) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.impl_witness.8a0: <witness> = impl_witness imports.%BitXorWith.impl_witness_table.9f4, @Cpp.long.as.BitXorWith.impl.732(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.type.7fe348.1: type = fn_type @Cpp.long.as.BitXorWith.impl.Op.2, @Cpp.long.as.BitXorWith.impl.732(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.48a9f4.1: %Cpp.long.as.BitXorWith.impl.Op.type.7fe348.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.type.7fe348.2: type = fn_type @Cpp.long.as.BitXorWith.impl.Op.1, @Cpp.long.as.BitXorWith.impl.732(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.48a9f4.2: %Cpp.long.as.BitXorWith.impl.Op.type.7fe348.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.facet.91f: %BitXorWith.type.1fc = facet_value %Cpp.long, (%BitXorWith.impl_witness.8a0) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.f2f: type = fn_type_with_self_type %BitXorWith.Op.type.a4b, %BitXorWith.facet.91f [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.specific_fn.4ec2b6.1: <specific function> = specific_function %Cpp.long.as.BitXorWith.impl.Op.48a9f4.2, @Cpp.long.as.BitXorWith.impl.Op.1(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.specific_fn.4ec2b6.2: <specific function> = specific_function %Cpp.long.as.BitXorWith.impl.Op.48a9f4.1, @Cpp.long.as.BitXorWith.impl.Op.2(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.type.048: type = facet_type <@LeftShiftWith, @LeftShiftWith(%i32)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.Op.type.dfc: type = fn_type @LeftShiftWith.Op, @LeftShiftWith(%i32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.type.97b57f.1: type = fn_type @Cpp.long.as.LeftShiftWith.impl.Op.1, @Cpp.long.as.LeftShiftWith.impl.272(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.69ad3e.1: %Cpp.long.as.LeftShiftWith.impl.Op.type.97b57f.1 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.type.97b57f.2: type = fn_type @Cpp.long.as.LeftShiftWith.impl.Op.2, @Cpp.long.as.LeftShiftWith.impl.272(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.69ad3e.2: %Cpp.long.as.LeftShiftWith.impl.Op.type.97b57f.2 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.type.a1f: type = facet_type <@LeftShiftWith, @LeftShiftWith(Core.IntLiteral)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.Op.type.55b: type = fn_type @LeftShiftWith.Op, @LeftShiftWith(Core.IntLiteral) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.impl_witness.982: <witness> = impl_witness imports.%LeftShiftWith.impl_witness_table.a97, @Cpp.long.as.LeftShiftWith.impl.272(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.type.1d34cb.1: type = fn_type @Cpp.long.as.LeftShiftWith.impl.Op.2, @Cpp.long.as.LeftShiftWith.impl.272(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.9105a1.1: %Cpp.long.as.LeftShiftWith.impl.Op.type.1d34cb.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.type.1d34cb.2: type = fn_type @Cpp.long.as.LeftShiftWith.impl.Op.1, @Cpp.long.as.LeftShiftWith.impl.272(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.9105a1.2: %Cpp.long.as.LeftShiftWith.impl.Op.type.1d34cb.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.facet.089: %LeftShiftWith.type.048 = facet_value %Cpp.long, (%LeftShiftWith.impl_witness.982) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.2be: type = fn_type_with_self_type %LeftShiftWith.Op.type.dfc, %LeftShiftWith.facet.089 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.1fda18.1: <specific function> = specific_function %Cpp.long.as.LeftShiftWith.impl.Op.9105a1.2, @Cpp.long.as.LeftShiftWith.impl.Op.1(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.1fda18.2: <specific function> = specific_function %Cpp.long.as.LeftShiftWith.impl.Op.9105a1.1, @Cpp.long.as.LeftShiftWith.impl.Op.2(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.type.bc6: type = facet_type <@RightShiftWith, @RightShiftWith(%i32)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.Op.type.807: type = fn_type @RightShiftWith.Op, @RightShiftWith(%i32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.type.cc50bd.1: type = fn_type @Cpp.long.as.RightShiftWith.impl.Op.1, @Cpp.long.as.RightShiftWith.impl.3d6(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.e1e575.1: %Cpp.long.as.RightShiftWith.impl.Op.type.cc50bd.1 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.type.cc50bd.2: type = fn_type @Cpp.long.as.RightShiftWith.impl.Op.2, @Cpp.long.as.RightShiftWith.impl.3d6(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.e1e575.2: %Cpp.long.as.RightShiftWith.impl.Op.type.cc50bd.2 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.type.18a: type = facet_type <@RightShiftWith, @RightShiftWith(Core.IntLiteral)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.Op.type.c0c: type = fn_type @RightShiftWith.Op, @RightShiftWith(Core.IntLiteral) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.impl_witness.ccb: <witness> = impl_witness imports.%RightShiftWith.impl_witness_table.e0a, @Cpp.long.as.RightShiftWith.impl.3d6(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.type.e35e06.1: type = fn_type @Cpp.long.as.RightShiftWith.impl.Op.2, @Cpp.long.as.RightShiftWith.impl.3d6(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.50edfc.1: %Cpp.long.as.RightShiftWith.impl.Op.type.e35e06.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.type.e35e06.2: type = fn_type @Cpp.long.as.RightShiftWith.impl.Op.1, @Cpp.long.as.RightShiftWith.impl.3d6(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.50edfc.2: %Cpp.long.as.RightShiftWith.impl.Op.type.e35e06.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.facet.6d9: %RightShiftWith.type.bc6 = facet_value %Cpp.long, (%RightShiftWith.impl_witness.ccb) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.dac: type = fn_type_with_self_type %RightShiftWith.Op.type.807, %RightShiftWith.facet.6d9 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.specific_fn.012106.1: <specific function> = specific_function %Cpp.long.as.RightShiftWith.impl.Op.50edfc.2, @Cpp.long.as.RightShiftWith.impl.Op.1(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.specific_fn.012106.2: <specific function> = specific_function %Cpp.long.as.RightShiftWith.impl.Op.50edfc.1, @Cpp.long.as.RightShiftWith.impl.Op.2(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.impl_witness.0fc: <witness> = impl_witness imports.%BitAndWith.impl_witness_table.072, @Cpp.long.as.BitAndWith.impl.334(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.type.ae3ddd.1: type = fn_type @Cpp.long.as.BitAndWith.impl.Op.2, @Cpp.long.as.BitAndWith.impl.334(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.98f052.1: %Cpp.long.as.BitAndWith.impl.Op.type.ae3ddd.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.type.ae3ddd.2: type = fn_type @Cpp.long.as.BitAndWith.impl.Op.1, @Cpp.long.as.BitAndWith.impl.334(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.98f052.2: %Cpp.long.as.BitAndWith.impl.Op.type.ae3ddd.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.facet.6ae: %BitAndWith.type.011 = facet_value %Cpp.long, (%BitAndWith.impl_witness.0fc) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.9d7: type = fn_type_with_self_type %BitAndWith.Op.type.4bf, %BitAndWith.facet.6ae [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.specific_fn.af17b5.1: <specific function> = specific_function %Cpp.long.as.BitAndWith.impl.Op.98f052.2, @Cpp.long.as.BitAndWith.impl.Op.1(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.specific_fn.af17b5.2: <specific function> = specific_function %Cpp.long.as.BitAndWith.impl.Op.98f052.1, @Cpp.long.as.BitAndWith.impl.Op.2(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.impl_witness.39f: <witness> = impl_witness imports.%BitOrWith.impl_witness_table.9a6, @Cpp.long.as.BitOrWith.impl.fc3(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.type.331453.1: type = fn_type @Cpp.long.as.BitOrWith.impl.Op.2, @Cpp.long.as.BitOrWith.impl.fc3(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.664d1e.1: %Cpp.long.as.BitOrWith.impl.Op.type.331453.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.type.331453.2: type = fn_type @Cpp.long.as.BitOrWith.impl.Op.1, @Cpp.long.as.BitOrWith.impl.fc3(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.664d1e.2: %Cpp.long.as.BitOrWith.impl.Op.type.331453.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.facet.9a5: %BitOrWith.type.cba = facet_value %Cpp.long, (%BitOrWith.impl_witness.39f) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.a50: type = fn_type_with_self_type %BitOrWith.Op.type.0e5, %BitOrWith.facet.9a5 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.specific_fn.be7132.1: <specific function> = specific_function %Cpp.long.as.BitOrWith.impl.Op.664d1e.2, @Cpp.long.as.BitOrWith.impl.Op.1(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.specific_fn.be7132.2: <specific function> = specific_function %Cpp.long.as.BitOrWith.impl.Op.664d1e.1, @Cpp.long.as.BitOrWith.impl.Op.2(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.impl_witness.001: <witness> = impl_witness imports.%BitXorWith.impl_witness_table.9f4, @Cpp.long.as.BitXorWith.impl.732(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.type.97a9a2.1: type = fn_type @Cpp.long.as.BitXorWith.impl.Op.2, @Cpp.long.as.BitXorWith.impl.732(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.5b3046.1: %Cpp.long.as.BitXorWith.impl.Op.type.97a9a2.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.type.97a9a2.2: type = fn_type @Cpp.long.as.BitXorWith.impl.Op.1, @Cpp.long.as.BitXorWith.impl.732(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.5b3046.2: %Cpp.long.as.BitXorWith.impl.Op.type.97a9a2.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.facet.349: %BitXorWith.type.fd0 = facet_value %Cpp.long, (%BitXorWith.impl_witness.001) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.8e7: type = fn_type_with_self_type %BitXorWith.Op.type.1f1, %BitXorWith.facet.349 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.specific_fn.f1c9e6.1: <specific function> = specific_function %Cpp.long.as.BitXorWith.impl.Op.5b3046.2, @Cpp.long.as.BitXorWith.impl.Op.1(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.specific_fn.f1c9e6.2: <specific function> = specific_function %Cpp.long.as.BitXorWith.impl.Op.5b3046.1, @Cpp.long.as.BitXorWith.impl.Op.2(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.impl_witness.a1c: <witness> = impl_witness imports.%LeftShiftWith.impl_witness_table.a97, @Cpp.long.as.LeftShiftWith.impl.272(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.type.d93838.1: type = fn_type @Cpp.long.as.LeftShiftWith.impl.Op.2, @Cpp.long.as.LeftShiftWith.impl.272(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.f145d8.1: %Cpp.long.as.LeftShiftWith.impl.Op.type.d93838.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.type.d93838.2: type = fn_type @Cpp.long.as.LeftShiftWith.impl.Op.1, @Cpp.long.as.LeftShiftWith.impl.272(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.f145d8.2: %Cpp.long.as.LeftShiftWith.impl.Op.type.d93838.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.facet.5e2: %LeftShiftWith.type.a1f = facet_value %Cpp.long, (%LeftShiftWith.impl_witness.a1c) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.0a1: type = fn_type_with_self_type %LeftShiftWith.Op.type.55b, %LeftShiftWith.facet.5e2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.abc44e.1: <specific function> = specific_function %Cpp.long.as.LeftShiftWith.impl.Op.f145d8.2, @Cpp.long.as.LeftShiftWith.impl.Op.1(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.abc44e.2: <specific function> = specific_function %Cpp.long.as.LeftShiftWith.impl.Op.f145d8.1, @Cpp.long.as.LeftShiftWith.impl.Op.2(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.impl_witness.5fe: <witness> = impl_witness imports.%RightShiftWith.impl_witness_table.e0a, @Cpp.long.as.RightShiftWith.impl.3d6(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.type.a6dc1c.1: type = fn_type @Cpp.long.as.RightShiftWith.impl.Op.2, @Cpp.long.as.RightShiftWith.impl.3d6(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.249bc3.1: %Cpp.long.as.RightShiftWith.impl.Op.type.a6dc1c.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.type.a6dc1c.2: type = fn_type @Cpp.long.as.RightShiftWith.impl.Op.1, @Cpp.long.as.RightShiftWith.impl.3d6(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.249bc3.2: %Cpp.long.as.RightShiftWith.impl.Op.type.a6dc1c.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.facet.1d4: %RightShiftWith.type.18a = facet_value %Cpp.long, (%RightShiftWith.impl_witness.5fe) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.fab: type = fn_type_with_self_type %RightShiftWith.Op.type.c0c, %RightShiftWith.facet.1d4 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.specific_fn.c6040e.1: <specific function> = specific_function %Cpp.long.as.RightShiftWith.impl.Op.249bc3.2, @Cpp.long.as.RightShiftWith.impl.Op.1(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.specific_fn.c6040e.2: <specific function> = specific_function %Cpp.long.as.RightShiftWith.impl.Op.249bc3.1, @Cpp.long.as.RightShiftWith.impl.Op.2(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.type.e8c: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.Convert.type.1b6: type = fn_type @ImplicitAs.Convert, @ImplicitAs(%i32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness.6bc: <witness> = impl_witness imports.%ImplicitAs.impl_witness_table.74f, @Core.IntLiteral.as.ImplicitAs.impl.b2d(%int_32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e0d: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.b2d(%int_32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e0d = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.b94: %ImplicitAs.type.e8c = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.6bc) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.863: type = fn_type_with_self_type %ImplicitAs.Convert.type.1b6, %ImplicitAs.facet.b94 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.215: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: <specific function> = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(%int_32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.38b: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: imports {
|
|
// CHECK:STDOUT: imports {
|
|
@@ -5030,21 +5224,33 @@ fn CopyUnsignedLong() {
|
|
|
// CHECK:STDOUT: %ImplicitAs.impl_witness_table.903 = impl_witness_table (%Core.import_ref.b8a), @Core.IntLiteral.as.ImplicitAs.impl.052 [concrete]
|
|
// CHECK:STDOUT: %ImplicitAs.impl_witness_table.903 = impl_witness_table (%Core.import_ref.b8a), @Core.IntLiteral.as.ImplicitAs.impl.052 [concrete]
|
|
|
// CHECK:STDOUT: %Core.import_ref.ca0: @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.09e) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.dbe)]
|
|
// CHECK:STDOUT: %Core.import_ref.ca0: @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.09e) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.dbe)]
|
|
|
// CHECK:STDOUT: %As.impl_witness_table.9fc = impl_witness_table (%Core.import_ref.ca0), @Core.IntLiteral.as.As.impl [concrete]
|
|
// CHECK:STDOUT: %As.impl_witness_table.9fc = impl_witness_table (%Core.import_ref.ca0), @Core.IntLiteral.as.As.impl [concrete]
|
|
|
-// CHECK:STDOUT: %Core.import_ref.475cb3.2 = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
-// CHECK:STDOUT: %Core.import_ref.611: @Int.as.BitAndWith.impl.4ac.%Int.as.BitAndWith.impl.Op.type.2 (%Int.as.BitAndWith.impl.Op.type.1b6537.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.BitAndWith.impl.4ac.%Int.as.BitAndWith.impl.Op.2 (constants.%Int.as.BitAndWith.impl.Op.b9569a.1)]
|
|
|
|
|
-// CHECK:STDOUT: %BitAndWith.impl_witness_table.ebf = impl_witness_table (%Core.import_ref.475cb3.2, %Core.import_ref.611), @Int.as.BitAndWith.impl.4ac [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Core.Op.36f: @Int.as.BitAndWith.impl.4ac.%Int.as.BitAndWith.impl.Op.type.1 (%Int.as.BitAndWith.impl.Op.type.1b6537.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @Int.as.BitAndWith.impl.4ac.%Int.as.BitAndWith.impl.Op.1 (constants.%Int.as.BitAndWith.impl.Op.b9569a.2)]
|
|
|
|
|
-// CHECK:STDOUT: %Core.import_ref.475cb3.3 = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
-// CHECK:STDOUT: %Core.import_ref.29d: @T.binding.as_type.as.BitAndWith.impl.96d.%T.binding.as_type.as.BitAndWith.impl.Op.type.2 (%T.binding.as_type.as.BitAndWith.impl.Op.type.e95062.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @T.binding.as_type.as.BitAndWith.impl.96d.%T.binding.as_type.as.BitAndWith.impl.Op.2 (constants.%T.binding.as_type.as.BitAndWith.impl.Op.892c6d.1)]
|
|
|
|
|
-// CHECK:STDOUT: %BitAndWith.impl_witness_table.5e7 = impl_witness_table (%Core.import_ref.475cb3.3, %Core.import_ref.29d), @T.binding.as_type.as.BitAndWith.impl.96d [concrete]
|
|
|
|
|
-// CHECK:STDOUT: %Core.Op.944: @T.binding.as_type.as.BitAndWith.impl.96d.%T.binding.as_type.as.BitAndWith.impl.Op.type.1 (%T.binding.as_type.as.BitAndWith.impl.Op.type.e95062.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @T.binding.as_type.as.BitAndWith.impl.96d.%T.binding.as_type.as.BitAndWith.impl.Op.1 (constants.%T.binding.as_type.as.BitAndWith.impl.Op.892c6d.2)]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.cb912f.1 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.17a: @Cpp.long.as.BitAndWith.impl.334.%Cpp.long.as.BitAndWith.impl.Op.type.2 (%Cpp.long.as.BitAndWith.impl.Op.type.8319b2.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitAndWith.impl.334.%Cpp.long.as.BitAndWith.impl.Op.2 (constants.%Cpp.long.as.BitAndWith.impl.Op.3828c1.1)]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.impl_witness_table.072 = impl_witness_table (%Core.import_ref.cb912f.1, %Core.import_ref.17a), @Cpp.long.as.BitAndWith.impl.334 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.Op.c8a: @Cpp.long.as.BitAndWith.impl.334.%Cpp.long.as.BitAndWith.impl.Op.type.1 (%Cpp.long.as.BitAndWith.impl.Op.type.8319b2.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.BitAndWith.impl.334.%Cpp.long.as.BitAndWith.impl.Op.1 (constants.%Cpp.long.as.BitAndWith.impl.Op.3828c1.2)]
|
|
|
// CHECK:STDOUT: %Core.import_ref.42d: @Core.IntLiteral.as.ImplicitAs.impl.b2d.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.b2d.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3c2)]
|
|
// CHECK:STDOUT: %Core.import_ref.42d: @Core.IntLiteral.as.ImplicitAs.impl.b2d.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.b2d.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3c2)]
|
|
|
// CHECK:STDOUT: %ImplicitAs.impl_witness_table.74f = impl_witness_table (%Core.import_ref.42d), @Core.IntLiteral.as.ImplicitAs.impl.b2d [concrete]
|
|
// CHECK:STDOUT: %ImplicitAs.impl_witness_table.74f = impl_witness_table (%Core.import_ref.42d), @Core.IntLiteral.as.ImplicitAs.impl.b2d [concrete]
|
|
|
-// CHECK:STDOUT: %Core.import_ref.297: %Cpp.long.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert]
|
|
|
|
|
-// CHECK:STDOUT: %ImplicitAs.impl_witness_table.cb1 = impl_witness_table (%Core.import_ref.297), @Cpp.long.as.ImplicitAs.impl.e6d [concrete]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.4fa: %i32.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness_table.5ad = impl_witness_table (%Core.import_ref.4fa), @i32.as.ImplicitAs.impl [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.cb912f.3 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.3b6: @Cpp.long.as.BitOrWith.impl.fc3.%Cpp.long.as.BitOrWith.impl.Op.type.2 (%Cpp.long.as.BitOrWith.impl.Op.type.9f5440.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitOrWith.impl.fc3.%Cpp.long.as.BitOrWith.impl.Op.2 (constants.%Cpp.long.as.BitOrWith.impl.Op.81f55a.1)]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.impl_witness_table.9a6 = impl_witness_table (%Core.import_ref.cb912f.3, %Core.import_ref.3b6), @Cpp.long.as.BitOrWith.impl.fc3 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.Op.788: @Cpp.long.as.BitOrWith.impl.fc3.%Cpp.long.as.BitOrWith.impl.Op.type.1 (%Cpp.long.as.BitOrWith.impl.Op.type.9f5440.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.BitOrWith.impl.fc3.%Cpp.long.as.BitOrWith.impl.Op.1 (constants.%Cpp.long.as.BitOrWith.impl.Op.81f55a.2)]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.cb912f.5 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.619: @Cpp.long.as.BitXorWith.impl.732.%Cpp.long.as.BitXorWith.impl.Op.type.2 (%Cpp.long.as.BitXorWith.impl.Op.type.876fc1.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitXorWith.impl.732.%Cpp.long.as.BitXorWith.impl.Op.2 (constants.%Cpp.long.as.BitXorWith.impl.Op.c0eaae.1)]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.impl_witness_table.9f4 = impl_witness_table (%Core.import_ref.cb912f.5, %Core.import_ref.619), @Cpp.long.as.BitXorWith.impl.732 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.Op.c61: @Cpp.long.as.BitXorWith.impl.732.%Cpp.long.as.BitXorWith.impl.Op.type.1 (%Cpp.long.as.BitXorWith.impl.Op.type.876fc1.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.BitXorWith.impl.732.%Cpp.long.as.BitXorWith.impl.Op.1 (constants.%Cpp.long.as.BitXorWith.impl.Op.c0eaae.2)]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.cb912f.7 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.0ca: @Cpp.long.as.LeftShiftWith.impl.272.%Cpp.long.as.LeftShiftWith.impl.Op.type.2 (%Cpp.long.as.LeftShiftWith.impl.Op.type.97b57f.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.LeftShiftWith.impl.272.%Cpp.long.as.LeftShiftWith.impl.Op.2 (constants.%Cpp.long.as.LeftShiftWith.impl.Op.69ad3e.1)]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.impl_witness_table.a97 = impl_witness_table (%Core.import_ref.cb912f.7, %Core.import_ref.0ca), @Cpp.long.as.LeftShiftWith.impl.272 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.Op.2db: @Cpp.long.as.LeftShiftWith.impl.272.%Cpp.long.as.LeftShiftWith.impl.Op.type.1 (%Cpp.long.as.LeftShiftWith.impl.Op.type.97b57f.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.LeftShiftWith.impl.272.%Cpp.long.as.LeftShiftWith.impl.Op.1 (constants.%Cpp.long.as.LeftShiftWith.impl.Op.69ad3e.2)]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.cb912f.9 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.038: @Cpp.long.as.RightShiftWith.impl.3d6.%Cpp.long.as.RightShiftWith.impl.Op.type.2 (%Cpp.long.as.RightShiftWith.impl.Op.type.cc50bd.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.RightShiftWith.impl.3d6.%Cpp.long.as.RightShiftWith.impl.Op.2 (constants.%Cpp.long.as.RightShiftWith.impl.Op.e1e575.1)]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.impl_witness_table.e0a = impl_witness_table (%Core.import_ref.cb912f.9, %Core.import_ref.038), @Cpp.long.as.RightShiftWith.impl.3d6 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.Op.330: @Cpp.long.as.RightShiftWith.impl.3d6.%Cpp.long.as.RightShiftWith.impl.Op.type.1 (%Cpp.long.as.RightShiftWith.impl.Op.type.cc50bd.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.RightShiftWith.impl.3d6.%Cpp.long.as.RightShiftWith.impl.Op.1 (constants.%Cpp.long.as.RightShiftWith.impl.Op.e1e575.2)]
|
|
|
// CHECK:STDOUT: }
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: fn @BitWiseHeterogeneousLong() {
|
|
|
|
|
|
|
+// CHECK:STDOUT: fn @BitWiseHeterogeneousLongLeftSide() {
|
|
|
// CHECK:STDOUT: !entry:
|
|
// CHECK:STDOUT: !entry:
|
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
// CHECK:STDOUT: name_binding_decl {
|
|
|
// CHECK:STDOUT: %a.patt: %pattern_type.68c = value_binding_pattern a [concrete]
|
|
// CHECK:STDOUT: %a.patt: %pattern_type.68c = value_binding_pattern a [concrete]
|
|
@@ -5060,94 +5266,1404 @@ fn CopyUnsignedLong() {
|
|
|
// CHECK:STDOUT: %.loc10_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10 [concrete = constants.%int_1.5a4]
|
|
// CHECK:STDOUT: %.loc10_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10 [concrete = constants.%int_1.5a4]
|
|
|
// CHECK:STDOUT: %.loc10_21.2: %Cpp.long = converted %int_1.loc10, %.loc10_21.1 [concrete = constants.%int_1.5a4]
|
|
// CHECK:STDOUT: %.loc10_21.2: %Cpp.long = converted %int_1.loc10, %.loc10_21.1 [concrete = constants.%int_1.5a4]
|
|
|
// CHECK:STDOUT: %a: %Cpp.long = value_binding a, %.loc10_21.2
|
|
// CHECK:STDOUT: %a: %Cpp.long = value_binding a, %.loc10_21.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc12: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc12_18: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc12: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
+// CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc12_25.1: %.97a = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_25.1: <bound method> = bound_method %int_1.loc12, %impl.elem0.loc12_25.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc12_25: <specific function> = specific_function %impl.elem0.loc12_25.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_25.2: <bound method> = bound_method %int_1.loc12, %specific_fn.loc12_25 [concrete = constants.%bound_method.290]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc12: init %i32 = call %bound_method.loc12_25.2(%int_1.loc12) [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_25.1: %i32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc12 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_25.2: %i32 = converted %int_1.loc12, %.loc12_25.1 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc12: %.bdd = impl_witness_access constants.%BitAndWith.impl_witness.fe3, element1 [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.a9ac84.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_20.1: <bound method> = bound_method %a.ref.loc12_18, %impl.elem1.loc12
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc12_20.1: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_20.1: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc12_20.1 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc12_20.2: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_20.2: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc12_20.2 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc12_20: <specific function> = specific_function %impl.elem1.loc12, @Cpp.long.as.BitAndWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.specific_fn.dcd797.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_20.2: <bound method> = bound_method %a.ref.loc12_18, %specific_fn.loc12_20
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_20.3: %Cpp.long.as.BitAndWith.impl.Op.type.202298.1 = specific_constant imports.%Core.Op.c8a, @Cpp.long.as.BitAndWith.impl.334(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.a9ac84.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc12: %Cpp.long.as.BitAndWith.impl.Op.type.202298.1 = name_ref Op, %.loc12_20.3 [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.a9ac84.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.bound.loc12: <bound method> = bound_method %a.ref.loc12_18, %Op.ref.loc12
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc12_20: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_20.3: <bound method> = bound_method %.loc12_25.2, %impl.elem0.loc12_20 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc12_20: init %Cpp.long = call %bound_method.loc12_20.3(%.loc12_25.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_20.4: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc12_20 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_20.5: %Cpp.long = converted %.loc12_25.2, %.loc12_20.4 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.specific_fn.loc12: <specific function> = specific_function %Op.ref.loc12, @Cpp.long.as.BitAndWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.specific_fn.dcd797.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_20.4: <bound method> = bound_method %a.ref.loc12_18, %Cpp.long.as.BitAndWith.impl.Op.specific_fn.loc12
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc12_25.2: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_25.3: <bound method> = bound_method %.loc12_25.2, %impl.elem0.loc12_25.2 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc12_25: init %Cpp.long = call %bound_method.loc12_25.3(%.loc12_25.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_25.3: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc12_25 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_25.4: %Cpp.long = converted %.loc12_25.2, %.loc12_25.3 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.call.loc12: init %Cpp.long = call %bound_method.loc12_20.4(%a.ref.loc12_18, %.loc12_25.4)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc12_34: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc12: <specific function> = specific_function %AssertSameType.ref.loc12, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.BitAndWith.impl.Op.call.loc12
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_20.7: %Cpp.long = converted %Cpp.long.as.BitAndWith.impl.Op.call.loc12, %.loc12_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc12: init %empty_tuple.type = call %AssertSameType.specific_fn.loc12(%.loc12_20.7, %a.ref.loc12_34)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc13: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc13_18: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc13: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
+// CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc13_25.1: %.97a = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_25.1: <bound method> = bound_method %int_1.loc13, %impl.elem0.loc13_25.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc13_25: <specific function> = specific_function %impl.elem0.loc13_25.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_25.2: <bound method> = bound_method %int_1.loc13, %specific_fn.loc13_25 [concrete = constants.%bound_method.290]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc13: init %i32 = call %bound_method.loc13_25.2(%int_1.loc13) [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_25.1: %i32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc13 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_25.2: %i32 = converted %int_1.loc13, %.loc13_25.1 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc13: %.faa = impl_witness_access constants.%BitOrWith.impl_witness.b0c, element1 [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.d9c870.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_20.1: <bound method> = bound_method %a.ref.loc13_18, %impl.elem1.loc13
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc13_20.1: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_20.1: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc13_20.1 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc13_20.2: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_20.2: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc13_20.2 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc13_20: <specific function> = specific_function %impl.elem1.loc13, @Cpp.long.as.BitOrWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.specific_fn.03ab4b.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_20.2: <bound method> = bound_method %a.ref.loc13_18, %specific_fn.loc13_20
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_20.3: %Cpp.long.as.BitOrWith.impl.Op.type.dccbc7.1 = specific_constant imports.%Core.Op.788, @Cpp.long.as.BitOrWith.impl.fc3(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.d9c870.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc13: %Cpp.long.as.BitOrWith.impl.Op.type.dccbc7.1 = name_ref Op, %.loc13_20.3 [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.d9c870.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.bound.loc13: <bound method> = bound_method %a.ref.loc13_18, %Op.ref.loc13
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc13_20: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_20.3: <bound method> = bound_method %.loc13_25.2, %impl.elem0.loc13_20 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc13_20: init %Cpp.long = call %bound_method.loc13_20.3(%.loc13_25.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_20.4: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc13_20 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_20.5: %Cpp.long = converted %.loc13_25.2, %.loc13_20.4 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.specific_fn.loc13: <specific function> = specific_function %Op.ref.loc13, @Cpp.long.as.BitOrWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.specific_fn.03ab4b.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_20.4: <bound method> = bound_method %a.ref.loc13_18, %Cpp.long.as.BitOrWith.impl.Op.specific_fn.loc13
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc13_25.2: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_25.3: <bound method> = bound_method %.loc13_25.2, %impl.elem0.loc13_25.2 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc13_25: init %Cpp.long = call %bound_method.loc13_25.3(%.loc13_25.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_25.3: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc13_25 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_25.4: %Cpp.long = converted %.loc13_25.2, %.loc13_25.3 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.call.loc13: init %Cpp.long = call %bound_method.loc13_20.4(%a.ref.loc13_18, %.loc13_25.4)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc13_34: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc13: <specific function> = specific_function %AssertSameType.ref.loc13, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.BitOrWith.impl.Op.call.loc13
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_20.7: %Cpp.long = converted %Cpp.long.as.BitOrWith.impl.Op.call.loc13, %.loc13_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc13: init %empty_tuple.type = call %AssertSameType.specific_fn.loc13(%.loc13_20.7, %a.ref.loc13_34)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc14: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc14_18: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc14: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
+// CHECK:STDOUT: %i32.loc14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc14_25.1: %.97a = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_25.1: <bound method> = bound_method %int_1.loc14, %impl.elem0.loc14_25.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc14_25: <specific function> = specific_function %impl.elem0.loc14_25.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_25.2: <bound method> = bound_method %int_1.loc14, %specific_fn.loc14_25 [concrete = constants.%bound_method.290]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc14: init %i32 = call %bound_method.loc14_25.2(%int_1.loc14) [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_25.1: %i32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc14 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_25.2: %i32 = converted %int_1.loc14, %.loc14_25.1 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc14: %.f2f = impl_witness_access constants.%BitXorWith.impl_witness.8a0, element1 [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.48a9f4.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_20.1: <bound method> = bound_method %a.ref.loc14_18, %impl.elem1.loc14
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc14_20.1: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_20.1: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc14_20.1 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc14_20.2: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_20.2: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc14_20.2 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc14_20: <specific function> = specific_function %impl.elem1.loc14, @Cpp.long.as.BitXorWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.specific_fn.4ec2b6.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_20.2: <bound method> = bound_method %a.ref.loc14_18, %specific_fn.loc14_20
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_20.3: %Cpp.long.as.BitXorWith.impl.Op.type.7fe348.1 = specific_constant imports.%Core.Op.c61, @Cpp.long.as.BitXorWith.impl.732(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.48a9f4.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc14: %Cpp.long.as.BitXorWith.impl.Op.type.7fe348.1 = name_ref Op, %.loc14_20.3 [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.48a9f4.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.bound.loc14: <bound method> = bound_method %a.ref.loc14_18, %Op.ref.loc14
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc14_20: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_20.3: <bound method> = bound_method %.loc14_25.2, %impl.elem0.loc14_20 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc14_20: init %Cpp.long = call %bound_method.loc14_20.3(%.loc14_25.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_20.4: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc14_20 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_20.5: %Cpp.long = converted %.loc14_25.2, %.loc14_20.4 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.specific_fn.loc14: <specific function> = specific_function %Op.ref.loc14, @Cpp.long.as.BitXorWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.specific_fn.4ec2b6.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_20.4: <bound method> = bound_method %a.ref.loc14_18, %Cpp.long.as.BitXorWith.impl.Op.specific_fn.loc14
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc14_25.2: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_25.3: <bound method> = bound_method %.loc14_25.2, %impl.elem0.loc14_25.2 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc14_25: init %Cpp.long = call %bound_method.loc14_25.3(%.loc14_25.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_25.3: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc14_25 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_25.4: %Cpp.long = converted %.loc14_25.2, %.loc14_25.3 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.call.loc14: init %Cpp.long = call %bound_method.loc14_20.4(%a.ref.loc14_18, %.loc14_25.4)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc14_34: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc14: <specific function> = specific_function %AssertSameType.ref.loc14, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.BitXorWith.impl.Op.call.loc14
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_20.7: %Cpp.long = converted %Cpp.long.as.BitXorWith.impl.Op.call.loc14, %.loc14_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc14: init %empty_tuple.type = call %AssertSameType.specific_fn.loc14(%.loc14_20.7, %a.ref.loc14_34)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc15: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc15_18: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc15: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %int_32.loc15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
+// CHECK:STDOUT: %i32.loc15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc15_26.1: %.97a = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc15_26.1: <bound method> = bound_method %int_1.loc15, %impl.elem0.loc15_26.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc15_26: <specific function> = specific_function %impl.elem0.loc15_26.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc15_26.2: <bound method> = bound_method %int_1.loc15, %specific_fn.loc15_26 [concrete = constants.%bound_method.290]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc15: init %i32 = call %bound_method.loc15_26.2(%int_1.loc15) [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_26.1: %i32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc15 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_26.2: %i32 = converted %int_1.loc15, %.loc15_26.1 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc15: %.2be = impl_witness_access constants.%LeftShiftWith.impl_witness.982, element1 [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.9105a1.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc15_20.1: <bound method> = bound_method %a.ref.loc15_18, %impl.elem1.loc15
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc15_20.1: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_20.1: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc15_20.1 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc15_20.2: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_20.2: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc15_20.2 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc15_20: <specific function> = specific_function %impl.elem1.loc15, @Cpp.long.as.LeftShiftWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.1fda18.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc15_20.2: <bound method> = bound_method %a.ref.loc15_18, %specific_fn.loc15_20
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_20.3: %Cpp.long.as.LeftShiftWith.impl.Op.type.1d34cb.1 = specific_constant imports.%Core.Op.2db, @Cpp.long.as.LeftShiftWith.impl.272(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.9105a1.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc15: %Cpp.long.as.LeftShiftWith.impl.Op.type.1d34cb.1 = name_ref Op, %.loc15_20.3 [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.9105a1.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.bound.loc15: <bound method> = bound_method %a.ref.loc15_18, %Op.ref.loc15
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc15_20: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc15_20.3: <bound method> = bound_method %.loc15_26.2, %impl.elem0.loc15_20 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc15_20: init %Cpp.long = call %bound_method.loc15_20.3(%.loc15_26.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_20.4: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc15_20 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_20.5: %Cpp.long = converted %.loc15_26.2, %.loc15_20.4 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.loc15: <specific function> = specific_function %Op.ref.loc15, @Cpp.long.as.LeftShiftWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.1fda18.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc15_20.4: <bound method> = bound_method %a.ref.loc15_18, %Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.loc15
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc15_26.2: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc15_26.3: <bound method> = bound_method %.loc15_26.2, %impl.elem0.loc15_26.2 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc15_26: init %Cpp.long = call %bound_method.loc15_26.3(%.loc15_26.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_26.3: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc15_26 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_26.4: %Cpp.long = converted %.loc15_26.2, %.loc15_26.3 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.call.loc15: init %Cpp.long = call %bound_method.loc15_20.4(%a.ref.loc15_18, %.loc15_26.4)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc15_35: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc15: <specific function> = specific_function %AssertSameType.ref.loc15, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.LeftShiftWith.impl.Op.call.loc15
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_20.7: %Cpp.long = converted %Cpp.long.as.LeftShiftWith.impl.Op.call.loc15, %.loc15_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc15: init %empty_tuple.type = call %AssertSameType.specific_fn.loc15(%.loc15_20.7, %a.ref.loc15_35)
|
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc16: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc16: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
// CHECK:STDOUT: %a.ref.loc16_18: %Cpp.long = name_ref a, %a
|
|
// CHECK:STDOUT: %a.ref.loc16_18: %Cpp.long = name_ref a, %a
|
|
|
// CHECK:STDOUT: %int_1.loc16: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
// CHECK:STDOUT: %int_1.loc16: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
// CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
// CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc16: %.97a = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.loc16_25.1: <bound method> = bound_method %int_1.loc16, %impl.elem0.loc16 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound]
|
|
|
|
|
-// CHECK:STDOUT: %specific_fn.loc16: <specific function> = specific_function %impl.elem0.loc16, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.loc16_25.2: <bound method> = bound_method %int_1.loc16, %specific_fn.loc16 [concrete = constants.%bound_method.290]
|
|
|
|
|
-// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc16: init %i32 = call %bound_method.loc16_25.2(%int_1.loc16) [concrete = constants.%int_1.5d2]
|
|
|
|
|
-// CHECK:STDOUT: %.loc16_25.1: %i32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc16 [concrete = constants.%int_1.5d2]
|
|
|
|
|
-// CHECK:STDOUT: %.loc16_25.2: %i32 = converted %int_1.loc16, %.loc16_25.1 [concrete = constants.%int_1.5d2]
|
|
|
|
|
-// CHECK:STDOUT: %a.ref.loc16_34: %Cpp.long = name_ref a, %a
|
|
|
|
|
-// CHECK:STDOUT: %AssertSameType.ref.loc22: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
-// CHECK:STDOUT: %int_1.loc22: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
-// CHECK:STDOUT: %int_32.loc22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
-// CHECK:STDOUT: %i32.loc22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc22: %.97a = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.loc22_21.1: <bound method> = bound_method %int_1.loc22, %impl.elem0.loc22 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound]
|
|
|
|
|
-// CHECK:STDOUT: %specific_fn.loc22: <specific function> = specific_function %impl.elem0.loc22, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.loc22_21.2: <bound method> = bound_method %int_1.loc22, %specific_fn.loc22 [concrete = constants.%bound_method.290]
|
|
|
|
|
-// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc22: init %i32 = call %bound_method.loc22_21.2(%int_1.loc22) [concrete = constants.%int_1.5d2]
|
|
|
|
|
-// CHECK:STDOUT: %.loc22_21.1: %i32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc22 [concrete = constants.%int_1.5d2]
|
|
|
|
|
-// CHECK:STDOUT: %.loc22_21.2: %i32 = converted %int_1.loc22, %.loc22_21.1 [concrete = constants.%int_1.5d2]
|
|
|
|
|
-// CHECK:STDOUT: %a.ref.loc22_31: %Cpp.long = name_ref a, %a
|
|
|
|
|
-// CHECK:STDOUT: %a.ref.loc22_34: %Cpp.long = name_ref a, %a
|
|
|
|
|
-// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
-// CHECK:STDOUT: %b.patt: %pattern_type.95b = value_binding_pattern b [concrete]
|
|
|
|
|
-// CHECK:STDOUT: }
|
|
|
|
|
-// CHECK:STDOUT: %int_1.loc24: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
-// CHECK:STDOUT: %.loc24_10: type = splice_block %i64 [concrete = constants.%i64] {
|
|
|
|
|
-// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64]
|
|
|
|
|
-// CHECK:STDOUT: %i64: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64]
|
|
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc16_26.1: %.97a = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc16_26.1: <bound method> = bound_method %int_1.loc16, %impl.elem0.loc16_26.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc16_26: <specific function> = specific_function %impl.elem0.loc16_26.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc16_26.2: <bound method> = bound_method %int_1.loc16, %specific_fn.loc16_26 [concrete = constants.%bound_method.290]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc16: init %i32 = call %bound_method.loc16_26.2(%int_1.loc16) [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_26.1: %i32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc16 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_26.2: %i32 = converted %int_1.loc16, %.loc16_26.1 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc16: %.dac = impl_witness_access constants.%RightShiftWith.impl_witness.ccb, element1 [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.50edfc.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc16_20.1: <bound method> = bound_method %a.ref.loc16_18, %impl.elem1.loc16
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc16_20.1: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_20.1: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc16_20.1 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc16_20.2: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_20.2: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc16_20.2 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc16_20: <specific function> = specific_function %impl.elem1.loc16, @Cpp.long.as.RightShiftWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.specific_fn.012106.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc16_20.2: <bound method> = bound_method %a.ref.loc16_18, %specific_fn.loc16_20
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_20.3: %Cpp.long.as.RightShiftWith.impl.Op.type.e35e06.1 = specific_constant imports.%Core.Op.330, @Cpp.long.as.RightShiftWith.impl.3d6(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.50edfc.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc16: %Cpp.long.as.RightShiftWith.impl.Op.type.e35e06.1 = name_ref Op, %.loc16_20.3 [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.50edfc.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.bound.loc16: <bound method> = bound_method %a.ref.loc16_18, %Op.ref.loc16
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc16_20: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc16_20.3: <bound method> = bound_method %.loc16_26.2, %impl.elem0.loc16_20 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc16_20: init %Cpp.long = call %bound_method.loc16_20.3(%.loc16_26.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_20.4: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc16_20 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_20.5: %Cpp.long = converted %.loc16_26.2, %.loc16_20.4 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.specific_fn.loc16: <specific function> = specific_function %Op.ref.loc16, @Cpp.long.as.RightShiftWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.specific_fn.012106.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc16_20.4: <bound method> = bound_method %a.ref.loc16_18, %Cpp.long.as.RightShiftWith.impl.Op.specific_fn.loc16
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc16_26.2: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc16_26.3: <bound method> = bound_method %.loc16_26.2, %impl.elem0.loc16_26.2 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc16_26: init %Cpp.long = call %bound_method.loc16_26.3(%.loc16_26.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_26.3: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc16_26 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_26.4: %Cpp.long = converted %.loc16_26.2, %.loc16_26.3 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.call.loc16: init %Cpp.long = call %bound_method.loc16_20.4(%a.ref.loc16_18, %.loc16_26.4)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc16_35: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc16: <specific function> = specific_function %AssertSameType.ref.loc16, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.RightShiftWith.impl.Op.call.loc16
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_20.7: %Cpp.long = converted %Cpp.long.as.RightShiftWith.impl.Op.call.loc16, %.loc16_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc16: init %empty_tuple.type = call %AssertSameType.specific_fn.loc16(%.loc16_20.7, %a.ref.loc16_35)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc18: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc18_18: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc18: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc18: %.9d7 = impl_witness_access constants.%BitAndWith.impl_witness.0fc, element1 [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.98f052.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc18_20.1: <bound method> = bound_method %a.ref.loc18_18, %impl.elem1.loc18
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc18_20.1: %ImplicitAs.type.819 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.2ce) [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %.loc18_20.1: %ImplicitAs.type.819 = converted Core.IntLiteral, %ImplicitAs.facet.loc18_20.1 [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc18_20.2: %ImplicitAs.type.819 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.2ce) [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %.loc18_20.2: %ImplicitAs.type.819 = converted Core.IntLiteral, %ImplicitAs.facet.loc18_20.2 [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc18: <specific function> = specific_function %impl.elem1.loc18, @Cpp.long.as.BitAndWith.impl.Op.1(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.specific_fn.af17b5.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc18_20.2: <bound method> = bound_method %a.ref.loc18_18, %specific_fn.loc18
|
|
|
|
|
+// CHECK:STDOUT: %.loc18_20.3: %Cpp.long.as.BitAndWith.impl.Op.type.ae3ddd.1 = specific_constant imports.%Core.Op.c8a, @Cpp.long.as.BitAndWith.impl.334(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.98f052.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc18: %Cpp.long.as.BitAndWith.impl.Op.type.ae3ddd.1 = name_ref Op, %.loc18_20.3 [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.98f052.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.bound.loc18: <bound method> = bound_method %a.ref.loc18_18, %Op.ref.loc18
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc18_20: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc18_20.3: <bound method> = bound_method %int_1.loc18, %impl.elem0.loc18_20 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18_20: init %Cpp.long = call %bound_method.loc18_20.3(%int_1.loc18) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc18_20.4: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18_20 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc18_20.5: %Cpp.long = converted %int_1.loc18, %.loc18_20.4 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.specific_fn.loc18: <specific function> = specific_function %Op.ref.loc18, @Cpp.long.as.BitAndWith.impl.Op.2(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.specific_fn.af17b5.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc18_20.4: <bound method> = bound_method %a.ref.loc18_18, %Cpp.long.as.BitAndWith.impl.Op.specific_fn.loc18
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc18_22: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc18_22: <bound method> = bound_method %int_1.loc18, %impl.elem0.loc18_22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18_22: init %Cpp.long = call %bound_method.loc18_22(%int_1.loc18) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc18_22.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18_22 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc18_22.2: %Cpp.long = converted %int_1.loc18, %.loc18_22.1 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.call.loc18: init %Cpp.long = call %bound_method.loc18_20.4(%a.ref.loc18_18, %.loc18_22.2)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc18_25: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc18: <specific function> = specific_function %AssertSameType.ref.loc18, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc18_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.BitAndWith.impl.Op.call.loc18
|
|
|
|
|
+// CHECK:STDOUT: %.loc18_20.7: %Cpp.long = converted %Cpp.long.as.BitAndWith.impl.Op.call.loc18, %.loc18_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc18: init %empty_tuple.type = call %AssertSameType.specific_fn.loc18(%.loc18_20.7, %a.ref.loc18_25)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc19: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc19_18: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc19: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc19: %.a50 = impl_witness_access constants.%BitOrWith.impl_witness.39f, element1 [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.664d1e.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc19_20.1: <bound method> = bound_method %a.ref.loc19_18, %impl.elem1.loc19
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc19_20.1: %ImplicitAs.type.819 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.2ce) [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %.loc19_20.1: %ImplicitAs.type.819 = converted Core.IntLiteral, %ImplicitAs.facet.loc19_20.1 [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc19_20.2: %ImplicitAs.type.819 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.2ce) [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %.loc19_20.2: %ImplicitAs.type.819 = converted Core.IntLiteral, %ImplicitAs.facet.loc19_20.2 [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc19: <specific function> = specific_function %impl.elem1.loc19, @Cpp.long.as.BitOrWith.impl.Op.1(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.specific_fn.be7132.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc19_20.2: <bound method> = bound_method %a.ref.loc19_18, %specific_fn.loc19
|
|
|
|
|
+// CHECK:STDOUT: %.loc19_20.3: %Cpp.long.as.BitOrWith.impl.Op.type.331453.1 = specific_constant imports.%Core.Op.788, @Cpp.long.as.BitOrWith.impl.fc3(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.664d1e.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc19: %Cpp.long.as.BitOrWith.impl.Op.type.331453.1 = name_ref Op, %.loc19_20.3 [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.664d1e.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.bound.loc19: <bound method> = bound_method %a.ref.loc19_18, %Op.ref.loc19
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc19_20: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc19_20.3: <bound method> = bound_method %int_1.loc19, %impl.elem0.loc19_20 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19_20: init %Cpp.long = call %bound_method.loc19_20.3(%int_1.loc19) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc19_20.4: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19_20 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc19_20.5: %Cpp.long = converted %int_1.loc19, %.loc19_20.4 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.specific_fn.loc19: <specific function> = specific_function %Op.ref.loc19, @Cpp.long.as.BitOrWith.impl.Op.2(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.specific_fn.be7132.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc19_20.4: <bound method> = bound_method %a.ref.loc19_18, %Cpp.long.as.BitOrWith.impl.Op.specific_fn.loc19
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc19_22: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc19_22: <bound method> = bound_method %int_1.loc19, %impl.elem0.loc19_22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19_22: init %Cpp.long = call %bound_method.loc19_22(%int_1.loc19) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc19_22.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19_22 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc19_22.2: %Cpp.long = converted %int_1.loc19, %.loc19_22.1 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.call.loc19: init %Cpp.long = call %bound_method.loc19_20.4(%a.ref.loc19_18, %.loc19_22.2)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc19_25: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc19: <specific function> = specific_function %AssertSameType.ref.loc19, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc19_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.BitOrWith.impl.Op.call.loc19
|
|
|
|
|
+// CHECK:STDOUT: %.loc19_20.7: %Cpp.long = converted %Cpp.long.as.BitOrWith.impl.Op.call.loc19, %.loc19_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc19: init %empty_tuple.type = call %AssertSameType.specific_fn.loc19(%.loc19_20.7, %a.ref.loc19_25)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc20: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc20_18: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc20: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc20: %.8e7 = impl_witness_access constants.%BitXorWith.impl_witness.001, element1 [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.5b3046.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc20_20.1: <bound method> = bound_method %a.ref.loc20_18, %impl.elem1.loc20
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc20_20.1: %ImplicitAs.type.819 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.2ce) [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %.loc20_20.1: %ImplicitAs.type.819 = converted Core.IntLiteral, %ImplicitAs.facet.loc20_20.1 [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc20_20.2: %ImplicitAs.type.819 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.2ce) [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %.loc20_20.2: %ImplicitAs.type.819 = converted Core.IntLiteral, %ImplicitAs.facet.loc20_20.2 [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc20: <specific function> = specific_function %impl.elem1.loc20, @Cpp.long.as.BitXorWith.impl.Op.1(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.specific_fn.f1c9e6.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc20_20.2: <bound method> = bound_method %a.ref.loc20_18, %specific_fn.loc20
|
|
|
|
|
+// CHECK:STDOUT: %.loc20_20.3: %Cpp.long.as.BitXorWith.impl.Op.type.97a9a2.1 = specific_constant imports.%Core.Op.c61, @Cpp.long.as.BitXorWith.impl.732(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.5b3046.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc20: %Cpp.long.as.BitXorWith.impl.Op.type.97a9a2.1 = name_ref Op, %.loc20_20.3 [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.5b3046.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.bound.loc20: <bound method> = bound_method %a.ref.loc20_18, %Op.ref.loc20
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc20_20: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc20_20.3: <bound method> = bound_method %int_1.loc20, %impl.elem0.loc20_20 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20_20: init %Cpp.long = call %bound_method.loc20_20.3(%int_1.loc20) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc20_20.4: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20_20 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc20_20.5: %Cpp.long = converted %int_1.loc20, %.loc20_20.4 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.specific_fn.loc20: <specific function> = specific_function %Op.ref.loc20, @Cpp.long.as.BitXorWith.impl.Op.2(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.specific_fn.f1c9e6.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc20_20.4: <bound method> = bound_method %a.ref.loc20_18, %Cpp.long.as.BitXorWith.impl.Op.specific_fn.loc20
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc20_22: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc20_22: <bound method> = bound_method %int_1.loc20, %impl.elem0.loc20_22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20_22: init %Cpp.long = call %bound_method.loc20_22(%int_1.loc20) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc20_22.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20_22 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc20_22.2: %Cpp.long = converted %int_1.loc20, %.loc20_22.1 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.call.loc20: init %Cpp.long = call %bound_method.loc20_20.4(%a.ref.loc20_18, %.loc20_22.2)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc20_25: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc20: <specific function> = specific_function %AssertSameType.ref.loc20, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc20_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.BitXorWith.impl.Op.call.loc20
|
|
|
|
|
+// CHECK:STDOUT: %.loc20_20.7: %Cpp.long = converted %Cpp.long.as.BitXorWith.impl.Op.call.loc20, %.loc20_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc20: init %empty_tuple.type = call %AssertSameType.specific_fn.loc20(%.loc20_20.7, %a.ref.loc20_25)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc21: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc21_18: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc21: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc21: %.0a1 = impl_witness_access constants.%LeftShiftWith.impl_witness.a1c, element1 [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.f145d8.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc21_20.1: <bound method> = bound_method %a.ref.loc21_18, %impl.elem1.loc21
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc21_20.1: %ImplicitAs.type.819 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.2ce) [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %.loc21_20.1: %ImplicitAs.type.819 = converted Core.IntLiteral, %ImplicitAs.facet.loc21_20.1 [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc21_20.2: %ImplicitAs.type.819 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.2ce) [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %.loc21_20.2: %ImplicitAs.type.819 = converted Core.IntLiteral, %ImplicitAs.facet.loc21_20.2 [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc21: <specific function> = specific_function %impl.elem1.loc21, @Cpp.long.as.LeftShiftWith.impl.Op.1(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.abc44e.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc21_20.2: <bound method> = bound_method %a.ref.loc21_18, %specific_fn.loc21
|
|
|
|
|
+// CHECK:STDOUT: %.loc21_20.3: %Cpp.long.as.LeftShiftWith.impl.Op.type.d93838.1 = specific_constant imports.%Core.Op.2db, @Cpp.long.as.LeftShiftWith.impl.272(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.f145d8.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc21: %Cpp.long.as.LeftShiftWith.impl.Op.type.d93838.1 = name_ref Op, %.loc21_20.3 [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.f145d8.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.bound.loc21: <bound method> = bound_method %a.ref.loc21_18, %Op.ref.loc21
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc21_20: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc21_20.3: <bound method> = bound_method %int_1.loc21, %impl.elem0.loc21_20 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21_20: init %Cpp.long = call %bound_method.loc21_20.3(%int_1.loc21) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc21_20.4: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21_20 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc21_20.5: %Cpp.long = converted %int_1.loc21, %.loc21_20.4 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.loc21: <specific function> = specific_function %Op.ref.loc21, @Cpp.long.as.LeftShiftWith.impl.Op.2(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.abc44e.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc21_20.4: <bound method> = bound_method %a.ref.loc21_18, %Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.loc21
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc21_23: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc21_23: <bound method> = bound_method %int_1.loc21, %impl.elem0.loc21_23 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21_23: init %Cpp.long = call %bound_method.loc21_23(%int_1.loc21) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc21_23.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21_23 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc21_23.2: %Cpp.long = converted %int_1.loc21, %.loc21_23.1 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.call.loc21: init %Cpp.long = call %bound_method.loc21_20.4(%a.ref.loc21_18, %.loc21_23.2)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc21_26: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc21: <specific function> = specific_function %AssertSameType.ref.loc21, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc21_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.LeftShiftWith.impl.Op.call.loc21
|
|
|
|
|
+// CHECK:STDOUT: %.loc21_20.7: %Cpp.long = converted %Cpp.long.as.LeftShiftWith.impl.Op.call.loc21, %.loc21_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc21: init %empty_tuple.type = call %AssertSameType.specific_fn.loc21(%.loc21_20.7, %a.ref.loc21_26)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc22: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc22_18: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc22: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc22: %.fab = impl_witness_access constants.%RightShiftWith.impl_witness.5fe, element1 [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.249bc3.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc22_20.1: <bound method> = bound_method %a.ref.loc22_18, %impl.elem1.loc22
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc22_20.1: %ImplicitAs.type.819 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.2ce) [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %.loc22_20.1: %ImplicitAs.type.819 = converted Core.IntLiteral, %ImplicitAs.facet.loc22_20.1 [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc22_20.2: %ImplicitAs.type.819 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.2ce) [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %.loc22_20.2: %ImplicitAs.type.819 = converted Core.IntLiteral, %ImplicitAs.facet.loc22_20.2 [concrete = constants.%ImplicitAs.facet.eed]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc22: <specific function> = specific_function %impl.elem1.loc22, @Cpp.long.as.RightShiftWith.impl.Op.1(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.specific_fn.c6040e.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc22_20.2: <bound method> = bound_method %a.ref.loc22_18, %specific_fn.loc22
|
|
|
|
|
+// CHECK:STDOUT: %.loc22_20.3: %Cpp.long.as.RightShiftWith.impl.Op.type.a6dc1c.1 = specific_constant imports.%Core.Op.330, @Cpp.long.as.RightShiftWith.impl.3d6(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.249bc3.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc22: %Cpp.long.as.RightShiftWith.impl.Op.type.a6dc1c.1 = name_ref Op, %.loc22_20.3 [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.249bc3.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.bound.loc22: <bound method> = bound_method %a.ref.loc22_18, %Op.ref.loc22
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc22_20: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc22_20.3: <bound method> = bound_method %int_1.loc22, %impl.elem0.loc22_20 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22_20: init %Cpp.long = call %bound_method.loc22_20.3(%int_1.loc22) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc22_20.4: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22_20 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc22_20.5: %Cpp.long = converted %int_1.loc22, %.loc22_20.4 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.specific_fn.loc22: <specific function> = specific_function %Op.ref.loc22, @Cpp.long.as.RightShiftWith.impl.Op.2(constants.%ImplicitAs.facet.eed) [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.specific_fn.c6040e.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc22_20.4: <bound method> = bound_method %a.ref.loc22_18, %Cpp.long.as.RightShiftWith.impl.Op.specific_fn.loc22
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc22_23: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc22_23: <bound method> = bound_method %int_1.loc22, %impl.elem0.loc22_23 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22_23: init %Cpp.long = call %bound_method.loc22_23(%int_1.loc22) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc22_23.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22_23 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc22_23.2: %Cpp.long = converted %int_1.loc22, %.loc22_23.1 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.call.loc22: init %Cpp.long = call %bound_method.loc22_20.4(%a.ref.loc22_18, %.loc22_23.2)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc22_26: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc22: <specific function> = specific_function %AssertSameType.ref.loc22, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc22_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.RightShiftWith.impl.Op.call.loc22
|
|
|
|
|
+// CHECK:STDOUT: %.loc22_20.7: %Cpp.long = converted %Cpp.long.as.RightShiftWith.impl.Op.call.loc22, %.loc22_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc22: init %empty_tuple.type = call %AssertSameType.specific_fn.loc22(%.loc22_20.7, %a.ref.loc22_26)
|
|
|
|
|
+// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
+// CHECK:STDOUT: %b.patt: %pattern_type.7ce = value_binding_pattern b [concrete]
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc24: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %.loc24_10: type = splice_block %i32.loc24 [concrete = constants.%i32] {
|
|
|
|
|
+// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
+// CHECK:STDOUT: %i32.loc24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc24: %.863 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc24_16.1: <bound method> = bound_method %int_1.loc24, %impl.elem0.loc24 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.215]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc24: <specific function> = specific_function %impl.elem0.loc24, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc24_16.2: <bound method> = bound_method %int_1.loc24, %specific_fn.loc24 [concrete = constants.%bound_method.38b]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc24: init %i32 = call %bound_method.loc24_16.2(%int_1.loc24) [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc24_16.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc24 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc24_16.2: %i32 = converted %int_1.loc24, %.loc24_16.1 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %b: %i32 = value_binding b, %.loc24_16.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc25: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc25_18: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %b.ref.loc25: %i32 = name_ref b, %b
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc25: %.bdd = impl_witness_access constants.%BitAndWith.impl_witness.fe3, element1 [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.a9ac84.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc25_20.1: <bound method> = bound_method %a.ref.loc25_18, %impl.elem1.loc25
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc25_20.1: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc25_20.1: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc25_20.1 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc25_20.2: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc25_20.2: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc25_20.2 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc25: <specific function> = specific_function %impl.elem1.loc25, @Cpp.long.as.BitAndWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.specific_fn.dcd797.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc25_20.2: <bound method> = bound_method %a.ref.loc25_18, %specific_fn.loc25
|
|
|
|
|
+// CHECK:STDOUT: %.loc25_20.3: %Cpp.long.as.BitAndWith.impl.Op.type.202298.1 = specific_constant imports.%Core.Op.c8a, @Cpp.long.as.BitAndWith.impl.334(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.a9ac84.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc25: %Cpp.long.as.BitAndWith.impl.Op.type.202298.1 = name_ref Op, %.loc25_20.3 [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.a9ac84.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.bound.loc25: <bound method> = bound_method %a.ref.loc25_18, %Op.ref.loc25
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc25_20: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc25_20.3: <bound method> = bound_method %b.ref.loc25, %impl.elem0.loc25_20
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc25_20: init %Cpp.long = call %bound_method.loc25_20.3(%b.ref.loc25)
|
|
|
|
|
+// CHECK:STDOUT: %.loc25_20.4: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc25_20
|
|
|
|
|
+// CHECK:STDOUT: %.loc25_20.5: %Cpp.long = converted %b.ref.loc25, %.loc25_20.4
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.specific_fn.loc25: <specific function> = specific_function %Op.ref.loc25, @Cpp.long.as.BitAndWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitAndWith.impl.Op.specific_fn.dcd797.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc25_20.4: <bound method> = bound_method %a.ref.loc25_18, %Cpp.long.as.BitAndWith.impl.Op.specific_fn.loc25
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc25_22: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc25_22: <bound method> = bound_method %b.ref.loc25, %impl.elem0.loc25_22
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc25_22: init %Cpp.long = call %bound_method.loc25_22(%b.ref.loc25)
|
|
|
|
|
+// CHECK:STDOUT: %.loc25_22.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc25_22
|
|
|
|
|
+// CHECK:STDOUT: %.loc25_22.2: %Cpp.long = converted %b.ref.loc25, %.loc25_22.1
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitAndWith.impl.Op.call.loc25: init %Cpp.long = call %bound_method.loc25_20.4(%a.ref.loc25_18, %.loc25_22.2)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc25_25: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc25: <specific function> = specific_function %AssertSameType.ref.loc25, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc25_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.BitAndWith.impl.Op.call.loc25
|
|
|
|
|
+// CHECK:STDOUT: %.loc25_20.7: %Cpp.long = converted %Cpp.long.as.BitAndWith.impl.Op.call.loc25, %.loc25_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc25: init %empty_tuple.type = call %AssertSameType.specific_fn.loc25(%.loc25_20.7, %a.ref.loc25_25)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc26: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc26_18: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %b.ref.loc26: %i32 = name_ref b, %b
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc26: %.faa = impl_witness_access constants.%BitOrWith.impl_witness.b0c, element1 [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.d9c870.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc26_20.1: <bound method> = bound_method %a.ref.loc26_18, %impl.elem1.loc26
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc26_20.1: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc26_20.1: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc26_20.1 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc26_20.2: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc26_20.2: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc26_20.2 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc26: <specific function> = specific_function %impl.elem1.loc26, @Cpp.long.as.BitOrWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.specific_fn.03ab4b.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc26_20.2: <bound method> = bound_method %a.ref.loc26_18, %specific_fn.loc26
|
|
|
|
|
+// CHECK:STDOUT: %.loc26_20.3: %Cpp.long.as.BitOrWith.impl.Op.type.dccbc7.1 = specific_constant imports.%Core.Op.788, @Cpp.long.as.BitOrWith.impl.fc3(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.d9c870.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc26: %Cpp.long.as.BitOrWith.impl.Op.type.dccbc7.1 = name_ref Op, %.loc26_20.3 [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.d9c870.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.bound.loc26: <bound method> = bound_method %a.ref.loc26_18, %Op.ref.loc26
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc26_20: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc26_20.3: <bound method> = bound_method %b.ref.loc26, %impl.elem0.loc26_20
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc26_20: init %Cpp.long = call %bound_method.loc26_20.3(%b.ref.loc26)
|
|
|
|
|
+// CHECK:STDOUT: %.loc26_20.4: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc26_20
|
|
|
|
|
+// CHECK:STDOUT: %.loc26_20.5: %Cpp.long = converted %b.ref.loc26, %.loc26_20.4
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.specific_fn.loc26: <specific function> = specific_function %Op.ref.loc26, @Cpp.long.as.BitOrWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitOrWith.impl.Op.specific_fn.03ab4b.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc26_20.4: <bound method> = bound_method %a.ref.loc26_18, %Cpp.long.as.BitOrWith.impl.Op.specific_fn.loc26
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc26_22: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc26_22: <bound method> = bound_method %b.ref.loc26, %impl.elem0.loc26_22
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc26_22: init %Cpp.long = call %bound_method.loc26_22(%b.ref.loc26)
|
|
|
|
|
+// CHECK:STDOUT: %.loc26_22.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc26_22
|
|
|
|
|
+// CHECK:STDOUT: %.loc26_22.2: %Cpp.long = converted %b.ref.loc26, %.loc26_22.1
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitOrWith.impl.Op.call.loc26: init %Cpp.long = call %bound_method.loc26_20.4(%a.ref.loc26_18, %.loc26_22.2)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc26_25: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc26: <specific function> = specific_function %AssertSameType.ref.loc26, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc26_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.BitOrWith.impl.Op.call.loc26
|
|
|
|
|
+// CHECK:STDOUT: %.loc26_20.7: %Cpp.long = converted %Cpp.long.as.BitOrWith.impl.Op.call.loc26, %.loc26_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc26: init %empty_tuple.type = call %AssertSameType.specific_fn.loc26(%.loc26_20.7, %a.ref.loc26_25)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc27: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc27_18: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %b.ref.loc27: %i32 = name_ref b, %b
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc27: %.f2f = impl_witness_access constants.%BitXorWith.impl_witness.8a0, element1 [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.48a9f4.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc27_20.1: <bound method> = bound_method %a.ref.loc27_18, %impl.elem1.loc27
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc27_20.1: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc27_20.1: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc27_20.1 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc27_20.2: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc27_20.2: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc27_20.2 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc27: <specific function> = specific_function %impl.elem1.loc27, @Cpp.long.as.BitXorWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.specific_fn.4ec2b6.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc27_20.2: <bound method> = bound_method %a.ref.loc27_18, %specific_fn.loc27
|
|
|
|
|
+// CHECK:STDOUT: %.loc27_20.3: %Cpp.long.as.BitXorWith.impl.Op.type.7fe348.1 = specific_constant imports.%Core.Op.c61, @Cpp.long.as.BitXorWith.impl.732(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.48a9f4.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc27: %Cpp.long.as.BitXorWith.impl.Op.type.7fe348.1 = name_ref Op, %.loc27_20.3 [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.48a9f4.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.bound.loc27: <bound method> = bound_method %a.ref.loc27_18, %Op.ref.loc27
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc27_20: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc27_20.3: <bound method> = bound_method %b.ref.loc27, %impl.elem0.loc27_20
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc27_20: init %Cpp.long = call %bound_method.loc27_20.3(%b.ref.loc27)
|
|
|
|
|
+// CHECK:STDOUT: %.loc27_20.4: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc27_20
|
|
|
|
|
+// CHECK:STDOUT: %.loc27_20.5: %Cpp.long = converted %b.ref.loc27, %.loc27_20.4
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.specific_fn.loc27: <specific function> = specific_function %Op.ref.loc27, @Cpp.long.as.BitXorWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.BitXorWith.impl.Op.specific_fn.4ec2b6.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc27_20.4: <bound method> = bound_method %a.ref.loc27_18, %Cpp.long.as.BitXorWith.impl.Op.specific_fn.loc27
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc27_22: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc27_22: <bound method> = bound_method %b.ref.loc27, %impl.elem0.loc27_22
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc27_22: init %Cpp.long = call %bound_method.loc27_22(%b.ref.loc27)
|
|
|
|
|
+// CHECK:STDOUT: %.loc27_22.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc27_22
|
|
|
|
|
+// CHECK:STDOUT: %.loc27_22.2: %Cpp.long = converted %b.ref.loc27, %.loc27_22.1
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.BitXorWith.impl.Op.call.loc27: init %Cpp.long = call %bound_method.loc27_20.4(%a.ref.loc27_18, %.loc27_22.2)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc27_25: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc27: <specific function> = specific_function %AssertSameType.ref.loc27, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc27_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.BitXorWith.impl.Op.call.loc27
|
|
|
|
|
+// CHECK:STDOUT: %.loc27_20.7: %Cpp.long = converted %Cpp.long.as.BitXorWith.impl.Op.call.loc27, %.loc27_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc27: init %empty_tuple.type = call %AssertSameType.specific_fn.loc27(%.loc27_20.7, %a.ref.loc27_25)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc28: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc28_18: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %b.ref.loc28: %i32 = name_ref b, %b
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc28: %.2be = impl_witness_access constants.%LeftShiftWith.impl_witness.982, element1 [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.9105a1.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc28_20.1: <bound method> = bound_method %a.ref.loc28_18, %impl.elem1.loc28
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc28_20.1: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc28_20.1: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc28_20.1 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc28_20.2: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc28_20.2: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc28_20.2 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc28: <specific function> = specific_function %impl.elem1.loc28, @Cpp.long.as.LeftShiftWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.1fda18.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc28_20.2: <bound method> = bound_method %a.ref.loc28_18, %specific_fn.loc28
|
|
|
|
|
+// CHECK:STDOUT: %.loc28_20.3: %Cpp.long.as.LeftShiftWith.impl.Op.type.1d34cb.1 = specific_constant imports.%Core.Op.2db, @Cpp.long.as.LeftShiftWith.impl.272(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.9105a1.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc28: %Cpp.long.as.LeftShiftWith.impl.Op.type.1d34cb.1 = name_ref Op, %.loc28_20.3 [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.9105a1.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.bound.loc28: <bound method> = bound_method %a.ref.loc28_18, %Op.ref.loc28
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc28_20: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc28_20.3: <bound method> = bound_method %b.ref.loc28, %impl.elem0.loc28_20
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc28_20: init %Cpp.long = call %bound_method.loc28_20.3(%b.ref.loc28)
|
|
|
|
|
+// CHECK:STDOUT: %.loc28_20.4: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc28_20
|
|
|
|
|
+// CHECK:STDOUT: %.loc28_20.5: %Cpp.long = converted %b.ref.loc28, %.loc28_20.4
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.loc28: <specific function> = specific_function %Op.ref.loc28, @Cpp.long.as.LeftShiftWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.1fda18.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc28_20.4: <bound method> = bound_method %a.ref.loc28_18, %Cpp.long.as.LeftShiftWith.impl.Op.specific_fn.loc28
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc28_23: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc28_23: <bound method> = bound_method %b.ref.loc28, %impl.elem0.loc28_23
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc28_23: init %Cpp.long = call %bound_method.loc28_23(%b.ref.loc28)
|
|
|
|
|
+// CHECK:STDOUT: %.loc28_23.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc28_23
|
|
|
|
|
+// CHECK:STDOUT: %.loc28_23.2: %Cpp.long = converted %b.ref.loc28, %.loc28_23.1
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.LeftShiftWith.impl.Op.call.loc28: init %Cpp.long = call %bound_method.loc28_20.4(%a.ref.loc28_18, %.loc28_23.2)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc28_26: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc28: <specific function> = specific_function %AssertSameType.ref.loc28, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc28_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.LeftShiftWith.impl.Op.call.loc28
|
|
|
|
|
+// CHECK:STDOUT: %.loc28_20.7: %Cpp.long = converted %Cpp.long.as.LeftShiftWith.impl.Op.call.loc28, %.loc28_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc28: init %empty_tuple.type = call %AssertSameType.specific_fn.loc28(%.loc28_20.7, %a.ref.loc28_26)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc29: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc29_18: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %b.ref.loc29: %i32 = name_ref b, %b
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc29: %.dac = impl_witness_access constants.%RightShiftWith.impl_witness.ccb, element1 [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.50edfc.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc29_20.1: <bound method> = bound_method %a.ref.loc29_18, %impl.elem1.loc29
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc29_20.1: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc29_20.1: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc29_20.1 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.loc29_20.2: %ImplicitAs.type.819 = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.0fc) [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %.loc29_20.2: %ImplicitAs.type.819 = converted constants.%i32, %ImplicitAs.facet.loc29_20.2 [concrete = constants.%ImplicitAs.facet.174]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc29: <specific function> = specific_function %impl.elem1.loc29, @Cpp.long.as.RightShiftWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.specific_fn.012106.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc29_20.2: <bound method> = bound_method %a.ref.loc29_18, %specific_fn.loc29
|
|
|
|
|
+// CHECK:STDOUT: %.loc29_20.3: %Cpp.long.as.RightShiftWith.impl.Op.type.e35e06.1 = specific_constant imports.%Core.Op.330, @Cpp.long.as.RightShiftWith.impl.3d6(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.50edfc.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc29: %Cpp.long.as.RightShiftWith.impl.Op.type.e35e06.1 = name_ref Op, %.loc29_20.3 [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.50edfc.1]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.bound.loc29: <bound method> = bound_method %a.ref.loc29_18, %Op.ref.loc29
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc29_20: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc29_20.3: <bound method> = bound_method %b.ref.loc29, %impl.elem0.loc29_20
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc29_20: init %Cpp.long = call %bound_method.loc29_20.3(%b.ref.loc29)
|
|
|
|
|
+// CHECK:STDOUT: %.loc29_20.4: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc29_20
|
|
|
|
|
+// CHECK:STDOUT: %.loc29_20.5: %Cpp.long = converted %b.ref.loc29, %.loc29_20.4
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.specific_fn.loc29: <specific function> = specific_function %Op.ref.loc29, @Cpp.long.as.RightShiftWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%Cpp.long.as.RightShiftWith.impl.Op.specific_fn.012106.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc29_20.4: <bound method> = bound_method %a.ref.loc29_18, %Cpp.long.as.RightShiftWith.impl.Op.specific_fn.loc29
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc29_23: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc29_23: <bound method> = bound_method %b.ref.loc29, %impl.elem0.loc29_23
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc29_23: init %Cpp.long = call %bound_method.loc29_23(%b.ref.loc29)
|
|
|
|
|
+// CHECK:STDOUT: %.loc29_23.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc29_23
|
|
|
|
|
+// CHECK:STDOUT: %.loc29_23.2: %Cpp.long = converted %b.ref.loc29, %.loc29_23.1
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.RightShiftWith.impl.Op.call.loc29: init %Cpp.long = call %bound_method.loc29_20.4(%a.ref.loc29_18, %.loc29_23.2)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc29_26: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc29: <specific function> = specific_function %AssertSameType.ref.loc29, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc29_20.6: %Cpp.long = value_of_initializer %Cpp.long.as.RightShiftWith.impl.Op.call.loc29
|
|
|
|
|
+// CHECK:STDOUT: %.loc29_20.7: %Cpp.long = converted %Cpp.long.as.RightShiftWith.impl.Op.call.loc29, %.loc29_20.6
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc29: init %empty_tuple.type = call %AssertSameType.specific_fn.loc29(%.loc29_20.7, %a.ref.loc29_26)
|
|
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT:
|
|
|
|
|
+// CHECK:STDOUT: --- bitwise_heterogeneous_long_right_side.carbon
|
|
|
|
|
+// CHECK:STDOUT:
|
|
|
|
|
+// CHECK:STDOUT: constants {
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.type: type = fn_type @AssertSameType [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType: %AssertSameType.type = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long: type = class_type @Long32 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %pattern_type.68c: type = pattern_type %Cpp.long [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.type.819: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.Convert.type.4c2: type = fn_type @ImplicitAs.Convert, @ImplicitAs(%Cpp.long) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness.2ce: <witness> = impl_witness imports.%ImplicitAs.impl_witness_table.903 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.eed: %ImplicitAs.type.819 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.2ce) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.dad: type = fn_type_with_self_type %ImplicitAs.Convert.type.4c2, %ImplicitAs.facet.eed [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b38: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b38 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.5a4: %Cpp.long = int_value 1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %As.type.047: type = facet_type <@As, @As(%i32)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %As.Convert.type.99b: type = fn_type @As.Convert, @As(%i32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %To.fe9: Core.IntLiteral = symbolic_binding To, 0 [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.09e: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To.fe9) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.dbe: %Core.IntLiteral.as.As.impl.Convert.type.09e = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %As.impl_witness.ab6: <witness> = impl_witness imports.%As.impl_witness_table.9fc, @Core.IntLiteral.as.As.impl(%int_32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.8ec: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%int_32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.29b: %Core.IntLiteral.as.As.impl.Convert.type.8ec = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %As.facet: %As.type.047 = facet_value Core.IntLiteral, (%As.impl_witness.ab6) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.97a: type = fn_type_with_self_type %As.Convert.type.99b, %As.facet [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.29b [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: <specific function> = specific_function %Core.IntLiteral.as.As.impl.Convert.29b, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.290: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.type.0b5: type = facet_type <@BitAndWith, @BitAndWith(%Cpp.long)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.Op.type.e13: type = fn_type @BitAndWith.Op, @BitAndWith(%Cpp.long) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.57d: %ImplicitAs.type.819 = symbolic_binding T, 0 [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.type.b0dfa2.1: type = fn_type @T.binding.as_type.as.BitAndWith.impl.Op.1, @T.binding.as_type.as.BitAndWith.impl.2e8(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.ae0f20.1: %T.binding.as_type.as.BitAndWith.impl.Op.type.b0dfa2.1 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.type.b0dfa2.2: type = fn_type @T.binding.as_type.as.BitAndWith.impl.Op.2, @T.binding.as_type.as.BitAndWith.impl.2e8(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.ae0f20.2: %T.binding.as_type.as.BitAndWith.impl.Op.type.b0dfa2.2 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.type.e8c: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.b2d(%To.fe9) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3c2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness.0fc: <witness> = impl_witness imports.%ImplicitAs.impl_witness_table.5ad [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.174: %ImplicitAs.type.819 = facet_value %i32, (%ImplicitAs.impl_witness.0fc) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.impl_witness.a02: <witness> = impl_witness imports.%BitAndWith.impl_witness_table.1c0, @T.binding.as_type.as.BitAndWith.impl.2e8(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.type.f24b53.1: type = fn_type @T.binding.as_type.as.BitAndWith.impl.Op.2, @T.binding.as_type.as.BitAndWith.impl.2e8(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.3425be.1: %T.binding.as_type.as.BitAndWith.impl.Op.type.f24b53.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.type.f24b53.2: type = fn_type @T.binding.as_type.as.BitAndWith.impl.Op.1, @T.binding.as_type.as.BitAndWith.impl.2e8(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.3425be.2: %T.binding.as_type.as.BitAndWith.impl.Op.type.f24b53.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.facet.2fb: %BitAndWith.type.0b5 = facet_value %i32, (%BitAndWith.impl_witness.a02) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.419: type = fn_type_with_self_type %BitAndWith.Op.type.e13, %BitAndWith.facet.2fb [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.bound.7e10ec.1: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.BitAndWith.impl.Op.3425be.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.f76196.1: <specific function> = specific_function %T.binding.as_type.as.BitAndWith.impl.Op.3425be.2, @T.binding.as_type.as.BitAndWith.impl.Op.1(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.61cff7.1: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.f76196.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.bound.7e10ec.2: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.BitAndWith.impl.Op.3425be.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.f76196.2: <specific function> = specific_function %T.binding.as_type.as.BitAndWith.impl.Op.3425be.1, @T.binding.as_type.as.BitAndWith.impl.Op.2(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.61cff7.2: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.f76196.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.c45: type = fn_type_with_self_type %ImplicitAs.Convert.type.4c2, %ImplicitAs.facet.174 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.type: type = fn_type @i32.as.ImplicitAs.impl.Convert [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert: %i32.as.ImplicitAs.impl.Convert.type = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.bound: <bound method> = bound_method %int_1.5d2, %i32.as.ImplicitAs.impl.Convert [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn: <specific function> = specific_function %AssertSameType, @AssertSameType(%Cpp.long) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.type.b22: type = facet_type <@BitOrWith, @BitOrWith(%Cpp.long)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.Op.type.a1b: type = fn_type @BitOrWith.Op, @BitOrWith(%Cpp.long) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.type.f4a873.1: type = fn_type @T.binding.as_type.as.BitOrWith.impl.Op.1, @T.binding.as_type.as.BitOrWith.impl.e42(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.53d67c.1: %T.binding.as_type.as.BitOrWith.impl.Op.type.f4a873.1 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.type.f4a873.2: type = fn_type @T.binding.as_type.as.BitOrWith.impl.Op.2, @T.binding.as_type.as.BitOrWith.impl.e42(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.53d67c.2: %T.binding.as_type.as.BitOrWith.impl.Op.type.f4a873.2 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.impl_witness.d0a: <witness> = impl_witness imports.%BitOrWith.impl_witness_table.946, @T.binding.as_type.as.BitOrWith.impl.e42(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.type.c5501d.1: type = fn_type @T.binding.as_type.as.BitOrWith.impl.Op.2, @T.binding.as_type.as.BitOrWith.impl.e42(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.c9149f.1: %T.binding.as_type.as.BitOrWith.impl.Op.type.c5501d.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.type.c5501d.2: type = fn_type @T.binding.as_type.as.BitOrWith.impl.Op.1, @T.binding.as_type.as.BitOrWith.impl.e42(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.c9149f.2: %T.binding.as_type.as.BitOrWith.impl.Op.type.c5501d.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.facet.ea7: %BitOrWith.type.b22 = facet_value %i32, (%BitOrWith.impl_witness.d0a) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.2e2: type = fn_type_with_self_type %BitOrWith.Op.type.a1b, %BitOrWith.facet.ea7 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.bound.3218ee.1: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.BitOrWith.impl.Op.c9149f.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.fbab3e.1: <specific function> = specific_function %T.binding.as_type.as.BitOrWith.impl.Op.c9149f.2, @T.binding.as_type.as.BitOrWith.impl.Op.1(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.37450b.1: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.fbab3e.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.bound.3218ee.2: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.BitOrWith.impl.Op.c9149f.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.fbab3e.2: <specific function> = specific_function %T.binding.as_type.as.BitOrWith.impl.Op.c9149f.1, @T.binding.as_type.as.BitOrWith.impl.Op.2(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.37450b.2: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.fbab3e.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.type.87f: type = facet_type <@BitXorWith, @BitXorWith(%Cpp.long)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.Op.type.5cf: type = fn_type @BitXorWith.Op, @BitXorWith(%Cpp.long) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.type.fdc423.1: type = fn_type @T.binding.as_type.as.BitXorWith.impl.Op.1, @T.binding.as_type.as.BitXorWith.impl.878(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.659e6b.1: %T.binding.as_type.as.BitXorWith.impl.Op.type.fdc423.1 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.type.fdc423.2: type = fn_type @T.binding.as_type.as.BitXorWith.impl.Op.2, @T.binding.as_type.as.BitXorWith.impl.878(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.659e6b.2: %T.binding.as_type.as.BitXorWith.impl.Op.type.fdc423.2 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.impl_witness.e8e: <witness> = impl_witness imports.%BitXorWith.impl_witness_table.39f, @T.binding.as_type.as.BitXorWith.impl.878(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.type.42bd3d.1: type = fn_type @T.binding.as_type.as.BitXorWith.impl.Op.2, @T.binding.as_type.as.BitXorWith.impl.878(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.c338c8.1: %T.binding.as_type.as.BitXorWith.impl.Op.type.42bd3d.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.type.42bd3d.2: type = fn_type @T.binding.as_type.as.BitXorWith.impl.Op.1, @T.binding.as_type.as.BitXorWith.impl.878(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.c338c8.2: %T.binding.as_type.as.BitXorWith.impl.Op.type.42bd3d.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.facet.19e: %BitXorWith.type.87f = facet_value %i32, (%BitXorWith.impl_witness.e8e) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.24d: type = fn_type_with_self_type %BitXorWith.Op.type.5cf, %BitXorWith.facet.19e [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.bound.9a6c35.1: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.BitXorWith.impl.Op.c338c8.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.125c34.1: <specific function> = specific_function %T.binding.as_type.as.BitXorWith.impl.Op.c338c8.2, @T.binding.as_type.as.BitXorWith.impl.Op.1(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.6a6348.1: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.125c34.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.bound.9a6c35.2: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.BitXorWith.impl.Op.c338c8.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.125c34.2: <specific function> = specific_function %T.binding.as_type.as.BitXorWith.impl.Op.c338c8.1, @T.binding.as_type.as.BitXorWith.impl.Op.2(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.6a6348.2: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.125c34.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.type.3f9: type = facet_type <@LeftShiftWith, @LeftShiftWith(%Cpp.long)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.Op.type.224: type = fn_type @LeftShiftWith.Op, @LeftShiftWith(%Cpp.long) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.278104.1: type = fn_type @T.binding.as_type.as.LeftShiftWith.impl.Op.1, @T.binding.as_type.as.LeftShiftWith.impl.b71(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.fdafb7.1: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.278104.1 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.278104.2: type = fn_type @T.binding.as_type.as.LeftShiftWith.impl.Op.2, @T.binding.as_type.as.LeftShiftWith.impl.b71(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.fdafb7.2: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.278104.2 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.impl_witness.fb3: <witness> = impl_witness imports.%LeftShiftWith.impl_witness_table.ce8, @T.binding.as_type.as.LeftShiftWith.impl.b71(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.ab52f6.1: type = fn_type @T.binding.as_type.as.LeftShiftWith.impl.Op.2, @T.binding.as_type.as.LeftShiftWith.impl.b71(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.c3e103.1: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.ab52f6.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.ab52f6.2: type = fn_type @T.binding.as_type.as.LeftShiftWith.impl.Op.1, @T.binding.as_type.as.LeftShiftWith.impl.b71(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.c3e103.2: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.ab52f6.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.facet.702: %LeftShiftWith.type.3f9 = facet_value %i32, (%LeftShiftWith.impl_witness.fb3) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.509: type = fn_type_with_self_type %LeftShiftWith.Op.type.224, %LeftShiftWith.facet.702 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.bound.30239c.1: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.LeftShiftWith.impl.Op.c3e103.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.547c25.1: <specific function> = specific_function %T.binding.as_type.as.LeftShiftWith.impl.Op.c3e103.2, @T.binding.as_type.as.LeftShiftWith.impl.Op.1(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.137506.1: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.547c25.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.bound.30239c.2: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.LeftShiftWith.impl.Op.c3e103.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.547c25.2: <specific function> = specific_function %T.binding.as_type.as.LeftShiftWith.impl.Op.c3e103.1, @T.binding.as_type.as.LeftShiftWith.impl.Op.2(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.137506.2: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.547c25.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.type.995: type = facet_type <@RightShiftWith, @RightShiftWith(%Cpp.long)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.Op.type.fd9: type = fn_type @RightShiftWith.Op, @RightShiftWith(%Cpp.long) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.type.8ef087.1: type = fn_type @T.binding.as_type.as.RightShiftWith.impl.Op.1, @T.binding.as_type.as.RightShiftWith.impl.28b(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.3f8b9d.1: %T.binding.as_type.as.RightShiftWith.impl.Op.type.8ef087.1 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.type.8ef087.2: type = fn_type @T.binding.as_type.as.RightShiftWith.impl.Op.2, @T.binding.as_type.as.RightShiftWith.impl.28b(%T.57d) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.3f8b9d.2: %T.binding.as_type.as.RightShiftWith.impl.Op.type.8ef087.2 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.impl_witness.7d0: <witness> = impl_witness imports.%RightShiftWith.impl_witness_table.050, @T.binding.as_type.as.RightShiftWith.impl.28b(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.type.2fe33f.1: type = fn_type @T.binding.as_type.as.RightShiftWith.impl.Op.2, @T.binding.as_type.as.RightShiftWith.impl.28b(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.44dea2.1: %T.binding.as_type.as.RightShiftWith.impl.Op.type.2fe33f.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.type.2fe33f.2: type = fn_type @T.binding.as_type.as.RightShiftWith.impl.Op.1, @T.binding.as_type.as.RightShiftWith.impl.28b(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.44dea2.2: %T.binding.as_type.as.RightShiftWith.impl.Op.type.2fe33f.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.facet.4bd: %RightShiftWith.type.995 = facet_value %i32, (%RightShiftWith.impl_witness.7d0) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.9db: type = fn_type_with_self_type %RightShiftWith.Op.type.fd9, %RightShiftWith.facet.4bd [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.bound.08a5b1.1: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.RightShiftWith.impl.Op.44dea2.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.888028.1: <specific function> = specific_function %T.binding.as_type.as.RightShiftWith.impl.Op.44dea2.2, @T.binding.as_type.as.RightShiftWith.impl.Op.1(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.4658fd.1: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.888028.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.bound.08a5b1.2: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.RightShiftWith.impl.Op.44dea2.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.888028.2: <specific function> = specific_function %T.binding.as_type.as.RightShiftWith.impl.Op.44dea2.1, @T.binding.as_type.as.RightShiftWith.impl.Op.2(%ImplicitAs.facet.174) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.4658fd.2: <bound method> = bound_method %int_1.5d2, %T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.888028.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.impl_witness.11b: <witness> = impl_witness imports.%BitAndWith.impl_witness_table.1c0, @T.binding.as_type.as.BitAndWith.impl.2e8(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.type.371e74.1: type = fn_type @T.binding.as_type.as.BitAndWith.impl.Op.2, @T.binding.as_type.as.BitAndWith.impl.2e8(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.657411.1: %T.binding.as_type.as.BitAndWith.impl.Op.type.371e74.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.type.371e74.2: type = fn_type @T.binding.as_type.as.BitAndWith.impl.Op.1, @T.binding.as_type.as.BitAndWith.impl.2e8(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.657411.2: %T.binding.as_type.as.BitAndWith.impl.Op.type.371e74.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.facet.c73: %BitAndWith.type.0b5 = facet_value Core.IntLiteral, (%BitAndWith.impl_witness.11b) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.e0e: type = fn_type_with_self_type %BitAndWith.Op.type.e13, %BitAndWith.facet.c73 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.bound.62b211.1: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.BitAndWith.impl.Op.657411.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.76feb8.1: <specific function> = specific_function %T.binding.as_type.as.BitAndWith.impl.Op.657411.2, @T.binding.as_type.as.BitAndWith.impl.Op.1(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.284eaa.1: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.76feb8.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.bound.62b211.2: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.BitAndWith.impl.Op.657411.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.76feb8.2: <specific function> = specific_function %T.binding.as_type.as.BitAndWith.impl.Op.657411.1, @T.binding.as_type.as.BitAndWith.impl.Op.2(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.284eaa.2: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.76feb8.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.impl_witness.f0b: <witness> = impl_witness imports.%BitOrWith.impl_witness_table.946, @T.binding.as_type.as.BitOrWith.impl.e42(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.type.6b5126.1: type = fn_type @T.binding.as_type.as.BitOrWith.impl.Op.2, @T.binding.as_type.as.BitOrWith.impl.e42(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.552722.1: %T.binding.as_type.as.BitOrWith.impl.Op.type.6b5126.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.type.6b5126.2: type = fn_type @T.binding.as_type.as.BitOrWith.impl.Op.1, @T.binding.as_type.as.BitOrWith.impl.e42(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.552722.2: %T.binding.as_type.as.BitOrWith.impl.Op.type.6b5126.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.facet.c28: %BitOrWith.type.b22 = facet_value Core.IntLiteral, (%BitOrWith.impl_witness.f0b) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.9f3: type = fn_type_with_self_type %BitOrWith.Op.type.a1b, %BitOrWith.facet.c28 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.bound.0cc7c8.1: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.BitOrWith.impl.Op.552722.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.f5e026.1: <specific function> = specific_function %T.binding.as_type.as.BitOrWith.impl.Op.552722.2, @T.binding.as_type.as.BitOrWith.impl.Op.1(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.ba7a8e.1: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.f5e026.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.bound.0cc7c8.2: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.BitOrWith.impl.Op.552722.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.f5e026.2: <specific function> = specific_function %T.binding.as_type.as.BitOrWith.impl.Op.552722.1, @T.binding.as_type.as.BitOrWith.impl.Op.2(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.ba7a8e.2: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.f5e026.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.impl_witness.a75: <witness> = impl_witness imports.%BitXorWith.impl_witness_table.39f, @T.binding.as_type.as.BitXorWith.impl.878(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.type.c3bcf6.1: type = fn_type @T.binding.as_type.as.BitXorWith.impl.Op.2, @T.binding.as_type.as.BitXorWith.impl.878(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.c5dfcc.1: %T.binding.as_type.as.BitXorWith.impl.Op.type.c3bcf6.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.type.c3bcf6.2: type = fn_type @T.binding.as_type.as.BitXorWith.impl.Op.1, @T.binding.as_type.as.BitXorWith.impl.878(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.c5dfcc.2: %T.binding.as_type.as.BitXorWith.impl.Op.type.c3bcf6.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.facet.b31: %BitXorWith.type.87f = facet_value Core.IntLiteral, (%BitXorWith.impl_witness.a75) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.498: type = fn_type_with_self_type %BitXorWith.Op.type.5cf, %BitXorWith.facet.b31 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.bound.8d10e0.1: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.BitXorWith.impl.Op.c5dfcc.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.9cdf74.1: <specific function> = specific_function %T.binding.as_type.as.BitXorWith.impl.Op.c5dfcc.2, @T.binding.as_type.as.BitXorWith.impl.Op.1(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.91b787.1: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.9cdf74.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.bound.8d10e0.2: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.BitXorWith.impl.Op.c5dfcc.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.9cdf74.2: <specific function> = specific_function %T.binding.as_type.as.BitXorWith.impl.Op.c5dfcc.1, @T.binding.as_type.as.BitXorWith.impl.Op.2(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.91b787.2: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.9cdf74.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.impl_witness.ad3: <witness> = impl_witness imports.%LeftShiftWith.impl_witness_table.ce8, @T.binding.as_type.as.LeftShiftWith.impl.b71(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.0d7d28.1: type = fn_type @T.binding.as_type.as.LeftShiftWith.impl.Op.2, @T.binding.as_type.as.LeftShiftWith.impl.b71(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.f0c7aa.1: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.0d7d28.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.0d7d28.2: type = fn_type @T.binding.as_type.as.LeftShiftWith.impl.Op.1, @T.binding.as_type.as.LeftShiftWith.impl.b71(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.f0c7aa.2: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.0d7d28.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.facet.65b: %LeftShiftWith.type.3f9 = facet_value Core.IntLiteral, (%LeftShiftWith.impl_witness.ad3) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.468: type = fn_type_with_self_type %LeftShiftWith.Op.type.224, %LeftShiftWith.facet.65b [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.bound.df9a08.1: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.LeftShiftWith.impl.Op.f0c7aa.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.18a0d8.1: <specific function> = specific_function %T.binding.as_type.as.LeftShiftWith.impl.Op.f0c7aa.2, @T.binding.as_type.as.LeftShiftWith.impl.Op.1(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.05d3ad.1: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.18a0d8.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.bound.df9a08.2: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.LeftShiftWith.impl.Op.f0c7aa.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.18a0d8.2: <specific function> = specific_function %T.binding.as_type.as.LeftShiftWith.impl.Op.f0c7aa.1, @T.binding.as_type.as.LeftShiftWith.impl.Op.2(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.05d3ad.2: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.18a0d8.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.impl_witness.269: <witness> = impl_witness imports.%RightShiftWith.impl_witness_table.050, @T.binding.as_type.as.RightShiftWith.impl.28b(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.type.b3fbc2.1: type = fn_type @T.binding.as_type.as.RightShiftWith.impl.Op.2, @T.binding.as_type.as.RightShiftWith.impl.28b(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.79036b.1: %T.binding.as_type.as.RightShiftWith.impl.Op.type.b3fbc2.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.type.b3fbc2.2: type = fn_type @T.binding.as_type.as.RightShiftWith.impl.Op.1, @T.binding.as_type.as.RightShiftWith.impl.28b(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.79036b.2: %T.binding.as_type.as.RightShiftWith.impl.Op.type.b3fbc2.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.facet.62c: %RightShiftWith.type.995 = facet_value Core.IntLiteral, (%RightShiftWith.impl_witness.269) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.dd3: type = fn_type_with_self_type %RightShiftWith.Op.type.fd9, %RightShiftWith.facet.62c [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.bound.2baaff.1: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.RightShiftWith.impl.Op.79036b.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.fe68a8.1: <specific function> = specific_function %T.binding.as_type.as.RightShiftWith.impl.Op.79036b.2, @T.binding.as_type.as.RightShiftWith.impl.Op.1(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.fb5cd1.1: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.fe68a8.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.bound.2baaff.2: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.RightShiftWith.impl.Op.79036b.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.fe68a8.2: <specific function> = specific_function %T.binding.as_type.as.RightShiftWith.impl.Op.79036b.1, @T.binding.as_type.as.RightShiftWith.impl.Op.2(%ImplicitAs.facet.eed) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.fb5cd1.2: <bound method> = bound_method %int_1.5b8, %T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.fe68a8.2 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.Convert.type.1b6: type = fn_type @ImplicitAs.Convert, @ImplicitAs(%i32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness.6bc: <witness> = impl_witness imports.%ImplicitAs.impl_witness_table.74f, @Core.IntLiteral.as.ImplicitAs.impl.b2d(%int_32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e0d: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.b2d(%int_32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e0d = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.b94: %ImplicitAs.type.e8c = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.6bc) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.863: type = fn_type_with_self_type %ImplicitAs.Convert.type.1b6, %ImplicitAs.facet.b94 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.215: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: <specific function> = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(%int_32) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.38b: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete]
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT:
|
|
|
|
|
+// CHECK:STDOUT: imports {
|
|
|
|
|
+// CHECK:STDOUT: %Cpp: <namespace> = namespace file.%Cpp.import_cpp, [concrete] {
|
|
|
|
|
+// CHECK:STDOUT: .long = constants.%Cpp.long
|
|
|
|
|
+// CHECK:STDOUT: import Cpp//...
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.b8a: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b38 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness_table.903 = impl_witness_table (%Core.import_ref.b8a), @Core.IntLiteral.as.ImplicitAs.impl.052 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.ca0: @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.09e) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.dbe)]
|
|
|
|
|
+// CHECK:STDOUT: %As.impl_witness_table.9fc = impl_witness_table (%Core.import_ref.ca0), @Core.IntLiteral.as.As.impl [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.cb912f.2 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.eb9: @T.binding.as_type.as.BitAndWith.impl.2e8.%T.binding.as_type.as.BitAndWith.impl.Op.type.2 (%T.binding.as_type.as.BitAndWith.impl.Op.type.b0dfa2.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.binding.as_type.as.BitAndWith.impl.2e8.%T.binding.as_type.as.BitAndWith.impl.Op.2 (constants.%T.binding.as_type.as.BitAndWith.impl.Op.ae0f20.1)]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.impl_witness_table.1c0 = impl_witness_table (%Core.import_ref.cb912f.2, %Core.import_ref.eb9), @T.binding.as_type.as.BitAndWith.impl.2e8 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.Op.36a: @T.binding.as_type.as.BitAndWith.impl.2e8.%T.binding.as_type.as.BitAndWith.impl.Op.type.1 (%T.binding.as_type.as.BitAndWith.impl.Op.type.b0dfa2.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @T.binding.as_type.as.BitAndWith.impl.2e8.%T.binding.as_type.as.BitAndWith.impl.Op.1 (constants.%T.binding.as_type.as.BitAndWith.impl.Op.ae0f20.2)]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.42d: @Core.IntLiteral.as.ImplicitAs.impl.b2d.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.b2d.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3c2)]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness_table.74f = impl_witness_table (%Core.import_ref.42d), @Core.IntLiteral.as.ImplicitAs.impl.b2d [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.4fa: %i32.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness_table.5ad = impl_witness_table (%Core.import_ref.4fa), @i32.as.ImplicitAs.impl [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.cb912f.4 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.d41: @T.binding.as_type.as.BitOrWith.impl.e42.%T.binding.as_type.as.BitOrWith.impl.Op.type.2 (%T.binding.as_type.as.BitOrWith.impl.Op.type.f4a873.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.binding.as_type.as.BitOrWith.impl.e42.%T.binding.as_type.as.BitOrWith.impl.Op.2 (constants.%T.binding.as_type.as.BitOrWith.impl.Op.53d67c.1)]
|
|
|
|
|
+// CHECK:STDOUT: %BitOrWith.impl_witness_table.946 = impl_witness_table (%Core.import_ref.cb912f.4, %Core.import_ref.d41), @T.binding.as_type.as.BitOrWith.impl.e42 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.Op.e80: @T.binding.as_type.as.BitOrWith.impl.e42.%T.binding.as_type.as.BitOrWith.impl.Op.type.1 (%T.binding.as_type.as.BitOrWith.impl.Op.type.f4a873.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @T.binding.as_type.as.BitOrWith.impl.e42.%T.binding.as_type.as.BitOrWith.impl.Op.1 (constants.%T.binding.as_type.as.BitOrWith.impl.Op.53d67c.2)]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.cb912f.6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.fef: @T.binding.as_type.as.BitXorWith.impl.878.%T.binding.as_type.as.BitXorWith.impl.Op.type.2 (%T.binding.as_type.as.BitXorWith.impl.Op.type.fdc423.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.binding.as_type.as.BitXorWith.impl.878.%T.binding.as_type.as.BitXorWith.impl.Op.2 (constants.%T.binding.as_type.as.BitXorWith.impl.Op.659e6b.1)]
|
|
|
|
|
+// CHECK:STDOUT: %BitXorWith.impl_witness_table.39f = impl_witness_table (%Core.import_ref.cb912f.6, %Core.import_ref.fef), @T.binding.as_type.as.BitXorWith.impl.878 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.Op.a2d: @T.binding.as_type.as.BitXorWith.impl.878.%T.binding.as_type.as.BitXorWith.impl.Op.type.1 (%T.binding.as_type.as.BitXorWith.impl.Op.type.fdc423.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @T.binding.as_type.as.BitXorWith.impl.878.%T.binding.as_type.as.BitXorWith.impl.Op.1 (constants.%T.binding.as_type.as.BitXorWith.impl.Op.659e6b.2)]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.cb912f.8 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.4cb: @T.binding.as_type.as.LeftShiftWith.impl.b71.%T.binding.as_type.as.LeftShiftWith.impl.Op.type.2 (%T.binding.as_type.as.LeftShiftWith.impl.Op.type.278104.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.binding.as_type.as.LeftShiftWith.impl.b71.%T.binding.as_type.as.LeftShiftWith.impl.Op.2 (constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.fdafb7.1)]
|
|
|
|
|
+// CHECK:STDOUT: %LeftShiftWith.impl_witness_table.ce8 = impl_witness_table (%Core.import_ref.cb912f.8, %Core.import_ref.4cb), @T.binding.as_type.as.LeftShiftWith.impl.b71 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.Op.79e: @T.binding.as_type.as.LeftShiftWith.impl.b71.%T.binding.as_type.as.LeftShiftWith.impl.Op.type.1 (%T.binding.as_type.as.LeftShiftWith.impl.Op.type.278104.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @T.binding.as_type.as.LeftShiftWith.impl.b71.%T.binding.as_type.as.LeftShiftWith.impl.Op.1 (constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.fdafb7.2)]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.cb912f.10 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.172: @T.binding.as_type.as.RightShiftWith.impl.28b.%T.binding.as_type.as.RightShiftWith.impl.Op.type.2 (%T.binding.as_type.as.RightShiftWith.impl.Op.type.8ef087.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.binding.as_type.as.RightShiftWith.impl.28b.%T.binding.as_type.as.RightShiftWith.impl.Op.2 (constants.%T.binding.as_type.as.RightShiftWith.impl.Op.3f8b9d.1)]
|
|
|
|
|
+// CHECK:STDOUT: %RightShiftWith.impl_witness_table.050 = impl_witness_table (%Core.import_ref.cb912f.10, %Core.import_ref.172), @T.binding.as_type.as.RightShiftWith.impl.28b [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.Op.f2f: @T.binding.as_type.as.RightShiftWith.impl.28b.%T.binding.as_type.as.RightShiftWith.impl.Op.type.1 (%T.binding.as_type.as.RightShiftWith.impl.Op.type.8ef087.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @T.binding.as_type.as.RightShiftWith.impl.28b.%T.binding.as_type.as.RightShiftWith.impl.Op.1 (constants.%T.binding.as_type.as.RightShiftWith.impl.Op.3f8b9d.2)]
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT:
|
|
|
|
|
+// CHECK:STDOUT: fn @BitWiseHeterogeneousLongRightSide() {
|
|
|
|
|
+// CHECK:STDOUT: !entry:
|
|
|
|
|
+// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
+// CHECK:STDOUT: %a.patt: %pattern_type.68c = value_binding_pattern a [concrete]
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc10: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %.loc10_13: type = splice_block %long.ref [concrete = constants.%Cpp.long] {
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.ref: <namespace> = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp]
|
|
|
|
|
+// CHECK:STDOUT: %long.ref: type = name_ref long, constants.%Cpp.long [concrete = constants.%Cpp.long]
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc10: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc10: <bound method> = bound_method %int_1.loc10, %impl.elem0.loc10 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10: init %Cpp.long = call %bound_method.loc10(%int_1.loc10) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc10_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc10_21.2: %Cpp.long = converted %int_1.loc10, %.loc10_21.1 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %a: %Cpp.long = value_binding a, %.loc10_21.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc12: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc12: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
+// CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc12_21.1: %.97a = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_21.1: <bound method> = bound_method %int_1.loc12, %impl.elem0.loc12_21.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc12_21: <specific function> = specific_function %impl.elem0.loc12_21.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_21.2: <bound method> = bound_method %int_1.loc12, %specific_fn.loc12_21 [concrete = constants.%bound_method.290]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc12: init %i32 = call %bound_method.loc12_21.2(%int_1.loc12) [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_21.1: %i32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc12 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_21.2: %i32 = converted %int_1.loc12, %.loc12_21.1 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc12_31: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc12: %.419 = impl_witness_access constants.%BitAndWith.impl_witness.a02, element1 [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.3425be.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_29.1: <bound method> = bound_method %.loc12_21.2, %impl.elem1.loc12 [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.bound.7e10ec.1]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc12_29: <specific function> = specific_function %impl.elem1.loc12, @T.binding.as_type.as.BitAndWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.f76196.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_29.2: <bound method> = bound_method %.loc12_21.2, %specific_fn.loc12_29 [concrete = constants.%bound_method.61cff7.1]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_29.1: %T.binding.as_type.as.BitAndWith.impl.Op.type.f24b53.1 = specific_constant imports.%Core.Op.36a, @T.binding.as_type.as.BitAndWith.impl.2e8(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.3425be.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc12: %T.binding.as_type.as.BitAndWith.impl.Op.type.f24b53.1 = name_ref Op, %.loc12_29.1 [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.3425be.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.bound.loc12: <bound method> = bound_method %.loc12_21.2, %Op.ref.loc12 [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.bound.7e10ec.2]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.loc12: <specific function> = specific_function %Op.ref.loc12, @T.binding.as_type.as.BitAndWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.f76196.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_29.3: <bound method> = bound_method %.loc12_21.2, %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.loc12 [concrete = constants.%bound_method.61cff7.2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc12_21.2: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_21.3: <bound method> = bound_method %.loc12_21.2, %impl.elem0.loc12_21.2 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc12: init %Cpp.long = call %bound_method.loc12_21.3(%.loc12_21.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_21.3: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc12 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_21.4: %Cpp.long = converted %.loc12_21.2, %.loc12_21.3 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.call.loc12: init %Cpp.long = call %bound_method.loc12_29.3(%.loc12_21.4, %a.ref.loc12_31)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc12_34: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc12: <specific function> = specific_function %AssertSameType.ref.loc12, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_29.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.BitAndWith.impl.Op.call.loc12
|
|
|
|
|
+// CHECK:STDOUT: %.loc12_29.3: %Cpp.long = converted %T.binding.as_type.as.BitAndWith.impl.Op.call.loc12, %.loc12_29.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc12: init %empty_tuple.type = call %AssertSameType.specific_fn.loc12(%.loc12_29.3, %a.ref.loc12_34)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc13: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc13: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
+// CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc13_21.1: %.97a = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_21.1: <bound method> = bound_method %int_1.loc13, %impl.elem0.loc13_21.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc13_21: <specific function> = specific_function %impl.elem0.loc13_21.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_21.2: <bound method> = bound_method %int_1.loc13, %specific_fn.loc13_21 [concrete = constants.%bound_method.290]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc13: init %i32 = call %bound_method.loc13_21.2(%int_1.loc13) [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_21.1: %i32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc13 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_21.2: %i32 = converted %int_1.loc13, %.loc13_21.1 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc13_31: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc13: %.2e2 = impl_witness_access constants.%BitOrWith.impl_witness.d0a, element1 [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.c9149f.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_29.1: <bound method> = bound_method %.loc13_21.2, %impl.elem1.loc13 [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.bound.3218ee.1]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc13_29: <specific function> = specific_function %impl.elem1.loc13, @T.binding.as_type.as.BitOrWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.fbab3e.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_29.2: <bound method> = bound_method %.loc13_21.2, %specific_fn.loc13_29 [concrete = constants.%bound_method.37450b.1]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_29.1: %T.binding.as_type.as.BitOrWith.impl.Op.type.c5501d.1 = specific_constant imports.%Core.Op.e80, @T.binding.as_type.as.BitOrWith.impl.e42(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.c9149f.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc13: %T.binding.as_type.as.BitOrWith.impl.Op.type.c5501d.1 = name_ref Op, %.loc13_29.1 [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.c9149f.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.bound.loc13: <bound method> = bound_method %.loc13_21.2, %Op.ref.loc13 [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.bound.3218ee.2]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.loc13: <specific function> = specific_function %Op.ref.loc13, @T.binding.as_type.as.BitOrWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.fbab3e.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_29.3: <bound method> = bound_method %.loc13_21.2, %T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.loc13 [concrete = constants.%bound_method.37450b.2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc13_21.2: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_21.3: <bound method> = bound_method %.loc13_21.2, %impl.elem0.loc13_21.2 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc13: init %Cpp.long = call %bound_method.loc13_21.3(%.loc13_21.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_21.3: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc13 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_21.4: %Cpp.long = converted %.loc13_21.2, %.loc13_21.3 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.call.loc13: init %Cpp.long = call %bound_method.loc13_29.3(%.loc13_21.4, %a.ref.loc13_31)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc13_34: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc13: <specific function> = specific_function %AssertSameType.ref.loc13, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_29.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.BitOrWith.impl.Op.call.loc13
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_29.3: %Cpp.long = converted %T.binding.as_type.as.BitOrWith.impl.Op.call.loc13, %.loc13_29.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc13: init %empty_tuple.type = call %AssertSameType.specific_fn.loc13(%.loc13_29.3, %a.ref.loc13_34)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc14: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc14: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
+// CHECK:STDOUT: %i32.loc14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc14_21.1: %.97a = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_21.1: <bound method> = bound_method %int_1.loc14, %impl.elem0.loc14_21.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc14_21: <specific function> = specific_function %impl.elem0.loc14_21.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_21.2: <bound method> = bound_method %int_1.loc14, %specific_fn.loc14_21 [concrete = constants.%bound_method.290]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc14: init %i32 = call %bound_method.loc14_21.2(%int_1.loc14) [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_21.1: %i32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc14 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_21.2: %i32 = converted %int_1.loc14, %.loc14_21.1 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc14_31: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc14: %.24d = impl_witness_access constants.%BitXorWith.impl_witness.e8e, element1 [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.c338c8.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_29.1: <bound method> = bound_method %.loc14_21.2, %impl.elem1.loc14 [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.bound.9a6c35.1]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc14_29: <specific function> = specific_function %impl.elem1.loc14, @T.binding.as_type.as.BitXorWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.125c34.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_29.2: <bound method> = bound_method %.loc14_21.2, %specific_fn.loc14_29 [concrete = constants.%bound_method.6a6348.1]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_29.1: %T.binding.as_type.as.BitXorWith.impl.Op.type.42bd3d.1 = specific_constant imports.%Core.Op.a2d, @T.binding.as_type.as.BitXorWith.impl.878(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.c338c8.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc14: %T.binding.as_type.as.BitXorWith.impl.Op.type.42bd3d.1 = name_ref Op, %.loc14_29.1 [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.c338c8.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.bound.loc14: <bound method> = bound_method %.loc14_21.2, %Op.ref.loc14 [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.bound.9a6c35.2]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.loc14: <specific function> = specific_function %Op.ref.loc14, @T.binding.as_type.as.BitXorWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.125c34.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_29.3: <bound method> = bound_method %.loc14_21.2, %T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.loc14 [concrete = constants.%bound_method.6a6348.2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc14_21.2: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_21.3: <bound method> = bound_method %.loc14_21.2, %impl.elem0.loc14_21.2 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc14: init %Cpp.long = call %bound_method.loc14_21.3(%.loc14_21.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_21.3: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc14 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_21.4: %Cpp.long = converted %.loc14_21.2, %.loc14_21.3 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.call.loc14: init %Cpp.long = call %bound_method.loc14_29.3(%.loc14_21.4, %a.ref.loc14_31)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc14_34: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc14: <specific function> = specific_function %AssertSameType.ref.loc14, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_29.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.BitXorWith.impl.Op.call.loc14
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_29.3: %Cpp.long = converted %T.binding.as_type.as.BitXorWith.impl.Op.call.loc14, %.loc14_29.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc14: init %empty_tuple.type = call %AssertSameType.specific_fn.loc14(%.loc14_29.3, %a.ref.loc14_34)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc15: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc15: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %int_32.loc15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
+// CHECK:STDOUT: %i32.loc15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc15_21.1: %.97a = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc15_21.1: <bound method> = bound_method %int_1.loc15, %impl.elem0.loc15_21.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc15_21: <specific function> = specific_function %impl.elem0.loc15_21.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc15_21.2: <bound method> = bound_method %int_1.loc15, %specific_fn.loc15_21 [concrete = constants.%bound_method.290]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc15: init %i32 = call %bound_method.loc15_21.2(%int_1.loc15) [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_21.1: %i32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc15 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_21.2: %i32 = converted %int_1.loc15, %.loc15_21.1 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc15_32: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc15: %.509 = impl_witness_access constants.%LeftShiftWith.impl_witness.fb3, element1 [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.c3e103.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc15_29.1: <bound method> = bound_method %.loc15_21.2, %impl.elem1.loc15 [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.bound.30239c.1]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc15_29: <specific function> = specific_function %impl.elem1.loc15, @T.binding.as_type.as.LeftShiftWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.547c25.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc15_29.2: <bound method> = bound_method %.loc15_21.2, %specific_fn.loc15_29 [concrete = constants.%bound_method.137506.1]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_29.1: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.ab52f6.1 = specific_constant imports.%Core.Op.79e, @T.binding.as_type.as.LeftShiftWith.impl.b71(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.c3e103.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc15: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.ab52f6.1 = name_ref Op, %.loc15_29.1 [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.c3e103.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.bound.loc15: <bound method> = bound_method %.loc15_21.2, %Op.ref.loc15 [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.bound.30239c.2]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.loc15: <specific function> = specific_function %Op.ref.loc15, @T.binding.as_type.as.LeftShiftWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.547c25.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc15_29.3: <bound method> = bound_method %.loc15_21.2, %T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.loc15 [concrete = constants.%bound_method.137506.2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc15_21.2: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc15_21.3: <bound method> = bound_method %.loc15_21.2, %impl.elem0.loc15_21.2 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc15: init %Cpp.long = call %bound_method.loc15_21.3(%.loc15_21.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_21.3: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc15 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_21.4: %Cpp.long = converted %.loc15_21.2, %.loc15_21.3 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.call.loc15: init %Cpp.long = call %bound_method.loc15_29.3(%.loc15_21.4, %a.ref.loc15_32)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc15_35: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc15: <specific function> = specific_function %AssertSameType.ref.loc15, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_29.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.LeftShiftWith.impl.Op.call.loc15
|
|
|
|
|
+// CHECK:STDOUT: %.loc15_29.3: %Cpp.long = converted %T.binding.as_type.as.LeftShiftWith.impl.Op.call.loc15, %.loc15_29.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc15: init %empty_tuple.type = call %AssertSameType.specific_fn.loc15(%.loc15_29.3, %a.ref.loc15_35)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc16: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc16: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
+// CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc16_21.1: %.97a = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc16_21.1: <bound method> = bound_method %int_1.loc16, %impl.elem0.loc16_21.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc16_21: <specific function> = specific_function %impl.elem0.loc16_21.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc16_21.2: <bound method> = bound_method %int_1.loc16, %specific_fn.loc16_21 [concrete = constants.%bound_method.290]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc16: init %i32 = call %bound_method.loc16_21.2(%int_1.loc16) [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_21.1: %i32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc16 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_21.2: %i32 = converted %int_1.loc16, %.loc16_21.1 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc16_32: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc16: %.9db = impl_witness_access constants.%RightShiftWith.impl_witness.7d0, element1 [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.44dea2.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc16_29.1: <bound method> = bound_method %.loc16_21.2, %impl.elem1.loc16 [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.bound.08a5b1.1]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc16_29: <specific function> = specific_function %impl.elem1.loc16, @T.binding.as_type.as.RightShiftWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.888028.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc16_29.2: <bound method> = bound_method %.loc16_21.2, %specific_fn.loc16_29 [concrete = constants.%bound_method.4658fd.1]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_29.1: %T.binding.as_type.as.RightShiftWith.impl.Op.type.2fe33f.1 = specific_constant imports.%Core.Op.f2f, @T.binding.as_type.as.RightShiftWith.impl.28b(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.44dea2.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc16: %T.binding.as_type.as.RightShiftWith.impl.Op.type.2fe33f.1 = name_ref Op, %.loc16_29.1 [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.44dea2.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.bound.loc16: <bound method> = bound_method %.loc16_21.2, %Op.ref.loc16 [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.bound.08a5b1.2]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.loc16: <specific function> = specific_function %Op.ref.loc16, @T.binding.as_type.as.RightShiftWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.888028.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc16_29.3: <bound method> = bound_method %.loc16_21.2, %T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.loc16 [concrete = constants.%bound_method.4658fd.2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc16_21.2: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc16_21.3: <bound method> = bound_method %.loc16_21.2, %impl.elem0.loc16_21.2 [concrete = constants.%i32.as.ImplicitAs.impl.Convert.bound]
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc16: init %Cpp.long = call %bound_method.loc16_21.3(%.loc16_21.2) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_21.3: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc16 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_21.4: %Cpp.long = converted %.loc16_21.2, %.loc16_21.3 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.call.loc16: init %Cpp.long = call %bound_method.loc16_29.3(%.loc16_21.4, %a.ref.loc16_32)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc16_35: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc16: <specific function> = specific_function %AssertSameType.ref.loc16, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_29.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.RightShiftWith.impl.Op.call.loc16
|
|
|
|
|
+// CHECK:STDOUT: %.loc16_29.3: %Cpp.long = converted %T.binding.as_type.as.RightShiftWith.impl.Op.call.loc16, %.loc16_29.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc16: init %empty_tuple.type = call %AssertSameType.specific_fn.loc16(%.loc16_29.3, %a.ref.loc16_35)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc18: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc18: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc18_22: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc18: %.e0e = impl_witness_access constants.%BitAndWith.impl_witness.11b, element1 [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.657411.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc18_20.1: <bound method> = bound_method %int_1.loc18, %impl.elem1.loc18 [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.bound.62b211.1]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc18: <specific function> = specific_function %impl.elem1.loc18, @T.binding.as_type.as.BitAndWith.impl.Op.1(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.76feb8.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc18_20.2: <bound method> = bound_method %int_1.loc18, %specific_fn.loc18 [concrete = constants.%bound_method.284eaa.1]
|
|
|
|
|
+// CHECK:STDOUT: %.loc18_20.1: %T.binding.as_type.as.BitAndWith.impl.Op.type.371e74.1 = specific_constant imports.%Core.Op.36a, @T.binding.as_type.as.BitAndWith.impl.2e8(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.657411.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc18: %T.binding.as_type.as.BitAndWith.impl.Op.type.371e74.1 = name_ref Op, %.loc18_20.1 [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.657411.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.bound.loc18: <bound method> = bound_method %int_1.loc18, %Op.ref.loc18 [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.bound.62b211.2]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.loc18: <specific function> = specific_function %Op.ref.loc18, @T.binding.as_type.as.BitAndWith.impl.Op.2(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.76feb8.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc18_20.3: <bound method> = bound_method %int_1.loc18, %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.loc18 [concrete = constants.%bound_method.284eaa.2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc18: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc18_18: <bound method> = bound_method %int_1.loc18, %impl.elem0.loc18 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18: init %Cpp.long = call %bound_method.loc18_18(%int_1.loc18) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc18_18.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc18_18.2: %Cpp.long = converted %int_1.loc18, %.loc18_18.1 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.call.loc18: init %Cpp.long = call %bound_method.loc18_20.3(%.loc18_18.2, %a.ref.loc18_22)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc18_25: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc18: <specific function> = specific_function %AssertSameType.ref.loc18, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc18_20.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.BitAndWith.impl.Op.call.loc18
|
|
|
|
|
+// CHECK:STDOUT: %.loc18_20.3: %Cpp.long = converted %T.binding.as_type.as.BitAndWith.impl.Op.call.loc18, %.loc18_20.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc18: init %empty_tuple.type = call %AssertSameType.specific_fn.loc18(%.loc18_20.3, %a.ref.loc18_25)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc19: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc19: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc19_22: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc19: %.9f3 = impl_witness_access constants.%BitOrWith.impl_witness.f0b, element1 [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.552722.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc19_20.1: <bound method> = bound_method %int_1.loc19, %impl.elem1.loc19 [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.bound.0cc7c8.1]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc19: <specific function> = specific_function %impl.elem1.loc19, @T.binding.as_type.as.BitOrWith.impl.Op.1(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.f5e026.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc19_20.2: <bound method> = bound_method %int_1.loc19, %specific_fn.loc19 [concrete = constants.%bound_method.ba7a8e.1]
|
|
|
|
|
+// CHECK:STDOUT: %.loc19_20.1: %T.binding.as_type.as.BitOrWith.impl.Op.type.6b5126.1 = specific_constant imports.%Core.Op.e80, @T.binding.as_type.as.BitOrWith.impl.e42(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.552722.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc19: %T.binding.as_type.as.BitOrWith.impl.Op.type.6b5126.1 = name_ref Op, %.loc19_20.1 [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.552722.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.bound.loc19: <bound method> = bound_method %int_1.loc19, %Op.ref.loc19 [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.bound.0cc7c8.2]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.loc19: <specific function> = specific_function %Op.ref.loc19, @T.binding.as_type.as.BitOrWith.impl.Op.2(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.f5e026.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc19_20.3: <bound method> = bound_method %int_1.loc19, %T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.loc19 [concrete = constants.%bound_method.ba7a8e.2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc19: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc19_18: <bound method> = bound_method %int_1.loc19, %impl.elem0.loc19 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19: init %Cpp.long = call %bound_method.loc19_18(%int_1.loc19) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc19_18.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc19_18.2: %Cpp.long = converted %int_1.loc19, %.loc19_18.1 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.call.loc19: init %Cpp.long = call %bound_method.loc19_20.3(%.loc19_18.2, %a.ref.loc19_22)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc19_25: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc19: <specific function> = specific_function %AssertSameType.ref.loc19, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc19_20.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.BitOrWith.impl.Op.call.loc19
|
|
|
|
|
+// CHECK:STDOUT: %.loc19_20.3: %Cpp.long = converted %T.binding.as_type.as.BitOrWith.impl.Op.call.loc19, %.loc19_20.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc19: init %empty_tuple.type = call %AssertSameType.specific_fn.loc19(%.loc19_20.3, %a.ref.loc19_25)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc20: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc20: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc20_22: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc20: %.498 = impl_witness_access constants.%BitXorWith.impl_witness.a75, element1 [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.c5dfcc.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc20_20.1: <bound method> = bound_method %int_1.loc20, %impl.elem1.loc20 [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.bound.8d10e0.1]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc20: <specific function> = specific_function %impl.elem1.loc20, @T.binding.as_type.as.BitXorWith.impl.Op.1(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.9cdf74.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc20_20.2: <bound method> = bound_method %int_1.loc20, %specific_fn.loc20 [concrete = constants.%bound_method.91b787.1]
|
|
|
|
|
+// CHECK:STDOUT: %.loc20_20.1: %T.binding.as_type.as.BitXorWith.impl.Op.type.c3bcf6.1 = specific_constant imports.%Core.Op.a2d, @T.binding.as_type.as.BitXorWith.impl.878(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.c5dfcc.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc20: %T.binding.as_type.as.BitXorWith.impl.Op.type.c3bcf6.1 = name_ref Op, %.loc20_20.1 [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.c5dfcc.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.bound.loc20: <bound method> = bound_method %int_1.loc20, %Op.ref.loc20 [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.bound.8d10e0.2]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.loc20: <specific function> = specific_function %Op.ref.loc20, @T.binding.as_type.as.BitXorWith.impl.Op.2(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.9cdf74.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc20_20.3: <bound method> = bound_method %int_1.loc20, %T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.loc20 [concrete = constants.%bound_method.91b787.2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc20: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc20_18: <bound method> = bound_method %int_1.loc20, %impl.elem0.loc20 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20: init %Cpp.long = call %bound_method.loc20_18(%int_1.loc20) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc20_18.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc20_18.2: %Cpp.long = converted %int_1.loc20, %.loc20_18.1 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.call.loc20: init %Cpp.long = call %bound_method.loc20_20.3(%.loc20_18.2, %a.ref.loc20_22)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc20_25: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc20: <specific function> = specific_function %AssertSameType.ref.loc20, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc20_20.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.BitXorWith.impl.Op.call.loc20
|
|
|
|
|
+// CHECK:STDOUT: %.loc20_20.3: %Cpp.long = converted %T.binding.as_type.as.BitXorWith.impl.Op.call.loc20, %.loc20_20.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc20: init %empty_tuple.type = call %AssertSameType.specific_fn.loc20(%.loc20_20.3, %a.ref.loc20_25)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc21: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc21: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc21_23: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc21: %.468 = impl_witness_access constants.%LeftShiftWith.impl_witness.ad3, element1 [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.f0c7aa.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc21_20.1: <bound method> = bound_method %int_1.loc21, %impl.elem1.loc21 [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.bound.df9a08.1]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc21: <specific function> = specific_function %impl.elem1.loc21, @T.binding.as_type.as.LeftShiftWith.impl.Op.1(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.18a0d8.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc21_20.2: <bound method> = bound_method %int_1.loc21, %specific_fn.loc21 [concrete = constants.%bound_method.05d3ad.1]
|
|
|
|
|
+// CHECK:STDOUT: %.loc21_20.1: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.0d7d28.1 = specific_constant imports.%Core.Op.79e, @T.binding.as_type.as.LeftShiftWith.impl.b71(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.f0c7aa.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc21: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.0d7d28.1 = name_ref Op, %.loc21_20.1 [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.f0c7aa.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.bound.loc21: <bound method> = bound_method %int_1.loc21, %Op.ref.loc21 [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.bound.df9a08.2]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.loc21: <specific function> = specific_function %Op.ref.loc21, @T.binding.as_type.as.LeftShiftWith.impl.Op.2(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.18a0d8.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc21_20.3: <bound method> = bound_method %int_1.loc21, %T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.loc21 [concrete = constants.%bound_method.05d3ad.2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc21: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc21_18: <bound method> = bound_method %int_1.loc21, %impl.elem0.loc21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21: init %Cpp.long = call %bound_method.loc21_18(%int_1.loc21) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc21_18.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc21_18.2: %Cpp.long = converted %int_1.loc21, %.loc21_18.1 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.call.loc21: init %Cpp.long = call %bound_method.loc21_20.3(%.loc21_18.2, %a.ref.loc21_23)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc21_26: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc21: <specific function> = specific_function %AssertSameType.ref.loc21, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc21_20.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.LeftShiftWith.impl.Op.call.loc21
|
|
|
|
|
+// CHECK:STDOUT: %.loc21_20.3: %Cpp.long = converted %T.binding.as_type.as.LeftShiftWith.impl.Op.call.loc21, %.loc21_20.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc21: init %empty_tuple.type = call %AssertSameType.specific_fn.loc21(%.loc21_20.3, %a.ref.loc21_26)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc22: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc22: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc22_23: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc22: %.dd3 = impl_witness_access constants.%RightShiftWith.impl_witness.269, element1 [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.79036b.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc22_20.1: <bound method> = bound_method %int_1.loc22, %impl.elem1.loc22 [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.bound.2baaff.1]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc22: <specific function> = specific_function %impl.elem1.loc22, @T.binding.as_type.as.RightShiftWith.impl.Op.1(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.fe68a8.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc22_20.2: <bound method> = bound_method %int_1.loc22, %specific_fn.loc22 [concrete = constants.%bound_method.fb5cd1.1]
|
|
|
|
|
+// CHECK:STDOUT: %.loc22_20.1: %T.binding.as_type.as.RightShiftWith.impl.Op.type.b3fbc2.1 = specific_constant imports.%Core.Op.f2f, @T.binding.as_type.as.RightShiftWith.impl.28b(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.79036b.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc22: %T.binding.as_type.as.RightShiftWith.impl.Op.type.b3fbc2.1 = name_ref Op, %.loc22_20.1 [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.79036b.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.bound.loc22: <bound method> = bound_method %int_1.loc22, %Op.ref.loc22 [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.bound.2baaff.2]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.loc22: <specific function> = specific_function %Op.ref.loc22, @T.binding.as_type.as.RightShiftWith.impl.Op.2(constants.%ImplicitAs.facet.eed) [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.fe68a8.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc22_20.3: <bound method> = bound_method %int_1.loc22, %T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.loc22 [concrete = constants.%bound_method.fb5cd1.2]
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc22: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc22_18: <bound method> = bound_method %int_1.loc22, %impl.elem0.loc22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22: init %Cpp.long = call %bound_method.loc22_18(%int_1.loc22) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc22_18.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc22_18.2: %Cpp.long = converted %int_1.loc22, %.loc22_18.1 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.call.loc22: init %Cpp.long = call %bound_method.loc22_20.3(%.loc22_18.2, %a.ref.loc22_23)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc22_26: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc22: <specific function> = specific_function %AssertSameType.ref.loc22, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc22_20.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.RightShiftWith.impl.Op.call.loc22
|
|
|
|
|
+// CHECK:STDOUT: %.loc22_20.3: %Cpp.long = converted %T.binding.as_type.as.RightShiftWith.impl.Op.call.loc22, %.loc22_20.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc22: init %empty_tuple.type = call %AssertSameType.specific_fn.loc22(%.loc22_20.3, %a.ref.loc22_26)
|
|
|
|
|
+// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
+// CHECK:STDOUT: %b.patt: %pattern_type.7ce = value_binding_pattern b [concrete]
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc24: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %.loc24_10: type = splice_block %i32.loc24 [concrete = constants.%i32] {
|
|
|
|
|
+// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
|
|
|
|
+// CHECK:STDOUT: %i32.loc24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
|
|
// CHECK:STDOUT: }
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc24: %.567 = impl_witness_access constants.%ImplicitAs.impl_witness.556, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.57d]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.loc24_16.1: <bound method> = bound_method %int_1.loc24, %impl.elem0.loc24 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.102]
|
|
|
|
|
-// CHECK:STDOUT: %specific_fn.loc24: <specific function> = specific_function %impl.elem0.loc24, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.loc24_16.2: <bound method> = bound_method %int_1.loc24, %specific_fn.loc24 [concrete = constants.%bound_method.288]
|
|
|
|
|
-// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc24: init %i64 = call %bound_method.loc24_16.2(%int_1.loc24) [concrete = constants.%int_1.41a]
|
|
|
|
|
-// CHECK:STDOUT: %.loc24_16.1: %i64 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc24 [concrete = constants.%int_1.41a]
|
|
|
|
|
-// CHECK:STDOUT: %.loc24_16.2: %i64 = converted %int_1.loc24, %.loc24_16.1 [concrete = constants.%int_1.41a]
|
|
|
|
|
-// CHECK:STDOUT: %b: %i64 = value_binding b, %.loc24_16.2
|
|
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc24: %.863 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc24_16.1: <bound method> = bound_method %int_1.loc24, %impl.elem0.loc24 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.215]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc24: <specific function> = specific_function %impl.elem0.loc24, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc24_16.2: <bound method> = bound_method %int_1.loc24, %specific_fn.loc24 [concrete = constants.%bound_method.38b]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc24: init %i32 = call %bound_method.loc24_16.2(%int_1.loc24) [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc24_16.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc24 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %.loc24_16.2: %i32 = converted %int_1.loc24, %.loc24_16.1 [concrete = constants.%int_1.5d2]
|
|
|
|
|
+// CHECK:STDOUT: %b: %i32 = value_binding b, %.loc24_16.2
|
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc25: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc25: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
-// CHECK:STDOUT: %a.ref.loc25: %Cpp.long = name_ref a, %a
|
|
|
|
|
-// CHECK:STDOUT: %b.ref.loc25_22: %i64 = name_ref b, %b
|
|
|
|
|
-// CHECK:STDOUT: %impl.elem1.loc25: %.656 = impl_witness_access constants.%BitAndWith.impl_witness.c6a, element1 [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.12fb91.2]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.loc25_20.1: <bound method> = bound_method %a.ref.loc25, %impl.elem1.loc25
|
|
|
|
|
-// CHECK:STDOUT: %specific_fn.loc25: <specific function> = specific_function %impl.elem1.loc25, @T.binding.as_type.as.BitAndWith.impl.Op.3(constants.%int_64, constants.%ImplicitAs.facet.ba4) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.d9a57f.1]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.loc25_20.2: <bound method> = bound_method %a.ref.loc25, %specific_fn.loc25
|
|
|
|
|
-// CHECK:STDOUT: %.loc25_20.1: %T.binding.as_type.as.BitAndWith.impl.Op.type.7732f0.1 = specific_constant imports.%Core.Op.944, @T.binding.as_type.as.BitAndWith.impl.96d(constants.%int_64, constants.%ImplicitAs.facet.ba4) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.12fb91.1]
|
|
|
|
|
-// CHECK:STDOUT: %Op.ref.loc25: %T.binding.as_type.as.BitAndWith.impl.Op.type.7732f0.1 = name_ref Op, %.loc25_20.1 [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.12fb91.1]
|
|
|
|
|
-// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.bound: <bound method> = bound_method %a.ref.loc25, %Op.ref.loc25
|
|
|
|
|
-// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn: <specific function> = specific_function %Op.ref.loc25, @T.binding.as_type.as.BitAndWith.impl.Op.4(constants.%int_64, constants.%ImplicitAs.facet.ba4) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.d9a57f.2]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.loc25_20.3: <bound method> = bound_method %a.ref.loc25, %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn
|
|
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc25: %.8a2 = impl_witness_access constants.%ImplicitAs.impl_witness.bbc, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.loc25_18: <bound method> = bound_method %a.ref.loc25, %impl.elem0.loc25
|
|
|
|
|
-// CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc25: init %i64 = call %bound_method.loc25_18(%a.ref.loc25)
|
|
|
|
|
-// CHECK:STDOUT: %.loc25_18.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc25
|
|
|
|
|
-// CHECK:STDOUT: %.loc25_18.2: %i64 = converted %a.ref.loc25, %.loc25_18.1
|
|
|
|
|
-// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.call: init %i64 = call %bound_method.loc25_20.3(%.loc25_18.2, %b.ref.loc25_22)
|
|
|
|
|
-// CHECK:STDOUT: %b.ref.loc25_25: %i64 = name_ref b, %b
|
|
|
|
|
-// CHECK:STDOUT: %AssertSameType.specific_fn.loc25: <specific function> = specific_function %AssertSameType.ref.loc25, @AssertSameType(constants.%i64) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
-// CHECK:STDOUT: %.loc25_20.2: %i64 = value_of_initializer %T.binding.as_type.as.BitAndWith.impl.Op.call
|
|
|
|
|
-// CHECK:STDOUT: %.loc25_20.3: %i64 = converted %T.binding.as_type.as.BitAndWith.impl.Op.call, %.loc25_20.2
|
|
|
|
|
-// CHECK:STDOUT: %AssertSameType.call.loc25: init %empty_tuple.type = call %AssertSameType.specific_fn.loc25(%.loc25_20.3, %b.ref.loc25_25)
|
|
|
|
|
|
|
+// CHECK:STDOUT: %b.ref.loc25: %i32 = name_ref b, %b
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc25_22: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc25: %.419 = impl_witness_access constants.%BitAndWith.impl_witness.a02, element1 [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.3425be.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc25_20.1: <bound method> = bound_method %b.ref.loc25, %impl.elem1.loc25
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc25: <specific function> = specific_function %impl.elem1.loc25, @T.binding.as_type.as.BitAndWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.f76196.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc25_20.2: <bound method> = bound_method %b.ref.loc25, %specific_fn.loc25
|
|
|
|
|
+// CHECK:STDOUT: %.loc25_20.1: %T.binding.as_type.as.BitAndWith.impl.Op.type.f24b53.1 = specific_constant imports.%Core.Op.36a, @T.binding.as_type.as.BitAndWith.impl.2e8(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.3425be.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc25: %T.binding.as_type.as.BitAndWith.impl.Op.type.f24b53.1 = name_ref Op, %.loc25_20.1 [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.3425be.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.bound.loc25: <bound method> = bound_method %b.ref.loc25, %Op.ref.loc25
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.loc25: <specific function> = specific_function %Op.ref.loc25, @T.binding.as_type.as.BitAndWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.f76196.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc25_20.3: <bound method> = bound_method %b.ref.loc25, %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.loc25
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc25: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc25_18: <bound method> = bound_method %b.ref.loc25, %impl.elem0.loc25
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc25: init %Cpp.long = call %bound_method.loc25_18(%b.ref.loc25)
|
|
|
|
|
+// CHECK:STDOUT: %.loc25_18.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc25
|
|
|
|
|
+// CHECK:STDOUT: %.loc25_18.2: %Cpp.long = converted %b.ref.loc25, %.loc25_18.1
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.call.loc25: init %Cpp.long = call %bound_method.loc25_20.3(%.loc25_18.2, %a.ref.loc25_22)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc25_25: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc25: <specific function> = specific_function %AssertSameType.ref.loc25, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc25_20.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.BitAndWith.impl.Op.call.loc25
|
|
|
|
|
+// CHECK:STDOUT: %.loc25_20.3: %Cpp.long = converted %T.binding.as_type.as.BitAndWith.impl.Op.call.loc25, %.loc25_20.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc25: init %empty_tuple.type = call %AssertSameType.specific_fn.loc25(%.loc25_20.3, %a.ref.loc25_25)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc26: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %b.ref.loc26: %i32 = name_ref b, %b
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc26_22: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc26: %.2e2 = impl_witness_access constants.%BitOrWith.impl_witness.d0a, element1 [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.c9149f.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc26_20.1: <bound method> = bound_method %b.ref.loc26, %impl.elem1.loc26
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc26: <specific function> = specific_function %impl.elem1.loc26, @T.binding.as_type.as.BitOrWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.fbab3e.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc26_20.2: <bound method> = bound_method %b.ref.loc26, %specific_fn.loc26
|
|
|
|
|
+// CHECK:STDOUT: %.loc26_20.1: %T.binding.as_type.as.BitOrWith.impl.Op.type.c5501d.1 = specific_constant imports.%Core.Op.e80, @T.binding.as_type.as.BitOrWith.impl.e42(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.c9149f.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc26: %T.binding.as_type.as.BitOrWith.impl.Op.type.c5501d.1 = name_ref Op, %.loc26_20.1 [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.c9149f.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.bound.loc26: <bound method> = bound_method %b.ref.loc26, %Op.ref.loc26
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.loc26: <specific function> = specific_function %Op.ref.loc26, @T.binding.as_type.as.BitOrWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.fbab3e.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc26_20.3: <bound method> = bound_method %b.ref.loc26, %T.binding.as_type.as.BitOrWith.impl.Op.specific_fn.loc26
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc26: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc26_18: <bound method> = bound_method %b.ref.loc26, %impl.elem0.loc26
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc26: init %Cpp.long = call %bound_method.loc26_18(%b.ref.loc26)
|
|
|
|
|
+// CHECK:STDOUT: %.loc26_18.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc26
|
|
|
|
|
+// CHECK:STDOUT: %.loc26_18.2: %Cpp.long = converted %b.ref.loc26, %.loc26_18.1
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitOrWith.impl.Op.call.loc26: init %Cpp.long = call %bound_method.loc26_20.3(%.loc26_18.2, %a.ref.loc26_22)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc26_25: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc26: <specific function> = specific_function %AssertSameType.ref.loc26, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc26_20.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.BitOrWith.impl.Op.call.loc26
|
|
|
|
|
+// CHECK:STDOUT: %.loc26_20.3: %Cpp.long = converted %T.binding.as_type.as.BitOrWith.impl.Op.call.loc26, %.loc26_20.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc26: init %empty_tuple.type = call %AssertSameType.specific_fn.loc26(%.loc26_20.3, %a.ref.loc26_25)
|
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc27: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
// CHECK:STDOUT: %AssertSameType.ref.loc27: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
-// CHECK:STDOUT: %b.ref.loc27_18: %i64 = name_ref b, %b
|
|
|
|
|
-// CHECK:STDOUT: %a.ref.loc27: %Cpp.long = name_ref a, %a
|
|
|
|
|
-// CHECK:STDOUT: %impl.elem1.loc27: %.29c = impl_witness_access constants.%BitAndWith.impl_witness.c34, element1 [concrete = constants.%Int.as.BitAndWith.impl.Op.740875.2]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.loc27_20.1: <bound method> = bound_method %b.ref.loc27_18, %impl.elem1.loc27
|
|
|
|
|
-// CHECK:STDOUT: %specific_fn.loc27: <specific function> = specific_function %impl.elem1.loc27, @Int.as.BitAndWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.ba4) [concrete = constants.%Int.as.BitAndWith.impl.Op.specific_fn.7b1efb.1]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.loc27_20.2: <bound method> = bound_method %b.ref.loc27_18, %specific_fn.loc27
|
|
|
|
|
-// CHECK:STDOUT: %.loc27_20.1: %Int.as.BitAndWith.impl.Op.type.871ddc.1 = specific_constant imports.%Core.Op.36f, @Int.as.BitAndWith.impl.4ac(constants.%int_64, constants.%ImplicitAs.facet.ba4) [concrete = constants.%Int.as.BitAndWith.impl.Op.740875.1]
|
|
|
|
|
-// CHECK:STDOUT: %Op.ref.loc27: %Int.as.BitAndWith.impl.Op.type.871ddc.1 = name_ref Op, %.loc27_20.1 [concrete = constants.%Int.as.BitAndWith.impl.Op.740875.1]
|
|
|
|
|
-// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.bound: <bound method> = bound_method %b.ref.loc27_18, %Op.ref.loc27
|
|
|
|
|
-// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.specific_fn: <specific function> = specific_function %Op.ref.loc27, @Int.as.BitAndWith.impl.Op.3(constants.%int_64, constants.%ImplicitAs.facet.ba4) [concrete = constants.%Int.as.BitAndWith.impl.Op.specific_fn.7b1efb.2]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.loc27_20.3: <bound method> = bound_method %b.ref.loc27_18, %Int.as.BitAndWith.impl.Op.specific_fn
|
|
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc27: %.8a2 = impl_witness_access constants.%ImplicitAs.impl_witness.bbc, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert]
|
|
|
|
|
-// CHECK:STDOUT: %bound_method.loc27_22: <bound method> = bound_method %a.ref.loc27, %impl.elem0.loc27
|
|
|
|
|
-// CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc27: init %i64 = call %bound_method.loc27_22(%a.ref.loc27)
|
|
|
|
|
-// CHECK:STDOUT: %.loc27_22.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc27
|
|
|
|
|
-// CHECK:STDOUT: %.loc27_22.2: %i64 = converted %a.ref.loc27, %.loc27_22.1
|
|
|
|
|
-// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.call: init %i64 = call %bound_method.loc27_20.3(%b.ref.loc27_18, %.loc27_22.2)
|
|
|
|
|
-// CHECK:STDOUT: %b.ref.loc27_25: %i64 = name_ref b, %b
|
|
|
|
|
-// CHECK:STDOUT: %AssertSameType.specific_fn.loc27: <specific function> = specific_function %AssertSameType.ref.loc27, @AssertSameType(constants.%i64) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
-// CHECK:STDOUT: %.loc27_20.2: %i64 = value_of_initializer %Int.as.BitAndWith.impl.Op.call
|
|
|
|
|
-// CHECK:STDOUT: %.loc27_20.3: %i64 = converted %Int.as.BitAndWith.impl.Op.call, %.loc27_20.2
|
|
|
|
|
-// CHECK:STDOUT: %AssertSameType.call.loc27: init %empty_tuple.type = call %AssertSameType.specific_fn.loc27(%.loc27_20.3, %b.ref.loc27_25)
|
|
|
|
|
|
|
+// CHECK:STDOUT: %b.ref.loc27: %i32 = name_ref b, %b
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc27_22: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc27: %.24d = impl_witness_access constants.%BitXorWith.impl_witness.e8e, element1 [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.c338c8.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc27_20.1: <bound method> = bound_method %b.ref.loc27, %impl.elem1.loc27
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc27: <specific function> = specific_function %impl.elem1.loc27, @T.binding.as_type.as.BitXorWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.125c34.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc27_20.2: <bound method> = bound_method %b.ref.loc27, %specific_fn.loc27
|
|
|
|
|
+// CHECK:STDOUT: %.loc27_20.1: %T.binding.as_type.as.BitXorWith.impl.Op.type.42bd3d.1 = specific_constant imports.%Core.Op.a2d, @T.binding.as_type.as.BitXorWith.impl.878(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.c338c8.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc27: %T.binding.as_type.as.BitXorWith.impl.Op.type.42bd3d.1 = name_ref Op, %.loc27_20.1 [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.c338c8.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.bound.loc27: <bound method> = bound_method %b.ref.loc27, %Op.ref.loc27
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.loc27: <specific function> = specific_function %Op.ref.loc27, @T.binding.as_type.as.BitXorWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.125c34.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc27_20.3: <bound method> = bound_method %b.ref.loc27, %T.binding.as_type.as.BitXorWith.impl.Op.specific_fn.loc27
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc27: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc27_18: <bound method> = bound_method %b.ref.loc27, %impl.elem0.loc27
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc27: init %Cpp.long = call %bound_method.loc27_18(%b.ref.loc27)
|
|
|
|
|
+// CHECK:STDOUT: %.loc27_18.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc27
|
|
|
|
|
+// CHECK:STDOUT: %.loc27_18.2: %Cpp.long = converted %b.ref.loc27, %.loc27_18.1
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitXorWith.impl.Op.call.loc27: init %Cpp.long = call %bound_method.loc27_20.3(%.loc27_18.2, %a.ref.loc27_22)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc27_25: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc27: <specific function> = specific_function %AssertSameType.ref.loc27, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc27_20.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.BitXorWith.impl.Op.call.loc27
|
|
|
|
|
+// CHECK:STDOUT: %.loc27_20.3: %Cpp.long = converted %T.binding.as_type.as.BitXorWith.impl.Op.call.loc27, %.loc27_20.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc27: init %empty_tuple.type = call %AssertSameType.specific_fn.loc27(%.loc27_20.3, %a.ref.loc27_25)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc28: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %b.ref.loc28: %i32 = name_ref b, %b
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc28_23: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc28: %.509 = impl_witness_access constants.%LeftShiftWith.impl_witness.fb3, element1 [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.c3e103.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc28_20.1: <bound method> = bound_method %b.ref.loc28, %impl.elem1.loc28
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc28: <specific function> = specific_function %impl.elem1.loc28, @T.binding.as_type.as.LeftShiftWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.547c25.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc28_20.2: <bound method> = bound_method %b.ref.loc28, %specific_fn.loc28
|
|
|
|
|
+// CHECK:STDOUT: %.loc28_20.1: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.ab52f6.1 = specific_constant imports.%Core.Op.79e, @T.binding.as_type.as.LeftShiftWith.impl.b71(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.c3e103.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc28: %T.binding.as_type.as.LeftShiftWith.impl.Op.type.ab52f6.1 = name_ref Op, %.loc28_20.1 [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.c3e103.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.bound.loc28: <bound method> = bound_method %b.ref.loc28, %Op.ref.loc28
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.loc28: <specific function> = specific_function %Op.ref.loc28, @T.binding.as_type.as.LeftShiftWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.547c25.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc28_20.3: <bound method> = bound_method %b.ref.loc28, %T.binding.as_type.as.LeftShiftWith.impl.Op.specific_fn.loc28
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc28: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc28_18: <bound method> = bound_method %b.ref.loc28, %impl.elem0.loc28
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc28: init %Cpp.long = call %bound_method.loc28_18(%b.ref.loc28)
|
|
|
|
|
+// CHECK:STDOUT: %.loc28_18.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc28
|
|
|
|
|
+// CHECK:STDOUT: %.loc28_18.2: %Cpp.long = converted %b.ref.loc28, %.loc28_18.1
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.LeftShiftWith.impl.Op.call.loc28: init %Cpp.long = call %bound_method.loc28_20.3(%.loc28_18.2, %a.ref.loc28_23)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc28_26: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc28: <specific function> = specific_function %AssertSameType.ref.loc28, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc28_20.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.LeftShiftWith.impl.Op.call.loc28
|
|
|
|
|
+// CHECK:STDOUT: %.loc28_20.3: %Cpp.long = converted %T.binding.as_type.as.LeftShiftWith.impl.Op.call.loc28, %.loc28_20.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc28: init %empty_tuple.type = call %AssertSameType.specific_fn.loc28(%.loc28_20.3, %a.ref.loc28_26)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc29: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %b.ref.loc29: %i32 = name_ref b, %b
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc29_23: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc29: %.9db = impl_witness_access constants.%RightShiftWith.impl_witness.7d0, element1 [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.44dea2.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc29_20.1: <bound method> = bound_method %b.ref.loc29, %impl.elem1.loc29
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc29: <specific function> = specific_function %impl.elem1.loc29, @T.binding.as_type.as.RightShiftWith.impl.Op.1(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.888028.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc29_20.2: <bound method> = bound_method %b.ref.loc29, %specific_fn.loc29
|
|
|
|
|
+// CHECK:STDOUT: %.loc29_20.1: %T.binding.as_type.as.RightShiftWith.impl.Op.type.2fe33f.1 = specific_constant imports.%Core.Op.f2f, @T.binding.as_type.as.RightShiftWith.impl.28b(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.44dea2.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc29: %T.binding.as_type.as.RightShiftWith.impl.Op.type.2fe33f.1 = name_ref Op, %.loc29_20.1 [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.44dea2.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.bound.loc29: <bound method> = bound_method %b.ref.loc29, %Op.ref.loc29
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.loc29: <specific function> = specific_function %Op.ref.loc29, @T.binding.as_type.as.RightShiftWith.impl.Op.2(constants.%ImplicitAs.facet.174) [concrete = constants.%T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.888028.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc29_20.3: <bound method> = bound_method %b.ref.loc29, %T.binding.as_type.as.RightShiftWith.impl.Op.specific_fn.loc29
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc29: %.c45 = impl_witness_access constants.%ImplicitAs.impl_witness.0fc, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc29_18: <bound method> = bound_method %b.ref.loc29, %impl.elem0.loc29
|
|
|
|
|
+// CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc29: init %Cpp.long = call %bound_method.loc29_18(%b.ref.loc29)
|
|
|
|
|
+// CHECK:STDOUT: %.loc29_18.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc29
|
|
|
|
|
+// CHECK:STDOUT: %.loc29_18.2: %Cpp.long = converted %b.ref.loc29, %.loc29_18.1
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.RightShiftWith.impl.Op.call.loc29: init %Cpp.long = call %bound_method.loc29_20.3(%.loc29_18.2, %a.ref.loc29_23)
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc29_26: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc29: <specific function> = specific_function %AssertSameType.ref.loc29, @AssertSameType(constants.%Cpp.long) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc29_20.2: %Cpp.long = value_of_initializer %T.binding.as_type.as.RightShiftWith.impl.Op.call.loc29
|
|
|
|
|
+// CHECK:STDOUT: %.loc29_20.3: %Cpp.long = converted %T.binding.as_type.as.RightShiftWith.impl.Op.call.loc29, %.loc29_20.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc29: init %empty_tuple.type = call %AssertSameType.specific_fn.loc29(%.loc29_20.3, %a.ref.loc29_26)
|
|
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT:
|
|
|
|
|
+// CHECK:STDOUT: --- bitwise_heterogeneous_long_and_i64.carbon
|
|
|
|
|
+// CHECK:STDOUT:
|
|
|
|
|
+// CHECK:STDOUT: constants {
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.type: type = fn_type @AssertSameType [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType: %AssertSameType.type = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long: type = class_type @Long32 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Int.fc6021.1: type = class_type @Int, @Int(%N) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %pattern_type.68c: type = pattern_type %Cpp.long [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.type.819: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.Convert.type.4c2: type = fn_type @ImplicitAs.Convert, @ImplicitAs(%Cpp.long) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %i64: type = class_type @Int, @Int(%int_64) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.type.2ad: type = facet_type <@ImplicitAs, @ImplicitAs(%i64)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.Convert.type.94e: type = fn_type @ImplicitAs.Convert, @ImplicitAs(%i64) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness.2ce: <witness> = impl_witness imports.%ImplicitAs.impl_witness_table.903 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.eed: %ImplicitAs.type.819 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.2ce) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.dad: type = fn_type_with_self_type %ImplicitAs.Convert.type.4c2, %ImplicitAs.facet.eed [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b38: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b38 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.5a4: %Cpp.long = int_value 1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %pattern_type.95b: type = pattern_type %i64 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.b2d(%To) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3c2: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness.556: <witness> = impl_witness imports.%ImplicitAs.impl_witness_table.74f, @Core.IntLiteral.as.ImplicitAs.impl.b2d(%int_64) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b78: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.b2d(%int_64) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.57d: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b78 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.d48: %ImplicitAs.type.2ad = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.556) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.567: type = fn_type_with_self_type %ImplicitAs.Convert.type.94e, %ImplicitAs.facet.d48 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.102: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.57d [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: <specific function> = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.57d, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(%int_64) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method: <bound method> = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %int_1.41a: %i64 = int_value 1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.type.46b: type = facet_type <@BitAndWith, @BitAndWith(%i64)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.Op.type.2e7: type = fn_type @BitAndWith.Op, @BitAndWith(%i64) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.type.0b5: type = facet_type <@BitAndWith, @BitAndWith(%Cpp.long)> [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.Op.type.e13: type = fn_type @BitAndWith.Op, @BitAndWith(%Cpp.long) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.type.39a54f.2: type = facet_type <@ImplicitAs, @ImplicitAs(%Int.fc6021.1)> [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %U.354: %ImplicitAs.type.39a54f.2 = symbolic_binding U, 1 [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.type.1b6537.1: type = fn_type @Int.as.BitAndWith.impl.Op.2, @Int.as.BitAndWith.impl.4ac(%N, %U.354) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.b9569a.1: %Int.as.BitAndWith.impl.Op.type.1b6537.1 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.type.1b6537.2: type = fn_type @Int.as.BitAndWith.impl.Op.3, @Int.as.BitAndWith.impl.4ac(%N, %U.354) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.b9569a.2: %Int.as.BitAndWith.impl.Op.type.1b6537.2 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.354: %ImplicitAs.type.39a54f.2 = symbolic_binding T, 1 [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.type.e95062.1: type = fn_type @T.binding.as_type.as.BitAndWith.impl.Op.5, @T.binding.as_type.as.BitAndWith.impl.96d(%N, %T.354) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.892c6d.1: %T.binding.as_type.as.BitAndWith.impl.Op.type.e95062.1 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.type.e95062.2: type = fn_type @T.binding.as_type.as.BitAndWith.impl.Op.6, @T.binding.as_type.as.BitAndWith.impl.96d(%N, %T.354) [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.892c6d.2: %T.binding.as_type.as.BitAndWith.impl.Op.type.e95062.2 = struct_value () [symbolic]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness.bbc: <witness> = impl_witness imports.%ImplicitAs.impl_witness_table.cb1 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.facet.ba4: %ImplicitAs.type.2ad = facet_value %Cpp.long, (%ImplicitAs.impl_witness.bbc) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.impl_witness.c6a: <witness> = impl_witness imports.%BitAndWith.impl_witness_table.5e7, @T.binding.as_type.as.BitAndWith.impl.96d(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.type.7732f0.1: type = fn_type @T.binding.as_type.as.BitAndWith.impl.Op.6, @T.binding.as_type.as.BitAndWith.impl.96d(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.12fb91.1: %T.binding.as_type.as.BitAndWith.impl.Op.type.7732f0.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.type.7732f0.2: type = fn_type @T.binding.as_type.as.BitAndWith.impl.Op.5, @T.binding.as_type.as.BitAndWith.impl.96d(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.12fb91.2: %T.binding.as_type.as.BitAndWith.impl.Op.type.7732f0.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.facet.bc4: %BitAndWith.type.46b = facet_value %Cpp.long, (%BitAndWith.impl_witness.c6a) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.656: type = fn_type_with_self_type %BitAndWith.Op.type.2e7, %BitAndWith.facet.bc4 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.d9a57f.1: <specific function> = specific_function %T.binding.as_type.as.BitAndWith.impl.Op.12fb91.2, @T.binding.as_type.as.BitAndWith.impl.Op.5(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.d9a57f.2: <specific function> = specific_function %T.binding.as_type.as.BitAndWith.impl.Op.12fb91.1, @T.binding.as_type.as.BitAndWith.impl.Op.6(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.8a2: type = fn_type_with_self_type %ImplicitAs.Convert.type.94e, %ImplicitAs.facet.ba4 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.type: type = fn_type @Cpp.long.as.ImplicitAs.impl.Convert [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert: %Cpp.long.as.ImplicitAs.impl.Convert.type = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn: <specific function> = specific_function %AssertSameType, @AssertSameType(%i64) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.impl_witness.c34: <witness> = impl_witness imports.%BitAndWith.impl_witness_table.ebf, @Int.as.BitAndWith.impl.4ac(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.type.871ddc.1: type = fn_type @Int.as.BitAndWith.impl.Op.3, @Int.as.BitAndWith.impl.4ac(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.740875.1: %Int.as.BitAndWith.impl.Op.type.871ddc.1 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.type.871ddc.2: type = fn_type @Int.as.BitAndWith.impl.Op.2, @Int.as.BitAndWith.impl.4ac(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.740875.2: %Int.as.BitAndWith.impl.Op.type.871ddc.2 = struct_value () [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.facet.a93: %BitAndWith.type.0b5 = facet_value %i64, (%BitAndWith.impl_witness.c34) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %.29c: type = fn_type_with_self_type %BitAndWith.Op.type.e13, %BitAndWith.facet.a93 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.specific_fn.7b1efb.1: <specific function> = specific_function %Int.as.BitAndWith.impl.Op.740875.2, @Int.as.BitAndWith.impl.Op.2(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.specific_fn.7b1efb.2: <specific function> = specific_function %Int.as.BitAndWith.impl.Op.740875.1, @Int.as.BitAndWith.impl.Op.3(%int_64, %ImplicitAs.facet.ba4) [concrete]
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT:
|
|
|
|
|
+// CHECK:STDOUT: imports {
|
|
|
|
|
+// CHECK:STDOUT: %Cpp: <namespace> = namespace file.%Cpp.import_cpp, [concrete] {
|
|
|
|
|
+// CHECK:STDOUT: .long = constants.%Cpp.long
|
|
|
|
|
+// CHECK:STDOUT: import Cpp//...
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.b8a: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b38 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness_table.903 = impl_witness_table (%Core.import_ref.b8a), @Core.IntLiteral.as.ImplicitAs.impl.052 [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.42d: @Core.IntLiteral.as.ImplicitAs.impl.b2d.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.b2d.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3c2)]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness_table.74f = impl_witness_table (%Core.import_ref.42d), @Core.IntLiteral.as.ImplicitAs.impl.b2d [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.475cb3.2 = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.611: @Int.as.BitAndWith.impl.4ac.%Int.as.BitAndWith.impl.Op.type.2 (%Int.as.BitAndWith.impl.Op.type.1b6537.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.BitAndWith.impl.4ac.%Int.as.BitAndWith.impl.Op.2 (constants.%Int.as.BitAndWith.impl.Op.b9569a.1)]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.impl_witness_table.ebf = impl_witness_table (%Core.import_ref.475cb3.2, %Core.import_ref.611), @Int.as.BitAndWith.impl.4ac [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.Op.36f: @Int.as.BitAndWith.impl.4ac.%Int.as.BitAndWith.impl.Op.type.1 (%Int.as.BitAndWith.impl.Op.type.1b6537.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @Int.as.BitAndWith.impl.4ac.%Int.as.BitAndWith.impl.Op.1 (constants.%Int.as.BitAndWith.impl.Op.b9569a.2)]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.475cb3.3 = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, unloaded
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.29d: @T.binding.as_type.as.BitAndWith.impl.96d.%T.binding.as_type.as.BitAndWith.impl.Op.type.2 (%T.binding.as_type.as.BitAndWith.impl.Op.type.e95062.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @T.binding.as_type.as.BitAndWith.impl.96d.%T.binding.as_type.as.BitAndWith.impl.Op.2 (constants.%T.binding.as_type.as.BitAndWith.impl.Op.892c6d.1)]
|
|
|
|
|
+// CHECK:STDOUT: %BitAndWith.impl_witness_table.5e7 = impl_witness_table (%Core.import_ref.475cb3.3, %Core.import_ref.29d), @T.binding.as_type.as.BitAndWith.impl.96d [concrete]
|
|
|
|
|
+// CHECK:STDOUT: %Core.Op.944: @T.binding.as_type.as.BitAndWith.impl.96d.%T.binding.as_type.as.BitAndWith.impl.Op.type.1 (%T.binding.as_type.as.BitAndWith.impl.Op.type.e95062.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @T.binding.as_type.as.BitAndWith.impl.96d.%T.binding.as_type.as.BitAndWith.impl.Op.1 (constants.%T.binding.as_type.as.BitAndWith.impl.Op.892c6d.2)]
|
|
|
|
|
+// CHECK:STDOUT: %Core.import_ref.297: %Cpp.long.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %ImplicitAs.impl_witness_table.cb1 = impl_witness_table (%Core.import_ref.297), @Cpp.long.as.ImplicitAs.impl.e6d [concrete]
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT:
|
|
|
|
|
+// CHECK:STDOUT: fn @BitWiseHeterogeneousLongAndI64() {
|
|
|
|
|
+// CHECK:STDOUT: !entry:
|
|
|
|
|
+// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
+// CHECK:STDOUT: %a.patt: %pattern_type.68c = value_binding_pattern a [concrete]
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc10: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %.loc10_13: type = splice_block %long.ref [concrete = constants.%Cpp.long] {
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.ref: <namespace> = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp]
|
|
|
|
|
+// CHECK:STDOUT: %long.ref: type = name_ref long, constants.%Cpp.long [concrete = constants.%Cpp.long]
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc10: %.dad = impl_witness_access constants.%ImplicitAs.impl_witness.2ce, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.f2a]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc10: <bound method> = bound_method %int_1.loc10, %impl.elem0.loc10 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10: init %Cpp.long = call %bound_method.loc10(%int_1.loc10) [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc10_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %.loc10_21.2: %Cpp.long = converted %int_1.loc10, %.loc10_21.1 [concrete = constants.%int_1.5a4]
|
|
|
|
|
+// CHECK:STDOUT: %a: %Cpp.long = value_binding a, %.loc10_21.2
|
|
|
|
|
+// CHECK:STDOUT: name_binding_decl {
|
|
|
|
|
+// CHECK:STDOUT: %b.patt: %pattern_type.95b = value_binding_pattern b [concrete]
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
|
|
|
|
+// CHECK:STDOUT: %.loc11_10: type = splice_block %i64 [concrete = constants.%i64] {
|
|
|
|
|
+// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64]
|
|
|
|
|
+// CHECK:STDOUT: %i64: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64]
|
|
|
|
|
+// CHECK:STDOUT: }
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc11: %.567 = impl_witness_access constants.%ImplicitAs.impl_witness.556, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.57d]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc11_16.1: <bound method> = bound_method %int_1.loc11, %impl.elem0.loc11 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.102]
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc11: <specific function> = specific_function %impl.elem0.loc11, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc11_16.2: <bound method> = bound_method %int_1.loc11, %specific_fn.loc11 [concrete = constants.%bound_method]
|
|
|
|
|
+// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc11: init %i64 = call %bound_method.loc11_16.2(%int_1.loc11) [concrete = constants.%int_1.41a]
|
|
|
|
|
+// CHECK:STDOUT: %.loc11_16.1: %i64 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc11 [concrete = constants.%int_1.41a]
|
|
|
|
|
+// CHECK:STDOUT: %.loc11_16.2: %i64 = converted %int_1.loc11, %.loc11_16.1 [concrete = constants.%int_1.41a]
|
|
|
|
|
+// CHECK:STDOUT: %b: %i64 = value_binding b, %.loc11_16.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc13: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc13: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %b.ref.loc13_22: %i64 = name_ref b, %b
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc13: %.656 = impl_witness_access constants.%BitAndWith.impl_witness.c6a, element1 [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.12fb91.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_20.1: <bound method> = bound_method %a.ref.loc13, %impl.elem1.loc13
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc13: <specific function> = specific_function %impl.elem1.loc13, @T.binding.as_type.as.BitAndWith.impl.Op.5(constants.%int_64, constants.%ImplicitAs.facet.ba4) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.d9a57f.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_20.2: <bound method> = bound_method %a.ref.loc13, %specific_fn.loc13
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_20.1: %T.binding.as_type.as.BitAndWith.impl.Op.type.7732f0.1 = specific_constant imports.%Core.Op.944, @T.binding.as_type.as.BitAndWith.impl.96d(constants.%int_64, constants.%ImplicitAs.facet.ba4) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.12fb91.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc13: %T.binding.as_type.as.BitAndWith.impl.Op.type.7732f0.1 = name_ref Op, %.loc13_20.1 [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.12fb91.1]
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.bound: <bound method> = bound_method %a.ref.loc13, %Op.ref.loc13
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn: <specific function> = specific_function %Op.ref.loc13, @T.binding.as_type.as.BitAndWith.impl.Op.6(constants.%int_64, constants.%ImplicitAs.facet.ba4) [concrete = constants.%T.binding.as_type.as.BitAndWith.impl.Op.specific_fn.d9a57f.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_20.3: <bound method> = bound_method %a.ref.loc13, %T.binding.as_type.as.BitAndWith.impl.Op.specific_fn
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc13: %.8a2 = impl_witness_access constants.%ImplicitAs.impl_witness.bbc, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc13_18: <bound method> = bound_method %a.ref.loc13, %impl.elem0.loc13
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc13: init %i64 = call %bound_method.loc13_18(%a.ref.loc13)
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_18.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc13
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_18.2: %i64 = converted %a.ref.loc13, %.loc13_18.1
|
|
|
|
|
+// CHECK:STDOUT: %T.binding.as_type.as.BitAndWith.impl.Op.call: init %i64 = call %bound_method.loc13_20.3(%.loc13_18.2, %b.ref.loc13_22)
|
|
|
|
|
+// CHECK:STDOUT: %b.ref.loc13_25: %i64 = name_ref b, %b
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc13: <specific function> = specific_function %AssertSameType.ref.loc13, @AssertSameType(constants.%i64) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_20.2: %i64 = value_of_initializer %T.binding.as_type.as.BitAndWith.impl.Op.call
|
|
|
|
|
+// CHECK:STDOUT: %.loc13_20.3: %i64 = converted %T.binding.as_type.as.BitAndWith.impl.Op.call, %.loc13_20.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc13: init %empty_tuple.type = call %AssertSameType.specific_fn.loc13(%.loc13_20.3, %b.ref.loc13_25)
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.ref.loc14: %AssertSameType.type = name_ref AssertSameType, file.%AssertSameType.decl [concrete = constants.%AssertSameType]
|
|
|
|
|
+// CHECK:STDOUT: %b.ref.loc14_18: %i64 = name_ref b, %b
|
|
|
|
|
+// CHECK:STDOUT: %a.ref.loc14: %Cpp.long = name_ref a, %a
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem1.loc14: %.29c = impl_witness_access constants.%BitAndWith.impl_witness.c34, element1 [concrete = constants.%Int.as.BitAndWith.impl.Op.740875.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_20.1: <bound method> = bound_method %b.ref.loc14_18, %impl.elem1.loc14
|
|
|
|
|
+// CHECK:STDOUT: %specific_fn.loc14: <specific function> = specific_function %impl.elem1.loc14, @Int.as.BitAndWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.ba4) [concrete = constants.%Int.as.BitAndWith.impl.Op.specific_fn.7b1efb.1]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_20.2: <bound method> = bound_method %b.ref.loc14_18, %specific_fn.loc14
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_20.1: %Int.as.BitAndWith.impl.Op.type.871ddc.1 = specific_constant imports.%Core.Op.36f, @Int.as.BitAndWith.impl.4ac(constants.%int_64, constants.%ImplicitAs.facet.ba4) [concrete = constants.%Int.as.BitAndWith.impl.Op.740875.1]
|
|
|
|
|
+// CHECK:STDOUT: %Op.ref.loc14: %Int.as.BitAndWith.impl.Op.type.871ddc.1 = name_ref Op, %.loc14_20.1 [concrete = constants.%Int.as.BitAndWith.impl.Op.740875.1]
|
|
|
|
|
+// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.bound: <bound method> = bound_method %b.ref.loc14_18, %Op.ref.loc14
|
|
|
|
|
+// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.specific_fn: <specific function> = specific_function %Op.ref.loc14, @Int.as.BitAndWith.impl.Op.3(constants.%int_64, constants.%ImplicitAs.facet.ba4) [concrete = constants.%Int.as.BitAndWith.impl.Op.specific_fn.7b1efb.2]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_20.3: <bound method> = bound_method %b.ref.loc14_18, %Int.as.BitAndWith.impl.Op.specific_fn
|
|
|
|
|
+// CHECK:STDOUT: %impl.elem0.loc14: %.8a2 = impl_witness_access constants.%ImplicitAs.impl_witness.bbc, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert]
|
|
|
|
|
+// CHECK:STDOUT: %bound_method.loc14_22: <bound method> = bound_method %a.ref.loc14, %impl.elem0.loc14
|
|
|
|
|
+// CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc14: init %i64 = call %bound_method.loc14_22(%a.ref.loc14)
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_22.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc14
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_22.2: %i64 = converted %a.ref.loc14, %.loc14_22.1
|
|
|
|
|
+// CHECK:STDOUT: %Int.as.BitAndWith.impl.Op.call: init %i64 = call %bound_method.loc14_20.3(%b.ref.loc14_18, %.loc14_22.2)
|
|
|
|
|
+// CHECK:STDOUT: %b.ref.loc14_25: %i64 = name_ref b, %b
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.specific_fn.loc14: <specific function> = specific_function %AssertSameType.ref.loc14, @AssertSameType(constants.%i64) [concrete = constants.%AssertSameType.specific_fn]
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_20.2: %i64 = value_of_initializer %Int.as.BitAndWith.impl.Op.call
|
|
|
|
|
+// CHECK:STDOUT: %.loc14_20.3: %i64 = converted %Int.as.BitAndWith.impl.Op.call, %.loc14_20.2
|
|
|
|
|
+// CHECK:STDOUT: %AssertSameType.call.loc14: init %empty_tuple.type = call %AssertSameType.specific_fn.loc14(%.loc14_20.3, %b.ref.loc14_25)
|
|
|
// CHECK:STDOUT: <elided>
|
|
// CHECK:STDOUT: <elided>
|
|
|
// CHECK:STDOUT: }
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
// CHECK:STDOUT:
|