[ruby-core:122560] [Ruby Bug#21446] StackOverflow when changing visibility in reopened refinement
From:
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date:
2025-06-20 00:16:49 UTC
List:
ruby-core #122560
Issue #21446 has been updated by nobu (Nobuyoshi Nakada).
It does not seem to need to reopen the refinement.
Reproduces just by changing visibility twice.
```ruby
module R
refine B do
private :a
public :a
end
end
```
----------------------------------------
Bug #21446: StackOverflow when changing visibility in reopened refinement
https://bugs.ruby-lang.org/issues/21446#change-113791
* Author: luke-gru (Luke Gruber)
* Status: Open
* ruby -v: 3.5.0
* Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
```ruby
class A
def a
:a
end
end
class B < A
end
module R
refine B do
private :a
end
end
module R
refine B do
public :a
end
end
using R
B.new.a # StackOverflow
```
I would expect it to change the visibility, not to overflow the stack.
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/