mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
committed by
Andreas Rumpf
parent
5a58caa9c1
commit
c343303efe
@@ -42,7 +42,7 @@ proc evalTemplateAux(templ, actual: PNode, c: var TemplCtx, result: PNode) =
|
||||
s.kind == skType and s.typ != nil and s.typ.kind == tyGenericParam:
|
||||
handleParam actual.sons[s.owner.typ.len + s.position - 1]
|
||||
else:
|
||||
internalAssert sfGenSym in s.flags
|
||||
internalAssert sfGenSym in s.flags or s.kind == skType
|
||||
var x = PSym(idTableGet(c.mapping, s))
|
||||
if x == nil:
|
||||
x = copySym(s, false)
|
||||
|
||||
18
tests/ccgbugs/t6756.nim
Normal file
18
tests/ccgbugs/t6756.nim
Normal file
@@ -0,0 +1,18 @@
|
||||
import typetraits
|
||||
type
|
||||
A[T] = ref object
|
||||
v: T
|
||||
|
||||
template templ(o: A, op: untyped): untyped =
|
||||
type T = type(o.v)
|
||||
|
||||
var res: A[T]
|
||||
|
||||
block:
|
||||
var it {.inject.}: T
|
||||
it = o.v
|
||||
res = A[T](v: op)
|
||||
res
|
||||
|
||||
let a = A[int](v: 1)
|
||||
echo templ(a, it + 2)[]
|
||||
Reference in New Issue
Block a user