Issue #17171 has been updated by marcandre (Marc-Andre Lafortune).
I'd like us to consider changing this so that `private` also changes the visibility of future constants being set.
If that is deemed too risky for compatibility, could `private_constant` with no receiver do this?
----------------------------------------
Feature #17171: Why is the visibility of constants not affected by `private`?
https://bugs.ruby-lang.org/issues/17171#change-87570
* Author: marcandre (Marc-Andre Lafortune)
* Status: Open
* Priority: Normal
----------------------------------------
```ruby
class Foo
def call_me
# ...
end
private
SOME_DATA = %i[...].freeze # is public, why not private?
def calc_stuff # is private, ok.
# ...
end
end
```ruby
It's probably a naive question, but why shouldn't `SOME_DATA`'s visibility be private?
When writing gems, more often than not the constants that I write are not meant for public consumption. I find it redundant (and tiresome) to explicitly write `private_constant :SOME_DATA`.
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>