Results 355 comments of metagn

I don't know what there is to be done about this. It might be misleading to say Nim has an "effect system" if people expect it to be on the...

I don't mean to delay or complicate anything, but thoughts on this? ```nim proc merge[T](result: var seq[T], x, y: openArray[T]) = ... let x = [1, 3] let y =...

I wonder how many problems with fusion matching would remain if you just called it like `match foo:` instead of case statement macros. It's also quite large. It can be...

You can't use case statement macros for builtin types supported for case, like int or string. One could just offer both variations of the call syntax at the same time...

On top of that, `import as` statements break too. `import a.b.c.X as Y` shows red spaces between `X`, `as` and `Y` and doesn't highlight `as`

Some notes with regards to the implementation (feel free to ignore if not interested): This design is about as simple as it gets for the parser (parse `case` differently in...

They could be merged into (assuming `Branch(let x)` means "unpack the first field of the branch type to x" and not "unpack the full branch to x"): ```nim of Branch...

This works (and is normally what you're supposed to do): ```nim type SBase[T, V] = ref object of RootObj val: T color: V SRC = ref object of SBase[string, int]...

Workaround is wrap result of macro with `block`, which #21761 does for strformat and should close this issue. The general case I posted above is still an issue but it's...