Issue #6452 has been updated by rosenfeld (Rodrigo Rosenfeld Rosas).


I'm not sure if prepend would have the same effect. I was expecting to call "super" in B and it would call A.a.

Does it make sense?

I don't really care if this would have another method name.

Would you mind to explain why the current behavior is useful instead of doing what I'm proposing?

I really don't understand why it was implemented this way...
----------------------------------------
Feature #6452: Allow extend to override class methods
https://bugs.ruby-lang.org/issues/6452#change-26710

Author: rosenfeld (Rodrigo Rosenfeld Rosas)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: 
Target version: 3.0


```
module A
  def self.a
    'a1'
  end
end

module B
  def a
    'a2'
  end

  def b
    'b'
  end
end

A.extend B

assert A.a == 'a2' # this is the change I'm proposing - currently it is 'a1'
assert A.b == 'b'
```

Would this change be possible for 3.0?


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