From: Nikolai Weibull Date: 2012-01-09T00:31:05+09:00 Subject: [ruby-core:41989] [ruby-trunk - Bug #5865] Exception#== should return false if the classes differ Issue #5865 has been updated by Nikolai Weibull. I also wrote about this in [ruby-core:41393]. An excerpt: The commit message says that ���duck typing equal to make it transitive���, but I don���t understand what���s meant by ���transitive��� in this case. I don���t think RuntimeError.new('a') should be #== to StandardError.new('a') or vice versa. Intentional or not at the time, this is neither expected nor desired behavior. ---------------------------------------- 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://bugs.ruby-lang.org/