ruby-dev (Japanese) list archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-dev:48569] [ruby-trunk - Bug #10276] [Open] nil/true/false に singleton メソッドを定義できてしまう
       [not found] <redmine.issue-10276.20140921093702@ruby-lang.org>
@ 2014-09-21  9:37 ` zn
  2014-09-27  8:34 ` [ruby-dev:48580] [ruby-trunk - Bug #10276] " zn
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 4+ messages in thread
From: zn @ 2014-09-21  9:37 UTC (permalink / raw
  To: ruby-dev

Issue #10276 has been reported by Kazuhiro NISHIYAMA.

----------------------------------------
Bug #10276: nil/true/false に singleton メソッドを定義できてしまう
https://bugs.ruby-lang.org/issues/10276

* Author: Kazuhiro NISHIYAMA
* Status: Open
* Priority: Normal
* Assignee: 
* Category: core
* Target version: current: 2.2.0
* 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 が frozen object なのに singleton メソッドを定義できてしまいます。

~~~
% 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>]
~~~



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ruby-dev:48580] [ruby-trunk - Bug #10276] nil/true/false に singleton メソッドを定義できてしまう
       [not found] <redmine.issue-10276.20140921093702@ruby-lang.org>
  2014-09-21  9:37 ` [ruby-dev:48569] [ruby-trunk - Bug #10276] [Open] nil/true/false に singleton メソッドを定義できてしまう zn
@ 2014-09-27  8:34 ` zn
  2014-10-13  6:43 ` [ruby-dev:48620] [ruby-trunk - Bug #10276] [Feedback] " akr
  2016-11-06  0:46 ` [ruby-dev:49860] [Ruby trunk Bug#10276][Rejected] " akr
  3 siblings, 0 replies; 4+ messages in thread
From: zn @ 2014-09-27  8:34 UTC (permalink / raw
  To: ruby-dev

Issue #10276 has been updated by Kazuhiro NISHIYAMA.


frozen なオブジェクトに特異クラスが作成できるかどうかも統一されていないようですが、そういうものなのでしょうか?

~~~
>> RUBY_DESCRIPTION
=> "ruby 2.2.0dev (2014-09-25 trunk 47711) [x86_64-linux]"
>> class << :sym; end
TypeError: can't define singleton
        from (irb):2
        from /home/kazu/.rbenv/versions/git/bin/irb:11:in `<main>'
>> class << 1; end
TypeError: can't define singleton
        from (irb):3
        from /home/kazu/.rbenv/versions/git/bin/irb:11:in `<main>'
>> class << nil; end
=> nil
>> class << Object.new.freeze; end
=> nil
>>
~~~

----------------------------------------
Bug #10276: nil/true/false に singleton メソッドを定義できてしまう
https://bugs.ruby-lang.org/issues/10276#change-49113

* Author: Kazuhiro NISHIYAMA
* Status: Open
* Priority: Normal
* Assignee: 
* Category: core
* Target version: current: 2.2.0
* 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 が frozen object なのに singleton メソッドを定義できてしまいます。

~~~
% 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>]
~~~



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ruby-dev:48620] [ruby-trunk - Bug #10276] [Feedback] nil/true/false に singleton メソッドを定義できてしまう
       [not found] <redmine.issue-10276.20140921093702@ruby-lang.org>
  2014-09-21  9:37 ` [ruby-dev:48569] [ruby-trunk - Bug #10276] [Open] nil/true/false に singleton メソッドを定義できてしまう zn
  2014-09-27  8:34 ` [ruby-dev:48580] [ruby-trunk - Bug #10276] " zn
@ 2014-10-13  6:43 ` akr
  2016-11-06  0:46 ` [ruby-dev:49860] [Ruby trunk Bug#10276][Rejected] " akr
  3 siblings, 0 replies; 4+ messages in thread
From: akr @ 2014-10-13  6:43 UTC (permalink / raw
  To: ruby-dev

Issue #10276 has been updated by Akira Tanaka.

Status changed from Open to Feedback

開発者会議のときに、奇妙だがそういうものとしようということになった覚えがあります。

----------------------------------------
Bug #10276: nil/true/false に singleton メソッドを定義できてしまう
https://bugs.ruby-lang.org/issues/10276#change-49375

* Author: Kazuhiro NISHIYAMA
* Status: Feedback
* Priority: Normal
* Assignee: 
* Category: core
* Target version: current: 2.2.0
* 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 が frozen object なのに singleton メソッドを定義できてしまいます。

~~~
% 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>]
~~~



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ruby-dev:49860] [Ruby trunk Bug#10276][Rejected] nil/true/false に singleton メソッドを定義できてしまう
       [not found] <redmine.issue-10276.20140921093702@ruby-lang.org>
                   ` (2 preceding siblings ...)
  2014-10-13  6:43 ` [ruby-dev:48620] [ruby-trunk - Bug #10276] [Feedback] " akr
@ 2016-11-06  0:46 ` akr
  3 siblings, 0 replies; 4+ messages in thread
From: akr @ 2016-11-06  0:46 UTC (permalink / raw
  To: ruby-dev

Issue #10276 has been updated by Akira Tanaka.

Status changed from Feedback to Rejected

----------------------------------------
Bug #10276: nil/true/false に singleton メソッドを定義できてしまう
https://bugs.ruby-lang.org/issues/10276#change-61346

* Author: Kazuhiro NISHIYAMA
* Status: Rejected
* Priority: Normal
* Assignee: 
* 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 が frozen object なのに singleton メソッドを定義できてしまいます。

~~~
% 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>]
~~~



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-11-06  0:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <redmine.issue-10276.20140921093702@ruby-lang.org>
2014-09-21  9:37 ` [ruby-dev:48569] [ruby-trunk - Bug #10276] [Open] nil/true/false に singleton メソッドを定義できてしまう zn
2014-09-27  8:34 ` [ruby-dev:48580] [ruby-trunk - Bug #10276] " zn
2014-10-13  6:43 ` [ruby-dev:48620] [ruby-trunk - Bug #10276] [Feedback] " akr
2016-11-06  0:46 ` [ruby-dev:49860] [Ruby trunk Bug#10276][Rejected] " akr

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).