W3cubDocs

/Rust

Function std::ptr::hash

pub fn hash<T, S>(hashee: *const T, into: &mut S) where    S: Hasher,    T: ?Sized, 

Hash a raw pointer.

This can be used to hash a &T reference (which coerces to *const T implicitly) by its address rather than the value it points to (which is what the Hash for &T implementation does).

Examples

use std::collections::hash_map::DefaultHasher;
use std::hash::{Hash, Hasher};
use std::ptr;

let five = 5;
let five_ref = &five;

let mut hasher = DefaultHasher::new();
ptr::hash(five_ref, &mut hasher);
let actual = hasher.finish();

let mut hasher = DefaultHasher::new();
(five_ref as *const i32).hash(&mut hasher);
let expected = hasher.finish();

assert_eq!(actual, expected);

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/ptr/fn.hash.html