From: merch-redmine@... Date: 2019-04-06T18:04:38+00:00 Subject: [ruby-core:92167] [Ruby trunk Feature#15751] Add FrozenError#receiver Issue #15751 has been updated by jeremyevans0 (Jeremy Evans). File Add-FrozenError-receiver-v2.patch added nobu (Nobuyoshi Nakada) wrote: > Seems reasonable, but shouldn't `FrozenError#initialize` use a keyword argument as well as `NameError#initialize`? `NameError#initialize` uses an additional positional argument for the `name` argument, and I figured that was easier as it is unlikely `FrozenError#initialize` would need to support additional arguments. However, I don't have strong feelings about it, so attached is a patch that switches to using a keyword argument. ---------------------------------------- Feature #15751: Add FrozenError#receiver https://bugs.ruby-lang.org/issues/15751#change-77494 * 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) -- https://bugs.ruby-lang.org/ Unsubscribe: