Quinton Miller
Quinton Miller
Block arg case in Ruby: ```ruby class C def [](&f) f.call(X.new) end def []=(*args, **opts, &f) f.call(X.new, args, opts) end end class X def test puts "OK" end def test2(args,...
missing specs
Looking at https://docs.github.com/en/issues/using-labels-and-milestones-to-track-work/managing-labels it seems `good first issue` is the only special label?
Duplicate of #10699?
Not sure about Ruby's situation, but contiguous allocations in that size range _will_ perform poorly with the Boehm GC, especially on Windows (contrast with #14395), so I don't think the...
It looks like this snippet straight up parses to something without the `id` at all: ```crystal macro f(x) {% p x %} # => class Foo; property = 1; end...
So it turns out the parser is very lax when detecting valid assignment targets. In particular, [`Crystal::Parser#can_be_assigned?`](https://github.com/crystal-lang/crystal/blob/4cea10199d5006000a129413f6f607697185c83a/src/compiler/crystal/syntax/parser.cr#L6181-L6190) accepts far more `Call` nodes than [`#multi_assign_target?`](https://github.com/crystal-lang/crystal/blob/4cea10199d5006000a129413f6f607697185c83a/src/compiler/crystal/syntax/parser.cr#L238-L247), so all the following lines have...
`#to_s` would preserve e.g. the single or double quotation marks of a `CharLiteral` or `StringLiteral`, which we do not want.
But those exceptions are precisely why `#to_s` isn't "always" correct?
There is also `SymbolLiteral#to_macro_id` which drops the leading `:`. But I think the point is that the defined overloads avoid having to create a fresh `Crystal::ToSVisitor` every time `ASTNode#id` is...