From: merch-redmine@... Date: 2020-06-19T15:17:19+00:00 Subject: [ruby-core:98889] [Ruby master Feature#16971] weak_ref&.some_method should behave like object&.some_method Issue #16971 has been updated by jeremyevans0 (Jeremy Evans). 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. ---------------------------------------- Feature #16971: weak_ref&.some_method should behave like object&.some_method https://bugs.ruby-lang.org/issues/16971#change-86264 * Author: kwerle (Kurt Werle) * Status: Open * Priority: Normal ---------------------------------------- The following patterns mean basically the same thing and should behave the same: ``` ruby 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. ``` ruby weak_ref = WeakRef.new(some_object) ... weak_ref&.some_method # should not raise WeakRef::RefError ``` -- https://bugs.ruby-lang.org/ Unsubscribe: