fix #7535(Poor error message for spawn when a procedure (without calling it)) (#17774)
This commit is contained in:
parent
8f79bc5f3d
commit
4471141a1d
2 changed files with 16 additions and 2 deletions
|
|
@ -2282,12 +2282,15 @@ proc semMagic(c: PContext, n: PNode, s: PSym, flags: TExprFlags): PNode =
|
|||
of mSpawn:
|
||||
markUsed(c, n.info, s)
|
||||
when defined(leanCompiler):
|
||||
localError(c.config, n.info, "compiler was built without 'spawn' support")
|
||||
result = n
|
||||
result = localErrorNode(c, n, "compiler was built without 'spawn' support")
|
||||
else:
|
||||
result = setMs(n, s)
|
||||
for i in 1..<n.len:
|
||||
result[i] = semExpr(c, n[i])
|
||||
|
||||
if n.len > 1 and n[1].kind notin nkCallKinds:
|
||||
return localErrorNode(c, n, n[1].info, "'spawn' takes a call expression; got " & $n[1])
|
||||
|
||||
let typ = result[^1].typ
|
||||
if not typ.isEmptyType:
|
||||
if spawnResult(typ, c.inParallelStmt > 0) == srFlowVar:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue