arnetheduck / nlvm

LLVM-based compiler for the Nim language
Other
712 stars 42 forks source link

REPL internal crash with `let` assignment when the operand is undefined #62

Open nnsee opened 11 months ago

nnsee commented 11 months ago

Using the latest release from https://github.com/arnetheduck/nlvm/actions/runs/7062903531

Command: echo "let a = x" | ./nlvm r

Crashes with an internal error after printing the error about the undeclared identifier:

stdin(1, 9) Error: undeclared identifier: 'x'
candidates (edit distance, scope distance); see '--spellSuggest': 
 (1, 2): '$' [func declared in /home/xx/Downloads/nlvm-2aa830c/Nim/lib/system/dollars.nim(25, 8)]
 (1, 2): '$' [func declared in /home/xx/Downloads/nlvm-2aa830c/Nim/lib/system/dollars.nim(25, 8)]
 (1, 2): '$' [func declared in /home/xx/Downloads/nlvm-2aa830c/Nim/lib/system/dollars.nim(25, 8)]
 (1, 2): '$' [func declared in /home/xx/Downloads/nlvm-2aa830c/Nim/lib/system/dollars.nim(30, 6)]
stdin(1, 9) Error: expression 'x' has no type (or is ambiguous)
Error: internal error: Unhandled type tyProxy
No stack traceback available
To create a stacktrace, rerun compilation with './koch temp r <file>', see https://nim-lang.github.io/Nim/intern.html#debugging-the-compiler for details