bugfix: better implict 'items' support

This commit is contained in:
Araq 2012-11-28 19:57:41 +01:00
commit 0ef08e49e7
4 changed files with 42 additions and 22 deletions

View file

@ -589,11 +589,10 @@ proc semStaticExpr(c: PContext, n: PNode): PNode =
proc semOverloadedCallAnalyseEffects(c: PContext, n: PNode, nOrig: PNode,
flags: TExprFlags): PNode =
if efWantIterator in flags:
result = semOverloadedCall(c, n, nOrig, {skIterator})
elif efInTypeOf in flags:
if {efInTypeOf, efWantIterator} * flags != {}:
# consider 'proc p(): seq[int]; for x in p()' here and
# for ``type(countup(1,3))``, see ``tests/ttoseq``.
result = semOverloadedCall(c, n, nOrig,
result = semOverloadedCall(c, n, nOrig,
{skProc, skMethod, skConverter, skMacro, skTemplate, skIterator})
else:
result = semOverloadedCall(c, n, nOrig,