From: jean.boussier@... Date: 2020-09-17T07:36:19+00:00 Subject: [ruby-core:100029] [Ruby master Feature#17171] Why is the visibility of constants not affected by `private`? Issue #17171 has been updated by byroot (Jean Boussier). I agree too that it would be much cleaner, I keep seeing newer Ruby developers expecting it to work that way. That and `def self.something`. > Maybe we can make an experiment and gather feedback from gems testing against ruby-head? I can already tell you without a doubt it will break lots of code. What scares me is that since it would need to go through a deprecation cycle, and would be quite noisy, it has the potential to create a backlash like the keyword args change did. But maybe it wouldn't be as verbose? ---------------------------------------- Feature #17171: Why is the visibility of constants not affected by `private`? https://bugs.ruby-lang.org/issues/17171#change-87580 * 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: