ruby-dev (Japanese) list archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-dev:46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている
@ 2012-11-07  8:05 hsbt (Hiroshi SHIBATA)
  2012-11-07  9:02 ` [ruby-dev:46441] [ruby-trunk - Bug #7300] " knu (Akinori MUSHA)
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: hsbt (Hiroshi SHIBATA) @ 2012-11-07  8:05 UTC (permalink / raw)
  To: ruby developers list


Issue #7300 has been reported by hsbt (Hiroshi SHIBATA).

----------------------------------------
Bug #7300: Hash#[] の挙動が 1.9.3 と異なっている
https://bugs.ruby-lang.org/issues/7300

Author: hsbt (Hiroshi SHIBATA)
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-11-07) [x86_64-darwin12.2.0]


Hash[[nil]] を実行すると 1.9.3 では {} となるものが 2.0.0 では ArgumentError となります。

なかださんに相談してみたら、2.0.0 の動きが不正なものをチェックしてて正しい挙動と
いうことを教えてもらいましたが、2.0.0 では dupricate の警告だけにして、
次のリリースで消すという方が良さそうに思います。


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

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

* [ruby-dev:46441] [ruby-trunk - Bug #7300] Hash#[] の挙動が 1.9.3 と異なっている
  2012-11-07  8:05 [ruby-dev:46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている hsbt (Hiroshi SHIBATA)
@ 2012-11-07  9:02 ` knu (Akinori MUSHA)
  2012-11-07  9:04 ` [ruby-dev:46442] " knu (Akinori MUSHA)
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: knu (Akinori MUSHA) @ 2012-11-07  9:02 UTC (permalink / raw)
  To: ruby developers list


Issue #7300 has been updated by knu (Akinori MUSHA).


これ、元のコードは何でしょうか。
もし文字通りnilなんて埋めてあったらコーディングミスなので、警告を出すくらいなら例外を出して直させるべきだと思います。

問題は、
Hash[enum.map {|x| x > 0 ? [x, x*x] : nil }]
のように動的にハッシュを作るときに意図的にnil(あるいは配列化できない任意の値)を使ってペアの生成をスキップする場合でしょうか。
これにしてもそんな仕様は最初から示されていないので、これを機に直してもらうのがいい気がします。「Hash[」で検索可能だし。

Hash[enum.map {|x| x > 0 ? [x, x*x] : nil }.compat] # minimum change
Hash[enum.flat_map {|x| x > 0 ? [x, x*x] : [] }] # 1.9+ only
{}.tap { |h| enum.each {|x| x > 0 and h[x] = x*x } }

----------------------------------------
Bug #7300: Hash#[] の挙動が 1.9.3 と異なっている
https://bugs.ruby-lang.org/issues/7300#change-32547

Author: hsbt (Hiroshi SHIBATA)
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-11-07) [x86_64-darwin12.2.0]


Hash[[nil]] を実行すると 1.9.3 では {} となるものが 2.0.0 では ArgumentError となります。

なかださんに相談してみたら、2.0.0 の動きが不正なものをチェックしてて正しい挙動と
いうことを教えてもらいましたが、2.0.0 では dupricate の警告だけにして、
次のリリースで消すという方が良さそうに思います。


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

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

* [ruby-dev:46442] [ruby-trunk - Bug #7300] Hash#[] の挙動が 1.9.3 と異なっている
  2012-11-07  8:05 [ruby-dev:46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている hsbt (Hiroshi SHIBATA)
  2012-11-07  9:02 ` [ruby-dev:46441] [ruby-trunk - Bug #7300] " knu (Akinori MUSHA)
@ 2012-11-07  9:04 ` knu (Akinori MUSHA)
  2012-11-07 13:51 ` [ruby-dev:46446] " hsbt (Hiroshi SHIBATA)
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: knu (Akinori MUSHA) @ 2012-11-07  9:04 UTC (permalink / raw)
  To: ruby developers list


Issue #7300 has been updated by knu (Akinori MUSHA).


なんかいろいろ微妙にミスった。

Hash[enum.map {|x| x > 0 ? [x, x*x] : nil }.compact] # minimum change
Hash[*enum.flat_map {|x| x > 0 ? [x, x*x] : [] }] # 1.9+ only
{}.tap { |h| enum.each {|x| x > 0 and h[x] = x*x } }

です。
----------------------------------------
Bug #7300: Hash#[] の挙動が 1.9.3 と異なっている
https://bugs.ruby-lang.org/issues/7300#change-32548

Author: hsbt (Hiroshi SHIBATA)
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-11-07) [x86_64-darwin12.2.0]


Hash[[nil]] を実行すると 1.9.3 では {} となるものが 2.0.0 では ArgumentError となります。

なかださんに相談してみたら、2.0.0 の動きが不正なものをチェックしてて正しい挙動と
いうことを教えてもらいましたが、2.0.0 では dupricate の警告だけにして、
次のリリースで消すという方が良さそうに思います。


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

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

* [ruby-dev:46446] [ruby-trunk - Bug #7300] Hash#[] の挙動が 1.9.3 と異なっている
  2012-11-07  8:05 [ruby-dev:46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている hsbt (Hiroshi SHIBATA)
  2012-11-07  9:02 ` [ruby-dev:46441] [ruby-trunk - Bug #7300] " knu (Akinori MUSHA)
  2012-11-07  9:04 ` [ruby-dev:46442] " knu (Akinori MUSHA)
@ 2012-11-07 13:51 ` hsbt (Hiroshi SHIBATA)
  2012-11-07 14:09 ` [ruby-dev:46447] [ruby-trunk - Bug #7300][Assigned] " mame (Yusuke Endoh)
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: hsbt (Hiroshi SHIBATA) @ 2012-11-07 13:51 UTC (permalink / raw)
  To: ruby developers list


Issue #7300 has been updated by hsbt (Hiroshi SHIBATA).


元のコードは以下の行になります。

https://github.com/apotonick/cells/blob/master/lib/cell/test_case.rb#L78

テストケースによっては Hash[[nil, nil, nil,...]] というような状態になるようです。
ライブラリ本体を直すべきであるということであれば、異論はありませんのでそのように動くつもりです。
----------------------------------------
Bug #7300: Hash#[] の挙動が 1.9.3 と異なっている
https://bugs.ruby-lang.org/issues/7300#change-32561

Author: hsbt (Hiroshi SHIBATA)
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-11-07) [x86_64-darwin12.2.0]


Hash[[nil]] を実行すると 1.9.3 では {} となるものが 2.0.0 では ArgumentError となります。

なかださんに相談してみたら、2.0.0 の動きが不正なものをチェックしてて正しい挙動と
いうことを教えてもらいましたが、2.0.0 では dupricate の警告だけにして、
次のリリースで消すという方が良さそうに思います。


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

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

* [ruby-dev:46447] [ruby-trunk - Bug #7300][Assigned] Hash#[] の挙動が 1.9.3 と異なっている
  2012-11-07  8:05 [ruby-dev:46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている hsbt (Hiroshi SHIBATA)
                   ` (2 preceding siblings ...)
  2012-11-07 13:51 ` [ruby-dev:46446] " hsbt (Hiroshi SHIBATA)
@ 2012-11-07 14:09 ` mame (Yusuke Endoh)
  2012-11-07 21:45 ` [ruby-dev:46449] [ruby-trunk - Bug #7300] " hsbt (Hiroshi SHIBATA)
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: mame (Yusuke Endoh) @ 2012-11-07 14:09 UTC (permalink / raw)
  To: ruby developers list


Issue #7300 has been updated by mame (Yusuke Endoh).

Status changed from Open to Assigned
Assignee set to nobu (Nobuyoshi Nakada)

柴田さん、またまたありがとうございます。

hsbt (Hiroshi SHIBATA) wrote:
> 元のコードは以下の行になります。

compact 足してよ、という感じで微妙なところですが、今回は警告に一票投じます (コードがすごく汚くなるとかでなければ) 。なかださん再検討お願いします。


余談ですが、「特に実用上困ったわけじゃないけど気がついた非互換 (RubySpec みたいな)」の報告もありがたいですが、「実コードに影響があった非互換」は心理的な優先度がだいぶ上がるので、その旨書いてもらえるととても嬉しいです。

-- 
Yusuke Endoh <mame@tsg•ne.jp>
----------------------------------------
Bug #7300: Hash#[] の挙動が 1.9.3 と異なっている
https://bugs.ruby-lang.org/issues/7300#change-32563

Author: hsbt (Hiroshi SHIBATA)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-11-07) [x86_64-darwin12.2.0]


Hash[[nil]] を実行すると 1.9.3 では {} となるものが 2.0.0 では ArgumentError となります。

なかださんに相談してみたら、2.0.0 の動きが不正なものをチェックしてて正しい挙動と
いうことを教えてもらいましたが、2.0.0 では dupricate の警告だけにして、
次のリリースで消すという方が良さそうに思います。


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

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

* [ruby-dev:46449] [ruby-trunk - Bug #7300] Hash#[] の挙動が 1.9.3 と異なっている
  2012-11-07  8:05 [ruby-dev:46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている hsbt (Hiroshi SHIBATA)
                   ` (3 preceding siblings ...)
  2012-11-07 14:09 ` [ruby-dev:46447] [ruby-trunk - Bug #7300][Assigned] " mame (Yusuke Endoh)
@ 2012-11-07 21:45 ` hsbt (Hiroshi SHIBATA)
  2012-11-09 14:36 ` [ruby-dev:46464] " nobu (Nobuyoshi Nakada)
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: hsbt (Hiroshi SHIBATA) @ 2012-11-07 21:45 UTC (permalink / raw)
  To: ruby developers list


Issue #7300 has been updated by hsbt (Hiroshi SHIBATA).


遠藤さん、了解です。

2.0.0 互換報告は手元の Rails アプリケーションでチェックした結果なので、ほとんどが実運用に影響のある問題です。
今後はそのことを詳しく書くことにします。


----------------------------------------
Bug #7300: Hash#[] の挙動が 1.9.3 と異なっている
https://bugs.ruby-lang.org/issues/7300#change-32598

Author: hsbt (Hiroshi SHIBATA)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-11-07) [x86_64-darwin12.2.0]


Hash[[nil]] を実行すると 1.9.3 では {} となるものが 2.0.0 では ArgumentError となります。

なかださんに相談してみたら、2.0.0 の動きが不正なものをチェックしてて正しい挙動と
いうことを教えてもらいましたが、2.0.0 では dupricate の警告だけにして、
次のリリースで消すという方が良さそうに思います。


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

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

* [ruby-dev:46464] [ruby-trunk - Bug #7300] Hash#[] の挙動が 1.9.3 と異なっている
  2012-11-07  8:05 [ruby-dev:46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている hsbt (Hiroshi SHIBATA)
                   ` (4 preceding siblings ...)
  2012-11-07 21:45 ` [ruby-dev:46449] [ruby-trunk - Bug #7300] " hsbt (Hiroshi SHIBATA)
@ 2012-11-09 14:36 ` nobu (Nobuyoshi Nakada)
  2012-11-09 14:45 ` [ruby-dev:46465] " nobu (Nobuyoshi Nakada)
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: nobu (Nobuyoshi Nakada) @ 2012-11-09 14:36 UTC (permalink / raw)
  To: ruby developers list


Issue #7300 has been updated by nobu (Nobuyoshi Nakada).

Description updated


----------------------------------------
Bug #7300: Hash#[] の挙動が 1.9.3 と異なっている
https://bugs.ruby-lang.org/issues/7300#change-32716

Author: hsbt (Hiroshi SHIBATA)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-11-07) [x86_64-darwin12.2.0]


Hash[[nil]] を実行すると 1.9.3 では {} となるものが 2.0.0 では ArgumentError となります。

なかださんに相談してみたら、2.0.0 の動きが不正なものをチェックしてて正しい挙動と
いうことを教えてもらいましたが、2.0.0 では duplicate の警告だけにして、
次のリリースで消すという方が良さそうに思います。


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

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

* [ruby-dev:46465] [ruby-trunk - Bug #7300] Hash#[] の挙動が 1.9.3 と異なっている
  2012-11-07  8:05 [ruby-dev:46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている hsbt (Hiroshi SHIBATA)
                   ` (5 preceding siblings ...)
  2012-11-09 14:36 ` [ruby-dev:46464] " nobu (Nobuyoshi Nakada)
@ 2012-11-09 14:45 ` nobu (Nobuyoshi Nakada)
  2012-11-09 22:43 ` [ruby-dev:46470] " hsbt (Hiroshi SHIBATA)
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: nobu (Nobuyoshi Nakada) @ 2012-11-09 14:45 UTC (permalink / raw)
  To: ruby developers list


Issue #7300 has been updated by nobu (Nobuyoshi Nakada).


全面的に無視するのはなんとなく気がすすまないんですが、nilだけ警告にするというのはどうでしょうか。
----------------------------------------
Bug #7300: Hash#[] の挙動が 1.9.3 と異なっている
https://bugs.ruby-lang.org/issues/7300#change-32717

Author: hsbt (Hiroshi SHIBATA)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-11-07) [x86_64-darwin12.2.0]


Hash[[nil]] を実行すると 1.9.3 では {} となるものが 2.0.0 では ArgumentError となります。

なかださんに相談してみたら、2.0.0 の動きが不正なものをチェックしてて正しい挙動と
いうことを教えてもらいましたが、2.0.0 では duplicate の警告だけにして、
次のリリースで消すという方が良さそうに思います。


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

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

* [ruby-dev:46470] [ruby-trunk - Bug #7300] Hash#[] の挙動が 1.9.3 と異なっている
  2012-11-07  8:05 [ruby-dev:46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている hsbt (Hiroshi SHIBATA)
                   ` (6 preceding siblings ...)
  2012-11-09 14:45 ` [ruby-dev:46465] " nobu (Nobuyoshi Nakada)
@ 2012-11-09 22:43 ` hsbt (Hiroshi SHIBATA)
  2018-12-26  8:07 ` [ruby-dev:50731] [Ruby trunk Bug#7300][Open] " mame
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: hsbt (Hiroshi SHIBATA) @ 2012-11-09 22:43 UTC (permalink / raw)
  To: ruby developers list


Issue #7300 has been updated by hsbt (Hiroshi SHIBATA).


redis-rb という ruby から redis を扱うライブラリにも同じコードがありました。

https://github.com/redis/redis-rb/blob/master/lib/redis.rb#L182

redis-rb では [nil, ["redis_version", "2.6.4"], ...] というような配列を Hash[] に渡して初期化しようとして落ちています。
配列が nil だけの時の [nil, nil, ...] に加えて [nil, ["valid", "valid"], ...] みたいな一部だけ nil というような配列の時でも警告をして通すような変更だと助かります。
----------------------------------------
Bug #7300: Hash#[] の挙動が 1.9.3 と異なっている
https://bugs.ruby-lang.org/issues/7300#change-32725

Author: hsbt (Hiroshi SHIBATA)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-11-07) [x86_64-darwin12.2.0]


Hash[[nil]] を実行すると 1.9.3 では {} となるものが 2.0.0 では ArgumentError となります。

なかださんに相談してみたら、2.0.0 の動きが不正なものをチェックしてて正しい挙動と
いうことを教えてもらいましたが、2.0.0 では duplicate の警告だけにして、
次のリリースで消すという方が良さそうに思います。


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

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

* [ruby-dev:50731] [Ruby trunk Bug#7300][Open] Hash#[] の挙動が 1.9.3 と異なっている
  2012-11-07  8:05 [ruby-dev:46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている hsbt (Hiroshi SHIBATA)
                   ` (7 preceding siblings ...)
  2012-11-09 22:43 ` [ruby-dev:46470] " hsbt (Hiroshi SHIBATA)
@ 2018-12-26  8:07 ` mame
  2019-03-20  1:30 ` [ruby-dev:50783] [Ruby trunk Bug#7300] " hsbt
  2019-05-22  7:10 ` [ruby-dev:50788] " nobu
  10 siblings, 0 replies; 12+ messages in thread
From: mame @ 2018-12-26  8:07 UTC (permalink / raw)
  To: ruby-dev

Issue #7300 has been updated by mame (Yusuke Endoh).

File remove-hash-constructor-compatibility.patch added
Status changed from Closed to Open
Target version changed from 2.0.0 to 2.7

1.9 との互換性のために `Hash[[nil]]` を許す件、2.0.0 のころから警告し続けているので、さすがにもう消しても大丈夫な気がします。

```
$ ruby -ve 'Hash[[nil]]'
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux]
-e:1: warning: wrong element type nil at 0 (expected array)
-e:1: warning: ignoring wrong elements is deprecated, remove them explicitly
-e:1: warning: this causes ArgumentError in the next release
```

次の 2.7 で消しませんか?パッチを付けておきます。

----------------------------------------
Bug #7300: Hash#[] の挙動が 1.9.3 と異なっている
https://bugs.ruby-lang.org/issues/7300#change-75905

* Author: hsbt (Hiroshi SHIBATA)
* Status: Open
* Priority: Normal
* Assignee: nobu (Nobuyoshi Nakada)
* Target version: 2.7
* ruby -v: ruby 2.0.0dev (2012-11-07) [x86_64-darwin12.2.0]
* Backport: 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
Hash[[nil]] を実行すると 1.9.3 では {} となるものが 2.0.0 では ArgumentError となります。

なかださんに相談してみたら、2.0.0 の動きが不正なものをチェックしてて正しい挙動と
いうことを教えてもらいましたが、2.0.0 では duplicate の警告だけにして、
次のリリースで消すという方が良さそうに思います。

---Files--------------------------------
remove-hash-constructor-compatibility.patch (2.32 KB)


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

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

* [ruby-dev:50783] [Ruby trunk Bug#7300] Hash#[] の挙動が 1.9.3 と異なっている
  2012-11-07  8:05 [ruby-dev:46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている hsbt (Hiroshi SHIBATA)
                   ` (8 preceding siblings ...)
  2018-12-26  8:07 ` [ruby-dev:50731] [Ruby trunk Bug#7300][Open] " mame
@ 2019-03-20  1:30 ` hsbt
  2019-05-22  7:10 ` [ruby-dev:50788] " nobu
  10 siblings, 0 replies; 12+ messages in thread
From: hsbt @ 2019-03-20  1:30 UTC (permalink / raw)
  To: ruby-dev

Issue #7300 has been updated by hsbt (Hiroshi SHIBATA).


僕が決められるのかわかりませんが、5年以上経っているので消していいと思います。

----------------------------------------
Bug #7300: Hash#[] の挙動が 1.9.3 と異なっている
https://bugs.ruby-lang.org/issues/7300#change-77208

* Author: hsbt (Hiroshi SHIBATA)
* Status: Open
* Priority: Normal
* Assignee: nobu (Nobuyoshi Nakada)
* Target version: 2.7
* ruby -v: ruby 2.0.0dev (2012-11-07) [x86_64-darwin12.2.0]
* Backport: 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
Hash[[nil]] を実行すると 1.9.3 では {} となるものが 2.0.0 では ArgumentError となります。

なかださんに相談してみたら、2.0.0 の動きが不正なものをチェックしてて正しい挙動と
いうことを教えてもらいましたが、2.0.0 では duplicate の警告だけにして、
次のリリースで消すという方が良さそうに思います。

---Files--------------------------------
remove-hash-constructor-compatibility.patch (2.32 KB)


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

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

* [ruby-dev:50788] [Ruby trunk Bug#7300] Hash#[] の挙動が 1.9.3 と異なっている
  2012-11-07  8:05 [ruby-dev:46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている hsbt (Hiroshi SHIBATA)
                   ` (9 preceding siblings ...)
  2019-03-20  1:30 ` [ruby-dev:50783] [Ruby trunk Bug#7300] " hsbt
@ 2019-05-22  7:10 ` nobu
  10 siblings, 0 replies; 12+ messages in thread
From: nobu @ 2019-05-22  7:10 UTC (permalink / raw)
  To: ruby-dev

Issue #7300 has been updated by nobu (Nobuyoshi Nakada).

Assignee changed from nobu (Nobuyoshi Nakada) to mame (Yusuke Endoh)

----------------------------------------
Bug #7300: Hash#[] の挙動が 1.9.3 と異なっている
https://bugs.ruby-lang.org/issues/7300#change-78132

* Author: hsbt (Hiroshi SHIBATA)
* Status: Assigned
* Priority: Normal
* Assignee: mame (Yusuke Endoh)
* Target version: 2.7
* ruby -v: ruby 2.0.0dev (2012-11-07) [x86_64-darwin12.2.0]
* Backport: 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
`Hash[[nil]]` を実行すると 1.9.3 では `{}` となるものが 2.0.0 では `ArgumentError` となります。

なかださんに相談してみたら、2.0.0 の動きが不正なものをチェックしてて正しい挙動と
いうことを教えてもらいましたが、2.0.0 では duplicate の警告だけにして、
次のリリースで消すという方が良さそうに思います。

---Files--------------------------------
remove-hash-constructor-compatibility.patch (2.32 KB)


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

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

end of thread, other threads:[~2019-05-22  7:11 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-07  8:05 [ruby-dev:46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている hsbt (Hiroshi SHIBATA)
2012-11-07  9:02 ` [ruby-dev:46441] [ruby-trunk - Bug #7300] " knu (Akinori MUSHA)
2012-11-07  9:04 ` [ruby-dev:46442] " knu (Akinori MUSHA)
2012-11-07 13:51 ` [ruby-dev:46446] " hsbt (Hiroshi SHIBATA)
2012-11-07 14:09 ` [ruby-dev:46447] [ruby-trunk - Bug #7300][Assigned] " mame (Yusuke Endoh)
2012-11-07 21:45 ` [ruby-dev:46449] [ruby-trunk - Bug #7300] " hsbt (Hiroshi SHIBATA)
2012-11-09 14:36 ` [ruby-dev:46464] " nobu (Nobuyoshi Nakada)
2012-11-09 14:45 ` [ruby-dev:46465] " nobu (Nobuyoshi Nakada)
2012-11-09 22:43 ` [ruby-dev:46470] " hsbt (Hiroshi SHIBATA)
2018-12-26  8:07 ` [ruby-dev:50731] [Ruby trunk Bug#7300][Open] " mame
2019-03-20  1:30 ` [ruby-dev:50783] [Ruby trunk Bug#7300] " hsbt
2019-05-22  7:10 ` [ruby-dev:50788] " nobu

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).