From: eregontp@... Date: 2019-04-07T17:07:49+00:00 Subject: [ruby-core:92180] [Ruby trunk Feature#15751] Add FrozenError#receiver Issue #15751 has been updated by Eregon (Benoit Daloze). The patch looks good to me. I will let @nobu commit it. A nice extra would be specs in `spec/ruby/core/exception/frozen_error_spec.rb` (similar to `spec/ruby/core/exception/name_error_spec.rb`) but this is not a requirement. ---------------------------------------- Feature #15751: Add FrozenError#receiver https://bugs.ruby-lang.org/issues/15751#change-77509 * Author: jeremyevans0 (Jeremy Evans) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- Similar to `NameError#receiver`, this returns the object on which the modification was attempted. This is useful as it can pinpoint exactly what is frozen, as in many cases when a `FrozenError` is raised, you cannot determine from the context which object is frozen that you expect not to be. I'm not sure that using name_err_receiver as the C function for `FrozenError#receiver` is acceptable, but it doesn't appear to cause problems. Users of the current `rb_error_frozen` C function will have to switch to using `rb_error_frozen_object` or the new `rb_raise_frozen_error` in order to set the receiver of the `FrozenError`. Patch to implement this feature is attached. ---Files-------------------------------- Add-FrozenError-receiver.patch (6.48 KB) Add-FrozenError-receiver-v2.patch (6.66 KB) Add-FrozenError-receiver-v3.patch (6.49 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: