File tree Expand file tree Collapse file tree 1 file changed +4
-3
lines changed
src/libstd/collections/hash Expand file tree Collapse file tree 1 file changed +4
-3
lines changed Original file line number Diff line number Diff line change 11
11
use clone:: Clone ;
12
12
use default:: Default ;
13
13
use hash;
14
+ use marker;
14
15
15
16
/// A trait representing stateful hashes which can be used to hash keys in a
16
17
/// `HashMap`.
@@ -37,17 +38,17 @@ pub trait HashState {
37
38
///
38
39
/// This struct has is 0-sized and does not need construction.
39
40
#[ unstable( feature = "std_misc" , reason = "hasher stuff is unclear" ) ]
40
- pub struct DefaultState < H > ;
41
+ pub struct DefaultState < H > ( marker :: PhantomData < H > ) ;
41
42
42
43
impl < H : Default + hash:: Hasher > HashState for DefaultState < H > {
43
44
type Hasher = H ;
44
45
fn hasher ( & self ) -> H { Default :: default ( ) }
45
46
}
46
47
47
48
impl < H > Clone for DefaultState < H > {
48
- fn clone ( & self ) -> DefaultState < H > { DefaultState }
49
+ fn clone ( & self ) -> DefaultState < H > { DefaultState ( marker :: PhantomData ) }
49
50
}
50
51
51
52
impl < H > Default for DefaultState < H > {
52
- fn default ( ) -> DefaultState < H > { DefaultState }
53
+ fn default ( ) -> DefaultState < H > { DefaultState ( marker :: PhantomData ) }
53
54
}
You can’t perform that action at this time.
0 commit comments