Feature #16419
closedFrozenError.new ignores receiver:
Description
Other exception classes with receiver accept recevier as keyword argument of new.
But FrozenError.new accept as positional argument.
I think keyword argument is better consistency.
% git grep 'receiver[:=]' ../error.c
../error.c: * FrozenError.new(msg=nil, receiver=nil) -> name_error
../error.c: * NameError.new(msg=nil, name=nil, receiver: nil) -> name_error
../error.c: * [1, 2, 3].method(:rject) # NameError with name "rject" and receiver: Array
../error.c: * [1, 2, 3].singleton_method(:rject) # NameError with name "rject" and receiver: [1, 2, 3]
../error.c: * NoMethodError.new(msg=nil, name=nil, args=nil, private=false, receiver: nil) -> no_method_error
../error.c: * KeyError.new(message=nil, receiver: nil, key: nil) -> key_error
Updated by znz (Kazuhiro NISHIYAMA) about 5 years ago
- Related to Feature #15751: Add FrozenError#receiver added
Updated by jeremyevans0 (Jeremy Evans) about 5 years ago
Whether to use a positional argument or a keyword argument was discussed in #15751. I don't have a strong feelings either way (one of the patches I added in #15751 supported keyword arguments), and I don't think @Eregon (Benoit Daloze) or @nobu (Nobuyoshi Nakada) had strong feelings either. If you are strongly in favor of switching to a keyword argument, please commit the change. I'll probably not be in a position to commit anything until December 20.
Updated by znz (Kazuhiro NISHIYAMA) about 5 years ago
- Assignee changed from jeremyevans0 (Jeremy Evans) to matz (Yukihiro Matsumoto)
I added this to https://bugs.ruby-lang.org/issues/16393
Updated by nobu (Nobuyoshi Nakada) about 5 years ago
- Status changed from Open to Closed
Applied in changeset git|435a4ca2a38f3be1f5d2db0f71487a52c8285e9c.
Makes the receiver to FrozenError.new a keyword parameter
[Feature #16419]