         for name, value of @assigns
             stream.write "\n  #{name} = #{value}"
         stream.write '\n'
+        stream.write "  pool = #{@_pool}\n" if @_pool?
 
 # Represent a Ninja rule, that is, a method to "how I build a file of type A
 # to type B".

    # Bind a variable to a temporary value for the edge.
    assign: (name, value) ->
        @assigns[name] = value
        this

    # Write the edge into a `stream`.

        @isGenerator = isGenerator
        this

    pool: (pool) ->
        @_pool = pool
        this

    # Write the rule into a `stream`.
    write: (stream) ->
        stream.write "rule #{@name}\n  command = #{@command}\n"
        stream.write "  description = #{@desc}\n" if @desc?
        stream.write "  restat = 1\n" if @doRestat
        stream.write "  generator = 1\n" if @isGenerator
        stream.write "  pool = #{@_pool}\n" if @_pool?
        if @dependencyFile?
            stream.write "  depfile = #{@dependencyFile}\n"
            stream.write "  deps = gcc\n"
