about summary refs log tree commit diff
path: root/src/libcore/hash
diff options
context:
space:
mode:
authorMartin Hoffmann <hn@nvnc.de>2017-08-16 17:02:39 +0200
committerMartin Hoffmann <hn@nvnc.de>2017-08-16 17:02:39 +0200
commit02aaa1180eca1c1a5979eb5b106ed1befba8a42e (patch)
treef2c7a958b3861c807ddd4744ee9d21142982436f /src/libcore/hash
parent85eadf84f3945dc431643ea43d34f15193fdafb4 (diff)
downloadrust-02aaa1180eca1c1a5979eb5b106ed1befba8a42e.tar.gz
rust-02aaa1180eca1c1a5979eb5b106ed1befba8a42e.zip
Document that std::hash::Hasher::finish() does not reset the hasher.
Diffstat (limited to 'src/libcore/hash')
-rw-r--r--src/libcore/hash/mod.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libcore/hash/mod.rs b/src/libcore/hash/mod.rs
index 2000ba91460..a8b84203d6a 100644
--- a/src/libcore/hash/mod.rs
+++ b/src/libcore/hash/mod.rs
@@ -240,7 +240,12 @@ pub trait Hash {
 /// [`write_u8`]: #method.write_u8
 #[stable(feature = "rust1", since = "1.0.0")]
 pub trait Hasher {
-    /// Completes a round of hashing, producing the output hash generated.
+    /// Returns the hash value for the values written so far.
+    ///
+    /// Despite its name, the method does not reset the hasher’s internal
+    /// state. Additional [`write`]s will continue from the current value.
+    /// If you need to start a fresh hash value, you will have to create
+    /// a new hasher.
     ///
     /// # Examples
     ///
@@ -253,6 +258,8 @@ pub trait Hasher {
     ///
     /// println!("Hash is {:x}!", hasher.finish());
     /// ```
+    ///
+    /// ['write']: #tymethod.write
     #[stable(feature = "rust1", since = "1.0.0")]
     fn finish(&self) -> u64;