[#44036] [ruby-trunk - Feature #6242][Open] Ruby should support lists — "shugo (Shugo Maeda)" <redmine@...>

20 messages 2012/04/01

[#44084] [ruby-trunk - Bug #6246][Open] 1.9.3-p125 intermittent segfault — "jshow (Jodi Showers)" <jodi@...>

22 messages 2012/04/02

[#44156] [ruby-trunk - Feature #6265][Open] Remove 'useless' 'concatenation' syntax — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>

45 messages 2012/04/06

[#44163] [ruby-trunk - Bug #6266][Open] encoding related exception with recent integrated psych — "jonforums (Jon Forums)" <redmine@...>

10 messages 2012/04/06

[#44303] [ruby-trunk - Feature #6284][Open] Add composition for procs — "pabloh (Pablo Herrero)" <pablodherrero@...>

57 messages 2012/04/12

[#44349] [ruby-trunk - Feature #6293][Open] new queue / blocking queues — "tenderlovemaking (Aaron Patterson)" <aaron@...>

10 messages 2012/04/13

[#44402] [ruby-trunk - Feature #6308][Open] Eliminate delegation from WeakRef — "headius (Charles Nutter)" <headius@...>

20 messages 2012/04/17

[#44403] [ruby-trunk - Feature #6309][Open] Add a reference queue for weak references — "headius (Charles Nutter)" <headius@...>

15 messages 2012/04/17

[#44533] [ruby-trunk - Bug #6341][Open] SIGSEGV: Thread.new { fork { GC.start } }.join — "rudolf (r stu3)" <redmine@...>

24 messages 2012/04/22

[#44630] [ruby-trunk - Feature #6361][Open] Bitwise string operations — "MartinBosslet (Martin Bosslet)" <Martin.Bosslet@...>

31 messages 2012/04/26

[#44648] [ruby-trunk - Feature #6367][Open] #same? for Enumerable — "prijutme4ty (Ilya Vorontsov)" <prijutme4ty@...>

16 messages 2012/04/26

[#44704] [ruby-trunk - Feature #6373][Open] public #self — "trans (Thomas Sawyer)" <transfire@...>

61 messages 2012/04/27

[#44748] [ruby-trunk - Feature #6376][Open] Feature lookup and checking if feature is loaded — "trans (Thomas Sawyer)" <transfire@...>

13 messages 2012/04/28

[ruby-core:44260] [ruby-trunk - Bug #4307][Rejected] include fails after undef_method

From: "matz (Yukihiro Matsumoto)" <matz@...>
Date: 2012-04-10 09:47:13 UTC
List: ruby-core #44260
Issue #4307 has been updated by matz (Yukihiro Matsumoto).

Status changed from Assigned to Rejected

lsegal's comment is right.  undef_methods defies the definition of upper classes, include mixed modules.
So, this is expected behavior.

Matz.

----------------------------------------
Bug #4307: include fails after undef_method
https://bugs.ruby-lang.org/issues/4307#change-25796

Author: adrianomitre (Adriano Mitre)
Status: Rejected
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: 1.9.2
ruby -v: ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-linux]


=begin
 After using #undef_method on a method "inherited" from a mixin, reincluding the mixin should redefine it, but that is not what happens.
 
 Please take a look at this short IRB transcript (source attached):
 
 >> module Foo; def foo; 42; end; end
 => nil
 >> Array.class_eval { include Foo }
 => Array
 >> [1].foo
 => 42
 >> Array.class_eval { Foo.instance_methods.each {|m| self.class_eval { undef_method m } } }
 => [:foo]
 >> [1].foo
 NoMethodError: undefined method `foo' for [1]:Array
 	from (irb):5
 	from /home/adriano/.rvm/rubies/ruby-1.9.2-p136/bin/irb:16:in `<main>'
 >> Array.class_eval { include Foo }
 => Array
 >> [1].foo
 NoMethodError: undefined method `foo' for [1]:Array
 	from (irb):7
 	from /home/adriano/.rvm/rubies/ruby-1.9.2-p136/bin/irb:16:in `<main>'
 
 The last command should just return 42, instead of raising a NoMethodError exception.
 
 Note that this also applies to the following Ruby implementations:
   * ruby 1.8.7 (2010-12-23 patchlevel 330) [x86_64-linux]
   * rbx-1.2.0-20101221 [ ]
   * jruby-1.5.6 [ amd64-java 
 
 Thus, it may be a language specification gap, not just an implementation bug.
=end



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

In This Thread

Prev Next