[INFO] fetching crate encode_unicode 0.3.6...
[INFO] testing encode_unicode-0.3.6 against beta-2021-08-01 for beta-1.55-1
[INFO] extracting crate encode_unicode 0.3.6 into /workspace/builds/worker-1/source
[INFO] validating manifest of crates.io crate encode_unicode 0.3.6 on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate encode_unicode 0.3.6
[INFO] finished tweaking crates.io crate encode_unicode 0.3.6
[INFO] tweaked toml for crates.io crate encode_unicode 0.3.6 written to /workspace/builds/worker-1/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 91dbe539d6ad92722bd5a2493b1cdf3f7a00a4add44ffc6d153261089ffd4c56
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "91dbe539d6ad92722bd5a2493b1cdf3f7a00a4add44ffc6d153261089ffd4c56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "91dbe539d6ad92722bd5a2493b1cdf3f7a00a4add44ffc6d153261089ffd4c56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "91dbe539d6ad92722bd5a2493b1cdf3f7a00a4add44ffc6d153261089ffd4c56", kill_on_drop: false }`
[INFO] [stdout] 91dbe539d6ad92722bd5a2493b1cdf3f7a00a4add44ffc6d153261089ffd4c56
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b2c5597fa321f75d82e5b284184cb140a510905771b2c2b9b5e66e32d424de13
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "b2c5597fa321f75d82e5b284184cb140a510905771b2c2b9b5e66e32d424de13", kill_on_drop: false }`
[INFO] [stderr]    Compiling encode_unicode v0.3.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:200:36
[INFO] [stdout]     |
[INFO] [stdout] 200 |           fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                      ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] ...
[INFO] [stdout] 231 | / complex!{InvalidUtf8 {
[INFO] [stdout] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stdout] 233 | |     } {
[INFO] [stdout] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stdout] 242 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:200:36
[INFO] [stdout]     |
[INFO] [stdout] 200 |           fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                      ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] ...
[INFO] [stdout] 253 | / complex!{InvalidUtf8Array {
[INFO] [stdout] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stdout] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stdout] 256 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |     }/// Always returns `Some`.
[INFO] [stdout] 263 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:200:36
[INFO] [stdout]     |
[INFO] [stdout] 200 |           fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                      ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] ...
[INFO] [stdout] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stdout] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stdout] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stdout] 279 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     }
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/traits.rs:61:18
[INFO] [stdout]    |
[INFO] [stdout] 61 |             n @ 1...3 => Ok(n as usize),
[INFO] [stdout]    |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |             0x00_00...0xd7_ff | 0xe0_00...0xff_ff => Ok(false),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:145:40
[INFO] [stdout]     |
[INFO] [stdout] 145 |             0x00_00...0xd7_ff | 0xe0_00...0xff_ff => Ok(false),
[INFO] [stdout]     |                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:146:20
[INFO] [stdout]     |
[INFO] [stdout] 146 |             0xd8_00...0xdb_ff => Ok(true),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:497:31
[INFO] [stdout]     |
[INFO] [stdout] 497 |             (Some(&u @ 0x00_00...0xd7_ff), _) |
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:498:31
[INFO] [stdout]     |
[INFO] [stdout] 498 |             (Some(&u @ 0xe0_00...0xff_ff), _)
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:500:19
[INFO] [stdout]     |
[INFO] [stdout] 500 |             (Some(&0xdc_00...0xdf_ff), _) => Err(FirstLowSurrogate),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xdc_00..=0xdf_ff)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:502:31
[INFO] [stdout]     |
[INFO] [stdout] 502 |             (Some(&f @ 0xd8_00...0xdb_ff), Some(&s @ 0xdc_00...0xdf_ff))
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:502:61
[INFO] [stdout]     |
[INFO] [stdout] 502 |             (Some(&f @ 0xd8_00...0xdb_ff), Some(&s @ 0xdc_00...0xdf_ff))
[INFO] [stdout]     |                                                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:504:19
[INFO] [stdout]     |
[INFO] [stdout] 504 |             (Some(&0xd8_00...0xdb_ff), Some(_)) => Err(SecondNotLowSurrogate),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xd8_00..=0xdb_ff)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:505:19
[INFO] [stdout]     |
[INFO] [stdout] 505 |             (Some(&0xd8_00...0xdb_ff), None) => Err(MissingSecond),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xd8_00..=0xdb_ff)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:526:21
[INFO] [stdout]     |
[INFO] [stdout] 526 |             (0x00_00...0xd7_ff, None) | // single
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:527:21
[INFO] [stdout]     |
[INFO] [stdout] 527 |             (0xe0_00...0xff_ff, None) | // single
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:528:21
[INFO] [stdout]     |
[INFO] [stdout] 528 |             (0xd8_00...0xdb_ff, Some(0xdc_00...0xdf_ff)) // correct surrogate
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:528:45
[INFO] [stdout]     |
[INFO] [stdout] 528 |             (0xd8_00...0xdb_ff, Some(0xdc_00...0xdf_ff)) // correct surrogate
[INFO] [stdout]     |                                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:530:21
[INFO] [stdout]     |
[INFO] [stdout] 530 |             (0xd8_00...0xdb_ff, Some(_)) => Err(InvalidSecond),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:531:21
[INFO] [stdout]     |
[INFO] [stdout] 531 |             (0xd8_00...0xdb_ff, None   ) => Err(MissingSecond),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:532:21
[INFO] [stdout]     |
[INFO] [stdout] 532 |             (0xdc_00...0xdf_ff,    _   ) => Err(FirstIsTrailingSurrogate),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/utf8_char.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |             (a @ 0...0x00_7f, _) => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/utf8_char.rs:88:19
[INFO] [stdout]    |
[INFO] [stdout] 88 |             (u @ 0...0x07_ff, _) => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utf8_char.rs:484:13
[INFO] [stdout]     |
[INFO] [stdout] 484 |             try!(char::from_utf8_array(utf8));
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utf16_char.rs:442:14
[INFO] [stdout]     |
[INFO] [stdout] 442 |             0...127 => {// 1 byte => 1 unit
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utf16_char.rs:446:24
[INFO] [stdout]     |
[INFO] [stdout] 446 |             0b1000_0000...0b1101_1111 => {// 2 bytes => 1 unit
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utf16_char.rs:451:24
[INFO] [stdout]     |
[INFO] [stdout] 451 |             0b1110_0000...0b1110_1111 => {// 3 bytes => 1 unit
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:146:28
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 0b0000_0000...0b0111_1111 => {/*1 and */Ok(())},
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:147:28
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 0b1100_0010...0b1101_1111 => {//2 and not overlong
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:150:28
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 0b1110_0000...0b1110_1111 => {//3
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:163:28
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 0b1111_0000...0b1111_0100 => {//4
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:176:28
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 0b1000_0000...0b1011_1111 => {// continuation byte
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 0b1100_0000...0b1100_0001 => {// 2 and overlong
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:182:28
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 0b1111_0101...0b1111_0111 => {// 4 and too high codepoint
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:185:28
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 0b1111_1000...0b1111_1111 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 | / single_cause!{
[INFO] [stdout] 51 | |     /// Cannot tell whether an `u16` needs an extra unit,
[INFO] [stdout] 52 | |     /// because it's a trailing surrogate itself.
[INFO] [stdout] 53 | |     InvalidUtf16FirstUnit => "is a trailing surrogate"
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 | / single_cause!{
[INFO] [stdout] 57 | |     /// Cannot create an `Utf8Char` or `Utf16Char` from the first codepoint of a str,
[INFO] [stdout] 58 | |     /// because there are none.
[INFO] [stdout] 59 | |     EmptyStrError => "is empty"
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 | / single_cause!{
[INFO] [stdout] 63 | |     /// Cannot create an `Utf8Char` from a standalone `u8`
[INFO] [stdout] 64 | |     /// that is not an ASCII character.
[INFO] [stdout] 65 | |     NonAsciiError => "is not an ASCII character"
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 | / single_cause!{
[INFO] [stdout] 69 | |     /// Cannot create an `Utf16Char` from a standalone `u16` that is not a
[INFO] [stdout] 70 | |     /// codepoint in the basic multilingual plane, but part of a suurrogate pair.
[INFO] [stdout] 71 | |     NonBMPError => "is not a codepoint in the basic multilingual plane"
[INFO] [stdout] 72 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 | / simple!{/// Reasons why an `u32` is not a valid UTF codepoint.
[INFO] [stdout] 89 | |     InvalidCodepoint {
[INFO] [stdout] 90 | |         /// It's reserved for UTF-16 surrogate pairs."
[INFO] [stdout] 91 | |         ::Utf16Reserved => "is reserved for UTF-16 surrogate pairs",
[INFO] [stdout] 92 | |         /// It's higher than the highest codepoint (which is 0x10ffff).
[INFO] [stdout] 93 | |         ::TooHigh => "is higher than the highest codepoint",
[INFO] [stdout] 94 | |     }}
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 | / simple!{/// Reasons why a `[u16; 2]` doesn't form a valid UTF-16 codepoint.
[INFO] [stdout] 106 | |     InvalidUtf16Array {
[INFO] [stdout] 107 | |         /// The first unit is a trailing/low surrogate, which is never valid.
[INFO] [stdout] 108 | |         ::FirstIsTrailingSurrogate => "the first unit is a trailing surrogate, which is never valid",
[INFO] [stdout] 109 | |         /// The second unit is needed, but is not a trailing surrogate.
[INFO] [stdout] 110 | |         ::SecondIsNotTrailingSurrogate => "the second unit is needed but is not a trailing surrogate",
[INFO] [stdout] 111 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 | / simple!{/// Reasons why one or two `u16`s are not valid UTF-16, in sinking precedence.
[INFO] [stdout] 114 | |     InvalidUtf16Tuple {
[INFO] [stdout] 115 | |         /// The first unit is a trailing/low surrogate, which is never valid.
[INFO] [stdout] 116 | |         ///
[INFO] [stdout] ...   |
[INFO] [stdout] 126 | |         ::InvalidSecond => "the required second unit is not a trailing / low surrogate",
[INFO] [stdout] 127 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 | / simple!{/// Reasons why a slice of `u16`s doesn't start with valid UTF-16.
[INFO] [stdout] 131 | |     InvalidUtf16Slice {
[INFO] [stdout] 132 | |         /// The slice is empty.
[INFO] [stdout] 133 | |         ::EmptySlice => "the slice is empty",
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |         ::SecondNotLowSurrogate => "the required second unit is not a trailing surrogate",
[INFO] [stdout] 140 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 | / simple!{/// Types of invalid sequences encountered by `Utf16CharParser`.
[INFO] [stdout] 143 | |     Utf16PairError {
[INFO] [stdout] 144 | |         /// A trailing surrogate was not preceeded by a leading surrogate.
[INFO] [stdout] 145 | |         ::UnexpectedTrailingSurrogate => "a trailing surrogate was not preceeded by a leading surrogate",
[INFO] [stdout] ...   |
[INFO] [stdout] 149 | |         ::Incomplete => "a trailing surrogate was expected when the end was reached",
[INFO] [stdout] 150 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 | / simple!{/// Reasons why `Utf8Char::from_str()` or `Utf16Char::from_str()` failed.
[INFO] [stdout] 154 | |     FromStrError {
[INFO] [stdout] 155 | |         /// `Utf8Char` or `Utf16Char` cannot store more than a single codepoint.
[INFO] [stdout] 156 | |         ::MultipleCodepoints => "has more than one codepoint",
[INFO] [stdout] 157 | |         /// `Utf8Char` or `Utf16Char` cannot be empty.
[INFO] [stdout] 158 | |         ::Empty => "is empty",
[INFO] [stdout] 159 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 | / simple!{/// Reasons why a byte is not the start of a UTF-8 codepoint.
[INFO] [stdout] 163 | |     InvalidUtf8FirstByte {
[INFO] [stdout] 164 | |         /// Sequences cannot be longer than 4 bytes. Is given for values >= 240.
[INFO] [stdout] 165 | |         ::TooLongSeqence => "is greater than 247 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] 166 | |         /// This byte belongs to a previous sequence. Is given for values between 128 and 192 (exclusive).
[INFO] [stdout] 167 | |         ::ContinuationByte => "is a continuation of a previous sequence",
[INFO] [stdout] 168 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/errors.rs:206:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |               match (self.cause(), $use_cause) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 | / complex!{InvalidUtf8 {
[INFO] [stdout] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stdout] 233 | |     } {
[INFO] [stdout] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stdout] 242 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:207:63
[INFO] [stdout]     |
[INFO] [stdout] 207 |                   (Some(d),true) => write!(fmtr, "{}: {}", self.description(), d),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 | / complex!{InvalidUtf8 {
[INFO] [stdout] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stdout] 233 | |     } {
[INFO] [stdout] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stdout] 242 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:208:59
[INFO] [stdout]     |
[INFO] [stdout] 208 |                           _      => write!(fmtr, "{}", self.description()),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 | / complex!{InvalidUtf8 {
[INFO] [stdout] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stdout] 233 | |     } {
[INFO] [stdout] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stdout] 242 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/errors.rs:206:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |               match (self.cause(), $use_cause) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | / complex!{InvalidUtf8Array {
[INFO] [stdout] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stdout] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stdout] 256 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |     }/// Always returns `Some`.
[INFO] [stdout] 263 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:207:63
[INFO] [stdout]     |
[INFO] [stdout] 207 |                   (Some(d),true) => write!(fmtr, "{}: {}", self.description(), d),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | / complex!{InvalidUtf8Array {
[INFO] [stdout] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stdout] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stdout] 256 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |     }/// Always returns `Some`.
[INFO] [stdout] 263 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:208:59
[INFO] [stdout]     |
[INFO] [stdout] 208 |                           _      => write!(fmtr, "{}", self.description()),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | / complex!{InvalidUtf8Array {
[INFO] [stdout] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stdout] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stdout] 256 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |     }/// Always returns `Some`.
[INFO] [stdout] 263 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/errors.rs:206:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |               match (self.cause(), $use_cause) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stdout] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stdout] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stdout] 279 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     }
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:207:63
[INFO] [stdout]     |
[INFO] [stdout] 207 |                   (Some(d),true) => write!(fmtr, "{}: {}", self.description(), d),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stdout] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stdout] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stdout] 279 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     }
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:208:59
[INFO] [stdout]     |
[INFO] [stdout] 208 |                           _      => write!(fmtr, "{}", self.description()),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stdout] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stdout] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stdout] 279 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     }
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/traits.rs:506:13
[INFO] [stdout]     |
[INFO] [stdout] 506 |             (Some(_), _) => unreachable!()
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/traits.rs:534:13
[INFO] [stdout]     |
[INFO] [stdout] 534 |             (        _        , None   ) => unreachable!()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/decoding_iterators.rs:188:17
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 _ => unreachable!("all possible byte values should be covered")
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 58 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1.13s
[INFO] running `Command { std: "docker" "inspect" "b2c5597fa321f75d82e5b284184cb140a510905771b2c2b9b5e66e32d424de13", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2c5597fa321f75d82e5b284184cb140a510905771b2c2b9b5e66e32d424de13", kill_on_drop: false }`
[INFO] [stdout] b2c5597fa321f75d82e5b284184cb140a510905771b2c2b9b5e66e32d424de13
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 103e29e6f2248f518f5744d1dcd8adb26514082ef64b5d451373081b1d361c38
[INFO] running `Command { std: "docker" "start" "-a" "103e29e6f2248f518f5744d1dcd8adb26514082ef64b5d451373081b1d361c38", kill_on_drop: false }`
[INFO] [stderr]    Compiling lazy_static v1.0.2
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:200:36
[INFO] [stdout]     |
[INFO] [stdout] 200 |           fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                      ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] ...
[INFO] [stdout] 231 | / complex!{InvalidUtf8 {
[INFO] [stdout] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stdout] 233 | |     } {
[INFO] [stdout] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stdout] 242 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:200:36
[INFO] [stdout]     |
[INFO] [stdout] 200 |           fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                      ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] ...
[INFO] [stdout] 253 | / complex!{InvalidUtf8Array {
[INFO] [stdout] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stdout] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stdout] 256 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |     }/// Always returns `Some`.
[INFO] [stdout] 263 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:200:36
[INFO] [stdout]     |
[INFO] [stdout] 200 |           fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                      ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] ...
[INFO] [stdout] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stdout] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stdout] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stdout] 279 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     }
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/traits.rs:61:18
[INFO] [stdout]    |
[INFO] [stdout] 61 |             n @ 1...3 => Ok(n as usize),
[INFO] [stdout]    |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |             0x00_00...0xd7_ff | 0xe0_00...0xff_ff => Ok(false),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:145:40
[INFO] [stdout]     |
[INFO] [stdout] 145 |             0x00_00...0xd7_ff | 0xe0_00...0xff_ff => Ok(false),
[INFO] [stdout]     |                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:146:20
[INFO] [stdout]     |
[INFO] [stdout] 146 |             0xd8_00...0xdb_ff => Ok(true),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:497:31
[INFO] [stdout]     |
[INFO] [stdout] 497 |             (Some(&u @ 0x00_00...0xd7_ff), _) |
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:498:31
[INFO] [stdout]     |
[INFO] [stdout] 498 |             (Some(&u @ 0xe0_00...0xff_ff), _)
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:500:19
[INFO] [stdout]     |
[INFO] [stdout] 500 |             (Some(&0xdc_00...0xdf_ff), _) => Err(FirstLowSurrogate),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xdc_00..=0xdf_ff)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:502:31
[INFO] [stdout]     |
[INFO] [stdout] 502 |             (Some(&f @ 0xd8_00...0xdb_ff), Some(&s @ 0xdc_00...0xdf_ff))
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:502:61
[INFO] [stdout]     |
[INFO] [stdout] 502 |             (Some(&f @ 0xd8_00...0xdb_ff), Some(&s @ 0xdc_00...0xdf_ff))
[INFO] [stdout]     |                                                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:504:19
[INFO] [stdout]     |
[INFO] [stdout] 504 |             (Some(&0xd8_00...0xdb_ff), Some(_)) => Err(SecondNotLowSurrogate),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xd8_00..=0xdb_ff)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:505:19
[INFO] [stdout]     |
[INFO] [stdout] 505 |             (Some(&0xd8_00...0xdb_ff), None) => Err(MissingSecond),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xd8_00..=0xdb_ff)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:526:21
[INFO] [stdout]     |
[INFO] [stdout] 526 |             (0x00_00...0xd7_ff, None) | // single
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:527:21
[INFO] [stdout]     |
[INFO] [stdout] 527 |             (0xe0_00...0xff_ff, None) | // single
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:528:21
[INFO] [stdout]     |
[INFO] [stdout] 528 |             (0xd8_00...0xdb_ff, Some(0xdc_00...0xdf_ff)) // correct surrogate
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:528:45
[INFO] [stdout]     |
[INFO] [stdout] 528 |             (0xd8_00...0xdb_ff, Some(0xdc_00...0xdf_ff)) // correct surrogate
[INFO] [stdout]     |                                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:530:21
[INFO] [stdout]     |
[INFO] [stdout] 530 |             (0xd8_00...0xdb_ff, Some(_)) => Err(InvalidSecond),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:531:21
[INFO] [stdout]     |
[INFO] [stdout] 531 |             (0xd8_00...0xdb_ff, None   ) => Err(MissingSecond),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:532:21
[INFO] [stdout]     |
[INFO] [stdout] 532 |             (0xdc_00...0xdf_ff,    _   ) => Err(FirstIsTrailingSurrogate),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/utf8_char.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |             (a @ 0...0x00_7f, _) => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/utf8_char.rs:88:19
[INFO] [stdout]    |
[INFO] [stdout] 88 |             (u @ 0...0x07_ff, _) => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utf8_char.rs:484:13
[INFO] [stdout]     |
[INFO] [stdout] 484 |             try!(char::from_utf8_array(utf8));
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utf16_char.rs:442:14
[INFO] [stdout]     |
[INFO] [stdout] 442 |             0...127 => {// 1 byte => 1 unit
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utf16_char.rs:446:24
[INFO] [stdout]     |
[INFO] [stdout] 446 |             0b1000_0000...0b1101_1111 => {// 2 bytes => 1 unit
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utf16_char.rs:451:24
[INFO] [stdout]     |
[INFO] [stdout] 451 |             0b1110_0000...0b1110_1111 => {// 3 bytes => 1 unit
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:146:28
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 0b0000_0000...0b0111_1111 => {/*1 and */Ok(())},
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:147:28
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 0b1100_0010...0b1101_1111 => {//2 and not overlong
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:150:28
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 0b1110_0000...0b1110_1111 => {//3
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:163:28
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 0b1111_0000...0b1111_0100 => {//4
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:176:28
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 0b1000_0000...0b1011_1111 => {// continuation byte
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 0b1100_0000...0b1100_0001 => {// 2 and overlong
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:182:28
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 0b1111_0101...0b1111_0111 => {// 4 and too high codepoint
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:185:28
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 0b1111_1000...0b1111_1111 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 | / single_cause!{
[INFO] [stdout] 51 | |     /// Cannot tell whether an `u16` needs an extra unit,
[INFO] [stdout] 52 | |     /// because it's a trailing surrogate itself.
[INFO] [stdout] 53 | |     InvalidUtf16FirstUnit => "is a trailing surrogate"
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 | / single_cause!{
[INFO] [stdout] 57 | |     /// Cannot create an `Utf8Char` or `Utf16Char` from the first codepoint of a str,
[INFO] [stdout] 58 | |     /// because there are none.
[INFO] [stdout] 59 | |     EmptyStrError => "is empty"
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 | / single_cause!{
[INFO] [stdout] 63 | |     /// Cannot create an `Utf8Char` from a standalone `u8`
[INFO] [stdout] 64 | |     /// that is not an ASCII character.
[INFO] [stdout] 65 | |     NonAsciiError => "is not an ASCII character"
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 | / single_cause!{
[INFO] [stdout] 69 | |     /// Cannot create an `Utf16Char` from a standalone `u16` that is not a
[INFO] [stdout] 70 | |     /// codepoint in the basic multilingual plane, but part of a suurrogate pair.
[INFO] [stdout] 71 | |     NonBMPError => "is not a codepoint in the basic multilingual plane"
[INFO] [stdout] 72 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 | / simple!{/// Reasons why an `u32` is not a valid UTF codepoint.
[INFO] [stdout] 89 | |     InvalidCodepoint {
[INFO] [stdout] 90 | |         /// It's reserved for UTF-16 surrogate pairs."
[INFO] [stdout] 91 | |         ::Utf16Reserved => "is reserved for UTF-16 surrogate pairs",
[INFO] [stdout] 92 | |         /// It's higher than the highest codepoint (which is 0x10ffff).
[INFO] [stdout] 93 | |         ::TooHigh => "is higher than the highest codepoint",
[INFO] [stdout] 94 | |     }}
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 | / simple!{/// Reasons why a `[u16; 2]` doesn't form a valid UTF-16 codepoint.
[INFO] [stdout] 106 | |     InvalidUtf16Array {
[INFO] [stdout] 107 | |         /// The first unit is a trailing/low surrogate, which is never valid.
[INFO] [stdout] 108 | |         ::FirstIsTrailingSurrogate => "the first unit is a trailing surrogate, which is never valid",
[INFO] [stdout] 109 | |         /// The second unit is needed, but is not a trailing surrogate.
[INFO] [stdout] 110 | |         ::SecondIsNotTrailingSurrogate => "the second unit is needed but is not a trailing surrogate",
[INFO] [stdout] 111 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 | / simple!{/// Reasons why one or two `u16`s are not valid UTF-16, in sinking precedence.
[INFO] [stdout] 114 | |     InvalidUtf16Tuple {
[INFO] [stdout] 115 | |         /// The first unit is a trailing/low surrogate, which is never valid.
[INFO] [stdout] 116 | |         ///
[INFO] [stdout] ...   |
[INFO] [stdout] 126 | |         ::InvalidSecond => "the required second unit is not a trailing / low surrogate",
[INFO] [stdout] 127 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 | / simple!{/// Reasons why a slice of `u16`s doesn't start with valid UTF-16.
[INFO] [stdout] 131 | |     InvalidUtf16Slice {
[INFO] [stdout] 132 | |         /// The slice is empty.
[INFO] [stdout] 133 | |         ::EmptySlice => "the slice is empty",
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |         ::SecondNotLowSurrogate => "the required second unit is not a trailing surrogate",
[INFO] [stdout] 140 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 | / simple!{/// Types of invalid sequences encountered by `Utf16CharParser`.
[INFO] [stdout] 143 | |     Utf16PairError {
[INFO] [stdout] 144 | |         /// A trailing surrogate was not preceeded by a leading surrogate.
[INFO] [stdout] 145 | |         ::UnexpectedTrailingSurrogate => "a trailing surrogate was not preceeded by a leading surrogate",
[INFO] [stdout] ...   |
[INFO] [stdout] 149 | |         ::Incomplete => "a trailing surrogate was expected when the end was reached",
[INFO] [stdout] 150 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 | / simple!{/// Reasons why `Utf8Char::from_str()` or `Utf16Char::from_str()` failed.
[INFO] [stdout] 154 | |     FromStrError {
[INFO] [stdout] 155 | |         /// `Utf8Char` or `Utf16Char` cannot store more than a single codepoint.
[INFO] [stdout] 156 | |         ::MultipleCodepoints => "has more than one codepoint",
[INFO] [stdout] 157 | |         /// `Utf8Char` or `Utf16Char` cannot be empty.
[INFO] [stdout] 158 | |         ::Empty => "is empty",
[INFO] [stdout] 159 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 | / simple!{/// Reasons why a byte is not the start of a UTF-8 codepoint.
[INFO] [stdout] 163 | |     InvalidUtf8FirstByte {
[INFO] [stdout] 164 | |         /// Sequences cannot be longer than 4 bytes. Is given for values >= 240.
[INFO] [stdout] 165 | |         ::TooLongSeqence => "is greater than 247 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] 166 | |         /// This byte belongs to a previous sequence. Is given for values between 128 and 192 (exclusive).
[INFO] [stdout] 167 | |         ::ContinuationByte => "is a continuation of a previous sequence",
[INFO] [stdout] 168 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/errors.rs:206:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |               match (self.cause(), $use_cause) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 | / complex!{InvalidUtf8 {
[INFO] [stdout] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stdout] 233 | |     } {
[INFO] [stdout] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stdout] 242 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:207:63
[INFO] [stdout]     |
[INFO] [stdout] 207 |                   (Some(d),true) => write!(fmtr, "{}: {}", self.description(), d),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 | / complex!{InvalidUtf8 {
[INFO] [stdout] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stdout] 233 | |     } {
[INFO] [stdout] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stdout] 242 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:208:59
[INFO] [stdout]     |
[INFO] [stdout] 208 |                           _      => write!(fmtr, "{}", self.description()),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 | / complex!{InvalidUtf8 {
[INFO] [stdout] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stdout] 233 | |     } {
[INFO] [stdout] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stdout] 242 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/errors.rs:206:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |               match (self.cause(), $use_cause) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | / complex!{InvalidUtf8Array {
[INFO] [stdout] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stdout] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stdout] 256 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |     }/// Always returns `Some`.
[INFO] [stdout] 263 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:207:63
[INFO] [stdout]     |
[INFO] [stdout] 207 |                   (Some(d),true) => write!(fmtr, "{}: {}", self.description(), d),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | / complex!{InvalidUtf8Array {
[INFO] [stdout] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stdout] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stdout] 256 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |     }/// Always returns `Some`.
[INFO] [stdout] 263 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:208:59
[INFO] [stdout]     |
[INFO] [stdout] 208 |                           _      => write!(fmtr, "{}", self.description()),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | / complex!{InvalidUtf8Array {
[INFO] [stdout] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stdout] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stdout] 256 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |     }/// Always returns `Some`.
[INFO] [stdout] 263 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/errors.rs:206:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |               match (self.cause(), $use_cause) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stdout] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stdout] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stdout] 279 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     }
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:207:63
[INFO] [stdout]     |
[INFO] [stdout] 207 |                   (Some(d),true) => write!(fmtr, "{}: {}", self.description(), d),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stdout] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stdout] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stdout] 279 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     }
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:208:59
[INFO] [stdout]     |
[INFO] [stdout] 208 |                           _      => write!(fmtr, "{}", self.description()),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stdout] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stdout] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stdout] 279 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     }
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/traits.rs:506:13
[INFO] [stdout]     |
[INFO] [stdout] 506 |             (Some(_), _) => unreachable!()
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/traits.rs:534:13
[INFO] [stdout]     |
[INFO] [stdout] 534 |             (        _        , None   ) => unreachable!()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/decoding_iterators.rs:188:17
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 _ => unreachable!("all possible byte values should be covered")
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 58 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling encode_unicode v0.3.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> tests/errs.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 44 |             0b_1000_0000...0b_1011_1111 => Err(ContinuationByte),
[INFO] [stdout]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> tests/errs.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |             0b_1111_1000...0b_1111_1111 => Err(TooLongSeqence),
[INFO] [stdout]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> tests/errs.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |             0b_0000_0000...0b_0111_1111 => Ok(0),
[INFO] [stdout]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> tests/errs.rs:47:25
[INFO] [stdout]    |
[INFO] [stdout] 47 |             0b_1100_0000...0b_1101_1111 => Ok(1),
[INFO] [stdout]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> tests/errs.rs:48:25
[INFO] [stdout]    |
[INFO] [stdout] 48 |             0b_1110_0000...0b_1110_1111 => Ok(2),
[INFO] [stdout]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> tests/errs.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |             0b_1111_0000...0b_1111_0111 => Ok(3),
[INFO] [stdout]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> tests/errs.rs:59:35
[INFO] [stdout]    |
[INFO] [stdout] 59 |             0b_0000_0000_0000_0000...0b_1101_0111_1111_1111 => Ok(false),
[INFO] [stdout]    |                                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> tests/errs.rs:60:35
[INFO] [stdout]    |
[INFO] [stdout] 60 |             0b_1101_1000_0000_0000...0b_1101_1011_1111_1111 => Ok(true),
[INFO] [stdout]    |                                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> tests/errs.rs:61:35
[INFO] [stdout]    |
[INFO] [stdout] 61 |             0b_1101_1100_0000_0000...0b_1101_1111_1111_1111 => Err(InvalidUtf16FirstUnit),
[INFO] [stdout]    |                                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> tests/errs.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |             0b_1110_0000_0000_0000...0b_1111_1111_1111_1111 => Ok(false),
[INFO] [stdout]    |                                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:200:36
[INFO] [stdout]     |
[INFO] [stdout] 200 |           fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                      ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] ...
[INFO] [stdout] 231 | / complex!{InvalidUtf8 {
[INFO] [stdout] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stdout] 233 | |     } {
[INFO] [stdout] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stdout] 242 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:200:36
[INFO] [stdout]     |
[INFO] [stdout] 200 |           fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                      ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] ...
[INFO] [stdout] 253 | / complex!{InvalidUtf8Array {
[INFO] [stdout] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stdout] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stdout] 256 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |     }/// Always returns `Some`.
[INFO] [stdout] 263 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:200:36
[INFO] [stdout]     |
[INFO] [stdout] 200 |           fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                      ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] ...
[INFO] [stdout] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stdout] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stdout] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stdout] 279 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     }
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/traits.rs:61:18
[INFO] [stdout]    |
[INFO] [stdout] 61 |             n @ 1...3 => Ok(n as usize),
[INFO] [stdout]    |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |             0x00_00...0xd7_ff | 0xe0_00...0xff_ff => Ok(false),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:145:40
[INFO] [stdout]     |
[INFO] [stdout] 145 |             0x00_00...0xd7_ff | 0xe0_00...0xff_ff => Ok(false),
[INFO] [stdout]     |                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:146:20
[INFO] [stdout]     |
[INFO] [stdout] 146 |             0xd8_00...0xdb_ff => Ok(true),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:497:31
[INFO] [stdout]     |
[INFO] [stdout] 497 |             (Some(&u @ 0x00_00...0xd7_ff), _) |
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:498:31
[INFO] [stdout]     |
[INFO] [stdout] 498 |             (Some(&u @ 0xe0_00...0xff_ff), _)
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:500:19
[INFO] [stdout]     |
[INFO] [stdout] 500 |             (Some(&0xdc_00...0xdf_ff), _) => Err(FirstLowSurrogate),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xdc_00..=0xdf_ff)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:502:31
[INFO] [stdout]     |
[INFO] [stdout] 502 |             (Some(&f @ 0xd8_00...0xdb_ff), Some(&s @ 0xdc_00...0xdf_ff))
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:502:61
[INFO] [stdout]     |
[INFO] [stdout] 502 |             (Some(&f @ 0xd8_00...0xdb_ff), Some(&s @ 0xdc_00...0xdf_ff))
[INFO] [stdout]     |                                                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:504:19
[INFO] [stdout]     |
[INFO] [stdout] 504 |             (Some(&0xd8_00...0xdb_ff), Some(_)) => Err(SecondNotLowSurrogate),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xd8_00..=0xdb_ff)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:505:19
[INFO] [stdout]     |
[INFO] [stdout] 505 |             (Some(&0xd8_00...0xdb_ff), None) => Err(MissingSecond),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xd8_00..=0xdb_ff)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:526:21
[INFO] [stdout]     |
[INFO] [stdout] 526 |             (0x00_00...0xd7_ff, None) | // single
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:527:21
[INFO] [stdout]     |
[INFO] [stdout] 527 |             (0xe0_00...0xff_ff, None) | // single
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:528:21
[INFO] [stdout]     |
[INFO] [stdout] 528 |             (0xd8_00...0xdb_ff, Some(0xdc_00...0xdf_ff)) // correct surrogate
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:528:45
[INFO] [stdout]     |
[INFO] [stdout] 528 |             (0xd8_00...0xdb_ff, Some(0xdc_00...0xdf_ff)) // correct surrogate
[INFO] [stdout]     |                                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:530:21
[INFO] [stdout]     |
[INFO] [stdout] 530 |             (0xd8_00...0xdb_ff, Some(_)) => Err(InvalidSecond),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:531:21
[INFO] [stdout]     |
[INFO] [stdout] 531 |             (0xd8_00...0xdb_ff, None   ) => Err(MissingSecond),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/traits.rs:532:21
[INFO] [stdout]     |
[INFO] [stdout] 532 |             (0xdc_00...0xdf_ff,    _   ) => Err(FirstIsTrailingSurrogate),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/utf8_char.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |             (a @ 0...0x00_7f, _) => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/utf8_char.rs:88:19
[INFO] [stdout]    |
[INFO] [stdout] 88 |             (u @ 0...0x07_ff, _) => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utf8_char.rs:484:13
[INFO] [stdout]     |
[INFO] [stdout] 484 |             try!(char::from_utf8_array(utf8));
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utf16_char.rs:442:14
[INFO] [stdout]     |
[INFO] [stdout] 442 |             0...127 => {// 1 byte => 1 unit
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utf16_char.rs:446:24
[INFO] [stdout]     |
[INFO] [stdout] 446 |             0b1000_0000...0b1101_1111 => {// 2 bytes => 1 unit
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utf16_char.rs:451:24
[INFO] [stdout]     |
[INFO] [stdout] 451 |             0b1110_0000...0b1110_1111 => {// 3 bytes => 1 unit
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:146:28
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 0b0000_0000...0b0111_1111 => {/*1 and */Ok(())},
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:147:28
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 0b1100_0010...0b1101_1111 => {//2 and not overlong
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:150:28
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 0b1110_0000...0b1110_1111 => {//3
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:163:28
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 0b1111_0000...0b1111_0100 => {//4
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:176:28
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 0b1000_0000...0b1011_1111 => {// continuation byte
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 0b1100_0000...0b1100_0001 => {// 2 and overlong
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:182:28
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 0b1111_0101...0b1111_0111 => {// 4 and too high codepoint
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/decoding_iterators.rs:185:28
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 0b1111_1000...0b1111_1111 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 | / single_cause!{
[INFO] [stdout] 51 | |     /// Cannot tell whether an `u16` needs an extra unit,
[INFO] [stdout] 52 | |     /// because it's a trailing surrogate itself.
[INFO] [stdout] 53 | |     InvalidUtf16FirstUnit => "is a trailing surrogate"
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 | / single_cause!{
[INFO] [stdout] 57 | |     /// Cannot create an `Utf8Char` or `Utf16Char` from the first codepoint of a str,
[INFO] [stdout] 58 | |     /// because there are none.
[INFO] [stdout] 59 | |     EmptyStrError => "is empty"
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 | / single_cause!{
[INFO] [stdout] 63 | |     /// Cannot create an `Utf8Char` from a standalone `u8`
[INFO] [stdout] 64 | |     /// that is not an ASCII character.
[INFO] [stdout] 65 | |     NonAsciiError => "is not an ASCII character"
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 | / single_cause!{
[INFO] [stdout] 69 | |     /// Cannot create an `Utf16Char` from a standalone `u16` that is not a
[INFO] [stdout] 70 | |     /// codepoint in the basic multilingual plane, but part of a suurrogate pair.
[INFO] [stdout] 71 | |     NonBMPError => "is not a codepoint in the basic multilingual plane"
[INFO] [stdout] 72 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 | / simple!{/// Reasons why an `u32` is not a valid UTF codepoint.
[INFO] [stdout] 89 | |     InvalidCodepoint {
[INFO] [stdout] 90 | |         /// It's reserved for UTF-16 surrogate pairs."
[INFO] [stdout] 91 | |         ::Utf16Reserved => "is reserved for UTF-16 surrogate pairs",
[INFO] [stdout] 92 | |         /// It's higher than the highest codepoint (which is 0x10ffff).
[INFO] [stdout] 93 | |         ::TooHigh => "is higher than the highest codepoint",
[INFO] [stdout] 94 | |     }}
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 | / simple!{/// Reasons why a `[u16; 2]` doesn't form a valid UTF-16 codepoint.
[INFO] [stdout] 106 | |     InvalidUtf16Array {
[INFO] [stdout] 107 | |         /// The first unit is a trailing/low surrogate, which is never valid.
[INFO] [stdout] 108 | |         ::FirstIsTrailingSurrogate => "the first unit is a trailing surrogate, which is never valid",
[INFO] [stdout] 109 | |         /// The second unit is needed, but is not a trailing surrogate.
[INFO] [stdout] 110 | |         ::SecondIsNotTrailingSurrogate => "the second unit is needed but is not a trailing surrogate",
[INFO] [stdout] 111 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 | / simple!{/// Reasons why one or two `u16`s are not valid UTF-16, in sinking precedence.
[INFO] [stdout] 114 | |     InvalidUtf16Tuple {
[INFO] [stdout] 115 | |         /// The first unit is a trailing/low surrogate, which is never valid.
[INFO] [stdout] 116 | |         ///
[INFO] [stdout] ...   |
[INFO] [stdout] 126 | |         ::InvalidSecond => "the required second unit is not a trailing / low surrogate",
[INFO] [stdout] 127 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 | / simple!{/// Reasons why a slice of `u16`s doesn't start with valid UTF-16.
[INFO] [stdout] 131 | |     InvalidUtf16Slice {
[INFO] [stdout] 132 | |         /// The slice is empty.
[INFO] [stdout] 133 | |         ::EmptySlice => "the slice is empty",
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |         ::SecondNotLowSurrogate => "the required second unit is not a trailing surrogate",
[INFO] [stdout] 140 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 | / simple!{/// Types of invalid sequences encountered by `Utf16CharParser`.
[INFO] [stdout] 143 | |     Utf16PairError {
[INFO] [stdout] 144 | |         /// A trailing surrogate was not preceeded by a leading surrogate.
[INFO] [stdout] 145 | |         ::UnexpectedTrailingSurrogate => "a trailing surrogate was not preceeded by a leading surrogate",
[INFO] [stdout] ...   |
[INFO] [stdout] 149 | |         ::Incomplete => "a trailing surrogate was expected when the end was reached",
[INFO] [stdout] 150 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 | / simple!{/// Reasons why `Utf8Char::from_str()` or `Utf16Char::from_str()` failed.
[INFO] [stdout] 154 | |     FromStrError {
[INFO] [stdout] 155 | |         /// `Utf8Char` or `Utf16Char` cannot store more than a single codepoint.
[INFO] [stdout] 156 | |         ::MultipleCodepoints => "has more than one codepoint",
[INFO] [stdout] 157 | |         /// `Utf8Char` or `Utf16Char` cannot be empty.
[INFO] [stdout] 158 | |         ::Empty => "is empty",
[INFO] [stdout] 159 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:34:37
[INFO] [stdout]     |
[INFO] [stdout] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 | / simple!{/// Reasons why a byte is not the start of a UTF-8 codepoint.
[INFO] [stdout] 163 | |     InvalidUtf8FirstByte {
[INFO] [stdout] 164 | |         /// Sequences cannot be longer than 4 bytes. Is given for values >= 240.
[INFO] [stdout] 165 | |         ::TooLongSeqence => "is greater than 247 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] 166 | |         /// This byte belongs to a previous sequence. Is given for values between 128 and 192 (exclusive).
[INFO] [stdout] 167 | |         ::ContinuationByte => "is a continuation of a previous sequence",
[INFO] [stdout] 168 | |     }}
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/errors.rs:206:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |               match (self.cause(), $use_cause) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 | / complex!{InvalidUtf8 {
[INFO] [stdout] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stdout] 233 | |     } {
[INFO] [stdout] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stdout] 242 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:207:63
[INFO] [stdout]     |
[INFO] [stdout] 207 |                   (Some(d),true) => write!(fmtr, "{}: {}", self.description(), d),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 | / complex!{InvalidUtf8 {
[INFO] [stdout] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stdout] 233 | |     } {
[INFO] [stdout] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stdout] 242 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:208:59
[INFO] [stdout]     |
[INFO] [stdout] 208 |                           _      => write!(fmtr, "{}", self.description()),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 | / complex!{InvalidUtf8 {
[INFO] [stdout] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stdout] 233 | |     } {
[INFO] [stdout] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stdout] 242 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/errors.rs:206:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |               match (self.cause(), $use_cause) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | / complex!{InvalidUtf8Array {
[INFO] [stdout] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stdout] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stdout] 256 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |     }/// Always returns `Some`.
[INFO] [stdout] 263 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:207:63
[INFO] [stdout]     |
[INFO] [stdout] 207 |                   (Some(d),true) => write!(fmtr, "{}: {}", self.description(), d),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | / complex!{InvalidUtf8Array {
[INFO] [stdout] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stdout] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stdout] 256 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |     }/// Always returns `Some`.
[INFO] [stdout] 263 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:208:59
[INFO] [stdout]     |
[INFO] [stdout] 208 |                           _      => write!(fmtr, "{}", self.description()),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | / complex!{InvalidUtf8Array {
[INFO] [stdout] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stdout] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stdout] 256 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |     }/// Always returns `Some`.
[INFO] [stdout] 263 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/errors.rs:206:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |               match (self.cause(), $use_cause) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stdout] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stdout] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stdout] 279 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     }
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:207:63
[INFO] [stdout]     |
[INFO] [stdout] 207 |                   (Some(d),true) => write!(fmtr, "{}: {}", self.description(), d),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stdout] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stdout] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stdout] 279 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     }
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/errors.rs:208:59
[INFO] [stdout]     |
[INFO] [stdout] 208 |                           _      => write!(fmtr, "{}", self.description()),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stdout] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stdout] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stdout] 279 | |     } {
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     }
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/traits.rs:506:13
[INFO] [stdout]     |
[INFO] [stdout] 506 |             (Some(_), _) => unreachable!()
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/traits.rs:534:13
[INFO] [stdout]     |
[INFO] [stdout] 534 |             (        _        , None   ) => unreachable!()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/decoding_iterators.rs:188:17
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 _ => unreachable!("all possible byte values should be covered")
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 58 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.66s
[INFO] running `Command { std: "docker" "inspect" "103e29e6f2248f518f5744d1dcd8adb26514082ef64b5d451373081b1d361c38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "103e29e6f2248f518f5744d1dcd8adb26514082ef64b5d451373081b1d361c38", kill_on_drop: false }`
[INFO] [stdout] 103e29e6f2248f518f5744d1dcd8adb26514082ef64b5d451373081b1d361c38
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] a8ccacf3827fb30cea0099881be44f42f09bcf83a5c5b39ccdc8e336916f83ee
[INFO] running `Command { std: "docker" "start" "-a" "a8ccacf3827fb30cea0099881be44f42f09bcf83a5c5b39ccdc8e336916f83ee", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:200:36
[INFO] [stderr]     |
[INFO] [stderr] 200 |           fn cause(&self) -> Option<&Error> {
[INFO] [stderr]     |                                      ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stderr] ...
[INFO] [stderr] 231 | / complex!{InvalidUtf8 {
[INFO] [stderr] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stderr] 233 | |     } {
[INFO] [stderr] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stderr] ...   |
[INFO] [stderr] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stderr] 242 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:200:36
[INFO] [stderr]     |
[INFO] [stderr] 200 |           fn cause(&self) -> Option<&Error> {
[INFO] [stderr]     |                                      ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stderr] ...
[INFO] [stderr] 253 | / complex!{InvalidUtf8Array {
[INFO] [stderr] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stderr] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stderr] 256 | |     } {
[INFO] [stderr] ...   |
[INFO] [stderr] 262 | |     }/// Always returns `Some`.
[INFO] [stderr] 263 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:200:36
[INFO] [stderr]     |
[INFO] [stderr] 200 |           fn cause(&self) -> Option<&Error> {
[INFO] [stderr]     |                                      ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stderr] ...
[INFO] [stderr] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stderr] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stderr] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stderr] 279 | |     } {
[INFO] [stderr] ...   |
[INFO] [stderr] 288 | |     }
[INFO] [stderr] 289 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/traits.rs:61:18
[INFO] [stderr]    |
[INFO] [stderr] 61 |             n @ 1...3 => Ok(n as usize),
[INFO] [stderr]    |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:145:20
[INFO] [stderr]     |
[INFO] [stderr] 145 |             0x00_00...0xd7_ff | 0xe0_00...0xff_ff => Ok(false),
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:145:40
[INFO] [stderr]     |
[INFO] [stderr] 145 |             0x00_00...0xd7_ff | 0xe0_00...0xff_ff => Ok(false),
[INFO] [stderr]     |                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:146:20
[INFO] [stderr]     |
[INFO] [stderr] 146 |             0xd8_00...0xdb_ff => Ok(true),
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:497:31
[INFO] [stderr]     |
[INFO] [stderr] 497 |             (Some(&u @ 0x00_00...0xd7_ff), _) |
[INFO] [stderr]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:498:31
[INFO] [stderr]     |
[INFO] [stderr] 498 |             (Some(&u @ 0xe0_00...0xff_ff), _)
[INFO] [stderr]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:500:19
[INFO] [stderr]     |
[INFO] [stderr] 500 |             (Some(&0xdc_00...0xdf_ff), _) => Err(FirstLowSurrogate),
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xdc_00..=0xdf_ff)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:502:31
[INFO] [stderr]     |
[INFO] [stderr] 502 |             (Some(&f @ 0xd8_00...0xdb_ff), Some(&s @ 0xdc_00...0xdf_ff))
[INFO] [stderr]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:502:61
[INFO] [stderr]     |
[INFO] [stderr] 502 |             (Some(&f @ 0xd8_00...0xdb_ff), Some(&s @ 0xdc_00...0xdf_ff))
[INFO] [stderr]     |                                                             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:504:19
[INFO] [stderr]     |
[INFO] [stderr] 504 |             (Some(&0xd8_00...0xdb_ff), Some(_)) => Err(SecondNotLowSurrogate),
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xd8_00..=0xdb_ff)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:505:19
[INFO] [stderr]     |
[INFO] [stderr] 505 |             (Some(&0xd8_00...0xdb_ff), None) => Err(MissingSecond),
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xd8_00..=0xdb_ff)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:526:21
[INFO] [stderr]     |
[INFO] [stderr] 526 |             (0x00_00...0xd7_ff, None) | // single
[INFO] [stderr]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:527:21
[INFO] [stderr]     |
[INFO] [stderr] 527 |             (0xe0_00...0xff_ff, None) | // single
[INFO] [stderr]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:528:21
[INFO] [stderr]     |
[INFO] [stderr] 528 |             (0xd8_00...0xdb_ff, Some(0xdc_00...0xdf_ff)) // correct surrogate
[INFO] [stderr]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:528:45
[INFO] [stderr]     |
[INFO] [stderr] 528 |             (0xd8_00...0xdb_ff, Some(0xdc_00...0xdf_ff)) // correct surrogate
[INFO] [stderr]     |                                             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:530:21
[INFO] [stderr]     |
[INFO] [stderr] 530 |             (0xd8_00...0xdb_ff, Some(_)) => Err(InvalidSecond),
[INFO] [stderr]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:531:21
[INFO] [stderr]     |
[INFO] [stderr] 531 |             (0xd8_00...0xdb_ff, None   ) => Err(MissingSecond),
[INFO] [stderr]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/traits.rs:532:21
[INFO] [stderr]     |
[INFO] [stderr] 532 |             (0xdc_00...0xdf_ff,    _   ) => Err(FirstIsTrailingSurrogate),
[INFO] [stderr]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/utf8_char.rs:85:19
[INFO] [stderr]    |
[INFO] [stderr] 85 |             (a @ 0...0x00_7f, _) => {
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/utf8_char.rs:88:19
[INFO] [stderr]    |
[INFO] [stderr] 88 |             (u @ 0...0x07_ff, _) => {
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/utf8_char.rs:484:13
[INFO] [stderr]     |
[INFO] [stderr] 484 |             try!(char::from_utf8_array(utf8));
[INFO] [stderr]     |             ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/utf16_char.rs:442:14
[INFO] [stderr]     |
[INFO] [stderr] 442 |             0...127 => {// 1 byte => 1 unit
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/utf16_char.rs:446:24
[INFO] [stderr]     |
[INFO] [stderr] 446 |             0b1000_0000...0b1101_1111 => {// 2 bytes => 1 unit
[INFO] [stderr]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/utf16_char.rs:451:24
[INFO] [stderr]     |
[INFO] [stderr] 451 |             0b1110_0000...0b1110_1111 => {// 3 bytes => 1 unit
[INFO] [stderr]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/decoding_iterators.rs:146:28
[INFO] [stderr]     |
[INFO] [stderr] 146 |                 0b0000_0000...0b0111_1111 => {/*1 and */Ok(())},
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/decoding_iterators.rs:147:28
[INFO] [stderr]     |
[INFO] [stderr] 147 |                 0b1100_0010...0b1101_1111 => {//2 and not overlong
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/decoding_iterators.rs:150:28
[INFO] [stderr]     |
[INFO] [stderr] 150 |                 0b1110_0000...0b1110_1111 => {//3
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/decoding_iterators.rs:163:28
[INFO] [stderr]     |
[INFO] [stderr] 163 |                 0b1111_0000...0b1111_0100 => {//4
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/decoding_iterators.rs:176:28
[INFO] [stderr]     |
[INFO] [stderr] 176 |                 0b1000_0000...0b1011_1111 => {// continuation byte
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/decoding_iterators.rs:179:28
[INFO] [stderr]     |
[INFO] [stderr] 179 |                 0b1100_0000...0b1100_0001 => {// 2 and overlong
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/decoding_iterators.rs:182:28
[INFO] [stderr]     |
[INFO] [stderr] 182 |                 0b1111_0101...0b1111_0111 => {// 4 and too high codepoint
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/decoding_iterators.rs:185:28
[INFO] [stderr]     |
[INFO] [stderr] 185 |                 0b1111_1000...0b1111_1111 => {
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:34:37
[INFO] [stderr]    |
[INFO] [stderr] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stderr]    |                                       ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 | / single_cause!{
[INFO] [stderr] 51 | |     /// Cannot tell whether an `u16` needs an extra unit,
[INFO] [stderr] 52 | |     /// because it's a trailing surrogate itself.
[INFO] [stderr] 53 | |     InvalidUtf16FirstUnit => "is a trailing surrogate"
[INFO] [stderr] 54 | | }
[INFO] [stderr]    | |_- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:34:37
[INFO] [stderr]    |
[INFO] [stderr] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stderr]    |                                       ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 | / single_cause!{
[INFO] [stderr] 57 | |     /// Cannot create an `Utf8Char` or `Utf16Char` from the first codepoint of a str,
[INFO] [stderr] 58 | |     /// because there are none.
[INFO] [stderr] 59 | |     EmptyStrError => "is empty"
[INFO] [stderr] 60 | | }
[INFO] [stderr]    | |_- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:34:37
[INFO] [stderr]    |
[INFO] [stderr] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stderr]    |                                       ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 | / single_cause!{
[INFO] [stderr] 63 | |     /// Cannot create an `Utf8Char` from a standalone `u8`
[INFO] [stderr] 64 | |     /// that is not an ASCII character.
[INFO] [stderr] 65 | |     NonAsciiError => "is not an ASCII character"
[INFO] [stderr] 66 | | }
[INFO] [stderr]    | |_- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:34:37
[INFO] [stderr]    |
[INFO] [stderr] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stderr]    |                                       ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 68 | / single_cause!{
[INFO] [stderr] 69 | |     /// Cannot create an `Utf16Char` from a standalone `u16` that is not a
[INFO] [stderr] 70 | |     /// codepoint in the basic multilingual plane, but part of a suurrogate pair.
[INFO] [stderr] 71 | |     NonBMPError => "is not a codepoint in the basic multilingual plane"
[INFO] [stderr] 72 | | }
[INFO] [stderr]    | |_- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:34:37
[INFO] [stderr]    |
[INFO] [stderr] 34 |               write!(fmtr, "{}", self.description())
[INFO] [stderr]    |                                       ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 88 | / simple!{/// Reasons why an `u32` is not a valid UTF codepoint.
[INFO] [stderr] 89 | |     InvalidCodepoint {
[INFO] [stderr] 90 | |         /// It's reserved for UTF-16 surrogate pairs."
[INFO] [stderr] 91 | |         ::Utf16Reserved => "is reserved for UTF-16 surrogate pairs",
[INFO] [stderr] 92 | |         /// It's higher than the highest codepoint (which is 0x10ffff).
[INFO] [stderr] 93 | |         ::TooHigh => "is higher than the highest codepoint",
[INFO] [stderr] 94 | |     }}
[INFO] [stderr]    | |______- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/errors.rs:34:37
[INFO] [stderr]     |
[INFO] [stderr] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stderr]     |                                       ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 105 | / simple!{/// Reasons why a `[u16; 2]` doesn't form a valid UTF-16 codepoint.
[INFO] [stderr] 106 | |     InvalidUtf16Array {
[INFO] [stderr] 107 | |         /// The first unit is a trailing/low surrogate, which is never valid.
[INFO] [stderr] 108 | |         ::FirstIsTrailingSurrogate => "the first unit is a trailing surrogate, which is never valid",
[INFO] [stderr] 109 | |         /// The second unit is needed, but is not a trailing surrogate.
[INFO] [stderr] 110 | |         ::SecondIsNotTrailingSurrogate => "the second unit is needed but is not a trailing surrogate",
[INFO] [stderr] 111 | |     }}
[INFO] [stderr]     | |______- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/errors.rs:34:37
[INFO] [stderr]     |
[INFO] [stderr] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stderr]     |                                       ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 113 | / simple!{/// Reasons why one or two `u16`s are not valid UTF-16, in sinking precedence.
[INFO] [stderr] 114 | |     InvalidUtf16Tuple {
[INFO] [stderr] 115 | |         /// The first unit is a trailing/low surrogate, which is never valid.
[INFO] [stderr] 116 | |         ///
[INFO] [stderr] ...   |
[INFO] [stderr] 126 | |         ::InvalidSecond => "the required second unit is not a trailing / low surrogate",
[INFO] [stderr] 127 | |     }}
[INFO] [stderr]     | |______- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/errors.rs:34:37
[INFO] [stderr]     |
[INFO] [stderr] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stderr]     |                                       ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 130 | / simple!{/// Reasons why a slice of `u16`s doesn't start with valid UTF-16.
[INFO] [stderr] 131 | |     InvalidUtf16Slice {
[INFO] [stderr] 132 | |         /// The slice is empty.
[INFO] [stderr] 133 | |         ::EmptySlice => "the slice is empty",
[INFO] [stderr] ...   |
[INFO] [stderr] 139 | |         ::SecondNotLowSurrogate => "the required second unit is not a trailing surrogate",
[INFO] [stderr] 140 | |     }}
[INFO] [stderr]     | |______- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/errors.rs:34:37
[INFO] [stderr]     |
[INFO] [stderr] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stderr]     |                                       ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 142 | / simple!{/// Types of invalid sequences encountered by `Utf16CharParser`.
[INFO] [stderr] 143 | |     Utf16PairError {
[INFO] [stderr] 144 | |         /// A trailing surrogate was not preceeded by a leading surrogate.
[INFO] [stderr] 145 | |         ::UnexpectedTrailingSurrogate => "a trailing surrogate was not preceeded by a leading surrogate",
[INFO] [stderr] ...   |
[INFO] [stderr] 149 | |         ::Incomplete => "a trailing surrogate was expected when the end was reached",
[INFO] [stderr] 150 | |     }}
[INFO] [stderr]     | |______- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/errors.rs:34:37
[INFO] [stderr]     |
[INFO] [stderr] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stderr]     |                                       ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 153 | / simple!{/// Reasons why `Utf8Char::from_str()` or `Utf16Char::from_str()` failed.
[INFO] [stderr] 154 | |     FromStrError {
[INFO] [stderr] 155 | |         /// `Utf8Char` or `Utf16Char` cannot store more than a single codepoint.
[INFO] [stderr] 156 | |         ::MultipleCodepoints => "has more than one codepoint",
[INFO] [stderr] 157 | |         /// `Utf8Char` or `Utf16Char` cannot be empty.
[INFO] [stderr] 158 | |         ::Empty => "is empty",
[INFO] [stderr] 159 | |     }}
[INFO] [stderr]     | |______- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/errors.rs:34:37
[INFO] [stderr]     |
[INFO] [stderr] 34  |               write!(fmtr, "{}", self.description())
[INFO] [stderr]     |                                       ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 162 | / simple!{/// Reasons why a byte is not the start of a UTF-8 codepoint.
[INFO] [stderr] 163 | |     InvalidUtf8FirstByte {
[INFO] [stderr] 164 | |         /// Sequences cannot be longer than 4 bytes. Is given for values >= 240.
[INFO] [stderr] 165 | |         ::TooLongSeqence => "is greater than 247 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stderr] 166 | |         /// This byte belongs to a previous sequence. Is given for values between 128 and 192 (exclusive).
[INFO] [stderr] 167 | |         ::ContinuationByte => "is a continuation of a previous sequence",
[INFO] [stderr] 168 | |     }}
[INFO] [stderr]     | |______- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `description` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stderr]    --> src/errors.rs:206:25
[INFO] [stderr]     |
[INFO] [stderr] 206 |               match (self.cause(), $use_cause) {
[INFO] [stderr]     |                           ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 231 | / complex!{InvalidUtf8 {
[INFO] [stderr] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stderr] 233 | |     } {
[INFO] [stderr] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stderr] ...   |
[INFO] [stderr] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stderr] 242 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/errors.rs:207:63
[INFO] [stderr]     |
[INFO] [stderr] 207 |                   (Some(d),true) => write!(fmtr, "{}: {}", self.description(), d),
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 231 | / complex!{InvalidUtf8 {
[INFO] [stderr] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stderr] 233 | |     } {
[INFO] [stderr] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stderr] ...   |
[INFO] [stderr] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stderr] 242 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/errors.rs:208:59
[INFO] [stderr]     |
[INFO] [stderr] 208 |                           _      => write!(fmtr, "{}", self.description()),
[INFO] [stderr]     |                                                             ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 231 | / complex!{InvalidUtf8 {
[INFO] [stderr] 232 | |         InvalidUtf8FirstByte => FirstByte,
[INFO] [stderr] 233 | |     } {
[INFO] [stderr] 234 | |         FirstByte(TooLongSeqence) => "the first byte is greater than 239 (UTF-8 sequences cannot be longer than four bytes)",
[INFO] [stderr] ...   |
[INFO] [stderr] 241 | |     }/// Returns `Some` if the error is a `InvalidUtf8FirstByte`.
[INFO] [stderr] 242 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stderr]    --> src/errors.rs:206:25
[INFO] [stderr]     |
[INFO] [stderr] 206 |               match (self.cause(), $use_cause) {
[INFO] [stderr]     |                           ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 253 | / complex!{InvalidUtf8Array {
[INFO] [stderr] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stderr] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stderr] 256 | |     } {
[INFO] [stderr] ...   |
[INFO] [stderr] 262 | |     }/// Always returns `Some`.
[INFO] [stderr] 263 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/errors.rs:207:63
[INFO] [stderr]     |
[INFO] [stderr] 207 |                   (Some(d),true) => write!(fmtr, "{}: {}", self.description(), d),
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 253 | / complex!{InvalidUtf8Array {
[INFO] [stderr] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stderr] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stderr] 256 | |     } {
[INFO] [stderr] ...   |
[INFO] [stderr] 262 | |     }/// Always returns `Some`.
[INFO] [stderr] 263 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/errors.rs:208:59
[INFO] [stderr]     |
[INFO] [stderr] 208 |                           _      => write!(fmtr, "{}", self.description()),
[INFO] [stderr]     |                                                             ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 253 | / complex!{InvalidUtf8Array {
[INFO] [stderr] 254 | |         InvalidUtf8 => InvalidUtf8Array::Utf8,
[INFO] [stderr] 255 | |         InvalidCodepoint => InvalidUtf8Array::Codepoint,
[INFO] [stderr] 256 | |     } {
[INFO] [stderr] ...   |
[INFO] [stderr] 262 | |     }/// Always returns `Some`.
[INFO] [stderr] 263 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stderr]    --> src/errors.rs:206:25
[INFO] [stderr]     |
[INFO] [stderr] 206 |               match (self.cause(), $use_cause) {
[INFO] [stderr]     |                           ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stderr] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stderr] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stderr] 279 | |     } {
[INFO] [stderr] ...   |
[INFO] [stderr] 288 | |     }
[INFO] [stderr] 289 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/errors.rs:207:63
[INFO] [stderr]     |
[INFO] [stderr] 207 |                   (Some(d),true) => write!(fmtr, "{}: {}", self.description(), d),
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stderr] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stderr] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stderr] 279 | |     } {
[INFO] [stderr] ...   |
[INFO] [stderr] 288 | |     }
[INFO] [stderr] 289 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/errors.rs:208:59
[INFO] [stderr]     |
[INFO] [stderr] 208 |                           _      => write!(fmtr, "{}", self.description()),
[INFO] [stderr]     |                                                             ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 276 | / complex!{InvalidUtf8Slice {
[INFO] [stderr] 277 | |         InvalidUtf8 => InvalidUtf8Slice::Utf8,
[INFO] [stderr] 278 | |         InvalidCodepoint => InvalidUtf8Slice::Codepoint,
[INFO] [stderr] 279 | |     } {
[INFO] [stderr] ...   |
[INFO] [stderr] 288 | |     }
[INFO] [stderr] 289 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `complex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/traits.rs:506:13
[INFO] [stderr]     |
[INFO] [stderr] 506 |             (Some(_), _) => unreachable!()
[INFO] [stderr]     |             ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/traits.rs:534:13
[INFO] [stderr]     |
[INFO] [stderr] 534 |             (        _        , None   ) => unreachable!()
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/decoding_iterators.rs:188:17
[INFO] [stderr]     |
[INFO] [stderr] 188 |                 _ => unreachable!("all possible byte values should be covered")
[INFO] [stderr]     |                 ^
[INFO] [stderr] 
[INFO] [stderr] warning: `encode_unicode` (lib) generated 58 warnings
[INFO] [stderr] warning: `encode_unicode` (lib test) generated 58 warnings (58 duplicates)
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> tests/errs.rs:44:25
[INFO] [stderr]    |
[INFO] [stderr] 44 |             0b_1000_0000...0b_1011_1111 => Err(ContinuationByte),
[INFO] [stderr]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> tests/errs.rs:45:25
[INFO] [stderr]    |
[INFO] [stderr] 45 |             0b_1111_1000...0b_1111_1111 => Err(TooLongSeqence),
[INFO] [stderr]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> tests/errs.rs:46:25
[INFO] [stderr]    |
[INFO] [stderr] 46 |             0b_0000_0000...0b_0111_1111 => Ok(0),
[INFO] [stderr]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> tests/errs.rs:47:25
[INFO] [stderr]    |
[INFO] [stderr] 47 |             0b_1100_0000...0b_1101_1111 => Ok(1),
[INFO] [stderr]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> tests/errs.rs:48:25
[INFO] [stderr]    |
[INFO] [stderr] 48 |             0b_1110_0000...0b_1110_1111 => Ok(2),
[INFO] [stderr]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> tests/errs.rs:49:25
[INFO] [stderr]    |
[INFO] [stderr] 49 |             0b_1111_0000...0b_1111_0111 => Ok(3),
[INFO] [stderr]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> tests/errs.rs:59:35
[INFO] [stderr]    |
[INFO] [stderr] 59 |             0b_0000_0000_0000_0000...0b_1101_0111_1111_1111 => Ok(false),
[INFO] [stderr]    |                                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> tests/errs.rs:60:35
[INFO] [stderr]    |
[INFO] [stderr] 60 |             0b_1101_1000_0000_0000...0b_1101_1011_1111_1111 => Ok(true),
[INFO] [stderr]    |                                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> tests/errs.rs:61:35
[INFO] [stderr]    |
[INFO] [stderr] 61 |             0b_1101_1100_0000_0000...0b_1101_1111_1111_1111 => Err(InvalidUtf16FirstUnit),
[INFO] [stderr]    |                                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> tests/errs.rs:62:35
[INFO] [stderr]    |
[INFO] [stderr] 62 |             0b_1110_0000_0000_0000...0b_1111_1111_1111_1111 => Ok(false),
[INFO] [stderr]    |                                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `encode_unicode` (test "errs") generated 10 warnings
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/encode_unicode-51bfe45e18befab1)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/errs.rs (/opt/rustwide/target/debug/deps/errs-bd19f3c97176742d)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test from_str_start ... ok
[INFO] [stdout] test utf8_codepoint_is_too_high ... ok
[INFO] [stdout] test utf8_codepoint_is_utf16_reserved ... ok
[INFO] [stdout] test utf8_extra_bytes ... ok
[INFO] [stdout] test from_u32 ... ok
[INFO] [stdout] test utf8_not_continuation_byte ... ok
[INFO] [stdout] test from_utf16_slice_start ... ok
[INFO] [stdout] test utf8_overlong ... ok
[INFO] [stdout] test utf8_first_is_continuation_byte ... ok
[INFO] [stdout] test utf8_too_long ... ok
[INFO] [stdout] test utf16_extra_unit ... ok
[INFO] [stdout] test from_utf16_tuple ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/exhaustive.rs (/opt/rustwide/target/debug/deps/exhaustive-8302ac938bdf9ef8)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test from_ascii ... ok
[INFO] [stdout] test from_bmp ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/iterators.rs (/opt/rustwide/target/debug/deps/iterators-91a843700ce051a3)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test read_single_ascii ... ok
[INFO] [stdout] test utf16charmerger ... ok
[INFO] [stdout] test utf8chardecoder ... ok
[INFO] [stdout] test utf8charmerger ... ok
[INFO] [stdout] test utf16chardecoder ... ok
[INFO] [stdout] test utf8charsplitter_alternate_iter_read ... ok
[INFO] [stdout] test utf8charsplitter_read_all_sizes ... ok
[INFO] [stdout] test read_single_nonascii ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/oks.rs (/opt/rustwide/target/debug/deps/oks-bcbd1716dbc985b9)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test all ... ignored
[INFO] [stdout] test same_size_as_char ... ok
[INFO] [stdout] test utf16chars_to_string ... ok
[INFO] [stdout] test equal_defaults ... ok
[INFO] [stdout] test edges_middle ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests encode_unicode
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> /opt/rustwide/workdir/src/traits.rs:61:18
[INFO] [stderr]    |
[INFO] [stderr] 61 |             n @ 1...3 => Ok(n as usize),
[INFO] [stderr]    |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:145:20
[INFO] [stderr]     |
[INFO] [stderr] 145 |             0x00_00...0xd7_ff | 0xe0_00...0xff_ff => Ok(false),
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:145:40
[INFO] [stderr]     |
[INFO] [stderr] 145 |             0x00_00...0xd7_ff | 0xe0_00...0xff_ff => Ok(false),
[INFO] [stderr]     |                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:146:20
[INFO] [stderr]     |
[INFO] [stderr] 146 |             0xd8_00...0xdb_ff => Ok(true),
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:497:31
[INFO] [stderr]     |
[INFO] [stderr] 497 |             (Some(&u @ 0x00_00...0xd7_ff), _) |
[INFO] [stderr]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:498:31
[INFO] [stderr]     |
[INFO] [stderr] 498 |             (Some(&u @ 0xe0_00...0xff_ff), _)
[INFO] [stderr]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:500:19
[INFO] [stderr]     |
[INFO] [stderr] 500 |             (Some(&0xdc_00...0xdf_ff), _) => Err(FirstLowSurrogate),
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xdc_00..=0xdf_ff)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:502:31
[INFO] [stderr]     |
[INFO] [stderr] 502 |             (Some(&f @ 0xd8_00...0xdb_ff), Some(&s @ 0xdc_00...0xdf_ff))
[INFO] [stderr]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:502:61
[INFO] [stderr]     |
[INFO] [stderr] 502 |             (Some(&f @ 0xd8_00...0xdb_ff), Some(&s @ 0xdc_00...0xdf_ff))
[INFO] [stderr]     |                                                             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:504:19
[INFO] [stderr]     |
[INFO] [stderr] 504 |             (Some(&0xd8_00...0xdb_ff), Some(_)) => Err(SecondNotLowSurrogate),
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xd8_00..=0xdb_ff)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:505:19
[INFO] [stderr]     |
[INFO] [stderr] 505 |             (Some(&0xd8_00...0xdb_ff), None) => Err(MissingSecond),
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^ help: use `..=` for an inclusive range: `&(0xd8_00..=0xdb_ff)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:526:21
[INFO] [stderr]     |
[INFO] [stderr] 526 |             (0x00_00...0xd7_ff, None) | // single
[INFO] [stderr]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:527:21
[INFO] [stderr]     |
[INFO] [stderr] 527 |             (0xe0_00...0xff_ff, None) | // single
[INFO] [stderr]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:528:21
[INFO] [stderr]     |
[INFO] [stderr] 528 |             (0xd8_00...0xdb_ff, Some(0xdc_00...0xdf_ff)) // correct surrogate
[INFO] [stderr]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:528:45
[INFO] [stderr]     |
[INFO] [stderr] 528 |             (0xd8_00...0xdb_ff, Some(0xdc_00...0xdf_ff)) // correct surrogate
[INFO] [stderr]     |                                             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:530:21
[INFO] [stderr]     |
[INFO] [stderr] 530 |             (0xd8_00...0xdb_ff, Some(_)) => Err(InvalidSecond),
[INFO] [stderr]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:531:21
[INFO] [stderr]     |
[INFO] [stderr] 531 |             (0xd8_00...0xdb_ff, None   ) => Err(MissingSecond),
[INFO] [stderr]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/traits.rs:532:21
[INFO] [stderr]     |
[INFO] [stderr] 532 |             (0xdc_00...0xdf_ff,    _   ) => Err(FirstIsTrailingSurrogate),
[INFO] [stderr]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> /opt/rustwide/workdir/src/utf8_char.rs:85:19
[INFO] [stderr]    |
[INFO] [stderr] 85 |             (a @ 0...0x00_7f, _) => {
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> /opt/rustwide/workdir/src/utf8_char.rs:88:19
[INFO] [stderr]    |
[INFO] [stderr] 88 |             (u @ 0...0x07_ff, _) => {
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/utf16_char.rs:442:14
[INFO] [stderr]     |
[INFO] [stderr] 442 |             0...127 => {// 1 byte => 1 unit
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/utf16_char.rs:446:24
[INFO] [stderr]     |
[INFO] [stderr] 446 |             0b1000_0000...0b1101_1111 => {// 2 bytes => 1 unit
[INFO] [stderr]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/utf16_char.rs:451:24
[INFO] [stderr]     |
[INFO] [stderr] 451 |             0b1110_0000...0b1110_1111 => {// 3 bytes => 1 unit
[INFO] [stderr]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/decoding_iterators.rs:146:28
[INFO] [stderr]     |
[INFO] [stderr] 146 |                 0b0000_0000...0b0111_1111 => {/*1 and */Ok(())},
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/decoding_iterators.rs:147:28
[INFO] [stderr]     |
[INFO] [stderr] 147 |                 0b1100_0010...0b1101_1111 => {//2 and not overlong
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/decoding_iterators.rs:150:28
[INFO] [stderr]     |
[INFO] [stderr] 150 |                 0b1110_0000...0b1110_1111 => {//3
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/decoding_iterators.rs:163:28
[INFO] [stderr]     |
[INFO] [stderr] 163 |                 0b1111_0000...0b1111_0100 => {//4
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/decoding_iterators.rs:176:28
[INFO] [stderr]     |
[INFO] [stderr] 176 |                 0b1000_0000...0b1011_1111 => {// continuation byte
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/decoding_iterators.rs:179:28
[INFO] [stderr]     |
[INFO] [stderr] 179 |                 0b1100_0000...0b1100_0001 => {// 2 and overlong
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/decoding_iterators.rs:182:28
[INFO] [stderr]     |
[INFO] [stderr] 182 |                 0b1111_0101...0b1111_0111 => {// 4 and too high codepoint
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/decoding_iterators.rs:185:28
[INFO] [stderr]     |
[INFO] [stderr] 185 |                 0b1111_1000...0b1111_1111 => {
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: 31 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 54 tests
[INFO] [stdout] test src/decoding_iterators.rs - decoding_iterators::Utf16CharMerger<B, I>::into_remaining_units (line 366) ... ok
[INFO] [stdout] test src/traits.rs - traits::CharExt::to_utf16_array (line 200) ... ok
[INFO] [stdout] test src/traits.rs - traits::CharExt::to_utf16_tuple (line 214) ... ok
[INFO] [stdout] test src/decoding_iterators.rs - decoding_iterators::Utf8CharMerger<B, I>::into_inner (line 75) ... ok
[INFO] [stdout] test src/traits.rs - traits::CharExt::from_utf16_array_unchecked (line 333) ... ok
[INFO] [stdout] test src/decoding_iterators.rs - decoding_iterators::Utf8CharDecoder::as_slice (line 241) ... ok
[INFO] [stdout] test src/decoding_iterators.rs - decoding_iterators::Utf16CharMerger<B, I>::into_inner (line 338) ... ok
[INFO] [stdout] test src/traits.rs - traits::CharExt::from_u32_detailed (line 359) ... ok
[INFO] [stdout] test src/decoding_iterators.rs - decoding_iterators::Utf16CharMerger<B, I>::into_inner (line 348) ... ok
[INFO] [stdout] test src/traits.rs - traits::CharExt::from_utf8_slice_start (line 235) ... ok
[INFO] [stdout] test src/decoding_iterators.rs - decoding_iterators::Utf16CharDecoder::as_slice (line 445) ... ok
[INFO] [stdout] test src/traits.rs - traits::CharExt::from_utf16_array (line 290) ... ok
[INFO] [stdout] test src/traits.rs - traits::IterExt::to_bytes (line 673) ... ok
[INFO] [stdout] test src/decoding_iterators.rs - decoding_iterators::Utf8CharMerger<B, I>::into_inner (line 83) ... ok
[INFO] [stdout] test src/decoding_iterators.rs - decoding_iterators::Utf8CharMerger<B, I>::into_inner (line 66) ... ok
[INFO] [stdout] test src/traits.rs - traits::CharExt::from_utf8_array (line 267) ... ok
[INFO] [stdout] test src/traits.rs - traits::IterExt::to_bytes (line 685) ... ok
[INFO] [stdout] test src/traits.rs - traits::IterExt::to_units (line 725) ... ok
[INFO] [stdout] test src/traits.rs - traits::IterExt::to_bytes (line 697) ... ok
[INFO] [stdout] test src/traits.rs - traits::IterExt::to_utf16chars (line 843) ... ok
[INFO] [stdout] test src/traits.rs - traits::SliceExt::utf16char_indices (line 958) ... ok
[INFO] [stdout] test src/traits.rs - traits::SliceExt::utf16char_indices (line 989) ... ok
[INFO] [stdout] test src/traits.rs - traits::IterExt::to_utf8chars (line 762) ... ok
[INFO] [stdout] test src/traits.rs - traits::IterExt::to_utf16chars (line 826) ... ok
[INFO] [stdout] test src/traits.rs - traits::IterExt::to_utf16chars (line 814) ... ok
[INFO] [stdout] test src/traits.rs - traits::SliceExt::utf8char_indices (line 883) ... ok
[INFO] [stdout] test src/traits.rs - traits::SliceExt::utf8char_indices (line 912) ... ok
[INFO] [stdout] test src/traits.rs - traits::SliceExt::utf8char_indices (line 895) ... ok
[INFO] [stdout] test src/traits.rs - traits::IterExt::to_utf8chars (line 793) ... ok
[INFO] [stdout] test src/traits.rs - traits::IterExt::to_units (line 738) ... ok
[INFO] [stdout] test src/utf16_char.rs - utf16_char::Utf16Char (line 367) ... ok
[INFO] [stdout] test src/traits.rs - traits::IterExt::to_utf8chars (line 778) ... ok
[INFO] [stdout] test src/traits.rs - traits::SliceExt::utf16char_indices (line 976) ... ok
[INFO] [stdout] test src/utf16_char.rs - utf16_char::Utf16Char (line 352) ... ok
[INFO] [stdout] test src/utf16_char.rs - utf16_char::Utf16Char::from_array (line 495) ... ok
[INFO] [stdout] test src/utf16_char.rs - utf16_char::Utf16Char::from_bmp (line 556) ... ok
[INFO] [stdout] test src/utf16_char.rs - utf16_char::Utf16Char::is_bmp (line 584) ... ok
[INFO] [stdout] test src/utf8_char.rs - utf8_char::Utf8Char (line 337) ... ok
[INFO] [stdout] test src/utf16_char.rs - utf16_char::Utf16Char::from_str_start (line 426) ... ok
[INFO] [stdout] test src/utf16_iterators.rs - utf16_iterators::Utf16CharIndices::as_str (line 172) ... ok
[INFO] [stdout] test src/utf16_iterators.rs - utf16_iterators::iter_units (line 94) ... ok
[INFO] [stdout] test src/utf16_iterators.rs - utf16_iterators::iter_units (line 82) ... ok
[INFO] [stdout] test src/utf16_char.rs - utf16_char::Utf16Char::from_str (line 60) ... ok
[INFO] [stdout] test src/utf8_char.rs - utf8_char::Utf8Char::from_array (line 466) ... ok
[INFO] [stdout] test src/utf8_char.rs - utf8_char::Utf8Char::from_ascii (line 514) ... ok
[INFO] [stdout] test src/utf8_char.rs - utf8_char::Utf8Char::from_slice_start (line 423) ... ok
[INFO] [stdout] test src/utf16_iterators.rs - utf16_iterators::Utf16Chars::as_str (line 239) ... ok
[INFO] [stdout] test src/utf8_char.rs - utf8_char::Utf8Char::from_str (line 59) ... ok
[INFO] [stdout] test src/utf8_char.rs - utf8_char::Utf8Char::from_str_start (line 393) ... ok
[INFO] [stdout] test src/utf8_iterators.rs - utf8_iterators::Utf8CharIndices::as_str (line 252) ... ok
[INFO] [stdout] test src/utf8_iterators.rs - utf8_iterators::iter_bytes (line 128) ... ok
[INFO] [stdout] test src/utf8_iterators.rs - utf8_iterators::Utf8Chars::as_str (line 321) ... ok
[INFO] [stdout] test src/utf8_iterators.rs - utf8_iterators::iter_bytes (line 104) ... ok
[INFO] [stdout] test src/utf8_iterators.rs - utf8_iterators::iter_bytes (line 116) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.43s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a8ccacf3827fb30cea0099881be44f42f09bcf83a5c5b39ccdc8e336916f83ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8ccacf3827fb30cea0099881be44f42f09bcf83a5c5b39ccdc8e336916f83ee", kill_on_drop: false }`
[INFO] [stdout] a8ccacf3827fb30cea0099881be44f42f09bcf83a5c5b39ccdc8e336916f83ee
