From: "fahmisetiawan (Fahmi Setiawan)" Date: 2012-10-01T20:23:15+09:00 Subject: [ruby-core:47771] [ruby-trunk - Feature #1586] Including a module already present in ancestors should not be ignored Issue #1586 has been updated by fahmisetiawan (Fahmi Setiawan). http://alkian.blogspot.com/2012/09/cara-menyembuhkan-asam-urat-dan-kolestrol-secara-alami.html http://alkian.blogspot.com/2012/09/keretamini-keretamall-komediputar-ya-keretaminikucom.html http://alkian.blogspot.com/2012/09/harga-spesifikasi-samsung-galaxy-y-duos-terbaru.html http://alkian.blogspot.com/2012/09/download-one-piece-grand-battle-2.html http://alkian.blogspot.com/2012/09/harga-dan-spesifikasi-toyota-agya.html http://alkian.blogspot.com/2012/09/harga-dan-spesifikasi-daihatsu-ayla.html http://alkian.blogspot.com/2012/09/download-harvestmoon-backtonature-bahasa-indonesia.html http://alkian.blogspot.com/2012/09/download-gratis-game-onet-untuk-windows.html http://alkian.blogspot.com/2012/09/cara-download-dengan-jumbofiles.html http://alkian.blogspot.com/2012/09/cara-mengganti-bahasa-indonesia-di-blackbery.html http://alkian.blogspot.com/2012/09/free-download-windows-xp-sp3-black-edition-terbaru-full-version-2012.html http://alkian.blogspot.com/2012/09/free-download-kamus-bahasa-arab.html http://alkian.blogspot.com/2012/09/free-download-corel-draw-x5-portable.html http://alkian.blogspot.com/2012/09/cara-membuat-related-post-artikel-terkait.html http://alkian.blogspot.com/2012/09/daftar-harga-lengkap-hp-mito-terbaru.html http://alkian.blogspot.com/2012/09/download-theme-tron-legacy-for-windows-7.html http://alkian.blogspot.com/2012/09/download-alquran-digital-3d-untuk-pc-komputer.html http://alkian.blogspot.com/2012/09/kumpulan-kata-kata-renungan-terbaik-2012.html http://alkian.blogspot.com/2012/09/kumpulan-website-sosbuk-social-bookmarking.html http://alkian.blogspot.com/2012/09/template-seo-friendly-simple-blue.html http://alkian.blogspot.com/2012/09/harga-hp-nokia-september-2012-terbaru.html http://alkian.blogspot.com/2012/09/foto-ariel-noah-terbaru.html http://alkian.blogspot.com/2012/09/download-serial-number-windows-seven.html http://alkian.blogspot.com/2012/09/biodata-foto-iqbaal-dhiafakhri-ramadhan.html http://alkian.blogspot.com/2012/09/harga-dan-spesifikasi-samsung-galaxy-camera.html http://alkian.blogspot.com/2012/09/biodata-akb48-lengkap-dengan-foto.html http://alkian.blogspot.com/2012/08/arti-dan-makna-kata-noah.html ---------------------------------------- Feature #1586: Including a module already present in ancestors should not be ignored https://bugs.ruby-lang.org/issues/1586#change-29896 Author: bitsweat (Jeremy Kemper) Status: Assigned Priority: Normal Assignee: ko1 (Koichi Sasada) Category: core Target version: 2.0.0 =begin The scenario: * I include Foo in Numeric to provide #bar * Some other library includes a module in Float to provide #bar * So I include Foo in Float to use my #bar * But including Foo in Float is ignored since it's already in the ancestor chain I think it should be added to the ancestor chain, even if it's already present, since I may want to override some other method earlier in the ancestor chain. # Including a module already included in a superclass is ignored >> module Foo; end => nil >> class Numeric; include Foo; end => Numeric >> Float.ancestors => [Float, Precision, Numeric, Foo, Comparable, Object, Kernel] >> class Float; include Foo; end => Float >> Float.ancestors => [Float, Precision, Numeric, Foo, Comparable, Object, Kernel] # Reversing the order of inclusion works as expected >> module Foo; end => nil >> class Float; include Foo; end => Float >> Float.ancestors => [Float, Foo, Precision, Numeric, Comparable, Object, Kernel] >> class Numeric; include Foo; end => Numeric >> Float.ancestors => [Float, Foo, Precision, Numeric, Foo, Comparable, Object, Kernel] # And so does including a dupe of the existing module in the subclass >> module Foo; end => nil >> class Numeric; include Foo; end => Numeric >> Float.ancestors => [Float, Precision, Numeric, Foo, Comparable, Object, Kernel] >> class Float; include Foo.dup; end => Float >> Float.ancestors => [Float, #, Precision, Numeric, Foo, Comparable, Object, Kernel] =end -- http://bugs.ruby-lang.org/