[INFO] cloning repository https://github.com/loafoflead/sili [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/loafoflead/sili" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Floafoflead%2Fsili", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Floafoflead%2Fsili'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b18134fe712cf90a80c97cee2ff723ffc1d825dc [INFO] testing loafoflead/sili against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Floafoflead%2Fsili" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/loafoflead/sili [INFO] finished tweaking git repo https://github.com/loafoflead/sili [INFO] tweaked toml for git repo https://github.com/loafoflead/sili written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/loafoflead/sili on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/loafoflead/sili 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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0a132f14fd5edb5d5968fcae660085994ac8464e6955cab4a07780a0e2ec54ad [INFO] running `Command { std: "docker" "start" "-a" "0a132f14fd5edb5d5968fcae660085994ac8464e6955cab4a07780a0e2ec54ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0a132f14fd5edb5d5968fcae660085994ac8464e6955cab4a07780a0e2ec54ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0a132f14fd5edb5d5968fcae660085994ac8464e6955cab4a07780a0e2ec54ad", kill_on_drop: false }` [INFO] [stdout] 0a132f14fd5edb5d5968fcae660085994ac8464e6955cab4a07780a0e2ec54ad [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] d4ce11a0f7390fc8eb9f1f0cf30a08bd32ee469cd85c1190e0eb84d54da09f47 [INFO] running `Command { std: "docker" "start" "-a" "d4ce11a0f7390fc8eb9f1f0cf30a08bd32ee469cd85c1190e0eb84d54da09f47", kill_on_drop: false }` [INFO] [stderr] Compiling greebling v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/syn.rs:859:2 [INFO] [stdout] | [INFO] [stdout] 859 | 'object: loop { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj` [INFO] [stdout] --> src/syn.rs:496:23 [INFO] [stdout] | [INFO] [stdout] 496 | Type::Object(obj) => todo!("format obj"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obj` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/syn.rs:662:8 [INFO] [stdout] | [INFO] [stdout] 662 | let mut next = tokens.next()?; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/type_check.rs:69:33 [INFO] [stdout] | [INFO] [stdout] 69 | for StatementLoc { stmt, from, to } in stmts.iter() { [INFO] [stdout] | ^^ help: try ignoring the field: `to: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/type_check.rs:76:30 [INFO] [stdout] | [INFO] [stdout] 76 | let FuncSignature { ret, args } = &signature; [INFO] [stdout] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/type_check.rs:122:33 [INFO] [stdout] | [INFO] [stdout] 122 | for StatementLoc { stmt, from, to } in stmts.iter() { [INFO] [stdout] | ^^ help: try ignoring the field: `to: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ident` [INFO] [stdout] --> src/type_check.rs:124:33 [INFO] [stdout] | [INFO] [stdout] 124 | Statement::TypeDeclaration { ident, ty } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `ident: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `en` [INFO] [stdout] --> src/type_check.rs:129:19 [INFO] [stdout] | [INFO] [stdout] 129 | Object::Enum(en) => todo!("??? should simple enums need variant type checks?"), [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_en` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ident` [INFO] [stdout] --> src/type_check.rs:132:37 [INFO] [stdout] | [INFO] [stdout] 132 | Statement::FunctionDeclaration { ident, function } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `ident: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret` [INFO] [stdout] --> src/type_check.rs:134:25 [INFO] [stdout] | [INFO] [stdout] 134 | let FuncSignature { ret, args } = &signature; [INFO] [stdout] | ^^^ help: try ignoring the field: `ret: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs` [INFO] [stdout] --> src/type_check.rs:143:45 [INFO] [stdout] | [INFO] [stdout] 143 | Statement::Assignment( Assign { lhs, ty, rhs, kind } ) => { [INFO] [stdout] | ^^^ help: try ignoring the field: `rhs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> src/type_check.rs:143:50 [INFO] [stdout] | [INFO] [stdout] 143 | Statement::Assignment( Assign { lhs, ty, rhs, kind } ) => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `kind: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/type_check.rs:170:33 [INFO] [stdout] | [INFO] [stdout] 170 | for StatementLoc { stmt, from, to } in stmts.iter() { [INFO] [stdout] | ^^ help: try ignoring the field: `to: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> src/type_check.rs:172:50 [INFO] [stdout] | [INFO] [stdout] 172 | Statement::Assignment( Assign { lhs, ty, rhs, kind } ) => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `kind: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ident` [INFO] [stdout] --> src/type_check.rs:182:37 [INFO] [stdout] | [INFO] [stdout] 182 | Statement::FunctionDeclaration { ident, function } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `ident: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/type_check.rs:206:26 [INFO] [stdout] | [INFO] [stdout] 206 | else if let Type::Path(path) = &field.ty { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stmts` [INFO] [stdout] --> src/type_check.rs:215:21 [INFO] [stdout] | [INFO] [stdout] 215 | Expr::Block(Block(stmts)) => todo!("find return type of block"), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stmts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `given` [INFO] [stdout] --> src/type_check.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | (Some(given), None) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_given` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inferred` [INFO] [stdout] --> src/type_check.rs:254:28 [INFO] [stdout] | [INFO] [stdout] 254 | (Some(Type::Infer), Some(inferred)) => { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inferred` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/type_check.rs:277:16 [INFO] [stdout] | [INFO] [stdout] 277 | if let Some(ty) = state.get_type_above(ident, scope) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ident` [INFO] [stdout] --> src/type_check.rs:281:14 [INFO] [stdout] | [INFO] [stdout] 281 | Type::Path(ident) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParseErrorLoc` is never constructed [INFO] [stdout] --> src/tokeniser.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ParseErrorLoc { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseErrorLoc` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ParseError` is never used [INFO] [stdout] --> src/tokeniser.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum ParseError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `at` and `loc_unknown` are never used [INFO] [stdout] --> src/tokeniser.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 33 | impl ParseError { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 34 | fn at(self, loc: Location) -> ParseErrorLoc { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn loc_unknown(self) -> ParseErrorLoc { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParseResult` is never used [INFO] [stdout] --> src/tokeniser.rs:65:6 [INFO] [stdout] | [INFO] [stdout] 65 | type ParseResult = Result; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `TokenOps` is never used [INFO] [stdout] --> src/tokeniser.rs:434:7 [INFO] [stdout] | [INFO] [stdout] 434 | trait TokenOps<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.70s [INFO] running `Command { std: "docker" "inspect" "d4ce11a0f7390fc8eb9f1f0cf30a08bd32ee469cd85c1190e0eb84d54da09f47", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d4ce11a0f7390fc8eb9f1f0cf30a08bd32ee469cd85c1190e0eb84d54da09f47", kill_on_drop: false }` [INFO] [stdout] d4ce11a0f7390fc8eb9f1f0cf30a08bd32ee469cd85c1190e0eb84d54da09f47 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 8a008576fccdd4a7bb0775e3cd8c9575fcef19366e6e4737a085d43b6f0ec811 [INFO] running `Command { std: "docker" "start" "-a" "8a008576fccdd4a7bb0775e3cd8c9575fcef19366e6e4737a085d43b6f0ec811", kill_on_drop: false }` [INFO] [stderr] Compiling greebling v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/syn.rs:859:2 [INFO] [stdout] | [INFO] [stdout] 859 | 'object: loop { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj` [INFO] [stdout] --> src/syn.rs:496:23 [INFO] [stdout] | [INFO] [stdout] 496 | Type::Object(obj) => todo!("format obj"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obj` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/syn.rs:662:8 [INFO] [stdout] | [INFO] [stdout] 662 | let mut next = tokens.next()?; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/type_check.rs:69:33 [INFO] [stdout] | [INFO] [stdout] 69 | for StatementLoc { stmt, from, to } in stmts.iter() { [INFO] [stdout] | ^^ help: try ignoring the field: `to: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/type_check.rs:76:30 [INFO] [stdout] | [INFO] [stdout] 76 | let FuncSignature { ret, args } = &signature; [INFO] [stdout] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/type_check.rs:122:33 [INFO] [stdout] | [INFO] [stdout] 122 | for StatementLoc { stmt, from, to } in stmts.iter() { [INFO] [stdout] | ^^ help: try ignoring the field: `to: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ident` [INFO] [stdout] --> src/type_check.rs:124:33 [INFO] [stdout] | [INFO] [stdout] 124 | Statement::TypeDeclaration { ident, ty } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `ident: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `en` [INFO] [stdout] --> src/type_check.rs:129:19 [INFO] [stdout] | [INFO] [stdout] 129 | Object::Enum(en) => todo!("??? should simple enums need variant type checks?"), [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_en` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ident` [INFO] [stdout] --> src/type_check.rs:132:37 [INFO] [stdout] | [INFO] [stdout] 132 | Statement::FunctionDeclaration { ident, function } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `ident: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret` [INFO] [stdout] --> src/type_check.rs:134:25 [INFO] [stdout] | [INFO] [stdout] 134 | let FuncSignature { ret, args } = &signature; [INFO] [stdout] | ^^^ help: try ignoring the field: `ret: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs` [INFO] [stdout] --> src/type_check.rs:143:45 [INFO] [stdout] | [INFO] [stdout] 143 | Statement::Assignment( Assign { lhs, ty, rhs, kind } ) => { [INFO] [stdout] | ^^^ help: try ignoring the field: `rhs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> src/type_check.rs:143:50 [INFO] [stdout] | [INFO] [stdout] 143 | Statement::Assignment( Assign { lhs, ty, rhs, kind } ) => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `kind: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/type_check.rs:170:33 [INFO] [stdout] | [INFO] [stdout] 170 | for StatementLoc { stmt, from, to } in stmts.iter() { [INFO] [stdout] | ^^ help: try ignoring the field: `to: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> src/type_check.rs:172:50 [INFO] [stdout] | [INFO] [stdout] 172 | Statement::Assignment( Assign { lhs, ty, rhs, kind } ) => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `kind: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ident` [INFO] [stdout] --> src/type_check.rs:182:37 [INFO] [stdout] | [INFO] [stdout] 182 | Statement::FunctionDeclaration { ident, function } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `ident: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/type_check.rs:206:26 [INFO] [stdout] | [INFO] [stdout] 206 | else if let Type::Path(path) = &field.ty { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stmts` [INFO] [stdout] --> src/type_check.rs:215:21 [INFO] [stdout] | [INFO] [stdout] 215 | Expr::Block(Block(stmts)) => todo!("find return type of block"), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stmts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `given` [INFO] [stdout] --> src/type_check.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | (Some(given), None) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_given` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inferred` [INFO] [stdout] --> src/type_check.rs:254:28 [INFO] [stdout] | [INFO] [stdout] 254 | (Some(Type::Infer), Some(inferred)) => { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inferred` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/type_check.rs:277:16 [INFO] [stdout] | [INFO] [stdout] 277 | if let Some(ty) = state.get_type_above(ident, scope) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ident` [INFO] [stdout] --> src/type_check.rs:281:14 [INFO] [stdout] | [INFO] [stdout] 281 | Type::Path(ident) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParseErrorLoc` is never constructed [INFO] [stdout] --> src/tokeniser.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ParseErrorLoc { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseErrorLoc` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ParseError` is never used [INFO] [stdout] --> src/tokeniser.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum ParseError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `at` and `loc_unknown` are never used [INFO] [stdout] --> src/tokeniser.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 33 | impl ParseError { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 34 | fn at(self, loc: Location) -> ParseErrorLoc { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn loc_unknown(self) -> ParseErrorLoc { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParseResult` is never used [INFO] [stdout] --> src/tokeniser.rs:65:6 [INFO] [stdout] | [INFO] [stdout] 65 | type ParseResult = Result; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `TokenOps` is never used [INFO] [stdout] --> src/tokeniser.rs:434:7 [INFO] [stdout] | [INFO] [stdout] 434 | trait TokenOps<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.84s [INFO] running `Command { std: "docker" "inspect" "8a008576fccdd4a7bb0775e3cd8c9575fcef19366e6e4737a085d43b6f0ec811", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8a008576fccdd4a7bb0775e3cd8c9575fcef19366e6e4737a085d43b6f0ec811", kill_on_drop: false }` [INFO] [stdout] 8a008576fccdd4a7bb0775e3cd8c9575fcef19366e6e4737a085d43b6f0ec811 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 80c55a3b023a9af02af620c5ebeb26f935e1314a8e6589958a1e8fa53a98edee [INFO] running `Command { std: "docker" "start" "-a" "80c55a3b023a9af02af620c5ebeb26f935e1314a8e6589958a1e8fa53a98edee", kill_on_drop: false }` [INFO] [stderr] warning: unused label [INFO] [stderr] --> src/syn.rs:859:2 [INFO] [stderr] | [INFO] [stderr] 859 | 'object: loop { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_labels)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `obj` [INFO] [stderr] --> src/syn.rs:496:23 [INFO] [stderr] | [INFO] [stderr] 496 | Type::Object(obj) => todo!("format obj"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_obj` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/syn.rs:662:8 [INFO] [stderr] | [INFO] [stderr] 662 | let mut next = tokens.next()?; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/type_check.rs:69:33 [INFO] [stderr] | [INFO] [stderr] 69 | for StatementLoc { stmt, from, to } in stmts.iter() { [INFO] [stderr] | ^^ help: try ignoring the field: `to: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `args` [INFO] [stderr] --> src/type_check.rs:76:30 [INFO] [stderr] | [INFO] [stderr] 76 | let FuncSignature { ret, args } = &signature; [INFO] [stderr] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/type_check.rs:122:33 [INFO] [stderr] | [INFO] [stderr] 122 | for StatementLoc { stmt, from, to } in stmts.iter() { [INFO] [stderr] | ^^ help: try ignoring the field: `to: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ident` [INFO] [stderr] --> src/type_check.rs:124:33 [INFO] [stderr] | [INFO] [stderr] 124 | Statement::TypeDeclaration { ident, ty } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `ident: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `en` [INFO] [stderr] --> src/type_check.rs:129:19 [INFO] [stderr] | [INFO] [stderr] 129 | Object::Enum(en) => todo!("??? should simple enums need variant type checks?"), [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_en` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ident` [INFO] [stderr] --> src/type_check.rs:132:37 [INFO] [stderr] | [INFO] [stderr] 132 | Statement::FunctionDeclaration { ident, function } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `ident: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ret` [INFO] [stderr] --> src/type_check.rs:134:25 [INFO] [stderr] | [INFO] [stderr] 134 | let FuncSignature { ret, args } = &signature; [INFO] [stderr] | ^^^ help: try ignoring the field: `ret: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rhs` [INFO] [stderr] --> src/type_check.rs:143:45 [INFO] [stderr] | [INFO] [stderr] 143 | Statement::Assignment( Assign { lhs, ty, rhs, kind } ) => { [INFO] [stderr] | ^^^ help: try ignoring the field: `rhs: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `kind` [INFO] [stderr] --> src/type_check.rs:143:50 [INFO] [stderr] | [INFO] [stderr] 143 | Statement::Assignment( Assign { lhs, ty, rhs, kind } ) => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `kind: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/type_check.rs:170:33 [INFO] [stderr] | [INFO] [stderr] 170 | for StatementLoc { stmt, from, to } in stmts.iter() { [INFO] [stderr] | ^^ help: try ignoring the field: `to: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `kind` [INFO] [stderr] --> src/type_check.rs:172:50 [INFO] [stderr] | [INFO] [stderr] 172 | Statement::Assignment( Assign { lhs, ty, rhs, kind } ) => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `kind: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ident` [INFO] [stderr] --> src/type_check.rs:182:37 [INFO] [stderr] | [INFO] [stderr] 182 | Statement::FunctionDeclaration { ident, function } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `ident: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `path` [INFO] [stderr] --> src/type_check.rs:206:26 [INFO] [stderr] | [INFO] [stderr] 206 | else if let Type::Path(path) = &field.ty { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stmts` [INFO] [stderr] --> src/type_check.rs:215:21 [INFO] [stderr] | [INFO] [stderr] 215 | Expr::Block(Block(stmts)) => todo!("find return type of block"), [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stmts` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `given` [INFO] [stderr] --> src/type_check.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | (Some(given), None) => { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_given` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `inferred` [INFO] [stderr] --> src/type_check.rs:254:28 [INFO] [stderr] | [INFO] [stderr] 254 | (Some(Type::Infer), Some(inferred)) => { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inferred` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ty` [INFO] [stderr] --> src/type_check.rs:277:16 [INFO] [stderr] | [INFO] [stderr] 277 | if let Some(ty) = state.get_type_above(ident, scope) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ident` [INFO] [stderr] --> src/type_check.rs:281:14 [INFO] [stderr] | [INFO] [stderr] 281 | Type::Path(ident) => { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident` [INFO] [stderr] [INFO] [stderr] warning: struct `ParseErrorLoc` is never constructed [INFO] [stderr] --> src/tokeniser.rs:4:12 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct ParseErrorLoc { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ParseErrorLoc` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: enum `ParseError` is never used [INFO] [stderr] --> src/tokeniser.rs:21:10 [INFO] [stderr] | [INFO] [stderr] 21 | pub enum ParseError { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `at` and `loc_unknown` are never used [INFO] [stderr] --> src/tokeniser.rs:34:8 [INFO] [stderr] | [INFO] [stderr] 33 | impl ParseError { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] 34 | fn at(self, loc: Location) -> ParseErrorLoc { [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 41 | fn loc_unknown(self) -> ParseErrorLoc { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `ParseResult` is never used [INFO] [stderr] --> src/tokeniser.rs:65:6 [INFO] [stderr] | [INFO] [stderr] 65 | type ParseResult = Result; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `TokenOps` is never used [INFO] [stderr] --> src/tokeniser.rs:434:7 [INFO] [stderr] | [INFO] [stderr] 434 | trait TokenOps<'a> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `greebling` (bin "greebling" test) generated 26 warnings (run `cargo fix --bin "greebling" --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/greebling-43573dd76963f7fa) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test function_arguments_and_fields ... ok [INFO] [stdout] test basic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "80c55a3b023a9af02af620c5ebeb26f935e1314a8e6589958a1e8fa53a98edee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "80c55a3b023a9af02af620c5ebeb26f935e1314a8e6589958a1e8fa53a98edee", kill_on_drop: false }` [INFO] [stdout] 80c55a3b023a9af02af620c5ebeb26f935e1314a8e6589958a1e8fa53a98edee