Hmm, see a6ed0c826a40156c39ae14c095bcb8a30a32088f though.  The code used to be what you changed it to, but according to that commit it changed to `||=` so as to allow configured `output_stream` to take precedence over the default of `$stdout`.  And that makes sense now that I think about it, too: consider that the args passed to this method originate here:

https://github.com/rspec/rspec-core/blob/5f0e7a0465dcedd5b26d658be72b8c0ec59a3e5d/lib/rspec/core/runner.rb#L17

https://github.com/rspec/rspec-core/blob/5f0e7a0465dcedd5b26d658be72b8c0ec59a3e5d/lib/rspec/core/runner.rb#L90

So the `out` arg will always be `$stdout` (at least from the code path as invoked by the `rspec` command), but the user may have configured `output_stream` to something else and we don't want to stomp it.

It looks like there's a missing test case for this, though; can you revert this and add one?