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:
|
||||
result = commonSuperclass(a, b)
|
||||
# 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:
|
||||
let r = result
|
||||
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