rust/library/alloc/tests
Matthias Krüger 60625a6ef0
Rollup merge of #88858 - spektom:to_lower_upper_rev, r=dtolnay
Allow reverse iteration of lowercase'd/uppercase'd chars

The PR implements `DoubleEndedIterator` trait for `ToLowercase` and `ToUppercase`.

This enables reverse iteration of lowercase/uppercase variants of character sequences.
One of use cases:  determining whether a char sequence is a suffix of another one.

Example:

```rust
fn endswith_ignore_case(s1: &str, s2: &str) -> bool {
    for eob in s1
        .chars()
        .flat_map(|c| c.to_lowercase())
        .rev()
        .zip_longest(s2.chars().flat_map(|c| c.to_lowercase()).rev())
    {
        match eob {
            EitherOrBoth::Both(c1, c2) => {
                if c1 != c2 {
                    return false;
                }
            }
            EitherOrBoth::Left(_) => return true,
            EitherOrBoth::Right(_) => return false,
        }
    }
    true
}
```
2021-12-23 00:28:51 +01:00
..
arc.rs Add Weak may_dangle tests 2021-05-20 19:42:29 -07:00
binary_heap.rs Fix may not to appropriate might not or must not 2021-07-29 01:15:20 -04:00
borrow.rs Move various ui const tests to library 2020-09-04 02:35:27 +02:00
boxed.rs Fix a bunch of typos 2021-12-14 16:40:43 +01:00
btree_set_hash.rs Include the length in BTree hashes 2021-10-01 12:29:09 -07:00
const_fns.rs BTree: remove Ord bound from new 2021-08-18 03:55:36 +01:00
cow_str.rs
fmt.rs Auto merge of #78618 - workingjubilee:ieee754-fmt, r=m-ou-se 2021-03-27 10:40:16 +00:00
heap.rs Rename AllocRef to Allocator and (de)alloc to (de)allocate 2020-12-04 14:47:15 +01:00
lib.rs Make slice->str conversion and related functions const 2021-11-18 00:50:42 +03:00
linked_list.rs
rc.rs Add Weak may_dangle tests 2021-05-20 19:42:29 -07:00
slice.rs Make split_inclusive() on an empty slice yield an empty output 2021-10-12 08:34:03 -07:00
str.rs Rollup merge of #88858 - spektom:to_lower_upper_rev, r=dtolnay 2021-12-23 00:28:51 +01:00
string.rs Use assert_matches! instead of if let {} else 2021-08-07 14:48:27 +01:00
vec.rs Fix Iterator::advance_by contract inconsistency 2021-11-19 13:00:23 +01:00
vec_deque.rs Use assert_matches! instead of if let {} else 2021-08-07 14:48:27 +01:00