[INFO] fetching crate dot_parse 0.2.0... [INFO] testing dot_parse-0.2.0 against 1.60.0 for beta-1.61-1 [INFO] extracting crate dot_parse 0.2.0 into /workspace/builds/worker-61/source [INFO] validating manifest of crates.io crate dot_parse 0.2.0 on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate dot_parse 0.2.0 [INFO] finished tweaking crates.io crate dot_parse 0.2.0 [INFO] tweaked toml for crates.io crate dot_parse 0.2.0 written to /workspace/builds/worker-61/source/Cargo.toml [INFO] crate crates.io crate dot_parse 0.2.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded dot v0.1.4 [INFO] [stderr] Downloaded more-asserts v0.2.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-61/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-61/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] db2f10eef4747bcecfd7374655eeb9ce969eea6858fc3d59ccaf23ee73ce2a1f [INFO] running `Command { std: "docker" "start" "-a" "db2f10eef4747bcecfd7374655eeb9ce969eea6858fc3d59ccaf23ee73ce2a1f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "db2f10eef4747bcecfd7374655eeb9ce969eea6858fc3d59ccaf23ee73ce2a1f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db2f10eef4747bcecfd7374655eeb9ce969eea6858fc3d59ccaf23ee73ce2a1f", kill_on_drop: false }` [INFO] [stdout] db2f10eef4747bcecfd7374655eeb9ce969eea6858fc3d59ccaf23ee73ce2a1f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-61/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-61/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] db08f1d99267739cdcedb842bc2a5aeba192691f25bb0772fc6eac07c69a4f87 [INFO] running `Command { std: "docker" "start" "-a" "db08f1d99267739cdcedb842bc2a5aeba192691f25bb0772fc6eac07c69a4f87", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling more-asserts v0.2.1 [INFO] [stderr] Compiling dot v0.1.4 [INFO] [stderr] Compiling dot_parse v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/lib.rs:257:10 [INFO] [stdout] | [INFO] [stdout] 257 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/lib.rs:350:61 [INFO] [stdout] | [INFO] [stdout] 350 | fn parse_from(tokens: &[&'a str]) -> Result, ((usize, &'a str))> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 350 - fn parse_from(tokens: &[&'a str]) -> Result, ((usize, &'a str))> { [INFO] [stdout] 350 + fn parse_from(tokens: &[&'a str]) -> Result, (usize, &'a str)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/lib.rs:361:10 [INFO] [stdout] | [INFO] [stdout] 361 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/lib.rs:401:10 [INFO] [stdout] | [INFO] [stdout] 401 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/lib.rs:705:10 [INFO] [stdout] | [INFO] [stdout] 705 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lib.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | _ => false [INFO] [stdout] | ^ unreachable pattern [INFO] [stdout] ... [INFO] [stdout] 235 | (Some(a), Some(_b)) => matches!(a, _b) && id_match(self, other), [INFO] [stdout] | --------------- [INFO] [stdout] | | | [INFO] [stdout] | | matches any value [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] = note: this warning originates in the macro `matches` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lib.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | _ => false [INFO] [stdout] | ^ unreachable pattern [INFO] [stdout] ... [INFO] [stdout] 488 | matches!(self, other) [INFO] [stdout] | --------------------- [INFO] [stdout] | | | [INFO] [stdout] | | matches any value [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `matches` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lib.rs:604:21 [INFO] [stdout] | [INFO] [stdout] 603 | key_subgraph => parse_stmt_list_and_return(None, 2), [INFO] [stdout] | ------------ matches any value [INFO] [stdout] 604 | _ => Err((0, "expecting subgraph")), [INFO] [stdout] | ^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lib.rs:609:21 [INFO] [stdout] | [INFO] [stdout] 609 | (_, Ok(_)) => Err((0, "expecting subgraph")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/lib.rs:488:24 [INFO] [stdout] | [INFO] [stdout] 488 | matches!(self, other) [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/lib.rs:487:18 [INFO] [stdout] | [INFO] [stdout] 487 | fn eq(&self, other: &Self) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_subgraph` [INFO] [stdout] --> src/lib.rs:597:13 [INFO] [stdout] | [INFO] [stdout] 597 | let key_subgraph: &str = "subgraph"; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_brace` [INFO] [stdout] --> src/lib.rs:598:13 [INFO] [stdout] | [INFO] [stdout] 598 | let right_brace: &str = "}"; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_brace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_brace` [INFO] [stdout] --> src/lib.rs:600:42 [INFO] [stdout] | [INFO] [stdout] 600 | (Some(idx_left_brace), Some(&right_brace)) => match idx_left_brace { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_brace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_subgraph` [INFO] [stdout] --> src/lib.rs:603:21 [INFO] [stdout] | [INFO] [stdout] 603 | key_subgraph => parse_stmt_list_and_return(None, 2), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_subgraph` [INFO] [stdout] --> src/lib.rs:608:22 [INFO] [stdout] | [INFO] [stdout] 608 | (key_subgraph, Ok(id)) => parse_stmt_list_and_return(Some(id), 3), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get` [INFO] [stdout] --> src/lib.rs:421:8 [INFO] [stdout] | [INFO] [stdout] 421 | fn get(&self, key: &str) -> Option<&IdWrapper<'a>> { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `len` [INFO] [stdout] --> src/lib.rs:425:8 [INFO] [stdout] | [INFO] [stdout] 425 | fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `key` [INFO] [stdout] --> src/lib.rs:504:5 [INFO] [stdout] | [INFO] [stdout] 504 | key: AttrStmtKey, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `attr_list` [INFO] [stdout] --> src/lib.rs:505:5 [INFO] [stdout] | [INFO] [stdout] 505 | attr_list: AttrList<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `id` [INFO] [stdout] --> src/lib.rs:533:5 [INFO] [stdout] | [INFO] [stdout] 533 | id: NodeId<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `attr_list` [INFO] [stdout] --> src/lib.rs:534:5 [INFO] [stdout] | [INFO] [stdout] 534 | attr_list: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `id` [INFO] [stdout] --> src/lib.rs:577:5 [INFO] [stdout] | [INFO] [stdout] 577 | id: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `stmt_list` [INFO] [stdout] --> src/lib.rs:578:5 [INFO] [stdout] | [INFO] [stdout] 578 | stmt_list: StmtList<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `attr_list` [INFO] [stdout] --> src/lib.rs:718:5 [INFO] [stdout] | [INFO] [stdout] 718 | attr_list: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.16s [INFO] running `Command { std: "docker" "inspect" "db08f1d99267739cdcedb842bc2a5aeba192691f25bb0772fc6eac07c69a4f87", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db08f1d99267739cdcedb842bc2a5aeba192691f25bb0772fc6eac07c69a4f87", kill_on_drop: false }` [INFO] [stdout] db08f1d99267739cdcedb842bc2a5aeba192691f25bb0772fc6eac07c69a4f87 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-61/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-61/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8c50d8c4a3608d16d8889ea8c6a25d5171883277fb0443898a59dd456a078c0c [INFO] running `Command { std: "docker" "start" "-a" "8c50d8c4a3608d16d8889ea8c6a25d5171883277fb0443898a59dd456a078c0c", kill_on_drop: false }` [INFO] [stderr] Compiling dot_parse v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/lib.rs:257:10 [INFO] [stdout] | [INFO] [stdout] 257 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/lib.rs:350:61 [INFO] [stdout] | [INFO] [stdout] 350 | fn parse_from(tokens: &[&'a str]) -> Result, ((usize, &'a str))> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 350 - fn parse_from(tokens: &[&'a str]) -> Result, ((usize, &'a str))> { [INFO] [stdout] 350 + fn parse_from(tokens: &[&'a str]) -> Result, (usize, &'a str)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/lib.rs:361:10 [INFO] [stdout] | [INFO] [stdout] 361 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/lib.rs:401:10 [INFO] [stdout] | [INFO] [stdout] 401 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/lib.rs:705:10 [INFO] [stdout] | [INFO] [stdout] 705 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lib.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | _ => false [INFO] [stdout] | ^ unreachable pattern [INFO] [stdout] ... [INFO] [stdout] 235 | (Some(a), Some(_b)) => matches!(a, _b) && id_match(self, other), [INFO] [stdout] | --------------- [INFO] [stdout] | | | [INFO] [stdout] | | matches any value [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] = note: this warning originates in the macro `matches` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lib.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | _ => false [INFO] [stdout] | ^ unreachable pattern [INFO] [stdout] ... [INFO] [stdout] 488 | matches!(self, other) [INFO] [stdout] | --------------------- [INFO] [stdout] | | | [INFO] [stdout] | | matches any value [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `matches` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lib.rs:604:21 [INFO] [stdout] | [INFO] [stdout] 603 | key_subgraph => parse_stmt_list_and_return(None, 2), [INFO] [stdout] | ------------ matches any value [INFO] [stdout] 604 | _ => Err((0, "expecting subgraph")), [INFO] [stdout] | ^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lib.rs:609:21 [INFO] [stdout] | [INFO] [stdout] 609 | (_, Ok(_)) => Err((0, "expecting subgraph")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/lib.rs:488:24 [INFO] [stdout] | [INFO] [stdout] 488 | matches!(self, other) [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/lib.rs:487:18 [INFO] [stdout] | [INFO] [stdout] 487 | fn eq(&self, other: &Self) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_subgraph` [INFO] [stdout] --> src/lib.rs:597:13 [INFO] [stdout] | [INFO] [stdout] 597 | let key_subgraph: &str = "subgraph"; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_brace` [INFO] [stdout] --> src/lib.rs:598:13 [INFO] [stdout] | [INFO] [stdout] 598 | let right_brace: &str = "}"; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_brace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_brace` [INFO] [stdout] --> src/lib.rs:600:42 [INFO] [stdout] | [INFO] [stdout] 600 | (Some(idx_left_brace), Some(&right_brace)) => match idx_left_brace { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_brace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_subgraph` [INFO] [stdout] --> src/lib.rs:603:21 [INFO] [stdout] | [INFO] [stdout] 603 | key_subgraph => parse_stmt_list_and_return(None, 2), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_subgraph` [INFO] [stdout] --> src/lib.rs:608:22 [INFO] [stdout] | [INFO] [stdout] 608 | (key_subgraph, Ok(id)) => parse_stmt_list_and_return(Some(id), 3), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get` [INFO] [stdout] --> src/lib.rs:421:8 [INFO] [stdout] | [INFO] [stdout] 421 | fn get(&self, key: &str) -> Option<&IdWrapper<'a>> { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `len` [INFO] [stdout] --> src/lib.rs:425:8 [INFO] [stdout] | [INFO] [stdout] 425 | fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `key` [INFO] [stdout] --> src/lib.rs:504:5 [INFO] [stdout] | [INFO] [stdout] 504 | key: AttrStmtKey, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `attr_list` [INFO] [stdout] --> src/lib.rs:505:5 [INFO] [stdout] | [INFO] [stdout] 505 | attr_list: AttrList<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `id` [INFO] [stdout] --> src/lib.rs:533:5 [INFO] [stdout] | [INFO] [stdout] 533 | id: NodeId<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `attr_list` [INFO] [stdout] --> src/lib.rs:534:5 [INFO] [stdout] | [INFO] [stdout] 534 | attr_list: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `id` [INFO] [stdout] --> src/lib.rs:577:5 [INFO] [stdout] | [INFO] [stdout] 577 | id: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `stmt_list` [INFO] [stdout] --> src/lib.rs:578:5 [INFO] [stdout] | [INFO] [stdout] 578 | stmt_list: StmtList<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `attr_list` [INFO] [stdout] --> src/lib.rs:718:5 [INFO] [stdout] | [INFO] [stdout] 718 | attr_list: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/lib.rs:257:10 [INFO] [stdout] | [INFO] [stdout] 257 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/lib.rs:350:61 [INFO] [stdout] | [INFO] [stdout] 350 | fn parse_from(tokens: &[&'a str]) -> Result, ((usize, &'a str))> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 350 - fn parse_from(tokens: &[&'a str]) -> Result, ((usize, &'a str))> { [INFO] [stdout] 350 + fn parse_from(tokens: &[&'a str]) -> Result, (usize, &'a str)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/lib.rs:361:10 [INFO] [stdout] | [INFO] [stdout] 361 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/lib.rs:401:10 [INFO] [stdout] | [INFO] [stdout] 401 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/lib.rs:705:10 [INFO] [stdout] | [INFO] [stdout] 705 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lib.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | _ => false [INFO] [stdout] | ^ unreachable pattern [INFO] [stdout] ... [INFO] [stdout] 235 | (Some(a), Some(_b)) => matches!(a, _b) && id_match(self, other), [INFO] [stdout] | --------------- [INFO] [stdout] | | | [INFO] [stdout] | | matches any value [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] = note: this warning originates in the macro `matches` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lib.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | _ => false [INFO] [stdout] | ^ unreachable pattern [INFO] [stdout] ... [INFO] [stdout] 488 | matches!(self, other) [INFO] [stdout] | --------------------- [INFO] [stdout] | | | [INFO] [stdout] | | matches any value [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `matches` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lib.rs:604:21 [INFO] [stdout] | [INFO] [stdout] 603 | key_subgraph => parse_stmt_list_and_return(None, 2), [INFO] [stdout] | ------------ matches any value [INFO] [stdout] 604 | _ => Err((0, "expecting subgraph")), [INFO] [stdout] | ^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lib.rs:609:21 [INFO] [stdout] | [INFO] [stdout] 609 | (_, Ok(_)) => Err((0, "expecting subgraph")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/lib.rs:488:24 [INFO] [stdout] | [INFO] [stdout] 488 | matches!(self, other) [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/lib.rs:487:18 [INFO] [stdout] | [INFO] [stdout] 487 | fn eq(&self, other: &Self) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_subgraph` [INFO] [stdout] --> src/lib.rs:597:13 [INFO] [stdout] | [INFO] [stdout] 597 | let key_subgraph: &str = "subgraph"; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_brace` [INFO] [stdout] --> src/lib.rs:598:13 [INFO] [stdout] | [INFO] [stdout] 598 | let right_brace: &str = "}"; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_brace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_brace` [INFO] [stdout] --> src/lib.rs:600:42 [INFO] [stdout] | [INFO] [stdout] 600 | (Some(idx_left_brace), Some(&right_brace)) => match idx_left_brace { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_brace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_subgraph` [INFO] [stdout] --> src/lib.rs:603:21 [INFO] [stdout] | [INFO] [stdout] 603 | key_subgraph => parse_stmt_list_and_return(None, 2), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_subgraph` [INFO] [stdout] --> src/lib.rs:608:22 [INFO] [stdout] | [INFO] [stdout] 608 | (key_subgraph, Ok(id)) => parse_stmt_list_and_return(Some(id), 3), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `attr_list` [INFO] [stdout] --> src/lib.rs:505:5 [INFO] [stdout] | [INFO] [stdout] 505 | attr_list: AttrList<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `stmt_list` [INFO] [stdout] --> src/lib.rs:578:5 [INFO] [stdout] | [INFO] [stdout] 578 | stmt_list: StmtList<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:948:35 [INFO] [stdout] | [INFO] [stdout] 948 | assert!(!alist_5.is_ok(), alist_5.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{:?}" format string to use the Debug implementation of `AList` [INFO] [stdout] | [INFO] [stdout] 948 | assert!(!alist_5.is_ok(), "{:?}", alist_5.unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:951:35 [INFO] [stdout] | [INFO] [stdout] 951 | assert!(!alist_6.is_ok(), alist_6.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{:?}" format string to use the Debug implementation of `AList` [INFO] [stdout] | [INFO] [stdout] 951 | assert!(!alist_6.is_ok(), "{:?}", alist_6.unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:992:41 [INFO] [stdout] | [INFO] [stdout] 992 | assert!(!attr_list.is_ok(), attr_list.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{:?}" format string to use the Debug implementation of `AttrList` [INFO] [stdout] | [INFO] [stdout] 992 | assert!(!attr_list.is_ok(), "{:?}", attr_list.unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:997:41 [INFO] [stdout] | [INFO] [stdout] 997 | assert!(!attr_list.is_ok(), attr_list.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{:?}" format string to use the Debug implementation of `AttrList` [INFO] [stdout] | [INFO] [stdout] 997 | assert!(!attr_list.is_ok(), "{:?}", attr_list.unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1005:41 [INFO] [stdout] | [INFO] [stdout] 1005 | assert!(!node_stmt.is_ok(), node_stmt.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1043:41 [INFO] [stdout] | [INFO] [stdout] 1043 | assert!(!node_stmt.is_ok(), node_stmt.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1055:41 [INFO] [stdout] | [INFO] [stdout] 1055 | assert!(!node_stmt.is_ok(), node_stmt.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1061:41 [INFO] [stdout] | [INFO] [stdout] 1061 | assert!(!node_stmt.is_ok(), node_stmt.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1075:36 [INFO] [stdout] | [INFO] [stdout] 1075 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1075 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] 1075 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1088:36 [INFO] [stdout] | [INFO] [stdout] 1088 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1088 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] 1088 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1102:36 [INFO] [stdout] | [INFO] [stdout] 1102 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1102 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] 1102 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1112:36 [INFO] [stdout] | [INFO] [stdout] 1112 | assert!(false, subgraph); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1125:36 [INFO] [stdout] | [INFO] [stdout] 1125 | assert!(false, subgraph); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1145:36 [INFO] [stdout] | [INFO] [stdout] 1145 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1145 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] 1145 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1159:36 [INFO] [stdout] | [INFO] [stdout] 1159 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1159 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] 1159 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1189:36 [INFO] [stdout] | [INFO] [stdout] 1189 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1189 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] 1189 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1203:36 [INFO] [stdout] | [INFO] [stdout] 1203 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1203 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] 1203 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1222:36 [INFO] [stdout] | [INFO] [stdout] 1222 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1222 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] 1222 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1236:36 [INFO] [stdout] | [INFO] [stdout] 1236 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1236 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] 1236 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1246:55 [INFO] [stdout] | [INFO] [stdout] 1246 | assert!(stmt.attr_stmt.is_some(), stmt); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{:?}" format string to use the Debug implementation of `Stmt` [INFO] [stdout] | [INFO] [stdout] 1246 | assert!(stmt.attr_stmt.is_some(), "{:?}", stmt); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1250:36 [INFO] [stdout] | [INFO] [stdout] 1250 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1250 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] 1250 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1260:57 [INFO] [stdout] | [INFO] [stdout] 1260 | assert!(stmt.assign_stmt.is_some(), stmt); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{:?}" format string to use the Debug implementation of `Stmt` [INFO] [stdout] | [INFO] [stdout] 1260 | assert!(stmt.assign_stmt.is_some(), "{:?}", stmt); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1266:36 [INFO] [stdout] | [INFO] [stdout] 1266 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1266 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] 1266 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1276:54 [INFO] [stdout] | [INFO] [stdout] 1276 | assert!(stmt.subgraph.is_some(), stmt); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{:?}" format string to use the Debug implementation of `Stmt` [INFO] [stdout] | [INFO] [stdout] 1276 | assert!(stmt.subgraph.is_some(), "{:?}", stmt); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1279:36 [INFO] [stdout] | [INFO] [stdout] 1279 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1279 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] 1279 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:1298:36 [INFO] [stdout] | [INFO] [stdout] 1298 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1298 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stdout] 1298 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.36s [INFO] running `Command { std: "docker" "inspect" "8c50d8c4a3608d16d8889ea8c6a25d5171883277fb0443898a59dd456a078c0c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8c50d8c4a3608d16d8889ea8c6a25d5171883277fb0443898a59dd456a078c0c", kill_on_drop: false }` [INFO] [stdout] 8c50d8c4a3608d16d8889ea8c6a25d5171883277fb0443898a59dd456a078c0c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-61/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-61/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a1ab58652e71eed8d4ca4d78eae878ea67ced9855520d207c624924967673def [INFO] running `Command { std: "docker" "start" "-a" "a1ab58652e71eed8d4ca4d78eae878ea67ced9855520d207c624924967673def", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/lib.rs:257:10 [INFO] [stderr] | [INFO] [stderr] 257 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/lib.rs:350:61 [INFO] [stderr] | [INFO] [stderr] 350 | fn parse_from(tokens: &[&'a str]) -> Result, ((usize, &'a str))> { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 350 - fn parse_from(tokens: &[&'a str]) -> Result, ((usize, &'a str))> { [INFO] [stderr] 350 + fn parse_from(tokens: &[&'a str]) -> Result, (usize, &'a str)> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/lib.rs:361:10 [INFO] [stderr] | [INFO] [stderr] 361 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/lib.rs:401:10 [INFO] [stderr] | [INFO] [stderr] 401 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/lib.rs:705:10 [INFO] [stderr] | [INFO] [stderr] 705 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/lib.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | _ => false [INFO] [stderr] | ^ unreachable pattern [INFO] [stderr] ... [INFO] [stderr] 235 | (Some(a), Some(_b)) => matches!(a, _b) && id_match(self, other), [INFO] [stderr] | --------------- [INFO] [stderr] | | | [INFO] [stderr] | | matches any value [INFO] [stderr] | in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] = note: this warning originates in the macro `matches` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/lib.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | _ => false [INFO] [stderr] | ^ unreachable pattern [INFO] [stderr] ... [INFO] [stderr] 488 | matches!(self, other) [INFO] [stderr] | --------------------- [INFO] [stderr] | | | [INFO] [stderr] | | matches any value [INFO] [stderr] | in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `matches` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/lib.rs:604:21 [INFO] [stderr] | [INFO] [stderr] 603 | key_subgraph => parse_stmt_list_and_return(None, 2), [INFO] [stderr] | ------------ matches any value [INFO] [stderr] 604 | _ => Err((0, "expecting subgraph")), [INFO] [stderr] | ^ unreachable pattern [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/lib.rs:609:21 [INFO] [stderr] | [INFO] [stderr] 609 | (_, Ok(_)) => Err((0, "expecting subgraph")), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `other` [INFO] [stderr] --> src/lib.rs:488:24 [INFO] [stderr] | [INFO] [stderr] 488 | matches!(self, other) [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `other` [INFO] [stderr] --> src/lib.rs:487:18 [INFO] [stderr] | [INFO] [stderr] 487 | fn eq(&self, other: &Self) -> bool { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key_subgraph` [INFO] [stderr] --> src/lib.rs:597:13 [INFO] [stderr] | [INFO] [stderr] 597 | let key_subgraph: &str = "subgraph"; [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `right_brace` [INFO] [stderr] --> src/lib.rs:598:13 [INFO] [stderr] | [INFO] [stderr] 598 | let right_brace: &str = "}"; [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_brace` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `right_brace` [INFO] [stderr] --> src/lib.rs:600:42 [INFO] [stderr] | [INFO] [stderr] 600 | (Some(idx_left_brace), Some(&right_brace)) => match idx_left_brace { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_brace` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key_subgraph` [INFO] [stderr] --> src/lib.rs:603:21 [INFO] [stderr] | [INFO] [stderr] 603 | key_subgraph => parse_stmt_list_and_return(None, 2), [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key_subgraph` [INFO] [stderr] --> src/lib.rs:608:22 [INFO] [stderr] | [INFO] [stderr] 608 | (key_subgraph, Ok(id)) => parse_stmt_list_and_return(Some(id), 3), [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph` [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get` [INFO] [stderr] --> src/lib.rs:421:8 [INFO] [stderr] | [INFO] [stderr] 421 | fn get(&self, key: &str) -> Option<&IdWrapper<'a>> { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `len` [INFO] [stderr] --> src/lib.rs:425:8 [INFO] [stderr] | [INFO] [stderr] 425 | fn len(&self) -> usize { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `key` [INFO] [stderr] --> src/lib.rs:504:5 [INFO] [stderr] | [INFO] [stderr] 504 | key: AttrStmtKey, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `attr_list` [INFO] [stderr] --> src/lib.rs:505:5 [INFO] [stderr] | [INFO] [stderr] 505 | attr_list: AttrList<'a>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `id` [INFO] [stderr] --> src/lib.rs:533:5 [INFO] [stderr] | [INFO] [stderr] 533 | id: NodeId<'a>, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `attr_list` [INFO] [stderr] --> src/lib.rs:534:5 [INFO] [stderr] | [INFO] [stderr] 534 | attr_list: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `id` [INFO] [stderr] --> src/lib.rs:577:5 [INFO] [stderr] | [INFO] [stderr] 577 | id: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `stmt_list` [INFO] [stderr] --> src/lib.rs:578:5 [INFO] [stderr] | [INFO] [stderr] 578 | stmt_list: StmtList<'a>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `attr_list` [INFO] [stderr] --> src/lib.rs:718:5 [INFO] [stderr] | [INFO] [stderr] 718 | attr_list: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `dot_parse` (lib) generated 25 warnings [INFO] [stderr] warning: field is never read: `attr_list` [INFO] [stderr] --> src/lib.rs:505:5 [INFO] [stderr] | [INFO] [stderr] 505 | attr_list: AttrList<'a>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:948:35 [INFO] [stderr] | [INFO] [stderr] 948 | assert!(!alist_5.is_ok(), alist_5.unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{:?}" format string to use the Debug implementation of `AList` [INFO] [stderr] | [INFO] [stderr] 948 | assert!(!alist_5.is_ok(), "{:?}", alist_5.unwrap()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:951:35 [INFO] [stderr] | [INFO] [stderr] 951 | assert!(!alist_6.is_ok(), alist_6.unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{:?}" format string to use the Debug implementation of `AList` [INFO] [stderr] | [INFO] [stderr] 951 | assert!(!alist_6.is_ok(), "{:?}", alist_6.unwrap()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:992:41 [INFO] [stderr] | [INFO] [stderr] 992 | assert!(!attr_list.is_ok(), attr_list.unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{:?}" format string to use the Debug implementation of `AttrList` [INFO] [stderr] | [INFO] [stderr] 992 | assert!(!attr_list.is_ok(), "{:?}", attr_list.unwrap()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:997:41 [INFO] [stderr] | [INFO] [stderr] 997 | assert!(!attr_list.is_ok(), attr_list.unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{:?}" format string to use the Debug implementation of `AttrList` [INFO] [stderr] | [INFO] [stderr] 997 | assert!(!attr_list.is_ok(), "{:?}", attr_list.unwrap()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1005:41 [INFO] [stderr] | [INFO] [stderr] 1005 | assert!(!node_stmt.is_ok(), node_stmt.unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1043:41 [INFO] [stderr] | [INFO] [stderr] 1043 | assert!(!node_stmt.is_ok(), node_stmt.unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1055:41 [INFO] [stderr] | [INFO] [stderr] 1055 | assert!(!node_stmt.is_ok(), node_stmt.unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1061:41 [INFO] [stderr] | [INFO] [stderr] 1061 | assert!(!node_stmt.is_ok(), node_stmt.unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1075:36 [INFO] [stderr] | [INFO] [stderr] 1075 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1075 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] 1075 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1088:36 [INFO] [stderr] | [INFO] [stderr] 1088 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1088 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] 1088 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1102:36 [INFO] [stderr] | [INFO] [stderr] 1102 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1102 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] 1102 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1112:36 [INFO] [stderr] | [INFO] [stderr] 1112 | assert!(false, subgraph); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1125:36 [INFO] [stderr] | [INFO] [stderr] 1125 | assert!(false, subgraph); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1145:36 [INFO] [stderr] | [INFO] [stderr] 1145 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1145 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] 1145 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1159:36 [INFO] [stderr] | [INFO] [stderr] 1159 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1159 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] 1159 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1189:36 [INFO] [stderr] | [INFO] [stderr] 1189 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1189 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] 1189 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1203:36 [INFO] [stderr] | [INFO] [stderr] 1203 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1203 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] 1203 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1222:36 [INFO] [stderr] | [INFO] [stderr] 1222 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1222 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] 1222 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1236:36 [INFO] [stderr] | [INFO] [stderr] 1236 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1236 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] 1236 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1246:55 [INFO] [stderr] | [INFO] [stderr] 1246 | assert!(stmt.attr_stmt.is_some(), stmt); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{:?}" format string to use the Debug implementation of `Stmt` [INFO] [stderr] | [INFO] [stderr] 1246 | assert!(stmt.attr_stmt.is_some(), "{:?}", stmt); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1250:36 [INFO] [stderr] | [INFO] [stderr] 1250 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1250 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] 1250 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1260:57 [INFO] [stderr] | [INFO] [stderr] 1260 | assert!(stmt.assign_stmt.is_some(), stmt); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{:?}" format string to use the Debug implementation of `Stmt` [INFO] [stderr] | [INFO] [stderr] 1260 | assert!(stmt.assign_stmt.is_some(), "{:?}", stmt); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1266:36 [INFO] [stderr] | [INFO] [stderr] 1266 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1266 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] 1266 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1276:54 [INFO] [stderr] | [INFO] [stderr] 1276 | assert!(stmt.subgraph.is_some(), stmt); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{:?}" format string to use the Debug implementation of `Stmt` [INFO] [stderr] | [INFO] [stderr] 1276 | assert!(stmt.subgraph.is_some(), "{:?}", stmt); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1279:36 [INFO] [stderr] | [INFO] [stderr] 1279 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1279 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] 1279 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:1298:36 [INFO] [stderr] | [INFO] [stderr] 1298 | assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1298 - assert!(false, format!("{} {}", idx_err, err_msg)); [INFO] [stderr] 1298 + assert!(false, "{} {}", idx_err, err_msg); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `dot_parse` (lib test) generated 44 warnings (17 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/libdot_parse-d864bfbee5a2f3b5) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test tests::format_print ... ok [INFO] [stdout] test tests::parse_alist ... ok [INFO] [stdout] test tests::parse_attrlist ... ok [INFO] [stdout] test tests::parse_edge_rhs ... ok [INFO] [stdout] test tests::parse_edge_stmt ... ok [INFO] [stdout] test tests::parse_nodeid ... ok [INFO] [stdout] test tests::parse_node_stmt ... ok [INFO] [stdout] test tests::parse_stmt ... ok [INFO] [stdout] test tests::parse_stmt_list ... ok [INFO] [stdout] test tests::parse_attr_stmt ... ok [INFO] [stdout] test tests::parse_subgraph ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [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] [stderr] Running unittests (/opt/rustwide/target/debug/deps/dot_parse-3edf1b61818f2793) [INFO] [stderr] Doc-tests libdot_parse [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> /opt/rustwide/workdir/src/lib.rs:257:10 [INFO] [stderr] | [INFO] [stderr] 257 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> /opt/rustwide/workdir/src/lib.rs:350:61 [INFO] [stderr] | [INFO] [stderr] 350 | fn parse_from(tokens: &[&'a str]) -> Result, ((usize, &'a str))> { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 350 - fn parse_from(tokens: &[&'a str]) -> Result, ((usize, &'a str))> { [INFO] [stderr] 350 + fn parse_from(tokens: &[&'a str]) -> Result, (usize, &'a str)> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> /opt/rustwide/workdir/src/lib.rs:361:10 [INFO] [stderr] | [INFO] [stderr] 361 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> /opt/rustwide/workdir/src/lib.rs:401:10 [INFO] [stderr] | [INFO] [stderr] 401 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> /opt/rustwide/workdir/src/lib.rs:705:10 [INFO] [stderr] | [INFO] [stderr] 705 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: 5 warnings emitted [INFO] [stderr] [INFO] [stdout] [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] running `Command { std: "docker" "inspect" "a1ab58652e71eed8d4ca4d78eae878ea67ced9855520d207c624924967673def", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a1ab58652e71eed8d4ca4d78eae878ea67ced9855520d207c624924967673def", kill_on_drop: false }` [INFO] [stdout] a1ab58652e71eed8d4ca4d78eae878ea67ced9855520d207c624924967673def