[#48582] Fwd: [ruby-changes:35635] nobu:r47717 (trunk): ruby.h: deprecate plain Data — SASADA Koichi <ko1@...>
ちょっといきなりこれは無いんじゃ無いでしょうか。
3 messages
2014/09/27
[#48586] Re: [ruby-cvs:54890] nobu:r47742 (trunk): common.mk: update only non-existing files — "Martin J. Dürst" <duerst@...>
gitweb が Last-Modified を送信しないのはちょっと残念です。誰に報告すれば
4 messages
2014/09/30
[#48589] Re: [ruby-cvs:54890] nobu:r47742 (trunk): common.mk: update only non-existing files
— Nobuyoshi Nakada <nobu@...>
2014/10/01
On 2014/09/30 15:18, "Martin J. Dürst" wrote:
[ruby-dev:48580] [ruby-trunk - Bug #10276] nil/true/false に singleton メソッドを定義できてしまう
From:
zn@...
Date:
2014-09-27 08:34:48 UTC
List:
ruby-dev #48580
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/