fixes #7528
This commit is contained in:
parent
2d68674338
commit
8b7c2bd067
2 changed files with 18 additions and 1 deletions
|
|
@ -1333,7 +1333,10 @@ proc computeSizeAux(typ: PType, a: var BiggestInt): BiggestInt =
|
||||||
if typ.callConv == ccClosure: result = 2 * ptrSize
|
if typ.callConv == ccClosure: result = 2 * ptrSize
|
||||||
else: result = ptrSize
|
else: result = ptrSize
|
||||||
a = ptrSize
|
a = ptrSize
|
||||||
of tyNil, tyCString, tyString, tySequence, tyPtr, tyRef, tyVar, tyLent, tyOpenArray:
|
of tyString, tyNil:
|
||||||
|
result = ptrSize
|
||||||
|
a = result
|
||||||
|
of tyCString, tySequence, tyPtr, tyRef, tyVar, tyLent, tyOpenArray:
|
||||||
let base = typ.lastSon
|
let base = typ.lastSon
|
||||||
if base == typ or (base.kind == tyTuple and base.size==szIllegalRecursion):
|
if base == typ or (base.kind == tyTuple and base.size==szIllegalRecursion):
|
||||||
result = szIllegalRecursion
|
result = szIllegalRecursion
|
||||||
|
|
|
||||||
14
tests/metatype/tautotypetrait.nim
Normal file
14
tests/metatype/tautotypetrait.nim
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
discard """
|
||||||
|
output: "(Field0: "string", Field1: "string")"
|
||||||
|
"""
|
||||||
|
|
||||||
|
# 7528
|
||||||
|
import macros
|
||||||
|
import typetraits
|
||||||
|
|
||||||
|
macro bar*(n: untyped): typed =
|
||||||
|
result = newNimNode(nnkStmtList, n)
|
||||||
|
result.add(newCall("write", newIdentNode("stdout"), n))
|
||||||
|
|
||||||
|
proc foo0[T](): auto = return (T.name, T.name)
|
||||||
|
bar foo0[string]()
|
||||||
Loading…
Add table
Add a link
Reference in a new issue