fusion/matching case statement behavior

2024-02-09 Thread ElegantBeef
> So nim doesn't know that the Some(_) and None() branches form an exhaustive > check of Option values? Well it's cause the macro expands the case statement into if elif branches this can be seen in the following. # compile with --expandMacro: case {.experimental: "caseStmtMacr

fusion/matching case statement behavior

2024-02-09 Thread Horkarod
I'm new to nim. I use the Option type in other languages and was playing around with them in nim (version 2.0.2): {.experimental: "caseStmtMacros".} import fusion/matching let a = case some(0) of Some(_): 1 else: 2 echo a let b =