diff options
author | Arne Döring <arne.doering@gmx.net> | 2019-08-26 20:14:21 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2019-08-26 20:14:21 +0200 |
commit | ae9bb4474bdfb6740cbf50875febdf9689718601 (patch) | |
tree | 2e413afe46f8b888cdc640e534aa5e5b2367a33f /compiler | |
parent | 88814bbe98fe43ca4f3c168b7d77ebb820838e7a (diff) | |
download | Nim-ae9bb4474bdfb6740cbf50875febdf9689718601.tar.gz |
fixes #12033 (#12039)
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/semstmts.nim | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/semstmts.nim b/compiler/semstmts.nim index 07aaf0eca..0d9d1af39 100644 --- a/compiler/semstmts.nim +++ b/compiler/semstmts.nim @@ -1904,6 +1904,10 @@ proc semProcAux(c: PContext, n: PNode, kind: TSymKind, discard popProcCon(c) else: + if s.kind in {skProc, skFunc} and s.typ[0] != nil and s.typ[0].kind == tyUntyped: + # `auto` is represented as `tyUntyped` at this point in compilation. + localError(c.config, n[paramsPos][0].info, "return type 'auto' cannot be used in forward declarations") + if s.kind == skMethod: semMethodPrototype(c, s, n) if proto != nil: localError(c.config, n.info, errImplOfXexpected % proto.name.s) if {sfImportc, sfBorrow, sfError} * s.flags == {} and s.magic == mNone: |