side-effect computation now done in the proper pass; fixes #4254

This commit is contained in:
Andreas Rumpf 2016-08-25 16:33:38 +02:00
commit f1e4d8ed74
4 changed files with 39 additions and 17 deletions

View file

@ -1,13 +1,13 @@
discard """
file: "tsidee4.nim"
line: 15
errormsg: "type mismatch"
line: 12
errormsg: "'noSideEffect' can have side effects"
"""
var
global: int
proc dontcare(x: int): int = return x
proc dontcare(x: int): int = return global
proc noSideEffect(x, y: int, p: proc (a: int): int {.noSideEffect.}): int {.noSideEffect.} =
return x + y + dontcare(x)