[INFO] fetching crate cssparser 0.25.3... [INFO] extracting crate cssparser 0.25.3 into work/ex/pr-61874/sources/master#9f06855064ed06a50c496577b21ca50f92a2e67d/reg/cssparser/0.25.3 [INFO] extracting crate cssparser 0.25.3 into work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/reg/cssparser/0.25.3 [INFO] validating manifest of cssparser-0.25.3 on toolchain master#9f06855064ed06a50c496577b21ca50f92a2e67d [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of cssparser-0.25.3 on toolchain try#d3301713b54af69ca9de941a8c6b0d8287dbd6df [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing cssparser-0.25.3 [INFO] finished frobbing cssparser-0.25.3 [INFO] frobbed toml for cssparser-0.25.3 written to work/ex/pr-61874/sources/master#9f06855064ed06a50c496577b21ca50f92a2e67d/reg/cssparser/0.25.3/Cargo.toml [INFO] started frobbing cssparser-0.25.3 [INFO] finished frobbing cssparser-0.25.3 [INFO] frobbed toml for cssparser-0.25.3 written to work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/reg/cssparser/0.25.3/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking cssparser-0.25.3 against try#d3301713b54af69ca9de941a8c6b0d8287dbd6df for pr-61874 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61874/worker-1/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/reg/cssparser/0.25.3:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] f3ddd68680bdd095e11a7c7082cda7ebf54e3f6135594f4be7d28c65be374f68 [INFO] running `"docker" "start" "-a" "f3ddd68680bdd095e11a7c7082cda7ebf54e3f6135594f4be7d28c65be374f68"` [INFO] [stderr] Checking dtoa-short v0.3.2 [INFO] [stderr] Compiling cssparser v0.25.3 (/opt/crater/workdir) [INFO] [stderr] Compiling cssparser-macros v0.3.5 [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/macros.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | /// See docs of the `procedural-masquerade` crate. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 6 | define_invoke_proc_macro!(cssparser_internal__invoke_proc_macro); [INFO] [stderr] | ----------------------------------------------------------------- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/macros.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | /// See docs of the `procedural-masquerade` crate. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 6 | define_invoke_proc_macro!(cssparser_internal__invoke_proc_macro); [INFO] [stderr] | ----------------------------------------------------------------- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/macros.rs:135:89 [INFO] [stderr] | [INFO] [stderr] 135 | if let Some(first_uppercase) = input.bytes().position(|byte| matches!(byte, b'A'...b'Z')) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: #[warn(ellipsis_inclusive_range_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:203:6 [INFO] [stderr] | [INFO] [stderr] 203 | b'0' ... b'9' | b'-' => true , _ => false , [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:240:85 [INFO] [stderr] | [INFO] [stderr] 240 | if ( tokenizer . has_at_least ( 1 ) && matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) ) || ( tokenizer . has_at_least ( 2 ) && tokenizer . byte_at ( 1 ) == b'.' && matches ! ( tokenizer . byte_at ( 2 ) , b'0' ... b'9' ) ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:240:219 [INFO] [stderr] | [INFO] [stderr] 240 | if ( tokenizer . has_at_least ( 1 ) && matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) ) || ( tokenizer . has_at_least ( 2 ) && tokenizer . byte_at ( 1 ) == b'.' && matches ! ( tokenizer . byte_at ( 2 ) , b'0' ... b'9' ) ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:252:85 [INFO] [stderr] | [INFO] [stderr] 252 | if ( tokenizer . has_at_least ( 1 ) && matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) ) || ( tokenizer . has_at_least ( 2 ) && tokenizer . byte_at ( 1 ) == b'.' && matches ! ( tokenizer . byte_at ( 2 ) , b'0' ... b'9' ) ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:252:219 [INFO] [stderr] | [INFO] [stderr] 252 | if ( tokenizer . has_at_least ( 1 ) && matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) ) || ( tokenizer . has_at_least ( 2 ) && tokenizer . byte_at ( 1 ) == b'.' && matches ! ( tokenizer . byte_at ( 2 ) , b'0' ... b'9' ) ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:264:83 [INFO] [stderr] | [INFO] [stderr] 264 | if tokenizer . has_at_least ( 1 ) && matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:706:197 [INFO] [stderr] | [INFO] [stderr] 706 | } let mut is_integer = true ; let mut fractional_part : f64 = 0. ; if tokenizer . has_at_least ( 1 ) && tokenizer . next_byte_unchecked ( ) == b'.' && matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:713:49 [INFO] [stderr] | [INFO] [stderr] 713 | if matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) || ( tokenizer . has_at_least ( 2 ) && matches ! ( tokenizer . byte_at ( 1 ) , b'+' | b'-' ) && matches ! ( tokenizer . byte_at ( 2 ) , b'0' ... b'9' ) ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:713:201 [INFO] [stderr] | [INFO] [stderr] 713 | if matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) || ( tokenizer . has_at_least ( 2 ) && matches ! ( tokenizer . byte_at ( 1 ) , b'+' | b'-' ) && matches ! ( tokenizer . byte_at ( 2 ) , b'0' ... b'9' ) ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/color.rs:523:14 [INFO] [stderr] | [INFO] [stderr] 523 | b'0' ... b'9' => Ok(c - b'0'), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/color.rs:524:14 [INFO] [stderr] | [INFO] [stderr] 524 | b'a' ... b'f' => Ok(c - b'a' + 10), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/color.rs:525:14 [INFO] [stderr] | [INFO] [stderr] 525 | b'A' ... b'F' => Ok(c - b'A' + 10), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/nth.rs:96:51 [INFO] [stderr] | [INFO] [stderr] 96 | && bytes[2..].iter().all(|&c| matches!(c, b'0'...b'9')) [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/serializer.rs:183:28 [INFO] [stderr] | [INFO] [stderr] 183 | if let digit @ b'0'...b'9' = value.as_bytes()[0] { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/serializer.rs:199:17 [INFO] [stderr] | [INFO] [stderr] 199 | b'0'...b'9' | b'A'...b'Z' | b'a'...b'z' | b'_' | b'-' => continue, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/serializer.rs:199:31 [INFO] [stderr] | [INFO] [stderr] 199 | b'0'...b'9' | b'A'...b'Z' | b'a'...b'z' | b'_' | b'-' => continue, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/serializer.rs:199:45 [INFO] [stderr] | [INFO] [stderr] 199 | b'0'...b'9' | b'A'...b'Z' | b'a'...b'z' | b'_' | b'-' => continue, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/serializer.rs:222:19 [INFO] [stderr] | [INFO] [stderr] 222 | b'\0' ... b' ' | b'\x7F' => true, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/serializer.rs:282:24 [INFO] [stderr] | [INFO] [stderr] 282 | b'\x01'...b'\x1F' | b'\x7F' => None, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt::make_ascii_lowercase': use inherent methods instead [INFO] [stderr] --> src/macros.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | ::std::ascii::AsciiExt::make_ascii_lowercase(&mut buffer[first_uppercase..]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/rules_and_declarations.rs:9:30 [INFO] [stderr] | [INFO] [stderr] 9 | #[allow(unused_imports)] use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:1:80 [INFO] [stderr] | [INFO] [stderr] 1 | use std :: ops :: Range ; use std :: char ; # [ allow ( unused_imports ) ] use std :: ascii :: AsciiExt ; use std :: i32 ; use parser :: ParserState ; use cow_rc_str :: CowRcStr ; use self :: Token :: * ; # [ doc = " One of the pieces the CSS input is broken into." ] # [ doc = "" ] # [ doc = " Some components use `Cow` in order to borrow from the original input string" ] # [ doc = " and avoid allocating/copying when possible." ] # [ derive ( PartialEq , Debug , Clone ) ] pub enum Token < 'a > { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/parser.rs:8:30 [INFO] [stderr] | [INFO] [stderr] 8 | #[allow(unused_imports)] use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/nth.rs:5:30 [INFO] [stderr] | [INFO] [stderr] 5 | #[allow(unused_imports)] use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/serializer.rs:7:30 [INFO] [stderr] | [INFO] [stderr] 7 | #[allow(unused_imports)] use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: couldn't read src/css-parsing-tests/component_value_list.json: No such file or directory (os error 2) [INFO] [stderr] --> src/tests.rs:112:20 [INFO] [stderr] | [INFO] [stderr] 112 | run_json_tests(include_str!("css-parsing-tests/component_value_list.json"), |input| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: couldn't read src/css-parsing-tests/one_component_value.json: No such file or directory (os error 2) [INFO] [stderr] --> src/tests.rs:120:20 [INFO] [stderr] | [INFO] [stderr] 120 | run_json_tests(include_str!("css-parsing-tests/one_component_value.json"), |input| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: couldn't read src/css-parsing-tests/declaration_list.json: No such file or directory (os error 2) [INFO] [stderr] --> src/tests.rs:131:20 [INFO] [stderr] | [INFO] [stderr] 131 | run_json_tests(include_str!("css-parsing-tests/declaration_list.json"), |input| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: couldn't read src/css-parsing-tests/one_declaration.json: No such file or directory (os error 2) [INFO] [stderr] --> src/tests.rs:141:20 [INFO] [stderr] | [INFO] [stderr] 141 | run_json_tests(include_str!("css-parsing-tests/one_declaration.json"), |input| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: couldn't read src/css-parsing-tests/rule_list.json: No such file or directory (os error 2) [INFO] [stderr] --> src/tests.rs:149:20 [INFO] [stderr] | [INFO] [stderr] 149 | run_json_tests(include_str!("css-parsing-tests/rule_list.json"), |input| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: couldn't read src/css-parsing-tests/stylesheet.json: No such file or directory (os error 2) [INFO] [stderr] --> src/tests.rs:159:20 [INFO] [stderr] | [INFO] [stderr] 159 | run_json_tests(include_str!("css-parsing-tests/stylesheet.json"), |input| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: couldn't read src/css-parsing-tests/one_rule.json: No such file or directory (os error 2) [INFO] [stderr] --> src/tests.rs:169:20 [INFO] [stderr] | [INFO] [stderr] 169 | run_json_tests(include_str!("css-parsing-tests/one_rule.json"), |input| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: couldn't read src/css-parsing-tests/stylesheet_bytes.json: No such file or directory (os error 2) [INFO] [stderr] --> src/tests.rs:197:24 [INFO] [stderr] | [INFO] [stderr] 197 | run_raw_json_tests(include_str!("css-parsing-tests/stylesheet_bytes.json"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: couldn't read src/css-parsing-tests/color3.json: No such file or directory (os error 2) [INFO] [stderr] --> src/tests.rs:348:21 [INFO] [stderr] | [INFO] [stderr] 348 | run_color_tests(include_str!("css-parsing-tests/color3.json"), |c| c.ok().to_json()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: couldn't read src/css-parsing-tests/color3_hsl.json: No such file or directory (os error 2) [INFO] [stderr] --> src/tests.rs:354:21 [INFO] [stderr] | [INFO] [stderr] 354 | run_color_tests(include_str!("css-parsing-tests/color3_hsl.json"), |c| c.ok().to_json()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: couldn't read src/css-parsing-tests/color3_keywords.json: No such file or directory (os error 2) [INFO] [stderr] --> src/tests.rs:361:21 [INFO] [stderr] | [INFO] [stderr] 361 | run_color_tests(include_str!("css-parsing-tests/color3_keywords.json"), |c| c.ok().to_json()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: couldn't read src/css-parsing-tests/An+B.json: No such file or directory (os error 2) [INFO] [stderr] --> src/tests.rs:367:20 [INFO] [stderr] | [INFO] [stderr] 367 | run_json_tests(include_str!("css-parsing-tests/An+B.json"), |input| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: couldn't read src/css-parsing-tests/urange.json: No such file or directory (os error 2) [INFO] [stderr] --> src/tests.rs:377:20 [INFO] [stderr] | [INFO] [stderr] 377 | run_json_tests(include_str!("css-parsing-tests/urange.json"), |input| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: couldn't read src/css-parsing-tests/component_value_list.json: No such file or directory (os error 2) [INFO] [stderr] --> src/tests.rs:403:20 [INFO] [stderr] | [INFO] [stderr] 403 | run_json_tests(include_str!("css-parsing-tests/component_value_list.json"), |input| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/rules_and_declarations.rs:274:45 [INFO] [stderr] | [INFO] [stderr] 274 | parse_until_after::<'i, 't, _, _, _>(self.input, Delimiter::Semicolon, |input| { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] ::: src/parser.rs:937:55 [INFO] [stderr] | [INFO] [stderr] 937 | pub fn parse_until_after<'i: 't, 't, F, T, E>(parser: &mut Parser<'i, 't>, [INFO] [stderr] | - the late bound lifetime parameter is introduced here [INFO] [stderr] | [INFO] [stderr] = note: #[warn(late_bound_lifetime_arguments)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/macros.rs:135:89 [INFO] [stderr] | [INFO] [stderr] 135 | if let Some(first_uppercase) = input.bytes().position(|byte| matches!(byte, b'A'...b'Z')) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: #[warn(ellipsis_inclusive_range_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:203:6 [INFO] [stderr] | [INFO] [stderr] 203 | b'0' ... b'9' | b'-' => true , _ => false , [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:240:85 [INFO] [stderr] | [INFO] [stderr] 240 | if ( tokenizer . has_at_least ( 1 ) && matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) ) || ( tokenizer . has_at_least ( 2 ) && tokenizer . byte_at ( 1 ) == b'.' && matches ! ( tokenizer . byte_at ( 2 ) , b'0' ... b'9' ) ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:240:219 [INFO] [stderr] | [INFO] [stderr] 240 | if ( tokenizer . has_at_least ( 1 ) && matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) ) || ( tokenizer . has_at_least ( 2 ) && tokenizer . byte_at ( 1 ) == b'.' && matches ! ( tokenizer . byte_at ( 2 ) , b'0' ... b'9' ) ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:252:85 [INFO] [stderr] | [INFO] [stderr] 252 | if ( tokenizer . has_at_least ( 1 ) && matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) ) || ( tokenizer . has_at_least ( 2 ) && tokenizer . byte_at ( 1 ) == b'.' && matches ! ( tokenizer . byte_at ( 2 ) , b'0' ... b'9' ) ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:252:219 [INFO] [stderr] | [INFO] [stderr] 252 | if ( tokenizer . has_at_least ( 1 ) && matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) ) || ( tokenizer . has_at_least ( 2 ) && tokenizer . byte_at ( 1 ) == b'.' && matches ! ( tokenizer . byte_at ( 2 ) , b'0' ... b'9' ) ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:264:83 [INFO] [stderr] | [INFO] [stderr] 264 | if tokenizer . has_at_least ( 1 ) && matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:706:197 [INFO] [stderr] | [INFO] [stderr] 706 | } let mut is_integer = true ; let mut fractional_part : f64 = 0. ; if tokenizer . has_at_least ( 1 ) && tokenizer . next_byte_unchecked ( ) == b'.' && matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:713:49 [INFO] [stderr] | [INFO] [stderr] 713 | if matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) || ( tokenizer . has_at_least ( 2 ) && matches ! ( tokenizer . byte_at ( 1 ) , b'+' | b'-' ) && matches ! ( tokenizer . byte_at ( 2 ) , b'0' ... b'9' ) ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:713:201 [INFO] [stderr] | [INFO] [stderr] 713 | if matches ! ( tokenizer . byte_at ( 1 ) , b'0' ... b'9' ) || ( tokenizer . has_at_least ( 2 ) && matches ! ( tokenizer . byte_at ( 1 ) , b'+' | b'-' ) && matches ! ( tokenizer . byte_at ( 2 ) , b'0' ... b'9' ) ) { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/color.rs:523:14 [INFO] [stderr] | [INFO] [stderr] 523 | b'0' ... b'9' => Ok(c - b'0'), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/color.rs:524:14 [INFO] [stderr] | [INFO] [stderr] 524 | b'a' ... b'f' => Ok(c - b'a' + 10), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/color.rs:525:14 [INFO] [stderr] | [INFO] [stderr] 525 | b'A' ... b'F' => Ok(c - b'A' + 10), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/nth.rs:96:51 [INFO] [stderr] | [INFO] [stderr] 96 | && bytes[2..].iter().all(|&c| matches!(c, b'0'...b'9')) [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/serializer.rs:183:28 [INFO] [stderr] | [INFO] [stderr] 183 | if let digit @ b'0'...b'9' = value.as_bytes()[0] { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/serializer.rs:199:17 [INFO] [stderr] | [INFO] [stderr] 199 | b'0'...b'9' | b'A'...b'Z' | b'a'...b'z' | b'_' | b'-' => continue, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/serializer.rs:199:31 [INFO] [stderr] | [INFO] [stderr] 199 | b'0'...b'9' | b'A'...b'Z' | b'a'...b'z' | b'_' | b'-' => continue, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/serializer.rs:199:45 [INFO] [stderr] | [INFO] [stderr] 199 | b'0'...b'9' | b'A'...b'Z' | b'a'...b'z' | b'_' | b'-' => continue, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/serializer.rs:222:19 [INFO] [stderr] | [INFO] [stderr] 222 | b'\0' ... b' ' | b'\x7F' => true, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/serializer.rs:282:24 [INFO] [stderr] | [INFO] [stderr] 282 | b'\x01'...b'\x1F' | b'\x7F' => None, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/rules_and_declarations.rs:458:39 [INFO] [stderr] | [INFO] [stderr] 458 | let result = parse_until_before::<'i, 't, _, _, _>(input, delimiters, |input| { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] ::: src/parser.rs:902:56 [INFO] [stderr] | [INFO] [stderr] 902 | pub fn parse_until_before<'i: 't, 't, F, T, E>(parser: &mut Parser<'i, 't>, [INFO] [stderr] | - the late bound lifetime parameter is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/rules_and_declarations.rs:476:42 [INFO] [stderr] | [INFO] [stderr] 476 | parse_nested_block::<'i, 't, _, _, _>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] ::: src/parser.rs:955:56 [INFO] [stderr] | [INFO] [stderr] 955 | pub fn parse_nested_block<'i: 't, 't, F, T, E>(parser: &mut Parser<'i, 't>, parse: F) [INFO] [stderr] | - the late bound lifetime parameter is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/rules_and_declarations.rs:510:40 [INFO] [stderr] | [INFO] [stderr] 510 | let prelude = parse_until_before::<'i, 't, _, _, _>(input, Delimiter::CurlyBracketBlock, |input| { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] ::: src/parser.rs:902:56 [INFO] [stderr] | [INFO] [stderr] 902 | pub fn parse_until_before<'i: 't, 't, F, T, E>(parser: &mut Parser<'i, 't>, [INFO] [stderr] | - the late bound lifetime parameter is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/rules_and_declarations.rs:518:34 [INFO] [stderr] | [INFO] [stderr] 518 | parse_nested_block::<'i, 't, _, _, _>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] ::: src/parser.rs:955:56 [INFO] [stderr] | [INFO] [stderr] 955 | pub fn parse_nested_block<'i: 't, 't, F, T, E>(parser: &mut Parser<'i, 't>, parse: F) [INFO] [stderr] | - the late bound lifetime parameter is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt::make_ascii_lowercase': use inherent methods instead [INFO] [stderr] --> src/macros.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | ::std::ascii::AsciiExt::make_ascii_lowercase(&mut buffer[first_uppercase..]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/rules_and_declarations.rs:9:30 [INFO] [stderr] | [INFO] [stderr] 9 | #[allow(unused_imports)] use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> /opt/crater/target/debug/build/cssparser-ffcc17f5e9589124/out/tokenizer.rs:1:80 [INFO] [stderr] | [INFO] [stderr] 1 | use std :: ops :: Range ; use std :: char ; # [ allow ( unused_imports ) ] use std :: ascii :: AsciiExt ; use std :: i32 ; use parser :: ParserState ; use cow_rc_str :: CowRcStr ; use self :: Token :: * ; # [ doc = " One of the pieces the CSS input is broken into." ] # [ doc = "" ] # [ doc = " Some components use `Cow` in order to borrow from the original input string" ] # [ doc = " and avoid allocating/copying when possible." ] # [ derive ( PartialEq , Debug , Clone ) ] pub enum Token < 'a > { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/parser.rs:8:30 [INFO] [stderr] | [INFO] [stderr] 8 | #[allow(unused_imports)] use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/nth.rs:5:30 [INFO] [stderr] | [INFO] [stderr] 5 | #[allow(unused_imports)] use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/serializer.rs:7:30 [INFO] [stderr] | [INFO] [stderr] 7 | #[allow(unused_imports)] use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/rules_and_declarations.rs:274:45 [INFO] [stderr] | [INFO] [stderr] 274 | parse_until_after::<'i, 't, _, _, _>(self.input, Delimiter::Semicolon, |input| { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] ::: src/parser.rs:937:55 [INFO] [stderr] | [INFO] [stderr] 937 | pub fn parse_until_after<'i: 't, 't, F, T, E>(parser: &mut Parser<'i, 't>, [INFO] [stderr] | - the late bound lifetime parameter is introduced here [INFO] [stderr] | [INFO] [stderr] = note: #[warn(late_bound_lifetime_arguments)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/rules_and_declarations.rs:458:39 [INFO] [stderr] | [INFO] [stderr] 458 | let result = parse_until_before::<'i, 't, _, _, _>(input, delimiters, |input| { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] ::: src/parser.rs:902:56 [INFO] [stderr] | [INFO] [stderr] 902 | pub fn parse_until_before<'i: 't, 't, F, T, E>(parser: &mut Parser<'i, 't>, [INFO] [stderr] | - the late bound lifetime parameter is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/rules_and_declarations.rs:476:42 [INFO] [stderr] | [INFO] [stderr] 476 | parse_nested_block::<'i, 't, _, _, _>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] ::: src/parser.rs:955:56 [INFO] [stderr] | [INFO] [stderr] 955 | pub fn parse_nested_block<'i: 't, 't, F, T, E>(parser: &mut Parser<'i, 't>, parse: F) [INFO] [stderr] | - the late bound lifetime parameter is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/rules_and_declarations.rs:510:40 [INFO] [stderr] | [INFO] [stderr] 510 | let prelude = parse_until_before::<'i, 't, _, _, _>(input, Delimiter::CurlyBracketBlock, |input| { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] ::: src/parser.rs:902:56 [INFO] [stderr] | [INFO] [stderr] 902 | pub fn parse_until_before<'i: 't, 't, F, T, E>(parser: &mut Parser<'i, 't>, [INFO] [stderr] | - the late bound lifetime parameter is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/rules_and_declarations.rs:518:34 [INFO] [stderr] | [INFO] [stderr] 518 | parse_nested_block::<'i, 't, _, _, _>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] ::: src/parser.rs:955:56 [INFO] [stderr] | [INFO] [stderr] 955 | pub fn parse_nested_block<'i: 't, 't, F, T, E>(parser: &mut Parser<'i, 't>, parse: F) [INFO] [stderr] | - the late bound lifetime parameter is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] [INFO] [stderr] warning[E0506]: cannot assign to `self.input.cached_token` because it is borrowed [INFO] [stderr] --> src/parser.rs:584:17 [INFO] [stderr] | [INFO] [stderr] 559 | pub fn next_including_whitespace_and_comments(&mut self) -> Result<&Token<'i>, BasicParseError<'i>> { [INFO] [stderr] | - let's call the lifetime of this reference `'1` [INFO] [stderr] ... [INFO] [stderr] 572 | Some(ref cached_token) [INFO] [stderr] | ---------------- borrow of `self.input.cached_token` occurs here [INFO] [stderr] ... [INFO] [stderr] 584 | self.input.cached_token = Some(CachedToken { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ assignment to borrowed `self.input.cached_token` occurs here [INFO] [stderr] ... [INFO] [stderr] 596 | Ok(token) [INFO] [stderr] | --------- returning this value requires that `self.input.cached_token.0` is borrowed for `'1` [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] error: aborting due to 14 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `cssparser`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "f3ddd68680bdd095e11a7c7082cda7ebf54e3f6135594f4be7d28c65be374f68"` [INFO] running `"docker" "rm" "-f" "f3ddd68680bdd095e11a7c7082cda7ebf54e3f6135594f4be7d28c65be374f68"` [INFO] [stdout] f3ddd68680bdd095e11a7c7082cda7ebf54e3f6135594f4be7d28c65be374f68