Merge pull request #4701 from mbaulch/fix4675

pickBestCandidate: pre-calculate candidates when symbol table modified
This commit is contained in:
Andreas Rumpf
2016-09-03 15:45:22 +02:00
committed by GitHub
4 changed files with 99 additions and 42 deletions

View File

@@ -0,0 +1,5 @@
type
Field* = object
elemSize*: int
template `+`*(x: untyped, y: Field): untyped = x

View File

@@ -0,0 +1,15 @@
type
Foo*[T] = object
v*: T
template `+`*(x: Foo, y: Foo): untyped = x
template newvar*(r: untyped): untyped {.dirty.} =
var r: float
template t1*(x: Foo): untyped =
newvar(y1)
x
template t2*(x: Foo): untyped =
newvar(y2)
x

View File

@@ -0,0 +1,7 @@
# issue 4675
import importA # comment this out to make it work
import importB
var x: Foo[float]
var y: Foo[float]
let r = t1(x) + t2(y)