aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/dependency.rb
diff options
context:
space:
mode:
authorJack Nagel2013-06-27 01:18:32 -0500
committerJack Nagel2013-06-27 01:18:45 -0500
commit10949ad75deaca284300f4db0f392d5a6dba77e8 (patch)
tree476698dfc253ca760cc4ac03d3afb5f51934f46e /Library/Homebrew/dependency.rb
parentad291d7f06acefad08453d781b3bbc70edc71238 (diff)
downloadbrew-10949ad75deaca284300f4db0f392d5a6dba77e8.tar.bz2
Fix some #eql? correctness issues
The implementation of #eql? and #hash should ensure that if a.eql?(b), then a.hash == b.hash, but #eql? itself should not *depend* on #hash. For example, given class Thingy def eql? instance_of?(other.class) && hash == other.hash end def hash [name, *tags].hash end end if #hash produces a collision for different values of [name, *tags], two Thingy objects will appear to be eql?, even though this is not the case. Instead, #eql? should depend on the equality of name and tags directly.
Diffstat (limited to 'Library/Homebrew/dependency.rb')
-rw-r--r--Library/Homebrew/dependency.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/Library/Homebrew/dependency.rb b/Library/Homebrew/dependency.rb
index 05318fc9a..407623810 100644
--- a/Library/Homebrew/dependency.rb
+++ b/Library/Homebrew/dependency.rb
@@ -21,7 +21,7 @@ class Dependency
end
def eql?(other)
- instance_of?(other.class) && hash == other.hash
+ instance_of?(other.class) && name == other.name
end
def hash