[INFO] fetching crate return_crusher 0.1.4... [INFO] testing return_crusher-0.1.4 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8 [INFO] extracting crate return_crusher 0.1.4 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate return_crusher 0.1.4 [INFO] finished tweaking crates.io crate return_crusher 0.1.4 [INFO] tweaked toml for crates.io crate return_crusher 0.1.4 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate return_crusher 0.1.4 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate return_crusher 0.1.4 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tree-sitter-language v0.1.0 [INFO] [stderr] Downloaded cc v1.1.15 [INFO] [stderr] Downloaded tree-sitter v0.23.0 [INFO] [stderr] Downloaded tree-sitter-c v0.23.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1ee0650a9c28e7b09bd6e6f5f21374de9fd6b3fc6641eb3e57a194c6f91d6bcb [INFO] running `Command { std: "docker" "start" "-a" "1ee0650a9c28e7b09bd6e6f5f21374de9fd6b3fc6641eb3e57a194c6f91d6bcb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1ee0650a9c28e7b09bd6e6f5f21374de9fd6b3fc6641eb3e57a194c6f91d6bcb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1ee0650a9c28e7b09bd6e6f5f21374de9fd6b3fc6641eb3e57a194c6f91d6bcb", kill_on_drop: false }` [INFO] [stdout] 1ee0650a9c28e7b09bd6e6f5f21374de9fd6b3fc6641eb3e57a194c6f91d6bcb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 11fdd17873b284a2a6a891556c90d146b926fdd528502ee6a24995920b6b7133 [INFO] running `Command { std: "docker" "start" "-a" "11fdd17873b284a2a6a891556c90d146b926fdd528502ee6a24995920b6b7133", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.1.15 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling tree-sitter-language v0.1.0 [INFO] [stderr] Compiling tree-sitter v0.23.0 [INFO] [stderr] Compiling tree-sitter-c v0.23.0 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Compiling return_crusher v0.1.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `core::error` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::error; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fmt::format`, `io::Write`, and `process::Command` [INFO] [stdout] --> src/main.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | collections::HashMap, fmt::format, fs::File, io::Read, io::Write, path::Path, process::Command, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:1139:6 [INFO] [stdout] | [INFO] [stdout] 1139 | if (node.kind() == "compound_statement") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1139 - if (node.kind() == "compound_statement") { [INFO] [stdout] 1139 + if node.kind() == "compound_statement" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:648:3 [INFO] [stdout] | [INFO] [stdout] 643 | / return format!( [INFO] [stdout] 644 | | "({{ {} }})", [INFO] [stdout] 645 | | source[node.start_byte() as usize..node.end_byte() as usize].to_string() [INFO] [stdout] 646 | | ); [INFO] [stdout] | |___- any code following this expression is unreachable [INFO] [stdout] 647 | // 获取switch的条件表达式 [INFO] [stdout] 648 | let condition = get_switch_condition(node, source); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `condition` [INFO] [stdout] --> src/main.rs:648:7 [INFO] [stdout] | [INFO] [stdout] 648 | let condition = get_switch_condition(node, source); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_condition` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compound_stmt` [INFO] [stdout] --> src/main.rs:651:15 [INFO] [stdout] | [INFO] [stdout] 651 | if let Some(compound_stmt) = find_child(node, "compound_statement") { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compound_stmt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cases` [INFO] [stdout] --> src/main.rs:653:9 [INFO] [stdout] | [INFO] [stdout] 653 | let cases = query_nodes(compound_stmt, "case_statement"); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cases` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `defaults` [INFO] [stdout] --> src/main.rs:654:9 [INFO] [stdout] | [INFO] [stdout] 654 | let defaults = query_nodes(compound_stmt, "default_statement"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defaults` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/main.rs:657:9 [INFO] [stdout] | [INFO] [stdout] 657 | let mut result = String::new(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_expr` [INFO] [stdout] --> src/main.rs:668:11 [INFO] [stdout] | [INFO] [stdout] 668 | let mut current_expr = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case` [INFO] [stdout] --> src/main.rs:678:11 [INFO] [stdout] | [INFO] [stdout] 678 | for case in cases.iter().rev() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_case` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case_value` [INFO] [stdout] --> src/main.rs:679:13 [INFO] [stdout] | [INFO] [stdout] 679 | let case_value = get_case_value(case.clone(), source); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case_body` [INFO] [stdout] --> src/main.rs:680:13 [INFO] [stdout] | [INFO] [stdout] 680 | let case_body = process_case_statements(case, source); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text` [INFO] [stdout] --> src/main.rs:694:9 [INFO] [stdout] | [INFO] [stdout] 694 | let text = source[node.start_byte() as usize..node.end_byte() as usize].to_string(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/main.rs:722:43 [INFO] [stdout] | [INFO] [stdout] 722 | fn get_case_body<'a>(case_node: Node<'a>, source: &'a str) -> Node<'a> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_function_name` is never used [INFO] [stdout] --> src/main.rs:559:4 [INFO] [stdout] | [INFO] [stdout] 559 | fn get_function_name<'a>(func_node: Node<'a>, source: &'a str) -> &'a str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contains_loop` is never used [INFO] [stdout] --> src/main.rs:570:4 [INFO] [stdout] | [INFO] [stdout] 570 | fn contains_loop(node: Node) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_case_body` is never used [INFO] [stdout] --> src/main.rs:722:4 [INFO] [stdout] | [INFO] [stdout] 722 | fn get_case_body<'a>(case_node: Node<'a>, source: &'a str) -> Node<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `transform_compound_statement` is never used [INFO] [stdout] --> src/main.rs:1138:4 [INFO] [stdout] | [INFO] [stdout] 1138 | fn transform_compound_statement(node: Node, source: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.87s [INFO] running `Command { std: "docker" "inspect" "11fdd17873b284a2a6a891556c90d146b926fdd528502ee6a24995920b6b7133", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "11fdd17873b284a2a6a891556c90d146b926fdd528502ee6a24995920b6b7133", kill_on_drop: false }` [INFO] [stdout] 11fdd17873b284a2a6a891556c90d146b926fdd528502ee6a24995920b6b7133 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5b58413c18e4989e112dfeef0b367496a6b2e69ed54e0b38c1b48ac6e02b7a2e [INFO] running `Command { std: "docker" "start" "-a" "5b58413c18e4989e112dfeef0b367496a6b2e69ed54e0b38c1b48ac6e02b7a2e", kill_on_drop: false }` [INFO] [stderr] Compiling return_crusher v0.1.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `core::error` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::error; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fmt::format`, `io::Write`, and `process::Command` [INFO] [stdout] --> src/main.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | collections::HashMap, fmt::format, fs::File, io::Read, io::Write, path::Path, process::Command, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:1139:6 [INFO] [stdout] | [INFO] [stdout] 1139 | if (node.kind() == "compound_statement") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1139 - if (node.kind() == "compound_statement") { [INFO] [stdout] 1139 + if node.kind() == "compound_statement" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:648:3 [INFO] [stdout] | [INFO] [stdout] 643 | / return format!( [INFO] [stdout] 644 | | "({{ {} }})", [INFO] [stdout] 645 | | source[node.start_byte() as usize..node.end_byte() as usize].to_string() [INFO] [stdout] 646 | | ); [INFO] [stdout] | |___- any code following this expression is unreachable [INFO] [stdout] 647 | // 获取switch的条件表达式 [INFO] [stdout] 648 | let condition = get_switch_condition(node, source); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `condition` [INFO] [stdout] --> src/main.rs:648:7 [INFO] [stdout] | [INFO] [stdout] 648 | let condition = get_switch_condition(node, source); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_condition` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compound_stmt` [INFO] [stdout] --> src/main.rs:651:15 [INFO] [stdout] | [INFO] [stdout] 651 | if let Some(compound_stmt) = find_child(node, "compound_statement") { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compound_stmt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cases` [INFO] [stdout] --> src/main.rs:653:9 [INFO] [stdout] | [INFO] [stdout] 653 | let cases = query_nodes(compound_stmt, "case_statement"); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cases` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `defaults` [INFO] [stdout] --> src/main.rs:654:9 [INFO] [stdout] | [INFO] [stdout] 654 | let defaults = query_nodes(compound_stmt, "default_statement"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defaults` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/main.rs:657:9 [INFO] [stdout] | [INFO] [stdout] 657 | let mut result = String::new(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_expr` [INFO] [stdout] --> src/main.rs:668:11 [INFO] [stdout] | [INFO] [stdout] 668 | let mut current_expr = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case` [INFO] [stdout] --> src/main.rs:678:11 [INFO] [stdout] | [INFO] [stdout] 678 | for case in cases.iter().rev() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_case` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case_value` [INFO] [stdout] --> src/main.rs:679:13 [INFO] [stdout] | [INFO] [stdout] 679 | let case_value = get_case_value(case.clone(), source); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case_body` [INFO] [stdout] --> src/main.rs:680:13 [INFO] [stdout] | [INFO] [stdout] 680 | let case_body = process_case_statements(case, source); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text` [INFO] [stdout] --> src/main.rs:694:9 [INFO] [stdout] | [INFO] [stdout] 694 | let text = source[node.start_byte() as usize..node.end_byte() as usize].to_string(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/main.rs:722:43 [INFO] [stdout] | [INFO] [stdout] 722 | fn get_case_body<'a>(case_node: Node<'a>, source: &'a str) -> Node<'a> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_function_name` is never used [INFO] [stdout] --> src/main.rs:559:4 [INFO] [stdout] | [INFO] [stdout] 559 | fn get_function_name<'a>(func_node: Node<'a>, source: &'a str) -> &'a str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contains_loop` is never used [INFO] [stdout] --> src/main.rs:570:4 [INFO] [stdout] | [INFO] [stdout] 570 | fn contains_loop(node: Node) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_case_body` is never used [INFO] [stdout] --> src/main.rs:722:4 [INFO] [stdout] | [INFO] [stdout] 722 | fn get_case_body<'a>(case_node: Node<'a>, source: &'a str) -> Node<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `transform_compound_statement` is never used [INFO] [stdout] --> src/main.rs:1138:4 [INFO] [stdout] | [INFO] [stdout] 1138 | fn transform_compound_statement(node: Node, source: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.50s [INFO] running `Command { std: "docker" "inspect" "5b58413c18e4989e112dfeef0b367496a6b2e69ed54e0b38c1b48ac6e02b7a2e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5b58413c18e4989e112dfeef0b367496a6b2e69ed54e0b38c1b48ac6e02b7a2e", kill_on_drop: false }` [INFO] [stdout] 5b58413c18e4989e112dfeef0b367496a6b2e69ed54e0b38c1b48ac6e02b7a2e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f16b5fc210bbb45b7b6beca1d151c4c7dc1be3324beffea5eb2bcb20116a83e1 [INFO] running `Command { std: "docker" "start" "-a" "f16b5fc210bbb45b7b6beca1d151c4c7dc1be3324beffea5eb2bcb20116a83e1", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `core::error` [INFO] [stderr] --> src/main.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use core::error; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `fmt::format`, `io::Write`, and `process::Command` [INFO] [stderr] --> src/main.rs:3:25 [INFO] [stderr] | [INFO] [stderr] 3 | collections::HashMap, fmt::format, fs::File, io::Read, io::Write, path::Path, process::Command, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:1139:6 [INFO] [stderr] | [INFO] [stderr] 1139 | if (node.kind() == "compound_statement") { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 1139 - if (node.kind() == "compound_statement") { [INFO] [stderr] 1139 + if node.kind() == "compound_statement" { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/main.rs:648:3 [INFO] [stderr] | [INFO] [stderr] 643 | / return format!( [INFO] [stderr] 644 | | "({{ {} }})", [INFO] [stderr] 645 | | source[node.start_byte() as usize..node.end_byte() as usize].to_string() [INFO] [stderr] 646 | | ); [INFO] [stderr] | |___- any code following this expression is unreachable [INFO] [stderr] 647 | // 获取switch的条件表达式 [INFO] [stderr] 648 | let condition = get_switch_condition(node, source); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `condition` [INFO] [stderr] --> src/main.rs:648:7 [INFO] [stderr] | [INFO] [stderr] 648 | let condition = get_switch_condition(node, source); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_condition` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `compound_stmt` [INFO] [stderr] --> src/main.rs:651:15 [INFO] [stderr] | [INFO] [stderr] 651 | if let Some(compound_stmt) = find_child(node, "compound_statement") { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compound_stmt` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cases` [INFO] [stderr] --> src/main.rs:653:9 [INFO] [stderr] | [INFO] [stderr] 653 | let cases = query_nodes(compound_stmt, "case_statement"); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cases` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `defaults` [INFO] [stderr] --> src/main.rs:654:9 [INFO] [stderr] | [INFO] [stderr] 654 | let defaults = query_nodes(compound_stmt, "default_statement"); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defaults` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/main.rs:657:9 [INFO] [stderr] | [INFO] [stderr] 657 | let mut result = String::new(); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_expr` [INFO] [stderr] --> src/main.rs:668:11 [INFO] [stderr] | [INFO] [stderr] 668 | let mut current_expr = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_expr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `case` [INFO] [stderr] --> src/main.rs:678:11 [INFO] [stderr] | [INFO] [stderr] 678 | for case in cases.iter().rev() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_case` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `case_value` [INFO] [stderr] --> src/main.rs:679:13 [INFO] [stderr] | [INFO] [stderr] 679 | let case_value = get_case_value(case.clone(), source); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `case_body` [INFO] [stderr] --> src/main.rs:680:13 [INFO] [stderr] | [INFO] [stderr] 680 | let case_body = process_case_statements(case, source); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_body` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `text` [INFO] [stderr] --> src/main.rs:694:9 [INFO] [stderr] | [INFO] [stderr] 694 | let text = source[node.start_byte() as usize..node.end_byte() as usize].to_string(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `source` [INFO] [stderr] --> src/main.rs:722:43 [INFO] [stderr] | [INFO] [stderr] 722 | fn get_case_body<'a>(case_node: Node<'a>, source: &'a str) -> Node<'a> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stderr] [INFO] [stderr] warning: function `get_function_name` is never used [INFO] [stderr] --> src/main.rs:559:4 [INFO] [stderr] | [INFO] [stderr] 559 | fn get_function_name<'a>(func_node: Node<'a>, source: &'a str) -> &'a str { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `contains_loop` is never used [INFO] [stderr] --> src/main.rs:570:4 [INFO] [stderr] | [INFO] [stderr] 570 | fn contains_loop(node: Node) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_case_body` is never used [INFO] [stderr] --> src/main.rs:722:4 [INFO] [stderr] | [INFO] [stderr] 722 | fn get_case_body<'a>(case_node: Node<'a>, source: &'a str) -> Node<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `transform_compound_statement` is never used [INFO] [stderr] --> src/main.rs:1138:4 [INFO] [stderr] | [INFO] [stderr] 1138 | fn transform_compound_statement(node: Node, source: &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `return_crusher` (bin "return_crusher" test) generated 19 warnings (run `cargo fix --bin "return_crusher" -p return_crusher --tests` to apply 14 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/return_crusher-51099794501506e0) [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" "f16b5fc210bbb45b7b6beca1d151c4c7dc1be3324beffea5eb2bcb20116a83e1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f16b5fc210bbb45b7b6beca1d151c4c7dc1be3324beffea5eb2bcb20116a83e1", kill_on_drop: false }` [INFO] [stdout] f16b5fc210bbb45b7b6beca1d151c4c7dc1be3324beffea5eb2bcb20116a83e1