From: nobu@... Date: 2019-04-06T13:44:55+00:00 Subject: [ruby-core:92166] [Ruby trunk Feature#15751] Add FrozenError#receiver Issue #15751 has been updated by nobu (Nobuyoshi Nakada). Description updated Seems reasonable, but shouldn't `FrozenError#initialize` use a keyword argument as well as `NameError#initialize`? ---------------------------------------- Feature #15751: Add FrozenError#receiver https://bugs.ruby-lang.org/issues/15751#change-77493 * 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) -- https://bugs.ruby-lang.org/ Unsubscribe: