mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-31 18:32:11 +00:00
fixes #4462
This commit is contained in:
@@ -518,9 +518,9 @@ proc genCall(c: PCtx; n: PNode; dest: var TDest) =
|
||||
# varargs need 'opcSetType' for the FFI support:
|
||||
let fntyp = skipTypes(n.sons[0].typ, abstractInst)
|
||||
for i in 0.. <n.len:
|
||||
if i > 0 and i < sonsLen(fntyp):
|
||||
let paramType = fntyp.n.sons[i]
|
||||
if paramType.typ.isCompileTimeOnly: continue
|
||||
#if i > 0 and i < sonsLen(fntyp):
|
||||
# let paramType = fntyp.n.sons[i]
|
||||
# if paramType.typ.isCompileTimeOnly: continue
|
||||
var r: TRegister = x+i
|
||||
c.gen(n.sons[i], r)
|
||||
if i >= fntyp.len:
|
||||
@@ -1797,6 +1797,8 @@ proc gen(c: PCtx; n: PNode; dest: var TDest; flags: TGenFlags = {}) =
|
||||
genConv(c, n, n.sons[1], dest, opcCast)
|
||||
else:
|
||||
globalError(n.info, errGenerated, "VM is not allowed to 'cast'")
|
||||
of nkTypeOfExpr:
|
||||
genTypeLit(c, n.typ, dest)
|
||||
else:
|
||||
globalError(n.info, errGenerated, "cannot generate VM code for " & $n)
|
||||
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
|
||||
# 4412
|
||||
|
||||
# bug #4462
|
||||
import macros
|
||||
|
||||
proc foo(t: typedesc) {.compileTime.} =
|
||||
echo getType(t).treeRepr
|
||||
|
||||
static:
|
||||
foo(int)
|
||||
|
||||
# #4412
|
||||
proc default[T](t: typedesc[T]): T {.inline.} = discard
|
||||
|
||||
static:
|
||||
|
||||
Reference in New Issue
Block a user