Issue #6239 has been updated by matz (Yukihiro Matsumoto).

Status changed from Open to Rejected

It's behavior change in 1.9, and we are not going to change the behavior in 1.8 (other than fixing bugs) any more.

Matz.

----------------------------------------
Bug #6239: super Does Not Pass Modified Rest Args When Originally Empty
https://bugs.ruby-lang.org/issues/6239#change-25549

Author: mudge (Paul Mucur)
Status: Rejected
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: 1.8.7-p358


Given the following code:

    class A
      def a(*args)
        args
      end
    end

    class B < A
      def a(*args)
        args << "foo"

        super
      end
    end

1.8.7-p358> B.new.a("bar")
=> ["bar", "foo"]
1.8.7-p358> B.new.a
=> []

But:

1.9.2-p290> B.new.a("bar")
=> ["bar", "foo"]
1.9.2-p290> B.new.a
=> ["foo"]

The 1.9.2 behaviour is more predictable than 1.8.7, should this be backported or is this expected behaviour?


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