     if jumpNode = @jumps()
       jumpNode.error 'cannot use a pure statement in an expression'
     o.sharedScope = yes
+    # Solution for an iced corner case:
+    #
+    # foo = (autocb) ->
+    #   x = (i for i in [0..10])
+    #   x
+    #
+    #  We don't want the autocb to fire in the evaluation of the list
+    #  comprehension on the RHS.
+    #
+    @icedClearAutocbFlags()
     Closure.wrap(this).compileNode o
 
   # If the code generation wishes to use the result of a complex expression

  # `toString` representation of the node, for inspecting the parse tree.
  # This is what `coffee --nodes` prints out.
  toString: (idt = '', name = @constructor.name) ->
    tree = '\n' + idt + name
    tree += '?' if @soak
    @eachChild (node) -> tree += node.toString idt + TAB
    tree

  # Passes each child to a function, breaking when the function returns `false`.


{Scope} = require './scope'
{RESERVED, STRICT_PROSCRIBED} = require './lexer'
iced = require './iced'

# Import the helpers we plan to use.
{compact, flatten, extend, merge, del, starts, ends, last, some,
