[INFO] cloning repository https://github.com/anmalkin/rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/anmalkin/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fanmalkin%2Frlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fanmalkin%2Frlox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 496c318cec4d1440d57126d205cb1887bc729ed2 [INFO] linting anmalkin/rlox against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fanmalkin%2Frlox" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/anmalkin/rlox [INFO] finished tweaking git repo https://github.com/anmalkin/rlox [INFO] tweaked toml for git repo https://github.com/anmalkin/rlox written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/anmalkin/rlox on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/anmalkin/rlox 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e977d530aace09aaee82c3cb3da7fc593362e8b9a1041234d4f4070b3d4a104c [INFO] running `Command { std: "docker" "start" "-a" "e977d530aace09aaee82c3cb3da7fc593362e8b9a1041234d4f4070b3d4a104c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e977d530aace09aaee82c3cb3da7fc593362e8b9a1041234d4f4070b3d4a104c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e977d530aace09aaee82c3cb3da7fc593362e8b9a1041234d4f4070b3d4a104c", kill_on_drop: false }` [INFO] [stdout] e977d530aace09aaee82c3cb3da7fc593362e8b9a1041234d4f4070b3d4a104c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ae597b0a8292e28bd107e49bc5a1ebbe245332860f70d76a8d90fb9fd90729e3 [INFO] running `Command { std: "docker" "start" "-a" "ae597b0a8292e28bd107e49bc5a1ebbe245332860f70d76a8d90fb9fd90729e3", kill_on_drop: false }` [INFO] [stderr] Checking rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this could be a `const fn` [INFO] [stdout] --> src/chunk.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | / pub fn new() -> Self { [INFO] [stdout] 37 | | let code = Vec::new(); [INFO] [stdout] 38 | | let constants = Vec::new(); [INFO] [stdout] 39 | | let lines = Vec::new(); [INFO] [stdout] ... | [INFO] [stdout] 45 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/main.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | #![warn(clippy::pedantic, clippy::nursery)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(clippy::missing_const_for_fn)]` implied by `#[warn(clippy::nursery)]` [INFO] [stdout] help: make the function `const` [INFO] [stdout] | [INFO] [stdout] 36 | pub const fn new() -> Self { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'src [INFO] [stdout] --> src/chunk.rs:63:6 [INFO] [stdout] | [INFO] [stdout] 63 | impl<'src> Display for Chunk<'src> { [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/main.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | #![warn(clippy::pedantic, clippy::nursery)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(clippy::elidable_lifetime_names)]` implied by `#[warn(clippy::pedantic)]` [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 63 - impl<'src> Display for Chunk<'src> { [INFO] [stdout] 63 + impl Display for Chunk<'_> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'src [INFO] [stdout] --> src/chunk.rs:86:6 [INFO] [stdout] | [INFO] [stdout] 86 | impl<'src> Default for Chunk<'src> { [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 86 - impl<'src> Default for Chunk<'src> { [INFO] [stdout] 86 + impl Default for Chunk<'_> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'src [INFO] [stdout] --> src/compiler.rs:110:6 [INFO] [stdout] | [INFO] [stdout] 110 | impl<'src> Parser<'src> { [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 110 - impl<'src> Parser<'src> { [INFO] [stdout] 110 + impl Parser<'_> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this could be a `const fn` [INFO] [stdout] --> src/chunk.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | / pub fn new() -> Self { [INFO] [stdout] 37 | | let code = Vec::new(); [INFO] [stdout] 38 | | let constants = Vec::new(); [INFO] [stdout] 39 | | let lines = Vec::new(); [INFO] [stdout] ... | [INFO] [stdout] 45 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/main.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | #![warn(clippy::pedantic, clippy::nursery)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(clippy::missing_const_for_fn)]` implied by `#[warn(clippy::nursery)]` [INFO] [stdout] help: make the function `const` [INFO] [stdout] | [INFO] [stdout] 36 | pub const fn new() -> Self { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'src [INFO] [stdout] --> src/scanner.rs:69:6 [INFO] [stdout] | [INFO] [stdout] 69 | impl<'src> Default for Token<'src> { [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 69 - impl<'src> Default for Token<'src> { [INFO] [stdout] 69 + impl Default for Token<'_> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this could be a `const fn` [INFO] [stdout] --> src/scanner.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | / pub fn update_source(&mut self, source: &'src str) { [INFO] [stdout] 98 | | self.source = source; [INFO] [stdout] 99 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn [INFO] [stdout] help: make the function `const` [INFO] [stdout] | [INFO] [stdout] 97 | pub const fn update_source(&mut self, source: &'src str) { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `continue` expression is redundant [INFO] [stdout] --> src/scanner.rs:110:21 [INFO] [stdout] | [INFO] [stdout] 110 | continue; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider dropping the `continue` expression [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_continue [INFO] [stdout] = note: `#[warn(clippy::needless_continue)]` implied by `#[warn(clippy::pedantic)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `continue` expression is redundant [INFO] [stdout] --> src/scanner.rs:115:21 [INFO] [stdout] | [INFO] [stdout] 115 | continue; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider dropping the `continue` expression [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_continue [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'src [INFO] [stdout] --> src/chunk.rs:63:6 [INFO] [stdout] | [INFO] [stdout] 63 | impl<'src> Display for Chunk<'src> { [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/main.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | #![warn(clippy::pedantic, clippy::nursery)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(clippy::elidable_lifetime_names)]` implied by `#[warn(clippy::pedantic)]` [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 63 - impl<'src> Display for Chunk<'src> { [INFO] [stdout] 63 + impl Display for Chunk<'_> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'src [INFO] [stdout] --> src/chunk.rs:86:6 [INFO] [stdout] | [INFO] [stdout] 86 | impl<'src> Default for Chunk<'src> { [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 86 - impl<'src> Default for Chunk<'src> { [INFO] [stdout] 86 + impl Default for Chunk<'_> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/scanner.rs:232:16 [INFO] [stdout] | [INFO] [stdout] 232 | if !source.next().is_some_and(|c| c == a) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `source.next().is_none_or(|c| c != a)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'src [INFO] [stdout] --> src/compiler.rs:110:6 [INFO] [stdout] | [INFO] [stdout] 110 | impl<'src> Parser<'src> { [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 110 - impl<'src> Parser<'src> { [INFO] [stdout] 110 + impl Parser<'_> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/chunk.rs:53:21 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn constant(&self, index: usize) -> Constant { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 53 | pub fn constant(&self, index: usize) -> Constant<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/compiler.rs:147:20 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn compile(&mut self, source: &'src str) -> Chunk { [INFO] [stdout] | ^^^^^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 147 | pub fn compile(&mut self, source: &'src str) -> Chunk<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'src [INFO] [stdout] --> src/scanner.rs:69:6 [INFO] [stdout] | [INFO] [stdout] 69 | impl<'src> Default for Token<'src> { [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 69 - impl<'src> Default for Token<'src> { [INFO] [stdout] 69 + impl Default for Token<'_> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this could be a `const fn` [INFO] [stdout] --> src/scanner.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | / pub fn update_source(&mut self, source: &'src str) { [INFO] [stdout] 98 | | self.source = source; [INFO] [stdout] 99 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn [INFO] [stdout] help: make the function `const` [INFO] [stdout] | [INFO] [stdout] 97 | pub const fn update_source(&mut self, source: &'src str) { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `continue` expression is redundant [INFO] [stdout] --> src/scanner.rs:110:21 [INFO] [stdout] | [INFO] [stdout] 110 | continue; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider dropping the `continue` expression [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_continue [INFO] [stdout] = note: `#[warn(clippy::needless_continue)]` implied by `#[warn(clippy::pedantic)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `continue` expression is redundant [INFO] [stdout] --> src/scanner.rs:115:21 [INFO] [stdout] | [INFO] [stdout] 115 | continue; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider dropping the `continue` expression [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_continue [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/scanner.rs:232:16 [INFO] [stdout] | [INFO] [stdout] 232 | if !source.next().is_some_and(|c| c == a) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `source.next().is_none_or(|c| c != a)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/chunk.rs:53:21 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn constant(&self, index: usize) -> Constant { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 53 | pub fn constant(&self, index: usize) -> Constant<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/compiler.rs:147:20 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn compile(&mut self, source: &'src str) -> Chunk { [INFO] [stdout] | ^^^^^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 147 | pub fn compile(&mut self, source: &'src str) -> Chunk<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.45s [INFO] running `Command { std: "docker" "inspect" "ae597b0a8292e28bd107e49bc5a1ebbe245332860f70d76a8d90fb9fd90729e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ae597b0a8292e28bd107e49bc5a1ebbe245332860f70d76a8d90fb9fd90729e3", kill_on_drop: false }` [INFO] [stdout] ae597b0a8292e28bd107e49bc5a1ebbe245332860f70d76a8d90fb9fd90729e3