* fixes #18326

* make tests green again
This commit is contained in:
Andreas Rumpf 2021-06-23 23:31:17 +02:00 • committed by GitHub
commit 0f91b67f5c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 4 deletions

View file

@ -88,7 +88,7 @@ proc checkIsolate*(n: PNode): bool =
# XXX: as long as we don't update the analysis while examining arguments
# we can do an early check of the return type, otherwise this is a
# bug and needs to be moved below
if n[0].typ.flags * {tfGcSafe, tfNoSideEffect} == {}:
if tfNoSideEffect notin n[0].typ.flags:
return false
for i in 1..<n.len:
if checkIsolate(n[i]):

View file

@ -1,12 +1,17 @@
discard """
errormsg: "expression cannot be isolated: select(a, b)"
line: 34
line: 39
"""
import std / isolation
import json, streams
proc myParseJson(s: Stream; filename: string): JsonNode =
{.cast(noSideEffect).}:
result = parseJson(s, filename)
proc f(): seq[int] =
@[1, 2, 3]
@ -28,7 +33,7 @@ proc main =
discard isolate select(Node(x: "a"), nil)
discard isolate select(Node(x: "a"), Node(x: "b"))
discard isolate parseJson(newFileStream("my.json"), "my.json")
discard isolate myParseJson(newFileStream("my.json"), "my.json")
var a, b: Node
discard isolate select(a, b)