Project

General

Profile

Actions

Feature #16971

open

weak_ref&.some_method should behave like object&.some_method

Added by kwerle (Kurt Werle) over 3 years ago. Updated over 3 years ago.

Status:
Open
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) over 3 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.

Actions

Also available in: Atom PDF

Like0
Like0