fixes #712
This commit is contained in:
parent
f2216b8e32
commit
e210b049e9
2 changed files with 22 additions and 1 deletions
|
|
@ -120,7 +120,8 @@ proc commonType*(x, y: PType): PType =
|
||||||
if a.kind == tyObject and b.kind == tyObject:
|
if a.kind == tyObject and b.kind == tyObject:
|
||||||
result = commonSuperclass(a, b)
|
result = commonSuperclass(a, b)
|
||||||
# this will trigger an error later:
|
# this will trigger an error later:
|
||||||
if result.isNil: return x
|
if result.isNil or result == a: return x
|
||||||
|
if result == b: return y
|
||||||
if k != tyNone:
|
if k != tyNone:
|
||||||
let r = result
|
let r = result
|
||||||
result = newType(k, r.owner)
|
result = newType(k, r.owner)
|
||||||
|
|
|
||||||
20
tests/exprs/tifexpr_typeinference.nim
Normal file
20
tests/exprs/tifexpr_typeinference.nim
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
#bug #712
|
||||||
|
|
||||||
|
import tables
|
||||||
|
|
||||||
|
proc test(): TTable[string, string] =
|
||||||
|
discard
|
||||||
|
|
||||||
|
proc test2(): TTable[string, string] =
|
||||||
|
discard
|
||||||
|
|
||||||
|
var x = 5
|
||||||
|
let blah =
|
||||||
|
case x
|
||||||
|
of 5:
|
||||||
|
test2()
|
||||||
|
of 2:
|
||||||
|
test()
|
||||||
|
else: test()
|
||||||
|
|
||||||
|
echo blah.len
|
||||||
Loading…
Add table
Add a link
Reference in a new issue