--- /dev/null
+use std::hash::BuildHasher;
+
+fn next_u64() -> u64 {
+ let bh = std::collections::hash_map::RandomState::new();
+ let h = bh.build_hasher();
+ h.finish() //~ ERROR no method named `finish` found for struct `DefaultHasher`
+}
+
+fn main() {}
--- /dev/null
+error[E0599]: no method named `finish` found for struct `DefaultHasher` in the current scope
+ --> $DIR/import-trait-for-method-call.rs:6:7
+ |
+LL | h.finish()
+ | ^^^^^^ method not found in `DefaultHasher`
+ |
+ ::: $SRC_DIR/core/src/hash/mod.rs:LL:COL
+ |
+LL | fn finish(&self) -> u64;
+ | ------
+ | |
+ | the method is available for `Box<DefaultHasher>` here
+ | the method is available for `Box<&mut DefaultHasher>` here
+ |
+help: consider wrapping the receiver expression with the appropriate type
+ |
+LL | Box::new(h).finish()
+ | ^^^^^^^^^ ^
+help: consider wrapping the receiver expression with the appropriate type
+ |
+LL | Box::new(&mut h).finish()
+ | ^^^^^^^^^^^^^ ^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0599`.