diff --git a/spec/compiler/parser/to_s_spec.cr b/spec/compiler/parser/to_s_spec.cr index 6b539453d80d..6a2fbcb30aad 100644 --- a/spec/compiler/parser/to_s_spec.cr +++ b/spec/compiler/parser/to_s_spec.cr @@ -95,4 +95,5 @@ describe "ASTNode#to_s" do expect_to_s "# doc\ndef foo\nend", emit_doc: true expect_to_s "foo[x, y, a: 1, b: 2]" expect_to_s "foo[x, y, a: 1, b: 2] = z" + expect_to_s %(@[Foo(1, 2, a: 1, b: 2)]) end diff --git a/src/compiler/crystal/syntax/to_s.cr b/src/compiler/crystal/syntax/to_s.cr index c40c3ca10b0a..c26992e62945 100644 --- a/src/compiler/crystal/syntax/to_s.cr +++ b/src/compiler/crystal/syntax/to_s.cr @@ -1414,8 +1414,8 @@ module Crystal printed_arg = true end if named_args = node.named_args - @str << ", " if printed_arg named_args.each do |named_arg| + @str << ", " if printed_arg visit_named_arg_name(named_arg.name) @str << ": " named_arg.value.accept self