diff --git a/compiler/ast.nim b/compiler/ast.nim index f4b0d00a05..39228da406 100755 --- a/compiler/ast.nim +++ b/compiler/ast.nim @@ -198,6 +198,9 @@ type nkMutableTy, # ``mutable T`` nkDistinctTy, # distinct type nkProcTy, # proc type + nkIteratorTy, # iterator type + nkSharedTy, # 'shared T' + # we use 'nkPostFix' for the 'not nil' addition nkEnumTy, # enum body nkEnumFieldDef, # `ident = expr` in an enumeration nkArgList, # argument list diff --git a/lib/core/macros.nim b/lib/core/macros.nim index b80de27fae..966a21a1bd 100755 --- a/lib/core/macros.nim +++ b/lib/core/macros.nim @@ -53,7 +53,10 @@ type nnkRefTy, nnkPtrTy, nnkVarTy, nnkConstTy, nnkMutableTy, nnkDistinctTy, - nnkProcTy, nnkEnumTy, + nnkProcTy, + nnkIteratorTy, # iterator type + nnkSharedTy, # 'shared T' + nnkEnumTy, nnkEnumFieldDef, nnkArglist, nnkPattern nnkReturnToken diff --git a/todo.txt b/todo.txt index 90fc38485e..9ee49b4f20 100755 --- a/todo.txt +++ b/todo.txt @@ -2,10 +2,10 @@ version 0.9.2 ============= - test&finish first class iterators: + * tyIterator: implement nkIteratorTy, nkSharedTy * allow return in first class iterators * nested iterators * arglist as a type? - * tyIterator? - fix closure bug finally - overloading based on ASTs: 'constraint' should not be in PType but for the