[INFO] cloning repository https://github.com/suryamajhi/rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/suryamajhi/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuryamajhi%2Frlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuryamajhi%2Frlox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d93d307367225045a57b079fffc4e68327a91efa [INFO] linting suryamajhi/rlox/d93d307367225045a57b079fffc4e68327a91efa against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuryamajhi%2Frlox" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/suryamajhi/rlox [INFO] finished tweaking git repo https://github.com/suryamajhi/rlox [INFO] tweaked toml for git repo https://github.com/suryamajhi/rlox written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/suryamajhi/rlox on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/suryamajhi/rlox already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a58a63c8acdcd1748ee5ade22282fe2a85d6d7534548b8eef098c885065639e0 [INFO] running `Command { std: "docker" "start" "-a" "a58a63c8acdcd1748ee5ade22282fe2a85d6d7534548b8eef098c885065639e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a58a63c8acdcd1748ee5ade22282fe2a85d6d7534548b8eef098c885065639e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a58a63c8acdcd1748ee5ade22282fe2a85d6d7534548b8eef098c885065639e0", kill_on_drop: false }` [INFO] [stdout] a58a63c8acdcd1748ee5ade22282fe2a85d6d7534548b8eef098c885065639e0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] aac280253cee5800036a1045697400392ba44e59b12b4f646fda59efe3f0141f [INFO] running `Command { std: "docker" "start" "-a" "aac280253cee5800036a1045697400392ba44e59b12b4f646fda59efe3f0141f", kill_on_drop: false }` [INFO] [stderr] Checking rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `write` [INFO] [stdout] --> src/class.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | use std::fmt::{write, Formatter}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ClassInstance` [INFO] [stdout] --> src/function.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::class::{ClassInstance, ClassInstanceRef}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `runtime_error` [INFO] [stdout] --> src/resolver.rs:9:32 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::{expr, print_error, runtime_error, stmt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LEFT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/token.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | LEFT_PAREN, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftParen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/token.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | RIGHT_PAREN, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightParen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LEFT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/token.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | LEFT_BRACE, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/token.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `BANG_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/token.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | BANG_EQUAL, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `BangEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `EQUAL_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/token.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | EQUAL_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EqualEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GREATER_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/token.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | GREATER_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GreaterEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LESS_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/token.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | LESS_EQUAL, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ClassInstance` [INFO] [stdout] --> src/value.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::class::{Class, ClassInstance, ClassInstanceRef}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `write` [INFO] [stdout] --> src/class.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | use std::fmt::{write, Formatter}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ClassInstance` [INFO] [stdout] --> src/function.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::class::{ClassInstance, ClassInstanceRef}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `runtime_error` [INFO] [stdout] --> src/resolver.rs:9:32 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::{expr, print_error, runtime_error, stmt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LEFT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/token.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | LEFT_PAREN, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftParen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/token.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | RIGHT_PAREN, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightParen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LEFT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/token.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | LEFT_BRACE, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/token.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `BANG_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/token.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | BANG_EQUAL, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `BangEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `EQUAL_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/token.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | EQUAL_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EqualEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GREATER_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/token.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | GREATER_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GreaterEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LESS_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/token.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | LESS_EQUAL, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ClassInstance` [INFO] [stdout] --> src/value.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::class::{Class, ClassInstance, ClassInstanceRef}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `body` [INFO] [stdout] --> src/interpreter.rs:399:40 [INFO] [stdout] | [INFO] [stdout] 399 | Stmt::Function { name, body, params } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `body: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/interpreter.rs:399:46 [INFO] [stdout] | [INFO] [stdout] 399 | Stmt::Function { name, body, params } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `params: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter.rs:439:37 [INFO] [stdout] | [INFO] [stdout] 439 | if let Value::ClassInstance(mut instance) = obj { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/resolver.rs:278:49 [INFO] [stdout] | [INFO] [stdout] 278 | fn visit_set_expr(&mut self, object: &Expr, name: &Token, value: &Expr) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `method` [INFO] [stdout] --> src/resolver.rs:348:26 [INFO] [stdout] | [INFO] [stdout] 348 | keyword, method, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `method: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AstPrinter` is never constructed [INFO] [stdout] --> src/utils/ast_printer.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct AstPrinter {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print` and `parenthesize` are never used [INFO] [stdout] --> src/utils/ast_printer.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl AstPrinter { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 8 | pub fn print(&mut self, expr: &Expr) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | fn parenthesize(&mut self, name: &str, exprs: Vec<&Expr>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RpnNotation` is never constructed [INFO] [stdout] --> src/utils/rpn_printer.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct RpnNotation {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print` and `format` are never used [INFO] [stdout] --> src/utils/rpn_printer.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl RpnNotation { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 10 | pub fn print(&mut self, expr: &Expr) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | fn format(&mut self, name: &str, exprs: Vec<&Expr>) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `body` [INFO] [stdout] --> src/interpreter.rs:399:40 [INFO] [stdout] | [INFO] [stdout] 399 | Stmt::Function { name, body, params } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `body: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/interpreter.rs:399:46 [INFO] [stdout] | [INFO] [stdout] 399 | Stmt::Function { name, body, params } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `params: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter.rs:439:37 [INFO] [stdout] | [INFO] [stdout] 439 | if let Value::ClassInstance(mut instance) = obj { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/class.rs:92:72 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn get(&self, name: &Token, instance_ref: ClassInstanceRef) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] = note: `#[warn(clippy::result_large_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/environment.rs:35:58 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn get_at(&self, distance: usize, name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/environment.rs:45:40 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn get(&self, name: &Token) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/environment.rs:71:61 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn assign(&mut self, name: &Token, value: Value) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/function.rs:12:72 [INFO] [stdout] | [INFO] [stdout] 12 | fn call(&self, interpreter: &mut Interpreter, args: Vec) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/function.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | string = String::from(name.lexeme.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `name.lexeme.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/interpreter.rs:47:27 [INFO] [stdout] | [INFO] [stdout] 47 | Err(e) => match e { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 48 | | Exception::RuntimeError(e) => { [INFO] [stdout] 49 | | e.error(); [INFO] [stdout] 50 | | process::exit(70); [INFO] [stdout] 51 | | } [INFO] [stdout] 52 | | _ => {} [INFO] [stdout] 53 | | }, [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 47 ~ Err(e) => if let Exception::RuntimeError(e) = e { [INFO] [stdout] 48 + e.error(); [INFO] [stdout] 49 + process::exit(70); [INFO] [stdout] 50 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:58:43 [INFO] [stdout] | [INFO] [stdout] 58 | fn execute(&mut self, stmt: &Stmt) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:65:48 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn evaluate(&mut self, expr: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:78:71 [INFO] [stdout] | [INFO] [stdout] 78 | fn visit_unary_expr(&mut self, operator: &Token, right: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:90:85 [INFO] [stdout] | [INFO] [stdout] 90 | fn visit_binary_expr(&mut self, left: &Expr, operator: &Token, right: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:170:53 [INFO] [stdout] | [INFO] [stdout] 170 | fn number_operand_error(operator: &Token) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:174:51 [INFO] [stdout] | [INFO] [stdout] 174 | fn visit_expr_stmt(&mut self, expr: &Expr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:178:52 [INFO] [stdout] | [INFO] [stdout] 178 | fn visit_print_stmt(&mut self, expr: &Expr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:184:79 [INFO] [stdout] | [INFO] [stdout] 184 | fn visit_var_stmt(&mut self, name: &Token, initializer: &Option) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:195:61 [INFO] [stdout] | [INFO] [stdout] 195 | fn lookup_variable(&self, name: &Token, expr: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:203:60 [INFO] [stdout] | [INFO] [stdout] 203 | fn visit_var_expr(&self, name: &Token, expr: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:207:67 [INFO] [stdout] | [INFO] [stdout] 207 | fn visit_assign_expr(&mut self, name: &Token, expr: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:222:57 [INFO] [stdout] | [INFO] [stdout] 222 | fn visit_block_stmt(&mut self, stms: &Vec) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:227:80 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn execute_block(&mut self, stmts: &Vec, environment: EnvRef) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:245:10 [INFO] [stdout] | [INFO] [stdout] 245 | ) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:260:70 [INFO] [stdout] | [INFO] [stdout] 260 | fn visit_while_stmt(&mut self, condition: &Expr, body: &Stmt) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:267:86 [INFO] [stdout] | [INFO] [stdout] 267 | fn visit_logical_expr(&mut self, left: &Expr, operator: &Token, right: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:286:10 [INFO] [stdout] | [INFO] [stdout] 286 | ) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/interpreter.rs:305:17 [INFO] [stdout] | [INFO] [stdout] 305 | return func.call(self, args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 305 - return func.call(self, args); [INFO] [stdout] 305 + func.call(self, args) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/interpreter.rs:318:17 [INFO] [stdout] | [INFO] [stdout] 318 | return func.call(self, args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 318 - return func.call(self, args); [INFO] [stdout] 318 + func.call(self, args) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/interpreter.rs:331:17 [INFO] [stdout] | [INFO] [stdout] 331 | return class.call(self, args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 331 - return class.call(self, args); [INFO] [stdout] 331 + class.call(self, args) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:340:78 [INFO] [stdout] | [INFO] [stdout] 340 | fn visit_function_stmt(&mut self, name: &Token, function_stmt: &Stmt) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:348:62 [INFO] [stdout] | [INFO] [stdout] 348 | fn visit_return_stmt(&mut self, value: &Option) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:359:10 [INFO] [stdout] | [INFO] [stdout] 359 | ) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:375:10 [INFO] [stdout] | [INFO] [stdout] 375 | ) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/interpreter.rs:398:13 [INFO] [stdout] | [INFO] [stdout] 398 | / match method { [INFO] [stdout] 399 | | Stmt::Function { name, body, params } => { [INFO] [stdout] 400 | | let func = Function::new( [INFO] [stdout] 401 | | method.clone(), [INFO] [stdout] ... | [INFO] [stdout] 407 | | _ => {} [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 398 ~ if let Stmt::Function { name, body, params } = method { [INFO] [stdout] 399 + let func = Function::new( [INFO] [stdout] 400 + method.clone(), [INFO] [stdout] 401 + self.environment.clone(), [INFO] [stdout] 402 + name.lexeme == "init", [INFO] [stdout] 403 + ); [INFO] [stdout] 404 + class_methods.insert(name.lexeme.clone(), func); [INFO] [stdout] 405 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:424:66 [INFO] [stdout] | [INFO] [stdout] 424 | fn visit_get_expr(&mut self, name: &Token, object: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:436:80 [INFO] [stdout] | [INFO] [stdout] 436 | fn visit_set_expr(&mut self, object: &Expr, name: &Token, value: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:450:68 [INFO] [stdout] | [INFO] [stdout] 450 | fn visit_this_expr(&mut self, keyword: &Token, expr: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:454:68 [INFO] [stdout] | [INFO] [stdout] 454 | fn visit_super_expr(&mut self, expr: &Expr, method: &Token) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/parser.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | / match res { [INFO] [stdout] 57 | | Ok(stmt) => Some(stmt), [INFO] [stdout] 58 | | Err(_) => None, [INFO] [stdout] 59 | | } [INFO] [stdout] | |_________^ help: replace with: `res.ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] = note: `#[warn(clippy::manual_ok_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/resolver.rs:278:49 [INFO] [stdout] | [INFO] [stdout] 278 | fn visit_set_expr(&mut self, object: &Expr, name: &Token, value: &Expr) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `method` [INFO] [stdout] --> src/resolver.rs:348:26 [INFO] [stdout] | [INFO] [stdout] 348 | keyword, method, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `method: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/parser.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | / match self.expression() { [INFO] [stdout] 211 | | Ok(expr) => { [INFO] [stdout] 212 | | initializer = Some(expr); [INFO] [stdout] ... | [INFO] [stdout] 215 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 210 ~ if let Ok(expr) = self.expression() { [INFO] [stdout] 211 + initializer = Some(expr); [INFO] [stdout] 212 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/parser.rs:519:13 [INFO] [stdout] | [INFO] [stdout] 519 | self.current = self.current + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.current += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NONE` contains a capitalized acronym [INFO] [stdout] --> src/resolver.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | NONE, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `None` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FUNCTION` contains a capitalized acronym [INFO] [stdout] --> src/resolver.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | FUNCTION, [INFO] [stdout] | ^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Function` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `METHOD` contains a capitalized acronym [INFO] [stdout] --> src/resolver.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | METHOD, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Method` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `INITIALIZER` contains a capitalized acronym [INFO] [stdout] --> src/resolver.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | INITIALIZER, [INFO] [stdout] | ^^^^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Initializer` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NONE` contains a capitalized acronym [INFO] [stdout] --> src/resolver.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | NONE, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `None` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CLASS` contains a capitalized acronym [INFO] [stdout] --> src/resolver.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | CLASS, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Class` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `SUBCLASS` contains a capitalized acronym [INFO] [stdout] --> src/resolver.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | SUBCLASS, [INFO] [stdout] | ^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Subclass` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AstPrinter` is never constructed [INFO] [stdout] --> src/utils/ast_printer.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct AstPrinter {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print` and `parenthesize` are never used [INFO] [stdout] --> src/utils/ast_printer.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl AstPrinter { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 8 | pub fn print(&mut self, expr: &Expr) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | fn parenthesize(&mut self, name: &str, exprs: Vec<&Expr>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RpnNotation` is never constructed [INFO] [stdout] --> src/utils/rpn_printer.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct RpnNotation {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print` and `format` are never used [INFO] [stdout] --> src/utils/rpn_printer.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl RpnNotation { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 10 | pub fn print(&mut self, expr: &Expr) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | fn format(&mut self, name: &str, exprs: Vec<&Expr>) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/resolver.rs:313:42 [INFO] [stdout] | [INFO] [stdout] 313 | fn visit_expr(&mut self, expr: &Expr) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/class.rs:92:72 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn get(&self, name: &Token, instance_ref: ClassInstanceRef) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] = note: `#[warn(clippy::result_large_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/environment.rs:35:58 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn get_at(&self, distance: usize, name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/environment.rs:45:40 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn get(&self, name: &Token) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/environment.rs:71:61 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn assign(&mut self, name: &Token, value: Value) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/function.rs:12:72 [INFO] [stdout] | [INFO] [stdout] 12 | fn call(&self, interpreter: &mut Interpreter, args: Vec) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/scanner.rs:113:27 [INFO] [stdout] | [INFO] [stdout] 113 | while !(self.peek() == '*' && self.peek_next() == '/') && !self.is_at_end() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!(self.is_at_end() || self.peek() == '*' && self.peek_next() == '/')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/scanner.rs:115:29 [INFO] [stdout] | [INFO] [stdout] 115 | ... self.line = self.line + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.line += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/scanner.rs:135:21 [INFO] [stdout] | [INFO] [stdout] 135 | '\n' => self.line = self.line + 1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.line += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/scanner.rs:156:17 [INFO] [stdout] | [INFO] [stdout] 156 | self.line = self.line + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.line += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/scanner.rs:177:21 [INFO] [stdout] | [INFO] [stdout] 177 | let token = self.keywords.get(text).unwrap_or_else(|| &IDENTIFIER); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 177 - let token = self.keywords.get(text).unwrap_or_else(|| &IDENTIFIER); [INFO] [stdout] 177 + let token = self.keywords.get(text).unwrap_or(&IDENTIFIER); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/scanner.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_' [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('a'..='z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/scanner.rs:187:35 [INFO] [stdout] | [INFO] [stdout] 187 | (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_' [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('A'..='Z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/scanner.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | c >= '0' && c <= '9' [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `('0'..='9').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/scanner.rs:221:9 [INFO] [stdout] | [INFO] [stdout] 221 | self.current = self.current + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.current += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/scanner.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | self.current = self.current + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.current += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `COMMA` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | COMMA, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Comma` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DOT` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | DOT, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Dot` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `MINUS` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | MINUS, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Minus` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `PLUS` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | PLUS, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Plus` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `SEMICOLON` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | SEMICOLON, [INFO] [stdout] | ^^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Semicolon` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `SLASH` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | SLASH, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Slash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `STAR` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | STAR, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Star` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BANG` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | BANG, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Bang` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `EQUAL` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | EQUAL, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Equal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `GREATER` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | GREATER, [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Greater` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `LESS` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | LESS, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Less` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `IDENTIFIER` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | IDENTIFIER, [INFO] [stdout] | ^^^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Identifier` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `STRING` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | STRING, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `String` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NUMBER` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | NUMBER, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Number` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `AND` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | AND, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `And` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CLASS` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | CLASS, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Class` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `ELSE` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | ELSE, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Else` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FALSE` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | FALSE, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `False` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FUN` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | FUN, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Fun` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FOR` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | FOR, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `For` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NIL` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | NIL, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Nil` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `PRINT` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | PRINT, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Print` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `SUPER` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | SUPER, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Super` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/function.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | string = String::from(name.lexeme.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `name.lexeme.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `RETURN` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | RETURN, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Return` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `THIS` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | THIS, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `This` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `TRUE` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | TRUE, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `True` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `VAR` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | VAR, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Var` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `WHILE` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | WHILE, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `While` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `EOF` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | EOF, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `Eof` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/interpreter.rs:47:27 [INFO] [stdout] | [INFO] [stdout] 47 | Err(e) => match e { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 48 | | Exception::RuntimeError(e) => { [INFO] [stdout] 49 | | e.error(); [INFO] [stdout] 50 | | process::exit(70); [INFO] [stdout] 51 | | } [INFO] [stdout] 52 | | _ => {} [INFO] [stdout] 53 | | }, [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 47 ~ Err(e) => if let Exception::RuntimeError(e) = e { [INFO] [stdout] 48 + e.error(); [INFO] [stdout] 49 + process::exit(70); [INFO] [stdout] 50 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:58:43 [INFO] [stdout] | [INFO] [stdout] 58 | fn execute(&mut self, stmt: &Stmt) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:65:48 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn evaluate(&mut self, expr: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:78:71 [INFO] [stdout] | [INFO] [stdout] 78 | fn visit_unary_expr(&mut self, operator: &Token, right: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:90:85 [INFO] [stdout] | [INFO] [stdout] 90 | fn visit_binary_expr(&mut self, left: &Expr, operator: &Token, right: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/value.rs:28:47 [INFO] [stdout] | [INFO] [stdout] 28 | Value::ClassInstance(instance) => format!("{}", instance.borrow().to_string()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `instance.borrow().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/value.rs:28:78 [INFO] [stdout] | [INFO] [stdout] 28 | Value::ClassInstance(instance) => format!("{}", instance.borrow().to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:170:53 [INFO] [stdout] | [INFO] [stdout] 170 | fn number_operand_error(operator: &Token) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/lib.rs:39:59 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] ... [INFO] [stdout] 39 | fn runtime_error(token: Token, message: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:174:51 [INFO] [stdout] | [INFO] [stdout] 174 | fn visit_expr_stmt(&mut self, expr: &Expr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:178:52 [INFO] [stdout] | [INFO] [stdout] 178 | fn visit_print_stmt(&mut self, expr: &Expr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:184:79 [INFO] [stdout] | [INFO] [stdout] 184 | fn visit_var_stmt(&mut self, name: &Token, initializer: &Option) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:195:61 [INFO] [stdout] | [INFO] [stdout] 195 | fn lookup_variable(&self, name: &Token, expr: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:203:60 [INFO] [stdout] | [INFO] [stdout] 203 | fn visit_var_expr(&self, name: &Token, expr: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `Parser::new` doesn't need a mutable reference [INFO] [stdout] --> src/lib.rs:109:34 [INFO] [stdout] | [INFO] [stdout] 109 | let mut parser = Parser::new(&mut tokens); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 109 - let mut parser = Parser::new(&mut tokens); [INFO] [stdout] 109 + let mut parser = Parser::new(&tokens); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:207:67 [INFO] [stdout] | [INFO] [stdout] 207 | fn visit_assign_expr(&mut self, name: &Token, expr: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:222:57 [INFO] [stdout] | [INFO] [stdout] 222 | fn visit_block_stmt(&mut self, stms: &Vec) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:227:80 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn execute_block(&mut self, stmts: &Vec, environment: EnvRef) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/function.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 15 | #[derive(Debug, Clone, PartialEq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 18 | pub callable: fn(&mut Interpreter, Vec) -> Value, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:245:10 [INFO] [stdout] | [INFO] [stdout] 245 | ) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:260:70 [INFO] [stdout] | [INFO] [stdout] 260 | fn visit_while_stmt(&mut self, condition: &Expr, body: &Stmt) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:267:86 [INFO] [stdout] | [INFO] [stdout] 267 | fn visit_logical_expr(&mut self, left: &Expr, operator: &Token, right: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:286:10 [INFO] [stdout] | [INFO] [stdout] 286 | ) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/interpreter.rs:305:17 [INFO] [stdout] | [INFO] [stdout] 305 | return func.call(self, args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 305 - return func.call(self, args); [INFO] [stdout] 305 + func.call(self, args) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/interpreter.rs:318:17 [INFO] [stdout] | [INFO] [stdout] 318 | return func.call(self, args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 318 - return func.call(self, args); [INFO] [stdout] 318 + func.call(self, args) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/interpreter.rs:331:17 [INFO] [stdout] | [INFO] [stdout] 331 | return class.call(self, args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 331 - return class.call(self, args); [INFO] [stdout] 331 + class.call(self, args) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:340:78 [INFO] [stdout] | [INFO] [stdout] 340 | fn visit_function_stmt(&mut self, name: &Token, function_stmt: &Stmt) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:348:62 [INFO] [stdout] | [INFO] [stdout] 348 | fn visit_return_stmt(&mut self, value: &Option) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:359:10 [INFO] [stdout] | [INFO] [stdout] 359 | ) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:375:10 [INFO] [stdout] | [INFO] [stdout] 375 | ) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/interpreter.rs:398:13 [INFO] [stdout] | [INFO] [stdout] 398 | / match method { [INFO] [stdout] 399 | | Stmt::Function { name, body, params } => { [INFO] [stdout] 400 | | let func = Function::new( [INFO] [stdout] 401 | | method.clone(), [INFO] [stdout] ... | [INFO] [stdout] 407 | | _ => {} [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 398 ~ if let Stmt::Function { name, body, params } = method { [INFO] [stdout] 399 + let func = Function::new( [INFO] [stdout] 400 + method.clone(), [INFO] [stdout] 401 + self.environment.clone(), [INFO] [stdout] 402 + name.lexeme == "init", [INFO] [stdout] 403 + ); [INFO] [stdout] 404 + class_methods.insert(name.lexeme.clone(), func); [INFO] [stdout] 405 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:424:66 [INFO] [stdout] | [INFO] [stdout] 424 | fn visit_get_expr(&mut self, name: &Token, object: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:436:80 [INFO] [stdout] | [INFO] [stdout] 436 | fn visit_set_expr(&mut self, object: &Expr, name: &Token, value: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:450:68 [INFO] [stdout] | [INFO] [stdout] 450 | fn visit_this_expr(&mut self, keyword: &Token, expr: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/interpreter.rs:454:68 [INFO] [stdout] | [INFO] [stdout] 454 | fn visit_super_expr(&mut self, expr: &Expr, method: &Token) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/parser.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | / match res { [INFO] [stdout] 57 | | Ok(stmt) => Some(stmt), [INFO] [stdout] 58 | | Err(_) => None, [INFO] [stdout] 59 | | } [INFO] [stdout] | |_________^ help: replace with: `res.ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] = note: `#[warn(clippy::manual_ok_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/parser.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | / match self.expression() { [INFO] [stdout] 211 | | Ok(expr) => { [INFO] [stdout] 212 | | initializer = Some(expr); [INFO] [stdout] ... | [INFO] [stdout] 215 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 210 ~ if let Ok(expr) = self.expression() { [INFO] [stdout] 211 + initializer = Some(expr); [INFO] [stdout] 212 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/parser.rs:519:13 [INFO] [stdout] | [INFO] [stdout] 519 | self.current = self.current + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.current += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NONE` contains a capitalized acronym [INFO] [stdout] --> src/resolver.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | NONE, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `None` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FUNCTION` contains a capitalized acronym [INFO] [stdout] --> src/resolver.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | FUNCTION, [INFO] [stdout] | ^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Function` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `METHOD` contains a capitalized acronym [INFO] [stdout] --> src/resolver.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | METHOD, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Method` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `INITIALIZER` contains a capitalized acronym [INFO] [stdout] --> src/resolver.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | INITIALIZER, [INFO] [stdout] | ^^^^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Initializer` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NONE` contains a capitalized acronym [INFO] [stdout] --> src/resolver.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | NONE, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `None` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CLASS` contains a capitalized acronym [INFO] [stdout] --> src/resolver.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | CLASS, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Class` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `SUBCLASS` contains a capitalized acronym [INFO] [stdout] --> src/resolver.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | SUBCLASS, [INFO] [stdout] | ^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Subclass` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/resolver.rs:313:42 [INFO] [stdout] | [INFO] [stdout] 313 | fn visit_expr(&mut self, expr: &Expr) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/scanner.rs:113:27 [INFO] [stdout] | [INFO] [stdout] 113 | while !(self.peek() == '*' && self.peek_next() == '/') && !self.is_at_end() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!(self.is_at_end() || self.peek() == '*' && self.peek_next() == '/')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/scanner.rs:115:29 [INFO] [stdout] | [INFO] [stdout] 115 | ... self.line = self.line + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.line += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/scanner.rs:135:21 [INFO] [stdout] | [INFO] [stdout] 135 | '\n' => self.line = self.line + 1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.line += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/scanner.rs:156:17 [INFO] [stdout] | [INFO] [stdout] 156 | self.line = self.line + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.line += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/scanner.rs:177:21 [INFO] [stdout] | [INFO] [stdout] 177 | let token = self.keywords.get(text).unwrap_or_else(|| &IDENTIFIER); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 177 - let token = self.keywords.get(text).unwrap_or_else(|| &IDENTIFIER); [INFO] [stdout] 177 + let token = self.keywords.get(text).unwrap_or(&IDENTIFIER); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/scanner.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_' [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('a'..='z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/scanner.rs:187:35 [INFO] [stdout] | [INFO] [stdout] 187 | (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_' [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('A'..='Z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/scanner.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | c >= '0' && c <= '9' [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `('0'..='9').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/scanner.rs:221:9 [INFO] [stdout] | [INFO] [stdout] 221 | self.current = self.current + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.current += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/scanner.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | self.current = self.current + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.current += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `COMMA` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | COMMA, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Comma` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DOT` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | DOT, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Dot` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `MINUS` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | MINUS, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Minus` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `PLUS` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | PLUS, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Plus` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `SEMICOLON` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | SEMICOLON, [INFO] [stdout] | ^^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Semicolon` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `SLASH` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | SLASH, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Slash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `STAR` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | STAR, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Star` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BANG` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | BANG, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Bang` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `EQUAL` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | EQUAL, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Equal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `GREATER` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | GREATER, [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Greater` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `LESS` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | LESS, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Less` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `IDENTIFIER` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | IDENTIFIER, [INFO] [stdout] | ^^^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Identifier` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `STRING` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | STRING, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `String` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NUMBER` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | NUMBER, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Number` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `AND` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | AND, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `And` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CLASS` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | CLASS, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Class` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `ELSE` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | ELSE, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Else` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FALSE` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | FALSE, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `False` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FUN` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | FUN, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Fun` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FOR` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | FOR, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `For` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NIL` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | NIL, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Nil` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `PRINT` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | PRINT, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Print` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `SUPER` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | SUPER, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Super` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `RETURN` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | RETURN, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Return` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `THIS` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | THIS, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `This` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `TRUE` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | TRUE, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `True` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `VAR` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | VAR, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Var` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `WHILE` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | WHILE, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `While` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `EOF` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | EOF, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `Eof` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/value.rs:28:47 [INFO] [stdout] | [INFO] [stdout] 28 | Value::ClassInstance(instance) => format!("{}", instance.borrow().to_string()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `instance.borrow().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/value.rs:28:78 [INFO] [stdout] | [INFO] [stdout] 28 | Value::ClassInstance(instance) => format!("{}", instance.borrow().to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/lib.rs:39:59 [INFO] [stdout] | [INFO] [stdout] 35 | Return(Value), [INFO] [stdout] | ------------- the largest variant contains at least 240 bytes [INFO] [stdout] ... [INFO] [stdout] 39 | fn runtime_error(token: Token, message: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `Exception`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `Parser::new` doesn't need a mutable reference [INFO] [stdout] --> src/lib.rs:109:34 [INFO] [stdout] | [INFO] [stdout] 109 | let mut parser = Parser::new(&mut tokens); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 109 - let mut parser = Parser::new(&mut tokens); [INFO] [stdout] 109 + let mut parser = Parser::new(&tokens); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/function.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 15 | #[derive(Debug, Clone, PartialEq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 18 | pub callable: fn(&mut Interpreter, Vec) -> Value, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.80s [INFO] running `Command { std: "docker" "inspect" "aac280253cee5800036a1045697400392ba44e59b12b4f646fda59efe3f0141f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aac280253cee5800036a1045697400392ba44e59b12b4f646fda59efe3f0141f", kill_on_drop: false }` [INFO] [stdout] aac280253cee5800036a1045697400392ba44e59b12b4f646fda59efe3f0141f