[#114774] [Ruby master Feature#19884] Make Safe Navigation Operator work on classes — "p8 (Petrik de Heus) via ruby-core" <ruby-core@...>
Issue #19884 has been reported by p8 (Petrik de Heus).
13 messages
2023/09/15
[ruby-core:114699] [Ruby master Feature#19871] Add __owner__
From:
"konsolebox (K B) via ruby-core" <ruby-core@...>
Date:
2023-09-12 09:47:48 UTC
List:
ruby-core #114699
Issue #19871 has been updated by konsolebox (K B).
nobu (Nobuyoshi Nakada) wrote in #note-3:
> Why not use the constant without scopes?
>
> ```ruby
> module M
> C = 1234
>
> def m
> puts "C: #{C}" #=> C: 1234
> end
> end
> ```
I was expecting the lookup to still be affected by the inheriting class. I should have tested it first.
I guess this invalidates the feature request.
----------------------------------------
Feature #19871: Add __owner__
https://bugs.ruby-lang.org/issues/19871#change-104529
* Author: konsolebox (K B)
* Status: Open
* Priority: Normal
----------------------------------------
Which will give the owner of the currently executing method.
`method(__method__).owner` or `method(__callee__).owner` isn't enough since it may return a different owner if the method is overridden.
Relying on calling the name of its owner is also theoretically not reliable since the constant can be overshadowed and it makes code less portable when moving it from one namespace to another.
--
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/postorius/lists/ruby-core.ml.ruby-lang.org/