diff options
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/semstmts.nim | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/semstmts.nim b/compiler/semstmts.nim index 564ab7ac3..0dd67b184 100644 --- a/compiler/semstmts.nim +++ b/compiler/semstmts.nim @@ -1295,7 +1295,7 @@ proc semOverride(c: PContext, s: PSym, n: PNode) = localError(n.info, errGenerated, "cannot bind another '" & s.name.s & "' to: " & typeToString(obj)) noError = true - if not noError: + if not noError and sfSystemModule notin s.owner.flags: localError(n.info, errGenerated, "signature for '" & s.name.s & "' must be proc[T: object](x: var T)") else: @@ -1351,8 +1351,9 @@ proc semOverride(c: PContext, s: PSym, n: PNode) = localError(n.info, errGenerated, "cannot bind another '" & s.name.s & "' to: " & typeToString(obj)) return - localError(n.info, errGenerated, - "signature for '" & s.name.s & "' must be proc[T: object](x: var T; y: T)") + if sfSystemModule notin s.owner.flags: + localError(n.info, errGenerated, + "signature for '" & s.name.s & "' must be proc[T: object](x: var T; y: T)") else: if sfOverriden in s.flags: localError(n.info, errGenerated, |