about summary refs log tree commit diff
path: root/src/liballoc/alloc.rs
diff options
context:
space:
mode:
authorkennytm <kennytm@gmail.com>2019-02-16 00:55:47 +0800
committerkennytm <kennytm@gmail.com>2019-02-16 14:11:28 +0800
commitf05e6bf7089fa3d5f3b490eb8d9fc89bc044604d (patch)
tree256a9a879d98e6aaffb4497c290c8795322c1c2c /src/liballoc/alloc.rs
parent84e88da4311e4c2dac3789de708ec5232a3deeff (diff)
parent317f15304e6091a1f3cc58c52d36df037ef50db0 (diff)
downloadrust-f05e6bf7089fa3d5f3b490eb8d9fc89bc044604d.tar.gz
rust-f05e6bf7089fa3d5f3b490eb8d9fc89bc044604d.zip
Rollup merge of #58074 - scottmcm:stabilize-sort_by_cached_key, r=SimonSapin
Stabilize slice_sort_by_cached_key

I was going to ask on the tracking issue (https://github.com/rust-lang/rust/issues/34447), but decided to just send this and hope for an FCP here.  The method was added last March by https://github.com/rust-lang/rust/pull/48639.

Signature: https://doc.rust-lang.org/std/primitive.slice.html#method.sort_by_cached_key
```rust
impl [T] {
    pub fn sort_by_cached_key<K, F>(&mut self, f: F)
        where F: FnMut(&T) -> K, K: Ord;
}
```

That's an identical signature to the existing `sort_by_key`, so I think the questions are just naming, implementation, and the usual "do we want this?".

The implementation seems to have proven its use in rustc at least, which many uses: https://github.com/rust-lang/rust/search?l=Rust&q=sort_by_cached_key

(I'm asking because it's exactly what I just needed the other day:
```rust
    all_positions.sort_by_cached_key(|&n|
        data::CITIES.iter()
            .map(|x| *metric_closure.get_edge(n, x.pos).unwrap())
            .sum::<usize>()
    );
```
since caching that key is a pretty obviously good idea.)

Closes #34447
Diffstat (limited to 'src/liballoc/alloc.rs')
0 files changed, 0 insertions, 0 deletions