|
|
@@ -7,8 +7,6 @@
|
|
|
// TIP: bazel test //toolchain/testing:file_test --test_arg=--file_tests=toolchain/check/testdata/class/syntactic_merge_literal.carbon
|
|
|
// TIP: To dump output, run:
|
|
|
// TIP: bazel run //toolchain/testing:file_test -- --dump_output --file_tests=toolchain/check/testdata/class/syntactic_merge_literal.carbon
|
|
|
-// CHECK:STDERR: fail_int_mismatch.carbon: error: `Main//default` previously provided by `int_match.carbon` [DuplicateMainApi]
|
|
|
-// CHECK:STDERR:
|
|
|
|
|
|
// --- int_match.carbon
|
|
|
|
|
|
@@ -17,6 +15,8 @@ class D(b:! C(1_000));
|
|
|
class D(b:! C(1_000)) {}
|
|
|
|
|
|
// --- fail_int_mismatch.carbon
|
|
|
+// CHECK:STDERR: fail_int_mismatch.carbon: error: `Main//default` previously provided by `int_match.carbon` [DuplicateMainApi]
|
|
|
+// CHECK:STDERR:
|
|
|
|
|
|
class C(a:! i32) {}
|
|
|
class D(b:! C(1000));
|
|
|
@@ -213,19 +213,19 @@ class D(b:! C(1_000)) {}
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %Core.import = import Core
|
|
|
// CHECK:STDOUT: %C.decl: %C.type = class_decl @C [template = constants.%C.generic] {
|
|
|
-// CHECK:STDOUT: %a.patt.loc2_9.1: %i32 = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc2_9.2 (constants.%a.patt)]
|
|
|
-// CHECK:STDOUT: %a.param_patt: %i32 = value_param_pattern %a.patt.loc2_9.1, runtime_param<invalid> [symbolic = %a.patt.loc2_9.2 (constants.%a.patt)]
|
|
|
+// CHECK:STDOUT: %a.patt.loc4_9.1: %i32 = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc4_9.2 (constants.%a.patt)]
|
|
|
+// CHECK:STDOUT: %a.param_patt: %i32 = value_param_pattern %a.patt.loc4_9.1, runtime_param<invalid> [symbolic = %a.patt.loc4_9.2 (constants.%a.patt)]
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
|
|
|
// CHECK:STDOUT: %int.make_type_signed: init type = call constants.%Int(%int_32) [template = constants.%i32]
|
|
|
-// CHECK:STDOUT: %.loc2_13.1: type = value_of_initializer %int.make_type_signed [template = constants.%i32]
|
|
|
-// CHECK:STDOUT: %.loc2_13.2: type = converted %int.make_type_signed, %.loc2_13.1 [template = constants.%i32]
|
|
|
+// CHECK:STDOUT: %.loc4_13.1: type = value_of_initializer %int.make_type_signed [template = constants.%i32]
|
|
|
+// CHECK:STDOUT: %.loc4_13.2: type = converted %int.make_type_signed, %.loc4_13.1 [template = constants.%i32]
|
|
|
// CHECK:STDOUT: %a.param: %i32 = value_param runtime_param<invalid>
|
|
|
-// CHECK:STDOUT: %a.loc2_9.1: %i32 = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc2_9.2 (constants.%a)]
|
|
|
+// CHECK:STDOUT: %a.loc4_9.1: %i32 = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc4_9.2 (constants.%a)]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %D.decl: %D.type = class_decl @D [template = constants.%D.generic] {
|
|
|
-// CHECK:STDOUT: %b.patt.loc3_9.1: %C.2 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc3_9.2 (constants.%b.patt)]
|
|
|
-// CHECK:STDOUT: %b.param_patt: %C.2 = value_param_pattern %b.patt.loc3_9.1, runtime_param<invalid> [symbolic = %b.patt.loc3_9.2 (constants.%b.patt)]
|
|
|
+// CHECK:STDOUT: %b.patt.loc5_9.1: %C.2 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc5_9.2 (constants.%b.patt)]
|
|
|
+// CHECK:STDOUT: %b.param_patt: %C.2 = value_param_pattern %b.patt.loc5_9.1, runtime_param<invalid> [symbolic = %b.patt.loc5_9.2 (constants.%b.patt)]
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [template = constants.%C.generic]
|
|
|
// CHECK:STDOUT: %int_1000: Core.IntLiteral = int_value 1000 [template = constants.%int_1000.1]
|
|
|
@@ -233,15 +233,15 @@ class D(b:! C(1_000)) {}
|
|
|
// CHECK:STDOUT: %Convert.bound: <bound method> = bound_method %int_1000, %impl.elem0 [template = constants.%Convert.bound]
|
|
|
// CHECK:STDOUT: %Convert.specific_fn: <specific function> = specific_function %Convert.bound, @Convert.2(constants.%int_32) [template = constants.%Convert.specific_fn]
|
|
|
// CHECK:STDOUT: %int.convert_checked: init %i32 = call %Convert.specific_fn(%int_1000) [template = constants.%int_1000.2]
|
|
|
-// CHECK:STDOUT: %.loc3_19.1: %i32 = value_of_initializer %int.convert_checked [template = constants.%int_1000.2]
|
|
|
-// CHECK:STDOUT: %.loc3_19.2: %i32 = converted %int_1000, %.loc3_19.1 [template = constants.%int_1000.2]
|
|
|
+// CHECK:STDOUT: %.loc5_19.1: %i32 = value_of_initializer %int.convert_checked [template = constants.%int_1000.2]
|
|
|
+// CHECK:STDOUT: %.loc5_19.2: %i32 = converted %int_1000, %.loc5_19.1 [template = constants.%int_1000.2]
|
|
|
// CHECK:STDOUT: %C: type = class_type @C, @C(constants.%int_1000.2) [template = constants.%C.2]
|
|
|
// CHECK:STDOUT: %b.param: %C.2 = value_param runtime_param<invalid>
|
|
|
-// CHECK:STDOUT: %b.loc3_9.1: %C.2 = bind_symbolic_name b, 0, %b.param [symbolic = %b.loc3_9.2 (constants.%b)]
|
|
|
+// CHECK:STDOUT: %b.loc5_9.1: %C.2 = bind_symbolic_name b, 0, %b.param [symbolic = %b.loc5_9.2 (constants.%b)]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %.decl: %.type = class_decl @.1 [template = constants.%.generic] {
|
|
|
-// CHECK:STDOUT: %b.patt.loc10_9.1: %C.2 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc10_9.2 (constants.%b.patt)]
|
|
|
-// CHECK:STDOUT: %b.param_patt: %C.2 = value_param_pattern %b.patt.loc10_9.1, runtime_param<invalid> [symbolic = %b.patt.loc10_9.2 (constants.%b.patt)]
|
|
|
+// CHECK:STDOUT: %b.patt.loc12_9.1: %C.2 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc12_9.2 (constants.%b.patt)]
|
|
|
+// CHECK:STDOUT: %b.param_patt: %C.2 = value_param_pattern %b.patt.loc12_9.1, runtime_param<invalid> [symbolic = %b.patt.loc12_9.2 (constants.%b.patt)]
|
|
|
// CHECK:STDOUT: } {
|
|
|
// CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [template = constants.%C.generic]
|
|
|
// CHECK:STDOUT: %int_1000: Core.IntLiteral = int_value 1000 [template = constants.%int_1000.1]
|
|
|
@@ -249,17 +249,17 @@ class D(b:! C(1_000)) {}
|
|
|
// CHECK:STDOUT: %Convert.bound: <bound method> = bound_method %int_1000, %impl.elem0 [template = constants.%Convert.bound]
|
|
|
// CHECK:STDOUT: %Convert.specific_fn: <specific function> = specific_function %Convert.bound, @Convert.2(constants.%int_32) [template = constants.%Convert.specific_fn]
|
|
|
// CHECK:STDOUT: %int.convert_checked: init %i32 = call %Convert.specific_fn(%int_1000) [template = constants.%int_1000.2]
|
|
|
-// CHECK:STDOUT: %.loc10_20.1: %i32 = value_of_initializer %int.convert_checked [template = constants.%int_1000.2]
|
|
|
-// CHECK:STDOUT: %.loc10_20.2: %i32 = converted %int_1000, %.loc10_20.1 [template = constants.%int_1000.2]
|
|
|
+// CHECK:STDOUT: %.loc12_20.1: %i32 = value_of_initializer %int.convert_checked [template = constants.%int_1000.2]
|
|
|
+// CHECK:STDOUT: %.loc12_20.2: %i32 = converted %int_1000, %.loc12_20.1 [template = constants.%int_1000.2]
|
|
|
// CHECK:STDOUT: %C: type = class_type @C, @C(constants.%int_1000.2) [template = constants.%C.2]
|
|
|
// CHECK:STDOUT: %b.param: %C.2 = value_param runtime_param<invalid>
|
|
|
-// CHECK:STDOUT: %b.loc10_9.1: %C.2 = bind_symbolic_name b, 0, %b.param [symbolic = %b.loc10_9.2 (constants.%b)]
|
|
|
+// CHECK:STDOUT: %b.loc12_9.1: %C.2 = bind_symbolic_name b, 0, %b.param [symbolic = %b.loc12_9.2 (constants.%b)]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: generic class @C(%a.loc2_9.1: %i32) {
|
|
|
-// CHECK:STDOUT: %a.loc2_9.2: %i32 = bind_symbolic_name a, 0 [symbolic = %a.loc2_9.2 (constants.%a)]
|
|
|
-// CHECK:STDOUT: %a.patt.loc2_9.2: %i32 = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc2_9.2 (constants.%a.patt)]
|
|
|
+// CHECK:STDOUT: generic class @C(%a.loc4_9.1: %i32) {
|
|
|
+// CHECK:STDOUT: %a.loc4_9.2: %i32 = bind_symbolic_name a, 0 [symbolic = %a.loc4_9.2 (constants.%a)]
|
|
|
+// CHECK:STDOUT: %a.patt.loc4_9.2: %i32 = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc4_9.2 (constants.%a.patt)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -272,16 +272,16 @@ class D(b:! C(1_000)) {}
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: generic class @D(%b.loc3_9.1: %C.2) {
|
|
|
-// CHECK:STDOUT: %b.loc3_9.2: %C.2 = bind_symbolic_name b, 0 [symbolic = %b.loc3_9.2 (constants.%b)]
|
|
|
-// CHECK:STDOUT: %b.patt.loc3_9.2: %C.2 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc3_9.2 (constants.%b.patt)]
|
|
|
+// CHECK:STDOUT: generic class @D(%b.loc5_9.1: %C.2) {
|
|
|
+// CHECK:STDOUT: %b.loc5_9.2: %C.2 = bind_symbolic_name b, 0 [symbolic = %b.loc5_9.2 (constants.%b)]
|
|
|
+// CHECK:STDOUT: %b.patt.loc5_9.2: %C.2 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc5_9.2 (constants.%b.patt)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: class;
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: generic class @.1(%b.loc10_9.1: %C.2) {
|
|
|
-// CHECK:STDOUT: %b.loc10_9.2: %C.2 = bind_symbolic_name b, 0 [symbolic = %b.loc10_9.2 (constants.%b)]
|
|
|
-// CHECK:STDOUT: %b.patt.loc10_9.2: %C.2 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc10_9.2 (constants.%b.patt)]
|
|
|
+// CHECK:STDOUT: generic class @.1(%b.loc12_9.1: %C.2) {
|
|
|
+// CHECK:STDOUT: %b.loc12_9.2: %C.2 = bind_symbolic_name b, 0 [symbolic = %b.loc12_9.2 (constants.%b)]
|
|
|
+// CHECK:STDOUT: %b.patt.loc12_9.2: %C.2 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc12_9.2 (constants.%b.patt)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -295,22 +295,22 @@ class D(b:! C(1_000)) {}
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @C(constants.%a) {
|
|
|
-// CHECK:STDOUT: %a.loc2_9.2 => constants.%a
|
|
|
-// CHECK:STDOUT: %a.patt.loc2_9.2 => constants.%a
|
|
|
+// CHECK:STDOUT: %a.loc4_9.2 => constants.%a
|
|
|
+// CHECK:STDOUT: %a.patt.loc4_9.2 => constants.%a
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @C(constants.%int_1000.2) {
|
|
|
-// CHECK:STDOUT: %a.loc2_9.2 => constants.%int_1000.2
|
|
|
-// CHECK:STDOUT: %a.patt.loc2_9.2 => constants.%int_1000.2
|
|
|
+// CHECK:STDOUT: %a.loc4_9.2 => constants.%int_1000.2
|
|
|
+// CHECK:STDOUT: %a.patt.loc4_9.2 => constants.%int_1000.2
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @D(constants.%b) {
|
|
|
-// CHECK:STDOUT: %b.loc3_9.2 => constants.%b
|
|
|
-// CHECK:STDOUT: %b.patt.loc3_9.2 => constants.%b
|
|
|
+// CHECK:STDOUT: %b.loc5_9.2 => constants.%b
|
|
|
+// CHECK:STDOUT: %b.patt.loc5_9.2 => constants.%b
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @.1(constants.%b) {
|
|
|
-// CHECK:STDOUT: %b.loc10_9.2 => constants.%b
|
|
|
-// CHECK:STDOUT: %b.patt.loc10_9.2 => constants.%b
|
|
|
+// CHECK:STDOUT: %b.loc12_9.2 => constants.%b
|
|
|
+// CHECK:STDOUT: %b.patt.loc12_9.2 => constants.%b
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|