From: usa@... Date: 2016-09-30T15:54:19+00:00 Subject: [ruby-dev:49828] [Ruby trunk Bug#12738] Array#flattenで特異クラスが引き継がれる Issue #12738 has been updated by Usaku NAKAMURA. Backport changed from 2.1: UNKNOWN, 2.2: REQUIRED, 2.3: DONE to 2.1: UNKNOWN, 2.2: DONE, 2.3: DONE ruby_2_2 r56305 merged revision(s) 56111. ---------------------------------------- Bug #12738: Array#flattenで特異クラスが引き継がれる https://bugs.ruby-lang.org/issues/12738#change-60730 * 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: DONE, 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/