summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorringabout <43030857+ringabout@users.noreply.github.com>2024-04-19 03:51:52 +0800
committerGitHub <noreply@github.com>2024-04-18 21:51:52 +0200
commit0fc8167b84c2f763e5855d0bebb089566bb7eae4 (patch)
treef282d96a48ce428e733bdaf88fdcf4bf7c8fcf7f
parent9e1d0d15137c6439d886406293a25eaa16b600c5 (diff)
downloadNim-0fc8167b84c2f763e5855d0bebb089566bb7eae4.tar.gz
fixes #23492; fixes JS float range causes compiler crash (#23517)
fixes #23492

```nim
proc foo =
  var x: range[1.0 .. 5.0] = 2.0
  case x
  of 1.0..2.0:
    echo 1
  else:
    echo 3

foo()
```
-rw-r--r--compiler/jsgen.nim2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/jsgen.nim b/compiler/jsgen.nim
index 12ba07c54..749f9541a 100644
--- a/compiler/jsgen.nim
+++ b/compiler/jsgen.nim
@@ -1023,7 +1023,7 @@ proc genCaseJS(p: PProc, n: PNode, r: var TCompRes) =
     a, b, cond, stmt: TCompRes = default(TCompRes)
   genLineDir(p, n)
   gen(p, n[0], cond)
-  let typeKind = skipTypes(n[0].typ, abstractVar).kind
+  let typeKind = skipTypes(n[0].typ, abstractVar+{tyRange}).kind
   var transferRange = false
   let anyString = typeKind in {tyString, tyCstring}
   case typeKind