Project

General

Profile

Feature #16971

weak_ref&.some_method should behave like object&.some_method

Added by kwerle (Kurt Werle) 4 months ago. Updated 4 months ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:98887]

Description

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) 4 months ago

  • Backport deleted (2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN)
  • ruby -v deleted (ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux])
  • Tracker changed from Bug to Feature

This isn't a bug, it is expected that only nil skips a method call when you use &.. Switching to feature request.

Also available in: Atom PDF