[ruby-dev:49860] [Ruby trunk Bug#10276][Rejected] nil/true/false に singleton メソッドを定義できてしまう
From:
akr@...
Date:
2016-11-06 00:46:26 UTC
List:
ruby-dev #49860
Issue #10276 has been updated by Akira Tanaka. Status changed from Feedback to Rejected ---------------------------------------- Bug #10276: nil/true/false =E3=81=AB singleton =E3=83=A1=E3=82=BD=E3=83=83= =E3=83=89=E3=82=92=E5=AE=9A=E7=BE=A9=E3=81=A7=E3=81=8D=E3=81=A6=E3=81=97=E3= =81=BE=E3=81=86 https://bugs.ruby-lang.org/issues/10276#change-61346 * Author: Kazuhiro NISHIYAMA * Status: Rejected * Priority: Normal * Assignee:=20 * ruby -v: ruby 2.2.0dev (2014-09-21 trunk 47672) [x86_64-linux] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- nil/true/false =E3=81=8C frozen object =E3=81=AA=E3=81=AE=E3=81=AB singleto= n =E3=83=A1=E3=82=BD=E3=83=83=E3=83=89=E3=82=92=E5=AE=9A=E7=BE=A9=E3=81=A7= =E3=81=8D=E3=81=A6=E3=81=97=E3=81=BE=E3=81=84=E3=81=BE=E3=81=99=E3=80=82 ~~~ % cat /tmp/f.rb def d(o) p o.frozen? def o.m; end rescue p [o, $!] end d(:sym) d(1) d(nil) d(true) d(false) d(Object.new.freeze) % ruby -v /tmp/f.rb ruby 2.2.0dev (2014-09-21 trunk 47672) [x86_64-linux] true [:sym, #<TypeError: can't define singleton>] true [1, #<TypeError: can't define singleton>] true true true true [#<Object:0x00000002706730>, #<RuntimeError: can't modify frozen object>] ~~~ --=20 https://bugs.ruby-lang.org/