implicit return types for iterators are now deprecated

This commit is contained in:
Araq
2015-09-10 15:57:57 +02:00
parent 34ab1d3e34
commit 63cdcb2be1
3 changed files with 3 additions and 1 deletions

View File

@@ -970,6 +970,7 @@ proc semProcTypeNode(c: PContext, n, genericParams: PNode,
elif kind == skIterator:
# XXX This is special magic we should likely get rid of
r = newTypeS(tyExpr, c)
message(n.info, warnDeprecated, "implicit return type for 'iterator'")
if r != nil:
# turn explicit 'void' return type into 'nil' because the rest of the

View File

@@ -23,7 +23,6 @@ version 1.0
- nimsuggest: auto-completion needs to work in 'class' macros
- The bitwise 'not' operator will be renamed to 'bnot' to
prevent 'not 4 == 5' from compiling. -> requires 'mixin' annotation for procs!
- iterators always require a return type
- split docgen into separate tool
- special rule for ``[]=``, items, pairs
- BUG: echo with template `$`*(info: TLineInfo): expr = toFileLineCol(info)

View File

@@ -73,6 +73,8 @@ News
multi methods less error-prone to use with the effect system.
- Nim's parser directive ``#!`` is now ``#?`` in order to produce no conflicts
with Unix's ``#!``.
- An implicit return type for an iterator is now deprecated. Use ``auto`` if
you want more type inference.
Library Additions