weak_ref&.some_method should behave like object&.some_method
The following patterns mean basically the same thing and should behave the same:
weak_ref = WeakRef.new(some_object) ... weak_ref.some_method if weak_ref.weakref_alive?() some_object.some_method if some_object.present?
The some_object predicate got cleaned up by using &.some_method. It would be super clean if WeakRef did the same.
weak_ref = WeakRef.new(some_object) ... weak_ref&.some_method # should not raise WeakRef::RefError
Updated by jeremyevans0 (Jeremy Evans) over 2 years ago
- Tracker changed from Bug to Feature
- ruby -v deleted (
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux])
- Backport deleted (
2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN)
This isn't a bug, it is expected that only
nil skips a method call when you use
&.. Switching to feature request.