Bug #1440: Array#flatten!(0) should return nil, not self
http://redmine.ruby-lang.org/issues/show/1440

Author: Marc-Andre Lafortune
Status: Open, Priority: Normal
Category: core, Target version: 1.9.2
ruby -v: ruby 1.9.2dev (2009-05-06 trunk 23352) [i386-darwin9.6.0]

As per doc, flatten!(0) does not make modifications and should thus return nil.

[].flatten!      # ==> nil
[].flatten!(42)  # ==> nil
[].flatten!(-1)  # ==> nil
[].flatten!(0)   # ==> []

Poor man's diff for "rb_ary_flatten_bang"
-     if (level == 0) return ary;
+     if (level == 0) return Qnil;


----------------------------------------
http://redmine.ruby-lang.org