mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-06 07:34:45 +01:00
Format the call parameters of a function, not the patterns. (#5342)
This makes the parameters printed in a SemIR `fn` declaration match the arguments printed in a SemIR `call` instruction.
This commit is contained in:
@@ -192,13 +192,13 @@ fn D() {}
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @B(%b.param_patt: %i32) -> %i32 {
|
||||
// CHECK:STDOUT: fn @B(%b.param: %i32) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %b.ref: %i32 = name_ref b, %b
|
||||
// CHECK:STDOUT: return %b.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @C(%c.param_patt: %tuple.type.a1c) -> %struct_type.c {
|
||||
// CHECK:STDOUT: fn @C(%c.param: %tuple.type.a1c) -> %struct_type.c {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %c.ref: %tuple.type.a1c = name_ref c, %c
|
||||
// CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0]
|
||||
@@ -326,11 +326,11 @@ fn D() {}
|
||||
// CHECK:STDOUT: %c: ref %struct_type.c = bind_name c, %c.var
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @A() [from "fns.carbon"];
|
||||
// CHECK:STDOUT: fn @A [from "fns.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @B(%b.param_patt: %i32) -> %i32 [from "fns.carbon"];
|
||||
// CHECK:STDOUT: fn @B [from "fns.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @C(%c.param_patt: %tuple.type.a1c) -> %struct_type.c [from "fns.carbon"];
|
||||
// CHECK:STDOUT: fn @C [from "fns.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
@@ -414,14 +414,14 @@ fn D() {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @A.1() [from "fns.carbon"];
|
||||
// CHECK:STDOUT: fn @A.1 [from "fns.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @A.2() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @B(%b.param_patt: %i32) -> %i32 [from "fns.carbon"];
|
||||
// CHECK:STDOUT: fn @B [from "fns.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- fail_redecl_then_def.carbon
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -255,7 +255,7 @@ private fn Redecl() {}
|
||||
// CHECK:STDOUT: %f: ref %empty_tuple.type = bind_name f, %f.var
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Def() [from "def.carbon"];
|
||||
// CHECK:STDOUT: fn @Def [from "def.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
@@ -387,7 +387,7 @@ private fn Redecl() {}
|
||||
// CHECK:STDOUT: %f: ref %empty_tuple.type = bind_name f, %f.var
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ForwardWithDef() [from "forward_with_def.carbon"];
|
||||
// CHECK:STDOUT: fn @ForwardWithDef [from "forward_with_def.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
@@ -48,7 +48,7 @@ fn F(n: C) {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @C;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%n.param_patt: %C) {
|
||||
// CHECK:STDOUT: fn @F(%n.param: %C) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+4
-4
@@ -363,7 +363,7 @@ extern fn ExternDecl();
|
||||
// CHECK:STDOUT: %default.import = import <none>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: extern fn @F();
|
||||
// CHECK:STDOUT: extern fn @F;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- indirect_two_file_extern.carbon
|
||||
// CHECK:STDOUT:
|
||||
@@ -399,7 +399,7 @@ extern fn ExternDecl();
|
||||
// CHECK:STDOUT: %default.import = import <none>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: extern fn @F();
|
||||
// CHECK:STDOUT: extern fn @F;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- fail_indirect_two_file.impl.carbon
|
||||
// CHECK:STDOUT:
|
||||
@@ -522,7 +522,7 @@ extern fn ExternDecl();
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: extern fn @Extern();
|
||||
// CHECK:STDOUT: extern fn @Extern;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- unloaded_decl_extern.carbon
|
||||
// CHECK:STDOUT:
|
||||
@@ -566,5 +566,5 @@ extern fn ExternDecl();
|
||||
// CHECK:STDOUT: %ExternDecl.decl: %ExternDecl.type = fn_decl @ExternDecl [concrete = constants.%ExternDecl] {} {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: extern fn @ExternDecl();
|
||||
// CHECK:STDOUT: extern fn @ExternDecl;
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+4
-4
@@ -191,21 +191,21 @@ fn K() -> {} { return {}; }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.1();
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.2(%x.param_patt: %empty_tuple.type) {
|
||||
// CHECK:STDOUT: fn @F.2(%x.param: %empty_tuple.type) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G.1(%x.param_patt: %empty_tuple.type);
|
||||
// CHECK:STDOUT: fn @G.1(%x.param: %empty_tuple.type);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G.2() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @H.1(%x.param_patt: %empty_tuple.type);
|
||||
// CHECK:STDOUT: fn @H.1(%x.param: %empty_tuple.type);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @H.2(%x.param_patt: <error>) {
|
||||
// CHECK:STDOUT: fn @H.2(%x.param: <error>) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+3
-3
@@ -279,7 +279,7 @@ fn B() {}
|
||||
// CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [concrete = constants.%A] {} {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @A() [from "redecl_after_def.carbon"];
|
||||
// CHECK:STDOUT: fn @A [from "redecl_after_def.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- redef_after_def.carbon
|
||||
// CHECK:STDOUT:
|
||||
@@ -322,7 +322,7 @@ fn B() {}
|
||||
// CHECK:STDOUT: %A.decl: %A.type.00d7e7.2 = fn_decl @A.2 [concrete = constants.%A.1db889.2] {} {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @A.1() [from "redef_after_def.carbon"];
|
||||
// CHECK:STDOUT: fn @A.1 [from "redef_after_def.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @A.2() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
@@ -372,7 +372,7 @@ fn B() {}
|
||||
// CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [concrete = constants.%B] {} {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @A() [from "def_alias.carbon"];
|
||||
// CHECK:STDOUT: fn @A [from "def_alias.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @B() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
+23
-23
@@ -259,12 +259,12 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: .Self = constants.%C
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo(%a.param_patt: %C) {
|
||||
// CHECK:STDOUT: fn @Foo(%a.param.loc8: %C) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Bar(%a.param_patt: %C) {
|
||||
// CHECK:STDOUT: fn @Bar(%a.param.loc11: %C) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
@@ -312,7 +312,7 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: .Self = constants.%C
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo[](%a.param_patt: %C) {
|
||||
// CHECK:STDOUT: fn @Foo(%a.param.loc7: %C) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
@@ -362,9 +362,9 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: .Self = constants.%C
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo.1(%a.param_patt: %C);
|
||||
// CHECK:STDOUT: fn @Foo.1(%a.param: %C);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo.2(%a.param_patt: %C) {
|
||||
// CHECK:STDOUT: fn @Foo.2(%a.param: %C) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
@@ -400,9 +400,9 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: .Self = constants.%C
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo.1[<error>: <error>]();
|
||||
// CHECK:STDOUT: fn @Foo.1();
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo.2[<error>: <error>]() {
|
||||
// CHECK:STDOUT: fn @Foo.2() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
@@ -450,7 +450,7 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: .Self = constants.%C
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo(%a.param_patt: %C) {
|
||||
// CHECK:STDOUT: fn @Foo(%a.param.loc7: %C) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
@@ -504,9 +504,9 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: .Self = constants.%C
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo(%a.param_patt: %C);
|
||||
// CHECK:STDOUT: fn @Foo(%a.param: %C);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Bar(%a.param_patt: %C);
|
||||
// CHECK:STDOUT: fn @Bar(%a.param: %C);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- two_file.impl.carbon
|
||||
// CHECK:STDOUT:
|
||||
@@ -561,12 +561,12 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.2c4
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo(%a.param_patt: %C) [from "two_file.carbon"] {
|
||||
// CHECK:STDOUT: fn @Foo(%a.param: %C) [from "two_file.carbon"] {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Bar(%a.param_patt: %C) [from "two_file.carbon"] {
|
||||
// CHECK:STDOUT: fn @Bar(%a.param: %C) [from "two_file.carbon"] {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
@@ -619,9 +619,9 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: .Self = constants.%C
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo.1(%a.param_patt: %C);
|
||||
// CHECK:STDOUT: fn @Foo.1(%a.param: %C);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo.2(%b.param_patt: %C) {
|
||||
// CHECK:STDOUT: fn @Foo.2(%b.param: %C) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
@@ -674,9 +674,9 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: .Self = constants.%C
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo.1(%a.param_patt: %C);
|
||||
// CHECK:STDOUT: fn @Foo.1(%a.param: %C);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo.2(%a.param_patt: %C) {
|
||||
// CHECK:STDOUT: fn @Foo.2(%a.param: %C) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
@@ -731,7 +731,7 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: %a.loc7_8.2: %C = bind_symbolic_name a, 0 [symbolic = %a.loc7_8.2 (constants.%a)]
|
||||
// CHECK:STDOUT: %a.patt.loc7_8.2: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_8.2 (constants.%a.patt)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%a.patt.loc7_8.1: %C]();
|
||||
// CHECK:STDOUT: fn();
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: generic fn @Foo.2(%a.loc15_8.1: %C) {
|
||||
@@ -740,7 +740,7 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%a.patt.loc15_8.1: %C]() {
|
||||
// CHECK:STDOUT: fn() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
@@ -803,7 +803,7 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: .Self = constants.%C
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo() -> %return.param_patt: %C {
|
||||
// CHECK:STDOUT: fn @Foo() -> %return.param.loc8: %C {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %.loc8_25.1: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc8_25.2: init %C = class_init (), %return.loc8 [concrete = constants.%C.val]
|
||||
@@ -846,7 +846,7 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: .Self = constants.%C
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo(%a.param_patt: %C);
|
||||
// CHECK:STDOUT: fn @Foo(%a.param: %C);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- todo_fail_alias_two_file.impl.carbon
|
||||
// CHECK:STDOUT:
|
||||
@@ -891,7 +891,7 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.2c4
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo(%a.param_patt: %C) [from "alias_two_file.carbon"] {
|
||||
// CHECK:STDOUT: fn @Foo(%a.param: %C) [from "alias_two_file.carbon"] {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
@@ -949,9 +949,9 @@ fn Foo(a: const (const C)) {}
|
||||
// CHECK:STDOUT: .Self = constants.%C
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo.1(%a.param_patt: %const);
|
||||
// CHECK:STDOUT: fn @Foo.1(%a.param: %const);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo.2(%a.param_patt: %const) {
|
||||
// CHECK:STDOUT: fn @Foo.2(%a.param: %const) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -46,7 +46,7 @@ fn Foo(a: i32) {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo(%a.param_patt: %i32) {
|
||||
// CHECK:STDOUT: fn @Foo(%a.param: %i32) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -46,7 +46,7 @@ fn Foo(a: i32,) {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo(%a.param_patt: %i32) {
|
||||
// CHECK:STDOUT: fn @Foo(%a.param: %i32) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -54,7 +54,7 @@ fn Foo(a: i32, b: i32) {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo(%a.param_patt: %i32, %b.param_patt: %i32) {
|
||||
// CHECK:STDOUT: fn @Foo(%a.param: %i32, %b.param: %i32) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -54,7 +54,7 @@ fn Foo(a: i32, b: i32,) {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo(%a.param_patt: %i32, %b.param_patt: %i32) {
|
||||
// CHECK:STDOUT: fn @Foo(%a.param: %i32, %b.param: %i32) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
Reference in New Issue
Block a user