* [Feature #22309] Allow super in a module method to work if method was called by refinement method super (jeremyevans0) * From Ruby 2.4-4.0, `super` has been allowed, but used the wrong method lookup, so it generally resulted in a `N...jeremyevans0 (Jeremy Evans)
@shugo Thank you for the recommendation for implementing this correctly. I used the approach you recommended, and it ended up being much simpler than I expected, even if there were a couple tricky parts. One of those was how to store the...jeremyevans0 (Jeremy Evans)
OK. I submitted https://github.com/ruby/ruby/pull/18848 to fix this in master (same as https://github.com/ruby/ruby/pull/17633 but squashed and with fixed specs). It leaves Ruby 4.0 behavior unspecified. After it is merged, I'll submit ...jeremyevans0 (Jeremy Evans)
From my testing with the example given, Set has returned `false` for all of these operations since `Set#compare_by_identity` was added in Ruby 2.4: ``` $ ruby24 -v t.rb ruby 2.4.9p362 (2019-10-02 revision 67824) [x86_64-openbsd] In...jeremyevans0 (Jeremy Evans)
shugo (Shugo Maeda) wrote in #note-3: > jeremyevans0 (Jeremy Evans) wrote in #note-2: > ... Good point. That does make the stack walking approach unworkable. So I'll work on implementing the lazily created refinement iclass approach in...jeremyevans0 (Jeremy Evans)
shugo (Shugo Maeda) wrote in #note-1: > Thank you for working on this. I checked out the PR branch and tested it. > ... Thank you for the review. I think a possible solution to the incorrect behavior in the example you gave would be a ...jeremyevans0 (Jeremy Evans)
I submitted a pull request to add the initial deprecation warning: https://github.com/ruby/ruby/pull/18807 I think it makes sense to use the same schedule as #22276: 4.1: Verbose-mode deprecation warning 4.2: Non-verbose-mode depr...jeremyevans0 (Jeremy Evans)