From: nagachika00@... Date: 2016-09-25T07:36:10+00:00 Subject: [ruby-dev:49817] [Ruby trunk Bug#12738] Array#flattenで特異クラスが引き継がれる Issue #12738 has been updated by Tomoyuki Chikanaga. Backport changed from 2.1: UNKNOWN, 2.2: REQUIRED, 2.3: REQUIRED to 2.1: UNKNOWN, 2.2: REQUIRED, 2.3: DONE ruby_2_3 r56233 merged revision(s) 56111. ---------------------------------------- Bug #12738: Array#flattenで特異クラスが引き継がれる https://bugs.ruby-lang.org/issues/12738#change-60641 * Author: Kazuki Tsujimoto * Status: Closed * Priority: Normal * Assignee: * ruby -v: ruby 2.4.0dev (2016-09-08 master 56109) [x86_64-linux] * Backport: 2.1: UNKNOWN, 2.2: REQUIRED, 2.3: DONE ---------------------------------------- Array#flattenで生成されたオブジェクトがflattenのレシーバと特異クラスを共有してしまっています。 ~~~ruby a = [] class << a def m; :m; end end p a.flatten.m #=> :m ~~~ -- https://bugs.ruby-lang.org/