Allow pragmas on parameters (#15178)
This commit is contained in:
parent
813f16a2a3
commit
2cea52ee7e
2 changed files with 17 additions and 2 deletions
|
|
@ -1234,7 +1234,7 @@ proc semProcTypeNode(c: PContext, n, genericParams: PNode,
|
|||
if typ == nil:
|
||||
typ = def.typ
|
||||
if isEmptyContainer(typ):
|
||||
localError(c.config, a.info, "cannot infer the type of parameter '" & a[0].ident.s & "'")
|
||||
localError(c.config, a.info, "cannot infer the type of parameter '" & $a[0] & "'")
|
||||
|
||||
if typ.kind == tyTypeDesc:
|
||||
# consider a proc such as:
|
||||
|
|
@ -1265,7 +1265,7 @@ proc semProcTypeNode(c: PContext, n, genericParams: PNode,
|
|||
continue
|
||||
|
||||
for j in 0..<a.len-2:
|
||||
var arg = newSymG(skParam, a[j], c)
|
||||
var arg = newSymG(skParam, if a[j].kind == nkPragmaExpr: a[j][0] else: a[j], c)
|
||||
if not hasType and not hasDefault and kind notin {skTemplate, skMacro}:
|
||||
let param = strTableGet(c.signatures, arg.name)
|
||||
if param != nil: typ = param.typ
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue