[INFO] cloning repository https://github.com/your-diary/monkey_lang_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/your-diary/monkey_lang_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyour-diary%2Fmonkey_lang_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyour-diary%2Fmonkey_lang_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 16888186767a76a02ef33eb8a835b75fb1d0cd5c [INFO] checking your-diary/monkey_lang_rust against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyour-diary%2Fmonkey_lang_rust" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/your-diary/monkey_lang_rust on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/your-diary/monkey_lang_rust [INFO] finished tweaking git repo https://github.com/your-diary/monkey_lang_rust [INFO] tweaked toml for git repo https://github.com/your-diary/monkey_lang_rust written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/your-diary/monkey_lang_rust 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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rustyline v10.0.0 [INFO] [stderr] Downloaded fd-lock v3.0.6 [INFO] [stderr] Downloaded io-lifetimes v0.7.2 [INFO] [stderr] Downloaded rustix v0.35.7 [INFO] [stderr] Downloaded linux-raw-sys v0.0.46 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3224f35bdda799a0f7b57a33181549fe8fbdb86fd1052b059428b32b7c15f37c [INFO] running `Command { std: "docker" "start" "-a" "3224f35bdda799a0f7b57a33181549fe8fbdb86fd1052b059428b32b7c15f37c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3224f35bdda799a0f7b57a33181549fe8fbdb86fd1052b059428b32b7c15f37c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3224f35bdda799a0f7b57a33181549fe8fbdb86fd1052b059428b32b7c15f37c", kill_on_drop: false }` [INFO] [stdout] 3224f35bdda799a0f7b57a33181549fe8fbdb86fd1052b059428b32b7c15f37c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8dccca2505f51c0e69ce89575a3a1186a8de231328eeca3c3d364fe33591d852 [INFO] running `Command { std: "docker" "start" "-a" "8dccca2505f51c0e69ce89575a3a1186a8de231328eeca3c3d364fe33591d852", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.127 [INFO] [stderr] Compiling io-lifetimes v0.7.2 [INFO] [stderr] Compiling rustix v0.35.7 [INFO] [stderr] Checking linux-raw-sys v0.0.46 [INFO] [stderr] Checking endian-type v0.1.2 [INFO] [stderr] Checking unicode-segmentation v1.9.0 [INFO] [stderr] Checking either v1.8.0 [INFO] [stderr] Checking utf8parse v0.2.0 [INFO] [stderr] Checking nibble_vec v0.1.0 [INFO] [stderr] Checking radix_trie v0.2.1 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking nix v0.24.2 [INFO] [stderr] Checking dirs-next v2.0.0 [INFO] [stderr] Checking fd-lock v3.0.6 [INFO] [stderr] Checking rustyline v10.0.0 [INFO] [stderr] Checking monkey_lang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 140 | if (self [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 143 | .is_some()) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 140 ~ if self [INFO] [stdout] 141 | .builtin [INFO] [stdout] 142 | .lookup_builtin_identifier(n.identifier().get_name()) [INFO] [stdout] 143 ~ .is_some() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:266:12 [INFO] [stdout] | [INFO] [stdout] 266 | if (index.value() < 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 266 - if (index.value() < 0) { [INFO] [stdout] 266 + if index.value() < 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 269 | if ((index.value() as usize) >= array.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 269 - if ((index.value() as usize) >= array.len()) { [INFO] [stdout] 269 + if (index.value() as usize) >= array.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:316:12 [INFO] [stdout] | [INFO] [stdout] 316 | if (n.arguments().len() != function.num_parameter()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 316 - if (n.arguments().len() != function.num_parameter()) { [INFO] [stdout] 316 + if n.arguments().len() != function.num_parameter() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:365:20 [INFO] [stdout] | [INFO] [stdout] 365 | if (condition.value()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 365 - if (condition.value()) { [INFO] [stdout] 365 + if condition.value() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:367:27 [INFO] [stdout] | [INFO] [stdout] 367 | } else if (n.else_value().is_some()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 367 - } else if (n.else_value().is_some()) { [INFO] [stdout] 367 + } else if n.else_value().is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | while (!self.queue.is_empty() && util::is_identifier(self.queue[0])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 21 - while (!self.queue.is_empty() && util::is_identifier(self.queue[0])) { [INFO] [stdout] 21 + while !self.queue.is_empty() && util::is_identifier(self.queue[0]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | while (!self.queue.is_empty() && util::is_digit(self.queue[0])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 29 - while (!self.queue.is_empty() && util::is_digit(self.queue[0])) { [INFO] [stdout] 29 + while !self.queue.is_empty() && util::is_digit(self.queue[0]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | if (l.iter().filter(|c| (**c == '.')).count() >= 2) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 32 - if (l.iter().filter(|c| (**c == '.')).count() >= 2) { [INFO] [stdout] 32 + if l.iter().filter(|c| (**c == '.')).count() >= 2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:34:19 [INFO] [stdout] | [INFO] [stdout] 34 | } else if ((l.len() == 1) && (l[0] == '.')) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 34 - } else if ((l.len() == 1) && (l[0] == '.')) { [INFO] [stdout] 34 + } else if (l.len() == 1) && (l[0] == '.') { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 44 - if (self.queue.is_empty()) { [INFO] [stdout] 44 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | if (next == '"') { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 48 - if (next == '"') { [INFO] [stdout] 48 + if next == '"' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:54:24 [INFO] [stdout] | [INFO] [stdout] 54 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 54 - if (self.queue.is_empty()) { [INFO] [stdout] 54 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 71 - if (self.queue.is_empty()) { [INFO] [stdout] 71 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:73:19 [INFO] [stdout] | [INFO] [stdout] 73 | } else if (self.queue[0] == '\'') { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 73 - } else if (self.queue[0] == '\'') { [INFO] [stdout] 73 + } else if self.queue[0] == '\'' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:78:20 [INFO] [stdout] | [INFO] [stdout] 78 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 78 - if (self.queue.is_empty()) { [INFO] [stdout] 78 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 91 - if (self.queue.is_empty()) { [INFO] [stdout] 91 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | } else if (self.queue[0] != '\'') { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 93 - } else if (self.queue[0] != '\'') { [INFO] [stdout] 93 + } else if self.queue[0] != '\'' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:102:15 [INFO] [stdout] | [INFO] [stdout] 102 | while (!self.queue.is_empty() && self.queue[0].is_ascii_whitespace()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 102 - while (!self.queue.is_empty() && self.queue[0].is_ascii_whitespace()) { [INFO] [stdout] 102 + while !self.queue.is_empty() && self.queue[0].is_ascii_whitespace() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - if (self.queue.is_empty()) { [INFO] [stdout] 105 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:127:28 [INFO] [stdout] | [INFO] [stdout] 127 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 127 - if (self.queue.is_empty()) { [INFO] [stdout] 127 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:131:32 [INFO] [stdout] | [INFO] [stdout] 131 | ... if (self.queue[0] == s.chars().nth(1).unwrap()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 131 - if (self.queue[0] == s.chars().nth(1).unwrap()) { [INFO] [stdout] 131 + if self.queue[0] == s.chars().nth(1).unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 141 - if (self.queue.is_empty()) { [INFO] [stdout] 141 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:145:28 [INFO] [stdout] | [INFO] [stdout] 145 | if (next != s.chars().nth(1).unwrap()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 145 - if (next != s.chars().nth(1).unwrap()) { [INFO] [stdout] 145 + if next != s.chars().nth(1).unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | if (t.0.value() == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 81 - if (t.0.value() == 0) { [INFO] [stdout] 81 + if t.0.value() == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | if (t.1.value() == 0.0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 87 - if (t.1.value() == 0.0) { [INFO] [stdout] 87 + if t.1.value() == 0.0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | if (t.1.value() == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 97 - if (t.1.value() == 0) { [INFO] [stdout] 97 + if t.1.value() == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | if (t.1.value() == 0.0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 103 - if (t.1.value() == 0.0) { [INFO] [stdout] 103 + if t.1.value() == 0.0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | if (t.1.value() < 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 113 - if (t.1.value() < 0) { [INFO] [stdout] 113 + if t.1.value() < 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:105:16 [INFO] [stdout] | [INFO] [stdout] 105 | if (self.tokens[0] == Token::Eof) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - if (self.tokens[0] == Token::Eof) { [INFO] [stdout] 105 + if self.tokens[0] == Token::Eof { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 109 | if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 109 - if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] 109 + if self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:147:16 [INFO] [stdout] | [INFO] [stdout] 147 | if (self.peek_next()? == &Token::Rbrace) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 147 - if (self.peek_next()? == &Token::Rbrace) { [INFO] [stdout] 147 + if self.peek_next()? == &Token::Rbrace { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:160:12 [INFO] [stdout] | [INFO] [stdout] 160 | if (!self.expect_next(Token::Ident(String::new()))) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 160 - if (!self.expect_next(Token::Ident(String::new()))) { [INFO] [stdout] 160 + if !self.expect_next(Token::Ident(String::new())) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 167 | if (!self.expect_next(Token::Assign)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 167 - if (!self.expect_next(Token::Assign)) { [INFO] [stdout] 167 + if !self.expect_next(Token::Assign) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 174 | if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 174 - if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] 174 + if !self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 185 | if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 185 - if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] 185 + if self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 190 - if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] 190 + if !self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 200 | if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 200 - if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] 200 + if self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:236:16 [INFO] [stdout] | [INFO] [stdout] 236 | if ((next == &Token::Semicolon) || (precedence >= lookup_precedence(next))) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 236 - if ((next == &Token::Semicolon) || (precedence >= lookup_precedence(next))) { [INFO] [stdout] 236 + if (next == &Token::Semicolon) || (precedence >= lookup_precedence(next)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 256 | if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 256 - if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] 256 + if !self.expect_next(Token::Rparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 347 | if (self.expect_next(Token::Rbracket)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 347 - if (self.expect_next(Token::Rbracket)) { [INFO] [stdout] 347 + if self.expect_next(Token::Rbracket) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:353:12 [INFO] [stdout] | [INFO] [stdout] 353 | if (!self.expect_next(Token::Rbracket)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 353 - if (!self.expect_next(Token::Rbracket)) { [INFO] [stdout] 353 + if !self.expect_next(Token::Rbracket) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:409:12 [INFO] [stdout] | [INFO] [stdout] 409 | if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 409 - if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] 409 + if !self.expect_next(Token::Lparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:416:12 [INFO] [stdout] | [INFO] [stdout] 416 | if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 416 - if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] 416 + if !self.expect_next(Token::Rparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:422:12 [INFO] [stdout] | [INFO] [stdout] 422 | if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 422 - if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] 422 + if !self.expect_next(Token::Lbrace) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:454:12 [INFO] [stdout] | [INFO] [stdout] 454 | if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 454 - if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] 454 + if !self.expect_next(Token::Lparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:492:12 [INFO] [stdout] | [INFO] [stdout] 492 | if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 492 - if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] 492 + if !self.expect_next(Token::Lbrace) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/repl.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | if (token == Token::Eof) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 18 - if (token == Token::Eof) { [INFO] [stdout] 18 + if token == Token::Eof { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/repl.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | if (line.trim().is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - if (line.trim().is_empty()) { [INFO] [stdout] 45 + if line.trim().is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/token.rs:86:16 [INFO] [stdout] | [INFO] [stdout] 86 | if (sequence.contains('.')) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 86 - if (sequence.contains('.')) { [INFO] [stdout] 86 + if sequence.contains('.') { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 140 | if (self [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 143 | .is_some()) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 140 ~ if self [INFO] [stdout] 141 | .builtin [INFO] [stdout] 142 | .lookup_builtin_identifier(n.identifier().get_name()) [INFO] [stdout] 143 ~ .is_some() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:266:12 [INFO] [stdout] | [INFO] [stdout] 266 | if (index.value() < 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 266 - if (index.value() < 0) { [INFO] [stdout] 266 + if index.value() < 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 269 | if ((index.value() as usize) >= array.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 269 - if ((index.value() as usize) >= array.len()) { [INFO] [stdout] 269 + if (index.value() as usize) >= array.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:316:12 [INFO] [stdout] | [INFO] [stdout] 316 | if (n.arguments().len() != function.num_parameter()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 316 - if (n.arguments().len() != function.num_parameter()) { [INFO] [stdout] 316 + if n.arguments().len() != function.num_parameter() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:365:20 [INFO] [stdout] | [INFO] [stdout] 365 | if (condition.value()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 365 - if (condition.value()) { [INFO] [stdout] 365 + if condition.value() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:367:27 [INFO] [stdout] | [INFO] [stdout] 367 | } else if (n.else_value().is_some()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 367 - } else if (n.else_value().is_some()) { [INFO] [stdout] 367 + } else if n.else_value().is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:448:16 [INFO] [stdout] | [INFO] [stdout] 448 | if (token == Token::Eof) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 448 - if (token == Token::Eof) { [INFO] [stdout] 448 + if token == Token::Eof { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | while (!self.queue.is_empty() && util::is_identifier(self.queue[0])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 21 - while (!self.queue.is_empty() && util::is_identifier(self.queue[0])) { [INFO] [stdout] 21 + while !self.queue.is_empty() && util::is_identifier(self.queue[0]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | while (!self.queue.is_empty() && util::is_digit(self.queue[0])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 29 - while (!self.queue.is_empty() && util::is_digit(self.queue[0])) { [INFO] [stdout] 29 + while !self.queue.is_empty() && util::is_digit(self.queue[0]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | if (l.iter().filter(|c| (**c == '.')).count() >= 2) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 32 - if (l.iter().filter(|c| (**c == '.')).count() >= 2) { [INFO] [stdout] 32 + if l.iter().filter(|c| (**c == '.')).count() >= 2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:34:19 [INFO] [stdout] | [INFO] [stdout] 34 | } else if ((l.len() == 1) && (l[0] == '.')) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 34 - } else if ((l.len() == 1) && (l[0] == '.')) { [INFO] [stdout] 34 + } else if (l.len() == 1) && (l[0] == '.') { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 44 - if (self.queue.is_empty()) { [INFO] [stdout] 44 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | if (next == '"') { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 48 - if (next == '"') { [INFO] [stdout] 48 + if next == '"' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:54:24 [INFO] [stdout] | [INFO] [stdout] 54 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 54 - if (self.queue.is_empty()) { [INFO] [stdout] 54 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 71 - if (self.queue.is_empty()) { [INFO] [stdout] 71 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:73:19 [INFO] [stdout] | [INFO] [stdout] 73 | } else if (self.queue[0] == '\'') { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 73 - } else if (self.queue[0] == '\'') { [INFO] [stdout] 73 + } else if self.queue[0] == '\'' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:78:20 [INFO] [stdout] | [INFO] [stdout] 78 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 78 - if (self.queue.is_empty()) { [INFO] [stdout] 78 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 91 - if (self.queue.is_empty()) { [INFO] [stdout] 91 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | } else if (self.queue[0] != '\'') { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 93 - } else if (self.queue[0] != '\'') { [INFO] [stdout] 93 + } else if self.queue[0] != '\'' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:102:15 [INFO] [stdout] | [INFO] [stdout] 102 | while (!self.queue.is_empty() && self.queue[0].is_ascii_whitespace()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 102 - while (!self.queue.is_empty() && self.queue[0].is_ascii_whitespace()) { [INFO] [stdout] 102 + while !self.queue.is_empty() && self.queue[0].is_ascii_whitespace() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - if (self.queue.is_empty()) { [INFO] [stdout] 105 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:127:28 [INFO] [stdout] | [INFO] [stdout] 127 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 127 - if (self.queue.is_empty()) { [INFO] [stdout] 127 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:131:32 [INFO] [stdout] | [INFO] [stdout] 131 | ... if (self.queue[0] == s.chars().nth(1).unwrap()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 131 - if (self.queue[0] == s.chars().nth(1).unwrap()) { [INFO] [stdout] 131 + if self.queue[0] == s.chars().nth(1).unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 141 - if (self.queue.is_empty()) { [INFO] [stdout] 141 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:145:28 [INFO] [stdout] | [INFO] [stdout] 145 | if (next != s.chars().nth(1).unwrap()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 145 - if (next != s.chars().nth(1).unwrap()) { [INFO] [stdout] 145 + if next != s.chars().nth(1).unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | if (t.0.value() == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 81 - if (t.0.value() == 0) { [INFO] [stdout] 81 + if t.0.value() == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | if (t.1.value() == 0.0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 87 - if (t.1.value() == 0.0) { [INFO] [stdout] 87 + if t.1.value() == 0.0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | if (t.1.value() == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 97 - if (t.1.value() == 0) { [INFO] [stdout] 97 + if t.1.value() == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | if (t.1.value() == 0.0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 103 - if (t.1.value() == 0.0) { [INFO] [stdout] 103 + if t.1.value() == 0.0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | if (t.1.value() < 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 113 - if (t.1.value() < 0) { [INFO] [stdout] 113 + if t.1.value() < 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:105:16 [INFO] [stdout] | [INFO] [stdout] 105 | if (self.tokens[0] == Token::Eof) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - if (self.tokens[0] == Token::Eof) { [INFO] [stdout] 105 + if self.tokens[0] == Token::Eof { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 109 | if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 109 - if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] 109 + if self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:147:16 [INFO] [stdout] | [INFO] [stdout] 147 | if (self.peek_next()? == &Token::Rbrace) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 147 - if (self.peek_next()? == &Token::Rbrace) { [INFO] [stdout] 147 + if self.peek_next()? == &Token::Rbrace { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:160:12 [INFO] [stdout] | [INFO] [stdout] 160 | if (!self.expect_next(Token::Ident(String::new()))) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 160 - if (!self.expect_next(Token::Ident(String::new()))) { [INFO] [stdout] 160 + if !self.expect_next(Token::Ident(String::new())) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 167 | if (!self.expect_next(Token::Assign)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 167 - if (!self.expect_next(Token::Assign)) { [INFO] [stdout] 167 + if !self.expect_next(Token::Assign) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 174 | if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 174 - if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] 174 + if !self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 185 | if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 185 - if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] 185 + if self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 190 - if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] 190 + if !self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 200 | if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 200 - if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] 200 + if self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:236:16 [INFO] [stdout] | [INFO] [stdout] 236 | if ((next == &Token::Semicolon) || (precedence >= lookup_precedence(next))) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 236 - if ((next == &Token::Semicolon) || (precedence >= lookup_precedence(next))) { [INFO] [stdout] 236 + if (next == &Token::Semicolon) || (precedence >= lookup_precedence(next)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 256 | if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 256 - if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] 256 + if !self.expect_next(Token::Rparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 347 | if (self.expect_next(Token::Rbracket)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 347 - if (self.expect_next(Token::Rbracket)) { [INFO] [stdout] 347 + if self.expect_next(Token::Rbracket) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:353:12 [INFO] [stdout] | [INFO] [stdout] 353 | if (!self.expect_next(Token::Rbracket)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 353 - if (!self.expect_next(Token::Rbracket)) { [INFO] [stdout] 353 + if !self.expect_next(Token::Rbracket) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:409:12 [INFO] [stdout] | [INFO] [stdout] 409 | if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 409 - if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] 409 + if !self.expect_next(Token::Lparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:416:12 [INFO] [stdout] | [INFO] [stdout] 416 | if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 416 - if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] 416 + if !self.expect_next(Token::Rparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:422:12 [INFO] [stdout] | [INFO] [stdout] 422 | if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 422 - if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] 422 + if !self.expect_next(Token::Lbrace) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:454:12 [INFO] [stdout] | [INFO] [stdout] 454 | if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 454 - if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] 454 + if !self.expect_next(Token::Lparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:492:12 [INFO] [stdout] | [INFO] [stdout] 492 | if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 492 - if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] 492 + if !self.expect_next(Token::Lbrace) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:517:16 [INFO] [stdout] | [INFO] [stdout] 517 | if (token == Token::Eof) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 517 - if (token == Token::Eof) { [INFO] [stdout] 517 + if token == Token::Eof { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:529:12 [INFO] [stdout] | [INFO] [stdout] 529 | if (root.is_err()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 529 - if (root.is_err()) { [INFO] [stdout] 529 + if root.is_err() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:535:12 [INFO] [stdout] | [INFO] [stdout] 535 | if (expected.split_whitespace().join("") [INFO] [stdout] | ^ [INFO] [stdout] 536 | != format!("{:#?}", root).split_whitespace().join("")) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 535 ~ if expected.split_whitespace().join("") [INFO] [stdout] 536 ~ != format!("{:#?}", root).split_whitespace().join("") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:548:12 [INFO] [stdout] | [INFO] [stdout] 548 | if (root.is_ok()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 548 - if (root.is_ok()) { [INFO] [stdout] 548 + if root.is_ok() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/repl.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | if (token == Token::Eof) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 18 - if (token == Token::Eof) { [INFO] [stdout] 18 + if token == Token::Eof { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/repl.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | if (line.trim().is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - if (line.trim().is_empty()) { [INFO] [stdout] 45 + if line.trim().is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/token.rs:86:16 [INFO] [stdout] | [INFO] [stdout] 86 | if (sequence.contains('.')) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 86 - if (sequence.contains('.')) { [INFO] [stdout] 86 + if sequence.contains('.') { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 50 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 55 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.47s [INFO] running `Command { std: "docker" "inspect" "8dccca2505f51c0e69ce89575a3a1186a8de231328eeca3c3d364fe33591d852", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8dccca2505f51c0e69ce89575a3a1186a8de231328eeca3c3d364fe33591d852", kill_on_drop: false }` [INFO] [stdout] 8dccca2505f51c0e69ce89575a3a1186a8de231328eeca3c3d364fe33591d852 [INFO] checking your-diary/monkey_lang_rust against try#f9935d29d867449445ee008640ccca1bf1ae0889+rustflags=-Dtail_expr_drop_order for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyour-diary%2Fmonkey_lang_rust" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/your-diary/monkey_lang_rust on toolchain f9935d29d867449445ee008640ccca1bf1ae0889 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/your-diary/monkey_lang_rust [INFO] finished tweaking git repo https://github.com/your-diary/monkey_lang_rust [INFO] tweaked toml for git repo https://github.com/your-diary/monkey_lang_rust written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/your-diary/monkey_lang_rust 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" "+f9935d29d867449445ee008640ccca1bf1ae0889" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b46767f7f1d74cc41b3525324dd16b30c84ff9d1119fa4b7cb14c4e3efff3943 [INFO] running `Command { std: "docker" "start" "-a" "b46767f7f1d74cc41b3525324dd16b30c84ff9d1119fa4b7cb14c4e3efff3943", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b46767f7f1d74cc41b3525324dd16b30c84ff9d1119fa4b7cb14c4e3efff3943", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b46767f7f1d74cc41b3525324dd16b30c84ff9d1119fa4b7cb14c4e3efff3943", kill_on_drop: false }` [INFO] [stdout] b46767f7f1d74cc41b3525324dd16b30c84ff9d1119fa4b7cb14c4e3efff3943 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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 -Dtail_expr_drop_order" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6d58acee1968c4a0169ac8c43744ac80d7eb97ae86f5e4f5ab7b7b77558d11e6 [INFO] running `Command { std: "docker" "start" "-a" "6d58acee1968c4a0169ac8c43744ac80d7eb97ae86f5e4f5ab7b7b77558d11e6", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.127 [INFO] [stderr] Compiling io-lifetimes v0.7.2 [INFO] [stderr] Compiling rustix v0.35.7 [INFO] [stderr] Checking linux-raw-sys v0.0.46 [INFO] [stderr] Checking endian-type v0.1.2 [INFO] [stderr] Checking unicode-segmentation v1.9.0 [INFO] [stderr] Checking either v1.8.0 [INFO] [stderr] Checking utf8parse v0.2.0 [INFO] [stderr] Checking nibble_vec v0.1.0 [INFO] [stderr] Checking radix_trie v0.2.1 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking nix v0.24.2 [INFO] [stderr] Checking dirs-next v2.0.0 [INFO] [stderr] Checking fd-lock v3.0.6 [INFO] [stderr] Checking rustyline v10.0.0 [INFO] [stderr] Checking monkey_lang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 140 | if (self [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 143 | .is_some()) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 140 ~ if self [INFO] [stdout] 141 | .builtin [INFO] [stdout] 142 | .lookup_builtin_identifier(n.identifier().get_name()) [INFO] [stdout] 143 ~ .is_some() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:266:12 [INFO] [stdout] | [INFO] [stdout] 266 | if (index.value() < 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 266 - if (index.value() < 0) { [INFO] [stdout] 266 + if index.value() < 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 269 | if ((index.value() as usize) >= array.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 269 - if ((index.value() as usize) >= array.len()) { [INFO] [stdout] 269 + if (index.value() as usize) >= array.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:316:12 [INFO] [stdout] | [INFO] [stdout] 316 | if (n.arguments().len() != function.num_parameter()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 316 - if (n.arguments().len() != function.num_parameter()) { [INFO] [stdout] 316 + if n.arguments().len() != function.num_parameter() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:365:20 [INFO] [stdout] | [INFO] [stdout] 365 | if (condition.value()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 365 - if (condition.value()) { [INFO] [stdout] 365 + if condition.value() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:367:27 [INFO] [stdout] | [INFO] [stdout] 367 | } else if (n.else_value().is_some()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 367 - } else if (n.else_value().is_some()) { [INFO] [stdout] 367 + } else if n.else_value().is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | while (!self.queue.is_empty() && util::is_identifier(self.queue[0])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 21 - while (!self.queue.is_empty() && util::is_identifier(self.queue[0])) { [INFO] [stdout] 21 + while !self.queue.is_empty() && util::is_identifier(self.queue[0]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | while (!self.queue.is_empty() && util::is_digit(self.queue[0])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 29 - while (!self.queue.is_empty() && util::is_digit(self.queue[0])) { [INFO] [stdout] 29 + while !self.queue.is_empty() && util::is_digit(self.queue[0]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | if (l.iter().filter(|c| (**c == '.')).count() >= 2) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 32 - if (l.iter().filter(|c| (**c == '.')).count() >= 2) { [INFO] [stdout] 32 + if l.iter().filter(|c| (**c == '.')).count() >= 2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:34:19 [INFO] [stdout] | [INFO] [stdout] 34 | } else if ((l.len() == 1) && (l[0] == '.')) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 34 - } else if ((l.len() == 1) && (l[0] == '.')) { [INFO] [stdout] 34 + } else if (l.len() == 1) && (l[0] == '.') { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 44 - if (self.queue.is_empty()) { [INFO] [stdout] 44 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | if (next == '"') { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 48 - if (next == '"') { [INFO] [stdout] 48 + if next == '"' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:54:24 [INFO] [stdout] | [INFO] [stdout] 54 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 54 - if (self.queue.is_empty()) { [INFO] [stdout] 54 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 71 - if (self.queue.is_empty()) { [INFO] [stdout] 71 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:73:19 [INFO] [stdout] | [INFO] [stdout] 73 | } else if (self.queue[0] == '\'') { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 73 - } else if (self.queue[0] == '\'') { [INFO] [stdout] 73 + } else if self.queue[0] == '\'' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:78:20 [INFO] [stdout] | [INFO] [stdout] 78 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 78 - if (self.queue.is_empty()) { [INFO] [stdout] 78 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 91 - if (self.queue.is_empty()) { [INFO] [stdout] 91 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | } else if (self.queue[0] != '\'') { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 93 - } else if (self.queue[0] != '\'') { [INFO] [stdout] 93 + } else if self.queue[0] != '\'' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:102:15 [INFO] [stdout] | [INFO] [stdout] 102 | while (!self.queue.is_empty() && self.queue[0].is_ascii_whitespace()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 102 - while (!self.queue.is_empty() && self.queue[0].is_ascii_whitespace()) { [INFO] [stdout] 102 + while !self.queue.is_empty() && self.queue[0].is_ascii_whitespace() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - if (self.queue.is_empty()) { [INFO] [stdout] 105 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:127:28 [INFO] [stdout] | [INFO] [stdout] 127 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 127 - if (self.queue.is_empty()) { [INFO] [stdout] 127 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:131:32 [INFO] [stdout] | [INFO] [stdout] 131 | ... if (self.queue[0] == s.chars().nth(1).unwrap()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 131 - if (self.queue[0] == s.chars().nth(1).unwrap()) { [INFO] [stdout] 131 + if self.queue[0] == s.chars().nth(1).unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 141 - if (self.queue.is_empty()) { [INFO] [stdout] 141 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:145:28 [INFO] [stdout] | [INFO] [stdout] 145 | if (next != s.chars().nth(1).unwrap()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 145 - if (next != s.chars().nth(1).unwrap()) { [INFO] [stdout] 145 + if next != s.chars().nth(1).unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | if (t.0.value() == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 81 - if (t.0.value() == 0) { [INFO] [stdout] 81 + if t.0.value() == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | if (t.1.value() == 0.0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 87 - if (t.1.value() == 0.0) { [INFO] [stdout] 87 + if t.1.value() == 0.0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | if (t.1.value() == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 97 - if (t.1.value() == 0) { [INFO] [stdout] 97 + if t.1.value() == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | if (t.1.value() == 0.0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 103 - if (t.1.value() == 0.0) { [INFO] [stdout] 103 + if t.1.value() == 0.0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | if (t.1.value() < 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 113 - if (t.1.value() < 0) { [INFO] [stdout] 113 + if t.1.value() < 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:105:16 [INFO] [stdout] | [INFO] [stdout] 105 | if (self.tokens[0] == Token::Eof) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - if (self.tokens[0] == Token::Eof) { [INFO] [stdout] 105 + if self.tokens[0] == Token::Eof { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 109 | if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 109 - if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] 109 + if self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:147:16 [INFO] [stdout] | [INFO] [stdout] 147 | if (self.peek_next()? == &Token::Rbrace) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 147 - if (self.peek_next()? == &Token::Rbrace) { [INFO] [stdout] 147 + if self.peek_next()? == &Token::Rbrace { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:160:12 [INFO] [stdout] | [INFO] [stdout] 160 | if (!self.expect_next(Token::Ident(String::new()))) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 160 - if (!self.expect_next(Token::Ident(String::new()))) { [INFO] [stdout] 160 + if !self.expect_next(Token::Ident(String::new())) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 167 | if (!self.expect_next(Token::Assign)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 167 - if (!self.expect_next(Token::Assign)) { [INFO] [stdout] 167 + if !self.expect_next(Token::Assign) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 174 | if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 174 - if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] 174 + if !self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 185 | if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 185 - if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] 185 + if self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 190 - if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] 190 + if !self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 200 | if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 200 - if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] 200 + if self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:236:16 [INFO] [stdout] | [INFO] [stdout] 236 | if ((next == &Token::Semicolon) || (precedence >= lookup_precedence(next))) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 236 - if ((next == &Token::Semicolon) || (precedence >= lookup_precedence(next))) { [INFO] [stdout] 236 + if (next == &Token::Semicolon) || (precedence >= lookup_precedence(next)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 256 | if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 256 - if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] 256 + if !self.expect_next(Token::Rparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 347 | if (self.expect_next(Token::Rbracket)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 347 - if (self.expect_next(Token::Rbracket)) { [INFO] [stdout] 347 + if self.expect_next(Token::Rbracket) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:353:12 [INFO] [stdout] | [INFO] [stdout] 353 | if (!self.expect_next(Token::Rbracket)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 353 - if (!self.expect_next(Token::Rbracket)) { [INFO] [stdout] 353 + if !self.expect_next(Token::Rbracket) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:409:12 [INFO] [stdout] | [INFO] [stdout] 409 | if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 409 - if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] 409 + if !self.expect_next(Token::Lparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:416:12 [INFO] [stdout] | [INFO] [stdout] 416 | if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 416 - if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] 416 + if !self.expect_next(Token::Rparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:422:12 [INFO] [stdout] | [INFO] [stdout] 422 | if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 422 - if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] 422 + if !self.expect_next(Token::Lbrace) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:454:12 [INFO] [stdout] | [INFO] [stdout] 454 | if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 454 - if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] 454 + if !self.expect_next(Token::Lparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:492:12 [INFO] [stdout] | [INFO] [stdout] 492 | if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 492 - if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] 492 + if !self.expect_next(Token::Lbrace) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/repl.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | if (token == Token::Eof) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 18 - if (token == Token::Eof) { [INFO] [stdout] 18 + if token == Token::Eof { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/repl.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | if (line.trim().is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - if (line.trim().is_empty()) { [INFO] [stdout] 45 + if line.trim().is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/token.rs:86:16 [INFO] [stdout] | [INFO] [stdout] 86 | if (sequence.contains('.')) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 86 - if (sequence.contains('.')) { [INFO] [stdout] 86 + if sequence.contains('.') { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 140 | if (self [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 143 | .is_some()) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 140 ~ if self [INFO] [stdout] 141 | .builtin [INFO] [stdout] 142 | .lookup_builtin_identifier(n.identifier().get_name()) [INFO] [stdout] 143 ~ .is_some() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:266:12 [INFO] [stdout] | [INFO] [stdout] 266 | if (index.value() < 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 266 - if (index.value() < 0) { [INFO] [stdout] 266 + if index.value() < 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 269 | if ((index.value() as usize) >= array.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 269 - if ((index.value() as usize) >= array.len()) { [INFO] [stdout] 269 + if (index.value() as usize) >= array.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:316:12 [INFO] [stdout] | [INFO] [stdout] 316 | if (n.arguments().len() != function.num_parameter()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 316 - if (n.arguments().len() != function.num_parameter()) { [INFO] [stdout] 316 + if n.arguments().len() != function.num_parameter() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:365:20 [INFO] [stdout] | [INFO] [stdout] 365 | if (condition.value()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 365 - if (condition.value()) { [INFO] [stdout] 365 + if condition.value() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:367:27 [INFO] [stdout] | [INFO] [stdout] 367 | } else if (n.else_value().is_some()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 367 - } else if (n.else_value().is_some()) { [INFO] [stdout] 367 + } else if n.else_value().is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/evaluator.rs:448:16 [INFO] [stdout] | [INFO] [stdout] 448 | if (token == Token::Eof) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 448 - if (token == Token::Eof) { [INFO] [stdout] 448 + if token == Token::Eof { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | while (!self.queue.is_empty() && util::is_identifier(self.queue[0])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 21 - while (!self.queue.is_empty() && util::is_identifier(self.queue[0])) { [INFO] [stdout] 21 + while !self.queue.is_empty() && util::is_identifier(self.queue[0]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | while (!self.queue.is_empty() && util::is_digit(self.queue[0])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 29 - while (!self.queue.is_empty() && util::is_digit(self.queue[0])) { [INFO] [stdout] 29 + while !self.queue.is_empty() && util::is_digit(self.queue[0]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | if (l.iter().filter(|c| (**c == '.')).count() >= 2) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 32 - if (l.iter().filter(|c| (**c == '.')).count() >= 2) { [INFO] [stdout] 32 + if l.iter().filter(|c| (**c == '.')).count() >= 2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:34:19 [INFO] [stdout] | [INFO] [stdout] 34 | } else if ((l.len() == 1) && (l[0] == '.')) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 34 - } else if ((l.len() == 1) && (l[0] == '.')) { [INFO] [stdout] 34 + } else if (l.len() == 1) && (l[0] == '.') { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 44 - if (self.queue.is_empty()) { [INFO] [stdout] 44 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | if (next == '"') { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 48 - if (next == '"') { [INFO] [stdout] 48 + if next == '"' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:54:24 [INFO] [stdout] | [INFO] [stdout] 54 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 54 - if (self.queue.is_empty()) { [INFO] [stdout] 54 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 71 - if (self.queue.is_empty()) { [INFO] [stdout] 71 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:73:19 [INFO] [stdout] | [INFO] [stdout] 73 | } else if (self.queue[0] == '\'') { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 73 - } else if (self.queue[0] == '\'') { [INFO] [stdout] 73 + } else if self.queue[0] == '\'' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:78:20 [INFO] [stdout] | [INFO] [stdout] 78 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 78 - if (self.queue.is_empty()) { [INFO] [stdout] 78 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 91 - if (self.queue.is_empty()) { [INFO] [stdout] 91 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | } else if (self.queue[0] != '\'') { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 93 - } else if (self.queue[0] != '\'') { [INFO] [stdout] 93 + } else if self.queue[0] != '\'' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:102:15 [INFO] [stdout] | [INFO] [stdout] 102 | while (!self.queue.is_empty() && self.queue[0].is_ascii_whitespace()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 102 - while (!self.queue.is_empty() && self.queue[0].is_ascii_whitespace()) { [INFO] [stdout] 102 + while !self.queue.is_empty() && self.queue[0].is_ascii_whitespace() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - if (self.queue.is_empty()) { [INFO] [stdout] 105 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:127:28 [INFO] [stdout] | [INFO] [stdout] 127 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 127 - if (self.queue.is_empty()) { [INFO] [stdout] 127 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:131:32 [INFO] [stdout] | [INFO] [stdout] 131 | ... if (self.queue[0] == s.chars().nth(1).unwrap()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 131 - if (self.queue[0] == s.chars().nth(1).unwrap()) { [INFO] [stdout] 131 + if self.queue[0] == s.chars().nth(1).unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | if (self.queue.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 141 - if (self.queue.is_empty()) { [INFO] [stdout] 141 + if self.queue.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:145:28 [INFO] [stdout] | [INFO] [stdout] 145 | if (next != s.chars().nth(1).unwrap()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 145 - if (next != s.chars().nth(1).unwrap()) { [INFO] [stdout] 145 + if next != s.chars().nth(1).unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | if (t.0.value() == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 81 - if (t.0.value() == 0) { [INFO] [stdout] 81 + if t.0.value() == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | if (t.1.value() == 0.0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 87 - if (t.1.value() == 0.0) { [INFO] [stdout] 87 + if t.1.value() == 0.0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | if (t.1.value() == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 97 - if (t.1.value() == 0) { [INFO] [stdout] 97 + if t.1.value() == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | if (t.1.value() == 0.0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 103 - if (t.1.value() == 0.0) { [INFO] [stdout] 103 + if t.1.value() == 0.0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/operator.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | if (t.1.value() < 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 113 - if (t.1.value() < 0) { [INFO] [stdout] 113 + if t.1.value() < 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:105:16 [INFO] [stdout] | [INFO] [stdout] 105 | if (self.tokens[0] == Token::Eof) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - if (self.tokens[0] == Token::Eof) { [INFO] [stdout] 105 + if self.tokens[0] == Token::Eof { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 109 | if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 109 - if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] 109 + if self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:147:16 [INFO] [stdout] | [INFO] [stdout] 147 | if (self.peek_next()? == &Token::Rbrace) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 147 - if (self.peek_next()? == &Token::Rbrace) { [INFO] [stdout] 147 + if self.peek_next()? == &Token::Rbrace { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:160:12 [INFO] [stdout] | [INFO] [stdout] 160 | if (!self.expect_next(Token::Ident(String::new()))) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 160 - if (!self.expect_next(Token::Ident(String::new()))) { [INFO] [stdout] 160 + if !self.expect_next(Token::Ident(String::new())) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 167 | if (!self.expect_next(Token::Assign)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 167 - if (!self.expect_next(Token::Assign)) { [INFO] [stdout] 167 + if !self.expect_next(Token::Assign) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 174 | if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 174 - if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] 174 + if !self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 185 | if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 185 - if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] 185 + if self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 190 - if (!self.expect_next(Token::Semicolon)) { [INFO] [stdout] 190 + if !self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 200 | if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 200 - if (self.expect_next(Token::Semicolon)) { [INFO] [stdout] 200 + if self.expect_next(Token::Semicolon) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:236:16 [INFO] [stdout] | [INFO] [stdout] 236 | if ((next == &Token::Semicolon) || (precedence >= lookup_precedence(next))) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 236 - if ((next == &Token::Semicolon) || (precedence >= lookup_precedence(next))) { [INFO] [stdout] 236 + if (next == &Token::Semicolon) || (precedence >= lookup_precedence(next)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 256 | if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 256 - if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] 256 + if !self.expect_next(Token::Rparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 347 | if (self.expect_next(Token::Rbracket)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 347 - if (self.expect_next(Token::Rbracket)) { [INFO] [stdout] 347 + if self.expect_next(Token::Rbracket) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:353:12 [INFO] [stdout] | [INFO] [stdout] 353 | if (!self.expect_next(Token::Rbracket)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 353 - if (!self.expect_next(Token::Rbracket)) { [INFO] [stdout] 353 + if !self.expect_next(Token::Rbracket) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:409:12 [INFO] [stdout] | [INFO] [stdout] 409 | if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 409 - if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] 409 + if !self.expect_next(Token::Lparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:416:12 [INFO] [stdout] | [INFO] [stdout] 416 | if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 416 - if (!self.expect_next(Token::Rparen)) { [INFO] [stdout] 416 + if !self.expect_next(Token::Rparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:422:12 [INFO] [stdout] | [INFO] [stdout] 422 | if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 422 - if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] 422 + if !self.expect_next(Token::Lbrace) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:454:12 [INFO] [stdout] | [INFO] [stdout] 454 | if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 454 - if (!self.expect_next(Token::Lparen)) { [INFO] [stdout] 454 + if !self.expect_next(Token::Lparen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:492:12 [INFO] [stdout] | [INFO] [stdout] 492 | if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 492 - if (!self.expect_next(Token::Lbrace)) { [INFO] [stdout] 492 + if !self.expect_next(Token::Lbrace) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:517:16 [INFO] [stdout] | [INFO] [stdout] 517 | if (token == Token::Eof) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 517 - if (token == Token::Eof) { [INFO] [stdout] 517 + if token == Token::Eof { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:529:12 [INFO] [stdout] | [INFO] [stdout] 529 | if (root.is_err()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 529 - if (root.is_err()) { [INFO] [stdout] 529 + if root.is_err() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:535:12 [INFO] [stdout] | [INFO] [stdout] 535 | if (expected.split_whitespace().join("") [INFO] [stdout] | ^ [INFO] [stdout] 536 | != format!("{:#?}", root).split_whitespace().join("")) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 535 ~ if expected.split_whitespace().join("") [INFO] [stdout] 536 ~ != format!("{:#?}", root).split_whitespace().join("") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parser.rs:548:12 [INFO] [stdout] | [INFO] [stdout] 548 | if (root.is_ok()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 548 - if (root.is_ok()) { [INFO] [stdout] 548 + if root.is_ok() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/repl.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | if (token == Token::Eof) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 18 - if (token == Token::Eof) { [INFO] [stdout] 18 + if token == Token::Eof { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/repl.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | if (line.trim().is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - if (line.trim().is_empty()) { [INFO] [stdout] 45 + if line.trim().is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/token.rs:86:16 [INFO] [stdout] | [INFO] [stdout] 86 | if (sequence.contains('.')) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 86 - if (sequence.contains('.')) { [INFO] [stdout] 86 + if sequence.contains('.') { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/environment.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new(outer: Option>) -> Self { [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 15 | Self { [INFO] [stdout] 16 | m: HashMap::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator.rs:405:12 [INFO] [stdout] | [INFO] [stdout] 401 | let mut v = vec![]; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 405 | Ok(Rc::new(Array::new(v))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 102 | let mut statements = vec![]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 124 | Ok(RootNode::new(statements)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:129:62 [INFO] [stdout] | [INFO] [stdout] 129 | Token::Let => self.parse_let_statement().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:130:68 [INFO] [stdout] | [INFO] [stdout] 130 | Token::Return => self.parse_return_statement().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:131:60 [INFO] [stdout] | [INFO] [stdout] 131 | _ => self.parse_expression_statement().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 145 | let mut statements = vec![]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 153 | Ok(BlockExpressionNode::new(statements)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 172 | let expr = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 179 | Ok(LetStatementNode::new(identifier, expr)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 189 | let expr = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 194 | Ok(ReturnStatementNode::new(Some(expr))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 199 | let expr = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 203 | Ok(ExpressionStatementNode::new(expr)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:209:68 [INFO] [stdout] | [INFO] [stdout] 209 | Token::Lbrace => self.parse_block_expression().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:211:64 [INFO] [stdout] | [INFO] [stdout] 211 | Token::Ident(_) => self.parse_identifier().map(|e| Box::new(e) as _), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:212:67 [INFO] [stdout] | [INFO] [stdout] 212 | Token::Int(_) => self.parse_integer_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:213:67 [INFO] [stdout] | [INFO] [stdout] 213 | Token::Float(_) => self.parse_float_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:214:65 [INFO] [stdout] | [INFO] [stdout] 214 | Token::True => self.parse_boolean_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:215:66 [INFO] [stdout] | [INFO] [stdout] 215 | Token::False => self.parse_boolean_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:216:70 [INFO] [stdout] | [INFO] [stdout] 216 | Token::Char(_) => self.parse_character_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:217:69 [INFO] [stdout] | [INFO] [stdout] 217 | Token::String(_) => self.parse_string_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:218:67 [INFO] [stdout] | [INFO] [stdout] 218 | Token::Lbracket => self.parse_array_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:219:68 [INFO] [stdout] | [INFO] [stdout] 219 | Token::Invert => self.parse_unary_expression().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:220:67 [INFO] [stdout] | [INFO] [stdout] 220 | Token::Minus => self.parse_unary_expression().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:221:61 [INFO] [stdout] | [INFO] [stdout] 221 | Token::If => self.parse_if_expression().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:222:70 [INFO] [stdout] | [INFO] [stdout] 222 | Token::Function => self.parse_function_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:319:12 [INFO] [stdout] | [INFO] [stdout] 293 | let mut elements = vec![]; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 319 | Ok(ArrayLiteralNode::new(elements)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:338:12 [INFO] [stdout] | [INFO] [stdout] 334 | left: Box, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 337 | let right = self.parse_expression(lookup_precedence(&operator))?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 338 | Ok(BinaryExpressionNode::new(operator, left, right)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:359:12 [INFO] [stdout] | [INFO] [stdout] 344 | array: Box, [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 352 | let index = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 359 | Ok(IndexExpressionNode::new(array, index)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:401:12 [INFO] [stdout] | [INFO] [stdout] 372 | function: Box, [INFO] [stdout] | --------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 375 | let mut arguments = vec![]; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 401 | Ok(CallExpressionNode::new(function, arguments)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:441:12 [INFO] [stdout] | [INFO] [stdout] 415 | let condition = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 425 | let if_value = self.parse_block_expression()?; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 428 | let else_value = match self.expect_next(Token::Else) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 441 | Ok(IfExpressionNode::new(condition, if_value, else_value)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 28 previous errors; 50 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `monkey_lang` (lib) due to 29 previous errors; 50 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/environment.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new(outer: Option>) -> Self { [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 15 | Self { [INFO] [stdout] 16 | m: HashMap::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator.rs:405:12 [INFO] [stdout] | [INFO] [stdout] 401 | let mut v = vec![]; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 405 | Ok(Rc::new(Array::new(v))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator.rs:458:25 [INFO] [stdout] | [INFO] [stdout] 454 | let root = Parser::new(v).parse(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 455 | assert!(root.is_ok()); [INFO] [stdout] 456 | let mut env = Environment::new(None); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 457 | let evaluator = Evaluator::new(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 458 | evaluator.eval(&root.unwrap(), &mut env) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 102 | let mut statements = vec![]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 124 | Ok(RootNode::new(statements)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:129:62 [INFO] [stdout] | [INFO] [stdout] 129 | Token::Let => self.parse_let_statement().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:130:68 [INFO] [stdout] | [INFO] [stdout] 130 | Token::Return => self.parse_return_statement().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:131:60 [INFO] [stdout] | [INFO] [stdout] 131 | _ => self.parse_expression_statement().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 145 | let mut statements = vec![]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 153 | Ok(BlockExpressionNode::new(statements)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 172 | let expr = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 179 | Ok(LetStatementNode::new(identifier, expr)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 189 | let expr = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 194 | Ok(ReturnStatementNode::new(Some(expr))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 199 | let expr = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 203 | Ok(ExpressionStatementNode::new(expr)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:209:68 [INFO] [stdout] | [INFO] [stdout] 209 | Token::Lbrace => self.parse_block_expression().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:211:64 [INFO] [stdout] | [INFO] [stdout] 211 | Token::Ident(_) => self.parse_identifier().map(|e| Box::new(e) as _), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:212:67 [INFO] [stdout] | [INFO] [stdout] 212 | Token::Int(_) => self.parse_integer_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:213:67 [INFO] [stdout] | [INFO] [stdout] 213 | Token::Float(_) => self.parse_float_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:214:65 [INFO] [stdout] | [INFO] [stdout] 214 | Token::True => self.parse_boolean_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:215:66 [INFO] [stdout] | [INFO] [stdout] 215 | Token::False => self.parse_boolean_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:216:70 [INFO] [stdout] | [INFO] [stdout] 216 | Token::Char(_) => self.parse_character_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:217:69 [INFO] [stdout] | [INFO] [stdout] 217 | Token::String(_) => self.parse_string_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:218:67 [INFO] [stdout] | [INFO] [stdout] 218 | Token::Lbracket => self.parse_array_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:219:68 [INFO] [stdout] | [INFO] [stdout] 219 | Token::Invert => self.parse_unary_expression().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:220:67 [INFO] [stdout] | [INFO] [stdout] 220 | Token::Minus => self.parse_unary_expression().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:221:61 [INFO] [stdout] | [INFO] [stdout] 221 | Token::If => self.parse_if_expression().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:222:70 [INFO] [stdout] | [INFO] [stdout] 222 | Token::Function => self.parse_function_literal().map(|e| Box::new(e) as _), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:319:12 [INFO] [stdout] | [INFO] [stdout] 293 | let mut elements = vec![]; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 319 | Ok(ArrayLiteralNode::new(elements)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:338:12 [INFO] [stdout] | [INFO] [stdout] 334 | left: Box, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 337 | let right = self.parse_expression(lookup_precedence(&operator))?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 338 | Ok(BinaryExpressionNode::new(operator, left, right)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:359:12 [INFO] [stdout] | [INFO] [stdout] 344 | array: Box, [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 352 | let index = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 359 | Ok(IndexExpressionNode::new(array, index)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:401:12 [INFO] [stdout] | [INFO] [stdout] 372 | function: Box, [INFO] [stdout] | --------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 375 | let mut arguments = vec![]; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 401 | Ok(CallExpressionNode::new(function, arguments)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:441:12 [INFO] [stdout] | [INFO] [stdout] 415 | let condition = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 425 | let if_value = self.parse_block_expression()?; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 428 | let else_value = match self.expect_next(Token::Else) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 441 | Ok(IfExpressionNode::new(condition, if_value, else_value)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 29 previous errors; 55 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `monkey_lang` (lib test) due to 30 previous errors; 55 warnings emitted [INFO] running `Command { std: "docker" "inspect" "6d58acee1968c4a0169ac8c43744ac80d7eb97ae86f5e4f5ab7b7b77558d11e6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d58acee1968c4a0169ac8c43744ac80d7eb97ae86f5e4f5ab7b7b77558d11e6", kill_on_drop: false }` [INFO] [stdout] 6d58acee1968c4a0169ac8c43744ac80d7eb97ae86f5e4f5ab7b7b77558d11e6