Skip to content

Commit

Permalink
* object.c (rb_obj_hash): Added note that the hash value is not
Browse files Browse the repository at this point in the history
  deterministic on Marc-Andre's suggestion.  Expanded description of
  the purpose of the hash method.  [Bug ruby#6068]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
drbrain committed Feb 23, 2012
1 parent f51ad04 commit 9802ce8
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 8 deletions.
6 changes: 6 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Fri Feb 24 06:21:15 2012 Eric Hodel <[email protected]>

* object.c (rb_obj_hash): Added note that the hash value is not
deterministic on Marc-Andre's suggestion. Expanded description of
the purpose of the hash method. [Bug #6068]

Thu Feb 23 23:01:21 2012 Tanaka Akira <[email protected]>

* ext/dbm/extconf.rb: unused macro removed.
Expand Down
19 changes: 11 additions & 8 deletions object.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,14 +101,17 @@ rb_obj_equal(VALUE obj1, VALUE obj2)
}

/*
* Generates a <code>Fixnum</code> hash value for this object.
* This function must have the property that a.eql?(b) implies
* a.hash <code>==</code> b.hash.
* The hash value is used by class <code>Hash</code>.
* Any hash value that exceeds the capacity of a <code>Fixnum</code> will be
* truncated before being used.
*
* "waffle".hash #=> -910576647
* Generates a Fixnum hash value for this object. This function must have the
* property that <code>a.eql?(b)<code> implies <code>a.hash == b.hash</code>.
*
* The hash value is used along with #eql? by the Hash class to determine if
* two objects reference the same hash key. Any hash value that exceeds the
* capacity of a Fixnum will be truncated before being used.
*
* The hash value for an object may not be identical across invocations or
* implementations of ruby. If you need a stable identifier across ruby
* invocations and implementations you will need to generate one with a custom
* method.
*/
VALUE
rb_obj_hash(VALUE obj)
Expand Down

0 comments on commit 9802ce8

Please sign in to comment.