Project

General

Profile

Actions

Bug #2203

closed

Call to a removed method doesn't raise an exception

Added by tmat (Tomas Matousek) over 14 years ago. Updated almost 13 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 1.8.6 (2009-03-31 patchlevel 368) [i386-mingw32]
[ruby-core:26075]

Description

=begin
obj = Object.new

s = class << obj
alias_method :rt, :respond_to?
self
end

p obj.methods(false) # [:rt]
p obj.rt(:bar) # returns false as expected
s.send(:remove_method, :rt) # removes :rt method
p obj.methods(false) # []
obj.rt(:foo) # this should raise an exception but it doesn’t

D:\temp>ruby19 -v a.rb
ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-mswin32]
[:rt]
false
[]

D:\temp>ruby -v a.rb
ruby 1.8.6 (2009-03-31 patchlevel 368) [i386-mingw32]
["rt"]
false
[]
=end


Related issues 3 (0 open3 closed)

Has duplicate Backport186 - Backport #2202: Call to a removed method doesn't raise an exceptionClosedwyhaines (Kirk Haines)10/14/2009Actions
Has duplicate Ruby 1.8 - Bug #2205: Call to a removed method doesn't raise an exceptionClosed10/14/2009Actions
Has duplicate Ruby 1.8 - Bug #2204: Call to a removed method doesn't raise an exceptionClosed10/14/2009Actions
Actions #1

Updated by tmat (Tomas Matousek) over 14 years ago

=begin
Sorry for duplicates of this bug report - the web site sometimes responds only after a few refreshes.

Tomas

-----Original Message-----
From: Tomas Matousek []
Sent: Tuesday, October 13, 2009 5:41 PM
To:
Subject: [ruby-core:26075] [Bug #2203] Call to a removed method doesn't raise an exception

Bug #2203: Call to a removed method doesn't raise an exception
http://redmine.ruby-lang.org/issues/show/2203

Author: Tomas Matousek
Status: Open, Priority: High
ruby -v: ruby 1.8.6 (2009-03-31 patchlevel 368) [i386-mingw32]

obj = Object.new

s = class << obj
alias_method :rt, :respond_to?
self
end

p obj.methods(false) # [:rt]
p obj.rt(:bar) # returns false as expected
s.send(:remove_method, :rt) # removes :rt method
p obj.methods(false) # []
obj.rt(:foo) # this should raise an exception but it doesn’t

D:\temp>ruby19 -v a.rb
ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-mswin32] [:rt] false []

D:\temp>ruby -v a.rb
ruby 1.8.6 (2009-03-31 patchlevel 368) [i386-mingw32] ["rt"] false []


http://redmine.ruby-lang.org

=end

Actions #2

Updated by nobu (Nobuyoshi Nakada) over 14 years ago

  • Status changed from Open to Closed

=begin
This issue was solved with changeset r25359.
Tomas, thank you for your reporting of the issue.
You have greatfully contributed toward Ruby.
May Ruby be with you.

=end

Actions

Also available in: Atom PDF

Like0
Like0Like0