[INFO] fetching crate azul-simplecss 0.1.1...
[INFO] testing azul-simplecss-0.1.1 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate azul-simplecss 0.1.1 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate azul-simplecss 0.1.1
[INFO] finished tweaking crates.io crate azul-simplecss 0.1.1
[INFO] tweaked toml for crates.io crate azul-simplecss 0.1.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate azul-simplecss 0.1.1 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e5f831485c021bf34253f8caac39dcead9ce1535035e9b4827c66d4e6e61174d
[INFO] running `Command { std: "docker" "start" "-a" "e5f831485c021bf34253f8caac39dcead9ce1535035e9b4827c66d4e6e61174d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e5f831485c021bf34253f8caac39dcead9ce1535035e9b4827c66d4e6e61174d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5f831485c021bf34253f8caac39dcead9ce1535035e9b4827c66d4e6e61174d", kill_on_drop: false }`
[INFO] [stdout] e5f831485c021bf34253f8caac39dcead9ce1535035e9b4827c66d4e6e61174d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 441d00daa18b5def28d75bdd63fae0abe977a41956101deaac13dae0ef5e1fa5
[INFO] running `Command { std: "docker" "start" "-a" "441d00daa18b5def28d75bdd63fae0abe977a41956101deaac13dae0ef5e1fa5", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling azul-simplecss v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/stream.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         b'A'...b'Z' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/stream.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         b'a'...b'z' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/stream.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         b'0'...b'9' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stream.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         try!(self.adv_bound_check(n));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:176:25
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 let s = try!(self.consume_ident());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:183:25
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 let s = try!(self.consume_ident());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 let s = try!(self.consume_ident());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:229:27
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 let len = try!(self.stream.length_to(b']'));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:272:20
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 if try!(self.consume_comment()) {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:297:25
[INFO] [stdout]     |
[INFO] [stdout] 297 |                 let s = try!(self.consume_ident());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:338:20
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 if try!(self.consume_comment()) {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:350:25
[INFO] [stdout]     |
[INFO] [stdout] 350 |                     if !try!(self.consume_comment()) {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:367:25
[INFO] [stdout]     |
[INFO] [stdout] 367 |                     if !try!(self.consume_comment()) {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:385:23
[INFO] [stdout]     |
[INFO] [stdout] 385 |                 while try!(self.stream.is_char_eq(b';')) {
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:400:17
[INFO] [stdout]     |
[INFO] [stdout] 400 |                 try!(self.stream.advance(1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:417:12
[INFO] [stdout]     |
[INFO] [stdout] 417 |         if try!(self.stream.is_char_eq(b'*')) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:422:17
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 try!(self.stream.advance(len + 1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:421:27
[INFO] [stdout]     |
[INFO] [stdout] 421 |                 let len = try!(self.stream.length_to(b'*'));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:423:20
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 if try!(self.stream.is_char_eq(b'/')) {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/stream.rs:48:22
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn new(text: &[u8]) -> Stream {
[INFO] [stdout]    |                      ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn new(text: &[u8]) -> Stream<'_> {
[INFO] [stdout]    |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/stream.rs:58:28
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn new_bound(text: &[u8], start: usize, end: usize) -> Stream {
[INFO] [stdout]    |                            ^^^^^ the lifetime is elided here   ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn new_bound(text: &[u8], start: usize, end: usize) -> Stream<'_> {
[INFO] [stdout]    |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/tokenizer.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |     PseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/tokenizer.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |     PseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/tokenizer.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |     DoublePseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/tokenizer.rs:88:44
[INFO] [stdout]    |
[INFO] [stdout] 88 |     DoublePseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tokenizer.rs:113:22
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn new(text: &str) -> Tokenizer {
[INFO] [stdout]     |                      ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn new(text: &str) -> Tokenizer<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tokenizer.rs:130:28
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn new_bound(text: &str, start: usize, end: usize) -> Tokenizer {
[INFO] [stdout]     |                            ^^^^ the lifetime is elided here   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn new_bound(text: &str, start: usize, end: usize) -> Tokenizer<'_> {
[INFO] [stdout]     |                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.33s
[INFO] running `Command { std: "docker" "inspect" "441d00daa18b5def28d75bdd63fae0abe977a41956101deaac13dae0ef5e1fa5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "441d00daa18b5def28d75bdd63fae0abe977a41956101deaac13dae0ef5e1fa5", kill_on_drop: false }`
[INFO] [stdout] 441d00daa18b5def28d75bdd63fae0abe977a41956101deaac13dae0ef5e1fa5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c55aa867b76cf22ebd4ed6726ef68c5900174c554c77e9bced805e76c5790640
[INFO] running `Command { std: "docker" "start" "-a" "c55aa867b76cf22ebd4ed6726ef68c5900174c554c77e9bced805e76c5790640", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling azul-simplecss v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/stream.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         b'A'...b'Z' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/stream.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         b'a'...b'z' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/stream.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         b'0'...b'9' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stream.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         try!(self.adv_bound_check(n));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:176:25
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 let s = try!(self.consume_ident());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:183:25
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 let s = try!(self.consume_ident());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 let s = try!(self.consume_ident());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:229:27
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 let len = try!(self.stream.length_to(b']'));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:272:20
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 if try!(self.consume_comment()) {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:297:25
[INFO] [stdout]     |
[INFO] [stdout] 297 |                 let s = try!(self.consume_ident());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:338:20
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 if try!(self.consume_comment()) {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:350:25
[INFO] [stdout]     |
[INFO] [stdout] 350 |                     if !try!(self.consume_comment()) {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:367:25
[INFO] [stdout]     |
[INFO] [stdout] 367 |                     if !try!(self.consume_comment()) {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:385:23
[INFO] [stdout]     |
[INFO] [stdout] 385 |                 while try!(self.stream.is_char_eq(b';')) {
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:400:17
[INFO] [stdout]     |
[INFO] [stdout] 400 |                 try!(self.stream.advance(1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:417:12
[INFO] [stdout]     |
[INFO] [stdout] 417 |         if try!(self.stream.is_char_eq(b'*')) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:422:17
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 try!(self.stream.advance(len + 1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:421:27
[INFO] [stdout]     |
[INFO] [stdout] 421 |                 let len = try!(self.stream.length_to(b'*'));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:423:20
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 if try!(self.stream.is_char_eq(b'/')) {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/stream.rs:48:22
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn new(text: &[u8]) -> Stream {
[INFO] [stdout]    |                      ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn new(text: &[u8]) -> Stream<'_> {
[INFO] [stdout]    |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/stream.rs:58:28
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn new_bound(text: &[u8], start: usize, end: usize) -> Stream {
[INFO] [stdout]    |                            ^^^^^ the lifetime is elided here   ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn new_bound(text: &[u8], start: usize, end: usize) -> Stream<'_> {
[INFO] [stdout]    |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/tokenizer.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |     PseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/tokenizer.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |     PseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/tokenizer.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |     DoublePseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/tokenizer.rs:88:44
[INFO] [stdout]    |
[INFO] [stdout] 88 |     DoublePseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tokenizer.rs:113:22
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn new(text: &str) -> Tokenizer {
[INFO] [stdout]     |                      ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn new(text: &str) -> Tokenizer<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tokenizer.rs:130:28
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn new_bound(text: &str, start: usize, end: usize) -> Tokenizer {
[INFO] [stdout]     |                            ^^^^ the lifetime is elided here   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn new_bound(text: &str, start: usize, end: usize) -> Tokenizer<'_> {
[INFO] [stdout]     |                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/stream.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         b'A'...b'Z' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/stream.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         b'a'...b'z' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/stream.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         b'0'...b'9' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stream.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         try!(self.adv_bound_check(n));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:176:25
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 let s = try!(self.consume_ident());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:183:25
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 let s = try!(self.consume_ident());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 let s = try!(self.consume_ident());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:229:27
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 let len = try!(self.stream.length_to(b']'));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:272:20
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 if try!(self.consume_comment()) {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:297:25
[INFO] [stdout]     |
[INFO] [stdout] 297 |                 let s = try!(self.consume_ident());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:338:20
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 if try!(self.consume_comment()) {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:350:25
[INFO] [stdout]     |
[INFO] [stdout] 350 |                     if !try!(self.consume_comment()) {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:367:25
[INFO] [stdout]     |
[INFO] [stdout] 367 |                     if !try!(self.consume_comment()) {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:385:23
[INFO] [stdout]     |
[INFO] [stdout] 385 |                 while try!(self.stream.is_char_eq(b';')) {
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:400:17
[INFO] [stdout]     |
[INFO] [stdout] 400 |                 try!(self.stream.advance(1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:417:12
[INFO] [stdout]     |
[INFO] [stdout] 417 |         if try!(self.stream.is_char_eq(b'*')) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:422:17
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 try!(self.stream.advance(len + 1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:421:27
[INFO] [stdout]     |
[INFO] [stdout] 421 |                 let len = try!(self.stream.length_to(b'*'));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:423:20
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 if try!(self.stream.is_char_eq(b'/')) {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/stream.rs:48:22
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn new(text: &[u8]) -> Stream {
[INFO] [stdout]    |                      ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn new(text: &[u8]) -> Stream<'_> {
[INFO] [stdout]    |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/stream.rs:58:28
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn new_bound(text: &[u8], start: usize, end: usize) -> Stream {
[INFO] [stdout]    |                            ^^^^^ the lifetime is elided here   ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn new_bound(text: &[u8], start: usize, end: usize) -> Stream<'_> {
[INFO] [stdout]    |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/tokenizer.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |     PseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/tokenizer.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |     PseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/tokenizer.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |     DoublePseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/tokenizer.rs:88:44
[INFO] [stdout]    |
[INFO] [stdout] 88 |     DoublePseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tokenizer.rs:113:22
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn new(text: &str) -> Tokenizer {
[INFO] [stdout]     |                      ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn new(text: &str) -> Tokenizer<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tokenizer.rs:130:28
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn new_bound(text: &str, start: usize, end: usize) -> Tokenizer {
[INFO] [stdout]     |                            ^^^^ the lifetime is elided here   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn new_bound(text: &str, start: usize, end: usize) -> Tokenizer<'_> {
[INFO] [stdout]     |                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.27s
[INFO] running `Command { std: "docker" "inspect" "c55aa867b76cf22ebd4ed6726ef68c5900174c554c77e9bced805e76c5790640", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c55aa867b76cf22ebd4ed6726ef68c5900174c554c77e9bced805e76c5790640", kill_on_drop: false }`
[INFO] [stdout] c55aa867b76cf22ebd4ed6726ef68c5900174c554c77e9bced805e76c5790640
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] de68c2fa0edd68acb8e009b81cb7e6e7be11df476f86abadeff7ff1e60eb185f
[INFO] running `Command { std: "docker" "start" "-a" "de68c2fa0edd68acb8e009b81cb7e6e7be11df476f86abadeff7ff1e60eb185f", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/stream.rs:20:13
[INFO] [stderr]    |
[INFO] [stderr] 20 |         b'A'...b'Z' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/stream.rs:21:13
[INFO] [stderr]    |
[INFO] [stderr] 21 |         b'a'...b'z' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/stream.rs:29:13
[INFO] [stderr]    |
[INFO] [stderr] 29 |         b'0'...b'9' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stream.rs:133:9
[INFO] [stderr]     |
[INFO] [stderr] 133 |         try!(self.adv_bound_check(n));
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:176:25
[INFO] [stderr]     |
[INFO] [stderr] 176 |                 let s = try!(self.consume_ident());
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:183:25
[INFO] [stderr]     |
[INFO] [stderr] 183 |                 let s = try!(self.consume_ident());
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:204:25
[INFO] [stderr]     |
[INFO] [stderr] 204 |                 let s = try!(self.consume_ident());
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:229:27
[INFO] [stderr]     |
[INFO] [stderr] 229 |                 let len = try!(self.stream.length_to(b']'));
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:272:20
[INFO] [stderr]     |
[INFO] [stderr] 272 |                 if try!(self.consume_comment()) {
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:297:25
[INFO] [stderr]     |
[INFO] [stderr] 297 |                 let s = try!(self.consume_ident());
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:338:20
[INFO] [stderr]     |
[INFO] [stderr] 338 |                 if try!(self.consume_comment()) {
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:350:25
[INFO] [stderr]     |
[INFO] [stderr] 350 |                     if !try!(self.consume_comment()) {
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:367:25
[INFO] [stderr]     |
[INFO] [stderr] 367 |                     if !try!(self.consume_comment()) {
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:385:23
[INFO] [stderr]     |
[INFO] [stderr] 385 |                 while try!(self.stream.is_char_eq(b';')) {
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:400:17
[INFO] [stderr]     |
[INFO] [stderr] 400 |                 try!(self.stream.advance(1));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:417:12
[INFO] [stderr]     |
[INFO] [stderr] 417 |         if try!(self.stream.is_char_eq(b'*')) {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:422:17
[INFO] [stderr]     |
[INFO] [stderr] 422 |                 try!(self.stream.advance(len + 1));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:421:27
[INFO] [stderr]     |
[INFO] [stderr] 421 |                 let len = try!(self.stream.length_to(b'*'));
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tokenizer.rs:423:20
[INFO] [stderr]     |
[INFO] [stderr] 423 |                 if try!(self.stream.is_char_eq(b'/')) {
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/stream.rs:48:22
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn new(text: &[u8]) -> Stream {
[INFO] [stderr]    |                      ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                      |
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn new(text: &[u8]) -> Stream<'_> {
[INFO] [stderr]    |                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/stream.rs:58:28
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn new_bound(text: &[u8], start: usize, end: usize) -> Stream {
[INFO] [stderr]    |                            ^^^^^ the lifetime is elided here   ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn new_bound(text: &[u8], start: usize, end: usize) -> Stream<'_> {
[INFO] [stderr]    |                                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/tokenizer.rs:55:19
[INFO] [stderr]    |
[INFO] [stderr] 55 |     PseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/lib.rs:78:9
[INFO] [stderr]    |
[INFO] [stderr] 78 | #![warn(missing_docs)]
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/tokenizer.rs:55:38
[INFO] [stderr]    |
[INFO] [stderr] 55 |     PseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/tokenizer.rs:88:25
[INFO] [stderr]    |
[INFO] [stderr] 88 |     DoublePseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/tokenizer.rs:88:44
[INFO] [stderr]    |
[INFO] [stderr] 88 |     DoublePseudoClass { selector: &'a str, value: Option<&'a str> },
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/tokenizer.rs:113:22
[INFO] [stderr]     |
[INFO] [stderr] 113 |     pub fn new(text: &str) -> Tokenizer {
[INFO] [stderr]     |                      ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 113 |     pub fn new(text: &str) -> Tokenizer<'_> {
[INFO] [stderr]     |                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/tokenizer.rs:130:28
[INFO] [stderr]     |
[INFO] [stderr] 130 |     pub fn new_bound(text: &str, start: usize, end: usize) -> Tokenizer {
[INFO] [stderr]     |                            ^^^^ the lifetime is elided here   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 130 |     pub fn new_bound(text: &str, start: usize, end: usize) -> Tokenizer<'_> {
[INFO] [stderr]     |                                                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `azul-simplecss` (lib) generated 27 warnings (run `cargo fix --lib -p azul-simplecss` to apply 7 suggestions)
[INFO] [stderr] warning: `azul-simplecss` (lib test) generated 27 warnings (27 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/azul_simplecss-dd94821c9a9faa60)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/css.rs (/opt/rustwide/target/debug/deps/css-3532aff70fe32e6d)
[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 71 tests
[INFO] [stdout] test attribute_selector_1 ... ok
[INFO] [stdout] test blocks_3 ... ok
[INFO] [stdout] test blocks_4 ... ok
[INFO] [stdout] test blocks_5 ... ok
[INFO] [stdout] test blocks_1 ... ok
[INFO] [stdout] test blocks_2 ... ok
[INFO] [stdout] test comment_1 ... ok
[INFO] [stdout] test blocks_6 ... ok
[INFO] [stdout] test attribute_selector_2 ... ok
[INFO] [stdout] test comment_2 ... ok
[INFO] [stdout] test comment_3 ... ok
[INFO] [stdout] test comment_4 ... ok
[INFO] [stdout] test comment_5 ... ok
[INFO] [stdout] test comment_6 ... ok
[INFO] [stdout] test comment_7 ... ok
[INFO] [stdout] test comment_8 ... ok
[INFO] [stdout] test complex_selectors_1 ... ok
[INFO] [stdout] test complex_selectors_10 ... ok
[INFO] [stdout] test complex_selectors_11 ... ok
[INFO] [stdout] test complex_selectors_13 ... ok
[INFO] [stdout] test complex_selectors_12 ... ok
[INFO] [stdout] test complex_selectors_17 ... ok
[INFO] [stdout] test complex_selectors_14 ... ok
[INFO] [stdout] test complex_selectors_18 ... ok
[INFO] [stdout] test complex_selectors_15 ... ok
[INFO] [stdout] test complex_selectors_16 ... ok
[INFO] [stdout] test complex_selectors_21 ... ok
[INFO] [stdout] test complex_selectors_20 ... ok
[INFO] [stdout] test complex_selectors_22 ... ok
[INFO] [stdout] test complex_selectors_25 ... ok
[INFO] [stdout] test complex_selectors_24 ... ok
[INFO] [stdout] test complex_selectors_26 ... ok
[INFO] [stdout] test complex_selectors_4 ... ok
[INFO] [stdout] test complex_selectors_2 ... ok
[INFO] [stdout] test complex_selectors_23 ... ok
[INFO] [stdout] test complex_selectors_9 ... ok
[INFO] [stdout] test complex_selectors_5 ... ok
[INFO] [stdout] test declarations_5 ... ok
[INFO] [stdout] test declarations_4 ... ok
[INFO] [stdout] test declarations_6 ... ok
[INFO] [stdout] test declarations_3 ... ok
[INFO] [stdout] test complex_selectors_19 ... ok
[INFO] [stdout] test complex_selectors_7 ... ok
[INFO] [stdout] test complex_selectors_8 ... ok
[INFO] [stdout] test complex_selectors_6 ... ok
[INFO] [stdout] test declarations_2 ... ok
[INFO] [stdout] test declarations_1 ... ok
[INFO] [stdout] test invalid_10 ... ok
[INFO] [stdout] test invalid_6 ... ok
[INFO] [stdout] test invalid_11 ... ok
[INFO] [stdout] test invalid_18 ... ok
[INFO] [stdout] test invalid_9 ... ok
[INFO] [stdout] test complex_selectors_3 ... ok
[INFO] [stdout] test invalid_12 ... ok
[INFO] [stdout] test invalid_14 ... ok
[INFO] [stdout] test invalid_16 ... ok
[INFO] [stdout] test invalid_2 ... ok
[INFO] [stdout] test invalid_8 ... ok
[INFO] [stdout] test invalid_4 ... ok
[INFO] [stdout] test selectors_3 ... ok
[INFO] [stdout] test invalid_17 ... ok
[INFO] [stdout] test selectors_4 ... ok
[INFO] [stdout] test selectors_1 ... ok
[INFO] [stdout] test selectors_6 ... ok
[INFO] [stdout] test invalid_7 ... ok
[INFO] [stdout] test selectors_2 ... ok
[INFO] [stdout] test selectors_8 ... ok
[INFO] [stdout] test selectors_7 ... ok
[INFO] [stdout] test selectors_9 ... ok
[INFO] [stdout] test invalid_5 ... ok
[INFO] [stdout] test invalid_15 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 71 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests azul_simplecss
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/stream.rs:20:13
[INFO] [stderr]    |
[INFO] [stderr] 20 |         b'A'...b'Z' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/stream.rs:21:13
[INFO] [stderr]    |
[INFO] [stderr] 21 |         b'a'...b'z' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/stream.rs:29:13
[INFO] [stderr]    |
[INFO] [stderr] 29 |         b'0'...b'9' => 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: 3 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/stream.rs - stream::Stream<'a>::advance (line 130) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "de68c2fa0edd68acb8e009b81cb7e6e7be11df476f86abadeff7ff1e60eb185f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "de68c2fa0edd68acb8e009b81cb7e6e7be11df476f86abadeff7ff1e60eb185f", kill_on_drop: false }`
[INFO] [stdout] de68c2fa0edd68acb8e009b81cb7e6e7be11df476f86abadeff7ff1e60eb185f
