]> git.lizzy.rs Git - rust.git/commitdiff
auto merge of #18440 : japaric/rust/hash, r=alexcrichton
authorbors <bors@rust-lang.org>
Fri, 31 Oct 2014 17:11:43 +0000 (17:11 +0000)
committerbors <bors@rust-lang.org>
Fri, 31 Oct 2014 17:11:43 +0000 (17:11 +0000)
- The signature of the `*_equiv` methods of `HashMap` and similar structures have changed, and now require one less level of indirection. Change your code from:

``` rust
hashmap.find_equiv(&"Hello");
hashmap.find_equiv(&&[0u8, 1, 2]);
```

to:

``` rust
hashmap.find_equiv("Hello");
hashmap.find_equiv(&[0u8, 1, 2]);
```

- The generic parameter `T` of the `Hasher::hash<T>` method have become `Sized?`. Downstream code must add `Sized?` to that method in their implementations. For example:

``` rust
impl Hasher<FnvState> for FnvHasher {
    fn hash<T: Hash<FnvState>>(&self, t: &T) -> u64 { /* .. */ }
}
```

must be changed to:

``` rust
impl Hasher<FnvState> for FnvHasher {
    fn hash<Sized? T: Hash<FnvState>>(&self, t: &T) -> u64 { /* .. */ }
    //      ^^^^^^
}
```

[breaking-change]

---

After review I'll squash the commits and update the commit message with the above paragraph.

r? @aturon
cc #16918

1  2 
src/librustc/middle/trans/base.rs

Simple merge