summary refs log tree commit diff stats
diff options
context:
space:
mode:
authordef <dennis@felsin9.de>2015-03-12 23:48:38 +0100
committerdef <dennis@felsin9.de>2015-03-12 23:49:49 +0100
commit7daf410f465b2d4e928edd55b0fc763b5243adb0 (patch)
tree29439abc564fbc7b2c9ee49df45b1308f5602a86
parentc707923cc1d6f6aa08afadb02ccf21d15d223f7f (diff)
downloadNim-7daf410f465b2d4e928edd55b0fc763b5243adb0.tar.gz
Improve error message for failed conversion in VM
- Fixes #2045

- Old one:
  Error: conversion from unknown type to unknown type is invalid
- New one:
  Error: conversion from -1 to [0..255] is invalid
-rw-r--r--compiler/vm.nim2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/vm.nim b/compiler/vm.nim
index f0a0135e8..3b5c8e7f3 100644
--- a/compiler/vm.nim
+++ b/compiler/vm.nim
@@ -814,7 +814,7 @@ proc rawExecute(c: PCtx, start: int, tos: PStackFrame): TFullReg =
               leValueConv(regs[ra].regToNode, regs[rc].regToNode)):
         stackTrace(c, tos, pc, errGenerated,
           msgKindToString(errIllegalConvFromXtoY) % [
-          "unknown type" , "unknown type"])
+          $regs[ra].regToNode, "[" & $regs[rb].regToNode & ".." & $regs[rc].regToNode & "]"])
     of opcIndCall, opcIndCallAsgn:
       # dest = call regStart, n; where regStart = fn, arg1, ...
       let rb = instr.regB