rust/library/alloc/src
Yuki Okushi 6580d7e784
Rollup merge of #98039 - tnballo:master, r=thomcc
Fix `panic` message for `BTreeSet`'s `range` API and document `panic` cases

Currently, the `panic` cases for [`BTreeSet`'s `range` API](https://doc.rust-lang.org/std/collections/struct.BTreeSet.html#method.range) are undocumented and produce a slightly wrong `panic` message (says `BTreeMap` instead of `BTreeSet`).

Panic case 1 code:

```rust
use std::collections::BTreeSet;
use std::ops::Bound::Excluded;

fn main() {
    let mut set = BTreeSet::new();
    set.insert(3);
    set.insert(5);
    set.insert(8);

    for &elem in set.range((Excluded(&3), Excluded(&3))) {
        println!("{elem}");
    }
}
```

Panic case 1 message:

```
thread 'main' panicked at 'range start and end are equal and excluded in BTreeMap', /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e/library/alloc/src/collections/btree/search.rs:105:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```

Panic case 2 code:

```rust
use std::collections::BTreeSet;
use std::ops::Bound::Included;

fn main() {
    let mut set = BTreeSet::new();
    set.insert(3);
    set.insert(5);
    set.insert(8);

    for &elem in set.range((Included(&8), Included(&3))) {
        println!("{elem}");
    }
}
```

Panic case 2:

```
thread 'main' panicked at 'range start is greater than range end in BTreeMap', /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e/library/alloc/src/collections/btree/search.rs:110:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```

This PR fixes the output messages to say `BTreeSet`, adds the relevant unit tests, and updates the documentation for the API.
2022-06-24 16:43:44 +09:00
..
alloc Use Box::new() instead of box syntax in alloc tests 2022-05-29 00:41:14 +02:00
boxed Use pointer::is_aligned in ThinBox debug assert 2022-05-27 22:19:43 -07:00
collections Rollup merge of #98039 - tnballo:master, r=thomcc 2022-06-24 16:43:44 +09:00
ffi Finish bumping stage0 2022-05-27 07:36:17 -04:00
raw_vec Add a unit test for zero-sized types in RawVec. 2021-11-26 19:30:45 +11:00
rc Use Box::new() instead of box syntax in alloc tests 2022-05-29 00:41:14 +02:00
sync Use Box::new() instead of box syntax in alloc tests 2022-05-29 00:41:14 +02:00
vec Fix documentation for with_capacity and reserve families of methods 2022-06-19 20:46:49 +01:00
alloc.rs Auto merge of #97033 - nbdd0121:unwind3, r=Amanieu 2022-05-19 04:04:40 +00:00
borrow.rs Stabilize toowned_clone_into 2022-05-28 01:07:45 +09:00
boxed.rs Rollup merge of #97655 - steffahn:better-pin-box-construction-docs, r=thomcc 2022-06-02 23:39:07 +02:00
fmt.rs remove useless cold 2022-05-29 20:40:56 +01:00
lib.rs Expose iter::ByRefSized as unstable feature and use it 2022-06-18 00:03:54 +02:00
macros.rs Use #[rustc_box] in alloc instead of box syntax 2022-06-01 02:28:34 +02:00
raw_vec.rs Remove some unnecessary rustc_allow_const_fn_unstable attributes. 2022-05-13 16:01:18 +10:00
rc.rs Rollup merge of #96609 - ibraheemdev:arc-downcast-unchecked, r=m-ou-se 2022-06-20 14:56:35 +02:00
slice.rs Add reexport of slice::from{,_mut}_ptr_range to alloc & std 2022-05-30 15:44:56 +04:00
str.rs additional docs example for replace **all** of str 2022-06-10 00:28:46 +08:00
string.rs Fix documentation for with_capacity and reserve families of methods 2022-06-19 20:46:49 +01:00
sync.rs clarify Arc::clone overflow check comment 2022-06-21 21:14:03 -07:00
task.rs Document From implementations for Waker and RawWaker 2021-04-22 14:16:33 -07:00
tests.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00