diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2012-07-11 15:00:40 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2012-07-17 15:46:43 -0700 |
| commit | db020ab63cd51dd4a25cba2d00117f016128762b (patch) | |
| tree | 2b6f1e99ba4356f3e3bf5338332c278d2a85109b /src/libstd/map.rs | |
| parent | b5729bd60095fb5ca884936775e031cf19900760 (diff) | |
| download | rust-db020ab63cd51dd4a25cba2d00117f016128762b.tar.gz rust-db020ab63cd51dd4a25cba2d00117f016128762b.zip | |
rustc: Implement and enforce instance coherence
Diffstat (limited to 'src/libstd/map.rs')
| -rw-r--r-- | src/libstd/map.rs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/libstd/map.rs b/src/libstd/map.rs index 90ca5e23372..c285bc06629 100644 --- a/src/libstd/map.rs +++ b/src/libstd/map.rs @@ -92,13 +92,19 @@ mod chained { absent } - type t<K, V> = @{ + type hashmap__<K, V> = { mut count: uint, mut chains: ~[mut chain<K,V>], hasher: hashfn<K>, eqer: eqfn<K> }; + enum hashmap_<K, V> { + hashmap_(@hashmap__<K, V>) + } + + type t<K, V> = hashmap_<K, V>; + enum search_result<K, V> { not_found, found_first(uint, @entry<K,V>), @@ -284,10 +290,10 @@ mod chained { } fn mk<K, V: copy>(hasher: hashfn<K>, eqer: eqfn<K>) -> t<K,V> { - let slf: t<K, V> = @{mut count: 0u, - mut chains: chains(initial_capacity), - hasher: hasher, - eqer: eqer}; + let slf: t<K, V> = hashmap_(@{mut count: 0u, + mut chains: chains(initial_capacity), + hasher: hasher, + eqer: eqer}); slf } } |
