Issue #5865 has been updated by Nobuyoshi Nakada.


=begin
It seems intentional.

 ------------------------------------------------------------------------
 r20866 | matz | 2008-12-19 08:42:00 +0900 (Fri, 19 Dec 2008) | 2 lines
 
 * error.c (exc_equal): duck typing equal to make it transitive.
   [ruby-dev:34880]
 ------------------------------------------------------------------------

But the ML ref is apparently wrong.
=end

----------------------------------------
Bug #5865: Exception#== should return false if the classes differ
https://bugs.ruby-lang.org/issues/5865

Author: Hiro Asari
Status: Open
Priority: Low
Assignee: 
Category: 
Target version: 
ruby -v: ruby 2.0.0dev (2011-12-31 trunk 34165) [x86_64-darwin11.2.0] 


Documentation says "If obj is not an Exception, returns false. Otherwise, returns true if exc and obj share same class, messages, and backtrace."

However,

$ ruby2.0 -v -e 'x=RuntimeError.new("msg"); y=ScriptError.new("msg"); p x==y'
ruby 2.0.0dev (2011-12-31 trunk 34165) [x86_64-darwin11.2.0]
true



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