metagn
metagn
If it could be refactored to that, I would do it, but I am not too confident about it. It would be really hard to keep track of (you would...
Forgot to comment this is ready for review, it just might be a little painful to do so.
`let` turns into a symbol node instead of a raw identifier, which is correct. This behavior is because of the AST rendering (`repr`); it would have to special case symbol...
The issue is that just the `nil` literal by itself without type information uses a compiler internal type which `repr` doesn't handle. These work. ```nim echo repr(pointer(nil)) echo repr((ref int)(nil))...
This should not have a Codegen label
There is just no term rewriting at compile time. ```nim proc get(x: int): int = x template t{get(a)}(a: int): int = a + 1 doAssert get(0) == 1 doAssert static(get(0))...
I thought it would be complicated to make it work but it's not
Was this discussed previously? Doesn't `echo` need `$`? Edit: Apparently it was discussed in #19388 but just for floats. `dollars` has way more than that, plus `addFloat` is still included...
Fine to merge, ready for review