[INFO] fetching crate pawer 0.2.0... [INFO] linting pawer-0.2.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate pawer 0.2.0 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate pawer 0.2.0 [INFO] finished tweaking crates.io crate pawer 0.2.0 [INFO] tweaked toml for crates.io crate pawer 0.2.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate pawer 0.2.0 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 crates.io crate pawer 0.2.0 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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen-test-macro v0.3.50 [INFO] [stderr] Downloaded pest_generator v2.7.15 [INFO] [stderr] Downloaded pest_derive v2.7.15 [INFO] [stderr] Downloaded wasm-bindgen-test v0.3.50 [INFO] [stderr] Downloaded minicov v0.3.7 [INFO] [stderr] Downloaded pest_meta v2.7.15 [INFO] [stderr] Downloaded cc v1.2.15 [INFO] [stderr] Downloaded serde_json v1.0.139 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] ab723c43eb18c1bc1da20e47d63bfc65f5d9eadd82073dcc339df1e6fb5aa378 [INFO] running `Command { std: "docker" "start" "-a" "ab723c43eb18c1bc1da20e47d63bfc65f5d9eadd82073dcc339df1e6fb5aa378", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ab723c43eb18c1bc1da20e47d63bfc65f5d9eadd82073dcc339df1e6fb5aa378", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ab723c43eb18c1bc1da20e47d63bfc65f5d9eadd82073dcc339df1e6fb5aa378", kill_on_drop: false }` [INFO] [stdout] ab723c43eb18c1bc1da20e47d63bfc65f5d9eadd82073dcc339df1e6fb5aa378 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] f555a4ea3c91601c9b857e9b9bb1e792cde76801900f23c64582d254fddb098d [INFO] running `Command { std: "docker" "start" "-a" "f555a4ea3c91601c9b857e9b9bb1e792cde76801900f23c64582d254fddb098d", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.17 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.100 [INFO] [stderr] Compiling bumpalo v3.17.0 [INFO] [stderr] Compiling thiserror v2.0.11 [INFO] [stderr] Compiling wasm-bindgen v0.2.100 [INFO] [stderr] Checking once_cell v1.20.3 [INFO] [stderr] Compiling serde v1.0.218 [INFO] [stderr] Compiling serde_json v1.0.139 [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling syn v2.0.98 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.100 [INFO] [stderr] Compiling thiserror-impl v2.0.11 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.50 [INFO] [stderr] Compiling serde_derive v1.0.218 [INFO] [stderr] Checking pest v2.7.15 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.100 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.100 [INFO] [stderr] Compiling pest_meta v2.7.15 [INFO] [stderr] Compiling pest_generator v2.7.15 [INFO] [stderr] Checking js-sys v0.3.77 [INFO] [stderr] Checking console_error_panic_hook v0.1.7 [INFO] [stderr] Compiling pest_derive v2.7.15 [INFO] [stderr] Checking wasm-bindgen-futures v0.4.50 [INFO] [stderr] Checking wasm-bindgen-test v0.3.50 [INFO] [stderr] Checking pawer v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/beta.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / /// This file contains functions about beta reduction and how to calcule the beta normal form of a LambdaNode [INFO] [stdout] 6 | | [INFO] [stdout] | |_^ [INFO] [stdout] 7 | #[allow(dead_code, unused_variables)] [INFO] [stdout] 8 | impl GlobalContext { [INFO] [stdout] | - the comment documents this implementation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/typing.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | self: &mut Self, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] = note: `#[warn(clippy::needless_arbitrary_self_type)]` on by default [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 28 - self: &mut Self, [INFO] [stdout] 28 + &mut self, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty lines after doc comment [INFO] [stdout] --> src/utils.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / /// Most of thoses are a way to easly performs operations on LambdaNode, like duplicating a lambdanode, performing an equality etc... [INFO] [stdout] 8 | | [INFO] [stdout] 9 | | [INFO] [stdout] | |_^ [INFO] [stdout] 10 | /// A macro to be able to easely insert a LambdaNode while requiring a read-only reference to ctx in $expression [INFO] [stdout] 11 | macro_rules! insert { [INFO] [stdout] | ------------------- the comment documents this macro definition [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty lines are unintentional, remove them [INFO] [stdout] help: if the documentation should include the empty lines include them in the comment [INFO] [stdout] | [INFO] [stdout] 8 + /// [INFO] [stdout] 9 + /// [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/beta.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / /// This file contains functions about beta reduction and how to calcule the beta normal form of a LambdaNode [INFO] [stdout] 6 | | [INFO] [stdout] | |_^ [INFO] [stdout] 7 | #[allow(dead_code, unused_variables)] [INFO] [stdout] 8 | impl GlobalContext { [INFO] [stdout] | - the comment documents this implementation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/typing.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | self: &mut Self, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] = note: `#[warn(clippy::needless_arbitrary_self_type)]` on by default [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 28 - self: &mut Self, [INFO] [stdout] 28 + &mut self, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty lines after doc comment [INFO] [stdout] --> src/utils.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / /// Most of thoses are a way to easly performs operations on LambdaNode, like duplicating a lambdanode, performing an equality etc... [INFO] [stdout] 8 | | [INFO] [stdout] 9 | | [INFO] [stdout] | |_^ [INFO] [stdout] 10 | /// A macro to be able to easely insert a LambdaNode while requiring a read-only reference to ctx in $expression [INFO] [stdout] 11 | macro_rules! insert { [INFO] [stdout] | ------------------- the comment documents this macro definition [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty lines are unintentional, remove them [INFO] [stdout] help: if the documentation should include the empty lines include them in the comment [INFO] [stdout] | [INFO] [stdout] 8 + /// [INFO] [stdout] 9 + /// [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/beta.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | return false; [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] 73 - return false; [INFO] [stdout] 73 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/definitions.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | if var.0 == "" && var.1 == 0 { [INFO] [stdout] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `var.0.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | format!("_") [INFO] [stdout] | ^^^^^^^^^^^^ help: consider using `.to_string()`: `"_".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: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | format!("{}", var.0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `var.0.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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:136:25 [INFO] [stdout] | [INFO] [stdout] 136 | Prop => format!("Prop"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Prop".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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:138:24 [INFO] [stdout] | [INFO] [stdout] 138 | Set => format!("Set"), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Set".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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:142:38 [INFO] [stdout] | [INFO] [stdout] 142 | vars.iter().fold(format!(""),|stri,(a,b)|format!("{stri} ({}:{})",var_to_string(a),aux(b,0))), [INFO] [stdout] | ^^^^^^^^^^^ help: consider using `String::new()`: `String::new()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:160:29 [INFO] [stdout] | [INFO] [stdout] 160 | write!(f, "{}", aux(&self, 0)) [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/definitions.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 217 | /// and its use is to extract some parameters of the type [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 217 | /// and its use is to extract some parameters of the type [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/definitions.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | /// ei can use the variables bound by the corresponding pi, it cannot use the [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/definitions.rs:221:9 [INFO] [stdout] | [INFO] [stdout] 221 | /// variables bound by p [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/beta.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | return false; [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] 73 - return false; [INFO] [stdout] 73 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `GlobalContext` [INFO] [stdout] --> src/definitions.rs:472:5 [INFO] [stdout] | [INFO] [stdout] 472 | / pub fn new() -> GlobalContext { [INFO] [stdout] 473 | | Self { [INFO] [stdout] 474 | | lambda_storage: Vec::new(), [INFO] [stdout] 475 | | goals: Vec::new(), [INFO] [stdout] ... | [INFO] [stdout] 480 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 353 + impl Default for GlobalContext { [INFO] [stdout] 354 + fn default() -> Self { [INFO] [stdout] 355 + Self::new() [INFO] [stdout] 356 + } [INFO] [stdout] 357 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/definitions.rs:359:88 [INFO] [stdout] | [INFO] [stdout] 359 | pub fn insert_term_ctx(&mut self, l: LambdaTerm, names: &mut Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/definitions.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | if let Some(_) = self.constants.get(&name) { [INFO] [stdout] | -------^^^^^^^---------------------------- help: try: `if self.constants.get(&name).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/definitions.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | if var.0 == "" && var.1 == 0 { [INFO] [stdout] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `var.0.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | format!("_") [INFO] [stdout] | ^^^^^^^^^^^^ help: consider using `.to_string()`: `"_".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: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | format!("{}", var.0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `var.0.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] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/definitions.rs:374:24 [INFO] [stdout] | [INFO] [stdout] 374 | if let Some(_) = self.inductives.get(&name) { [INFO] [stdout] | -------^^^^^^^----------------------------- help: try: `if self.inductives.get(&name).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/definitions.rs:425:27 [INFO] [stdout] | [INFO] [stdout] 425 | if x.0 != String::from("_") {names.push(x.clone());} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `"_"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/definitions.rs:427:27 [INFO] [stdout] | [INFO] [stdout] 427 | if x.0 != String::from("_") {names.pop();} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `"_"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/definitions.rs:461:53 [INFO] [stdout] | [INFO] [stdout] 461 | pub fn insert_term(&mut self, l: LambdaTerm) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: deref which would be done by auto-deref [INFO] [stdout] --> src/definitions.rs:519:58 [INFO] [stdout] | [INFO] [stdout] 519 | args.iter().any(|x| self.is_used_var_aux((*x).1, indent)) [INFO] [stdout] | ^^^^ help: try: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:535:90 [INFO] [stdout] | [INFO] [stdout] 535 | Pattern::Var(x) | Pattern::Const(x) | Pattern::Inductive(x) => var_to_string(&x), [INFO] [stdout] | ^^ help: change this to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:536:68 [INFO] [stdout] | [INFO] [stdout] 536 | Pattern::Constr(c,i) => var_to_string(&self.inductives[&i].constructors[*c].0), [INFO] [stdout] | ^^ help: change this to: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:136:25 [INFO] [stdout] | [INFO] [stdout] 136 | Prop => format!("Prop"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Prop".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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:565:17 [INFO] [stdout] | [INFO] [stdout] 565 | format!("{}", var_to_string(&var)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `var_to_string(&var).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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:138:24 [INFO] [stdout] | [INFO] [stdout] 138 | Set => format!("Set"), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Set".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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:142:38 [INFO] [stdout] | [INFO] [stdout] 142 | vars.iter().fold(format!(""),|stri,(a,b)|format!("{stri} ({}:{})",var_to_string(a),aux(b,0))), [INFO] [stdout] | ^^^^^^^^^^^ help: consider using `String::new()`: `String::new()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:578:35 [INFO] [stdout] | [INFO] [stdout] 578 | var_to_string(&var_name), [INFO] [stdout] | ^^^^^^^^^ help: change this to: `var_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:601:35 [INFO] [stdout] | [INFO] [stdout] 601 | var_to_string(&var_name), [INFO] [stdout] | ^^^^^^^^^ help: change this to: `var_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:614:35 [INFO] [stdout] | [INFO] [stdout] 614 | var_to_string(&var_name), [INFO] [stdout] | ^^^^^^^^^ help: change this to: `var_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:160:29 [INFO] [stdout] | [INFO] [stdout] 160 | write!(f, "{}", aux(&self, 0)) [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:625:21 [INFO] [stdout] | [INFO] [stdout] 625 | Prop => format!("Prop"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Prop".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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:626:35 [INFO] [stdout] | [INFO] [stdout] 626 | Type(i) if *i == 0 => format!("Set"), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Set".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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:629:21 [INFO] [stdout] | [INFO] [stdout] 629 | Hole => format!(""), // Hole for a proof [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"".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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:631:70 [INFO] [stdout] | [INFO] [stdout] 631 | Constr(n, ind_name, _) => var_to_string(&self.inductives[&ind_name].constructors[*n].0), [INFO] [stdout] | ^^^^^^^^^ help: change this to: `ind_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:634:42 [INFO] [stdout] | [INFO] [stdout] 634 | let name = var_to_string(&x); [INFO] [stdout] | ^^ help: change this to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/definitions.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 217 | /// and its use is to extract some parameters of the type [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 217 | /// and its use is to extract some parameters of the type [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/definitions.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | /// ei can use the variables bound by the corresponding pi, it cannot use the [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/definitions.rs:221:9 [INFO] [stdout] | [INFO] [stdout] 221 | /// variables bound by p [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/definitions.rs:738:24 [INFO] [stdout] | [INFO] [stdout] 738 | Some(_) if self.goals.len() == 0 => write!(f, "Proof finished, please use Qed."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/definitions.rs:761:21 [INFO] [stdout] | [INFO] [stdout] 761 | "======", [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_literal [INFO] [stdout] = note: `#[warn(clippy::write_literal)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 759 ~ write!(f, "{}\n====== 1/{}\n{}", [INFO] [stdout] 760 ~ hypothesis, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `GlobalContext` [INFO] [stdout] --> src/definitions.rs:472:5 [INFO] [stdout] | [INFO] [stdout] 472 | / pub fn new() -> GlobalContext { [INFO] [stdout] 473 | | Self { [INFO] [stdout] 474 | | lambda_storage: Vec::new(), [INFO] [stdout] 475 | | goals: Vec::new(), [INFO] [stdout] ... | [INFO] [stdout] 480 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 353 + impl Default for GlobalContext { [INFO] [stdout] 354 + fn default() -> Self { [INFO] [stdout] 355 + Self::new() [INFO] [stdout] 356 + } [INFO] [stdout] 357 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/definitions.rs:359:88 [INFO] [stdout] | [INFO] [stdout] 359 | pub fn insert_term_ctx(&mut self, l: LambdaTerm, names: &mut Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/definitions.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | if let Some(_) = self.constants.get(&name) { [INFO] [stdout] | -------^^^^^^^---------------------------- help: try: `if self.constants.get(&name).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/definitions.rs:374:24 [INFO] [stdout] | [INFO] [stdout] 374 | if let Some(_) = self.inductives.get(&name) { [INFO] [stdout] | -------^^^^^^^----------------------------- help: try: `if self.inductives.get(&name).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/definitions.rs:425:27 [INFO] [stdout] | [INFO] [stdout] 425 | if x.0 != String::from("_") {names.push(x.clone());} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `"_"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/definitions.rs:427:27 [INFO] [stdout] | [INFO] [stdout] 427 | if x.0 != String::from("_") {names.pop();} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `"_"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/definitions.rs:461:53 [INFO] [stdout] | [INFO] [stdout] 461 | pub fn insert_term(&mut self, l: LambdaTerm) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: deref which would be done by auto-deref [INFO] [stdout] --> src/definitions.rs:519:58 [INFO] [stdout] | [INFO] [stdout] 519 | args.iter().any(|x| self.is_used_var_aux((*x).1, indent)) [INFO] [stdout] | ^^^^ help: try: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:535:90 [INFO] [stdout] | [INFO] [stdout] 535 | Pattern::Var(x) | Pattern::Const(x) | Pattern::Inductive(x) => var_to_string(&x), [INFO] [stdout] | ^^ help: change this to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:536:68 [INFO] [stdout] | [INFO] [stdout] 536 | Pattern::Constr(c,i) => var_to_string(&self.inductives[&i].constructors[*c].0), [INFO] [stdout] | ^^ help: change this to: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:565:17 [INFO] [stdout] | [INFO] [stdout] 565 | format!("{}", var_to_string(&var)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `var_to_string(&var).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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:578:35 [INFO] [stdout] | [INFO] [stdout] 578 | var_to_string(&var_name), [INFO] [stdout] | ^^^^^^^^^ help: change this to: `var_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:601:35 [INFO] [stdout] | [INFO] [stdout] 601 | var_to_string(&var_name), [INFO] [stdout] | ^^^^^^^^^ help: change this to: `var_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:614:35 [INFO] [stdout] | [INFO] [stdout] 614 | var_to_string(&var_name), [INFO] [stdout] | ^^^^^^^^^ help: change this to: `var_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:625:21 [INFO] [stdout] | [INFO] [stdout] 625 | Prop => format!("Prop"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Prop".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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:626:35 [INFO] [stdout] | [INFO] [stdout] 626 | Type(i) if *i == 0 => format!("Set"), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Set".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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/definitions.rs:629:21 [INFO] [stdout] | [INFO] [stdout] 629 | Hole => format!(""), // Hole for a proof [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"".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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:631:70 [INFO] [stdout] | [INFO] [stdout] 631 | Constr(n, ind_name, _) => var_to_string(&self.inductives[&ind_name].constructors[*n].0), [INFO] [stdout] | ^^^^^^^^^ help: change this to: `ind_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/definitions.rs:634:42 [INFO] [stdout] | [INFO] [stdout] 634 | let name = var_to_string(&x); [INFO] [stdout] | ^^ help: change this to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:96:49 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn command(&mut self, comm: Command) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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/manager.rs:127:29 [INFO] [stdout] | [INFO] [stdout] 127 | None => return Err(EvaluationError::NoProof.into()), [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] 127 - None => return Err(EvaluationError::NoProof.into()), [INFO] [stdout] 127 + None => Err(EvaluationError::NoProof.into()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/manager.rs:128:32 [INFO] [stdout] | [INFO] [stdout] 128 | Some(e) => return Ok(format!("Proof is {}",self.lambda_to_string(e.root))), [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] 128 - Some(e) => return Ok(format!("Proof is {}",self.lambda_to_string(e.root))), [INFO] [stdout] 128 + Some(e) => Ok(format!("Proof is {}",self.lambda_to_string(e.root))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/manager.rs:116:26 [INFO] [stdout] | [INFO] [stdout] 116 | .map_err(|x|Error::InternalError(x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Error::InternalError` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:115:26 [INFO] [stdout] | [INFO] [stdout] 115 | .map(|()|format!("Proof resetted.")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Proof resetted.".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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/manager.rs:136:69 [INFO] [stdout] | [INFO] [stdout] 136 | ... format!("{}\t: {} := {}.",var_to_string(&k),self.lambda_to_string(*tp),d) [INFO] [stdout] | ^^ help: change this to: `k` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/definitions.rs:738:24 [INFO] [stdout] | [INFO] [stdout] 738 | Some(_) if self.goals.len() == 0 => write!(f, "Proof finished, please use Qed."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/manager.rs:138:74 [INFO] [stdout] | [INFO] [stdout] 138 | ... format!("{}\t: {}\n \t:= {}.",var_to_string(&k),self.lambda_to_string(*tp),d) [INFO] [stdout] | ^^ help: change this to: `k` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's keys [INFO] [stdout] --> src/manager.rs:146:41 [INFO] [stdout] | [INFO] [stdout] 146 | ... let mut inductive_res = self.inductives.iter().map(|(j,_)|self.inductive_to_string(j)).filter(|str| str.contains(&t)).collect... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.inductives.keys().map(|j| self.inductive_to_string(j))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] = note: `#[warn(clippy::iter_kv_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/definitions.rs:761:21 [INFO] [stdout] | [INFO] [stdout] 761 | "======", [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_literal [INFO] [stdout] = note: `#[warn(clippy::write_literal)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 759 ~ write!(f, "{}\n====== 1/{}\n{}", [INFO] [stdout] 760 ~ hypothesis, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:156:55 [INFO] [stdout] | [INFO] [stdout] 156 | pub fn commands(&mut self, comms:Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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/manager.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | return Ok(last) [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] 164 - return Ok(last) [INFO] [stdout] 164 + Ok(last) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:174:50 [INFO] [stdout] | [INFO] [stdout] 174 | pub fn check(&mut self, lamb: LambdaTerm) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: length comparison to zero [INFO] [stdout] --> src/manager.rs:175:26 [INFO] [stdout] | [INFO] [stdout] 175 | let mut ctx = if self.goals.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/manager.rs:182:26 [INFO] [stdout] | [INFO] [stdout] 182 | let mut ctx = if self.goals.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:192:51 [INFO] [stdout] | [INFO] [stdout] 192 | pub fn reduce(&mut self, lamb: LambdaTerm) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: length comparison to zero [INFO] [stdout] --> src/manager.rs:193:26 [INFO] [stdout] | [INFO] [stdout] 193 | let mut ctx = if self.goals.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/manager.rs:200:26 [INFO] [stdout] | [INFO] [stdout] 200 | let mut ctx = if self.goals.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:210:47 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn tactic(&mut self, tact: Tactic) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: binary comparison to literal `Option::None` [INFO] [stdout] --> src/manager.rs:211:12 [INFO] [stdout] | [INFO] [stdout] 211 | if self.root == None { return Err(EvaluationError::NoProof.into()); } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `self.root.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/manager.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 212 | if self.goals.len() == 0 { // since a tactic can't be applied without any goals, we first check this [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:228:37 [INFO] [stdout] | [INFO] [stdout] 228 | pub fn tact_simpl(&mut self) -> Result<(),Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: length comparison to zero [INFO] [stdout] --> src/manager.rs:229:12 [INFO] [stdout] | [INFO] [stdout] 229 | if self.goals.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:239:55 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn tact_apply(&mut self, lamb: LambdaTerm) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: accessing last element with `self.goals.get(self.goals.len() - 1)` [INFO] [stdout] --> src/manager.rs:240:31 [INFO] [stdout] | [INFO] [stdout] 240 | let curr = &mut match self.goals.get(self.goals.len()-1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.goals.last()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_last_with_len [INFO] [stdout] = note: `#[warn(clippy::get_last_with_len)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/manager.rs:281:42 [INFO] [stdout] | [INFO] [stdout] 281 | hole_to_do.context = ctx.iter().map(|x|x.clone()).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `ctx.iter().cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:292:57 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn tact_unfold(&mut self, name:VariableName) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: accessing last element with `self.goals.get(self.goals.len() - 1)` [INFO] [stdout] --> src/manager.rs:293:26 [INFO] [stdout] | [INFO] [stdout] 293 | let curr = match self.goals.get(self.goals.len()-1) { // get the current goal [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.goals.last()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_last_with_len [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:305:69 [INFO] [stdout] | [INFO] [stdout] 305 | pub fn tact_intro(&mut self, opt_name: Option) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: accessing last element with `self.goals.get(self.goals.len() - 1)` [INFO] [stdout] --> src/manager.rs:306:26 [INFO] [stdout] | [INFO] [stdout] 306 | let curr = match self.goals.get(self.goals.len()-1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.goals.last()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_last_with_len [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option<&LambdaNode>` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:310:15 [INFO] [stdout] | [INFO] [stdout] 310 | match self.lambda_storage.get(curr.goal).clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.lambda_storage.get(curr.goal)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:344:64 [INFO] [stdout] | [INFO] [stdout] 344 | pub fn tact_intros(&mut self, names: Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: length comparison to zero [INFO] [stdout] --> src/manager.rs:347:26 [INFO] [stdout] | [INFO] [stdout] 347 | let full_intro = names.len() == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `names.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/manager.rs:348:12 [INFO] [stdout] | [INFO] [stdout] 348 | if names.len() == 0 { loop { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `names.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/manager.rs:350:30 [INFO] [stdout] | [INFO] [stdout] 350 | let goal_index = self [INFO] [stdout] | ______________________________^ [INFO] [stdout] 351 | | .goals [INFO] [stdout] 352 | | .len() [INFO] [stdout] 353 | | .checked_sub(1) [INFO] [stdout] 354 | | .ok_or_else(|| InternalError::NoMoreGoalsTactic("intros"))?; [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 `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 354 - .ok_or_else(|| InternalError::NoMoreGoalsTactic("intros"))?; [INFO] [stdout] 354 + .ok_or(InternalError::NoMoreGoalsTactic("intros"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/manager.rs:356:29 [INFO] [stdout] | [INFO] [stdout] 356 | let goal_node = self [INFO] [stdout] | _____________________________^ [INFO] [stdout] 357 | | .lambda_storage [INFO] [stdout] 358 | | .get(goal_node_index) [INFO] [stdout] 359 | | .cloned() [INFO] [stdout] 360 | | .ok_or_else(|| InternalError::NodeIncorrectPointer(goal_node_index))?; [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] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 360 - .ok_or_else(|| InternalError::NodeIncorrectPointer(goal_node_index))?; [INFO] [stdout] 360 + .ok_or(InternalError::NodeIncorrectPointer(goal_node_index))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/manager.rs:363:35 [INFO] [stdout] | [INFO] [stdout] 363 | let name = if name.0 == "" {self.get_fresh_hypo_name()} else {name}; [INFO] [stdout] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `name.0.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/manager.rs:375:30 [INFO] [stdout] | [INFO] [stdout] 375 | let goal_index = self [INFO] [stdout] | ______________________________^ [INFO] [stdout] 376 | | .goals [INFO] [stdout] 377 | | .len() [INFO] [stdout] 378 | | .checked_sub(1) [INFO] [stdout] 379 | | .ok_or_else(|| InternalError::NoMoreGoalsTactic("intros"))?; [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] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 379 - .ok_or_else(|| InternalError::NoMoreGoalsTactic("intros"))?; [INFO] [stdout] 379 + .ok_or(InternalError::NoMoreGoalsTactic("intros"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/manager.rs:381:34 [INFO] [stdout] | [INFO] [stdout] 381 | let mut goal_node = &self [INFO] [stdout] | __________________________________^ [INFO] [stdout] 382 | | .lambda_storage [INFO] [stdout] 383 | | .get(goal_node_index) [INFO] [stdout] 384 | | .cloned() [INFO] [stdout] 385 | | .ok_or_else(|| InternalError::NodeIncorrectPointer(goal_node_index))?; [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] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 385 - .ok_or_else(|| InternalError::NodeIncorrectPointer(goal_node_index))?; [INFO] [stdout] 385 + .ok_or(InternalError::NodeIncorrectPointer(goal_node_index))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/manager.rs:389:37 [INFO] [stdout] | [INFO] [stdout] 389 | goal_node = self [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 390 | | .lambda_storage [INFO] [stdout] 391 | | .get(*body) [INFO] [stdout] 392 | | .ok_or_else(|| InternalError::NodeIncorrectPointer(*body))?; [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] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 392 - .ok_or_else(|| InternalError::NodeIncorrectPointer(*body))?; [INFO] [stdout] 392 + .ok_or(InternalError::NodeIncorrectPointer(*body))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/manager.rs:400:34 [INFO] [stdout] | [INFO] [stdout] 400 | let goal_index = self [INFO] [stdout] | __________________________________^ [INFO] [stdout] 401 | | .goals [INFO] [stdout] 402 | | .len() [INFO] [stdout] 403 | | .checked_sub(1) [INFO] [stdout] 404 | | .ok_or_else(|| InternalError::NoMoreGoalsTactic("intros"))?; [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] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 404 - .ok_or_else(|| InternalError::NoMoreGoalsTactic("intros"))?; [INFO] [stdout] 404 + .ok_or(InternalError::NoMoreGoalsTactic("intros"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/manager.rs:406:33 [INFO] [stdout] | [INFO] [stdout] 406 | let goal_node = self [INFO] [stdout] | _________________________________^ [INFO] [stdout] 407 | | .lambda_storage [INFO] [stdout] 408 | | .get(goal_node_index) [INFO] [stdout] 409 | | .cloned() [INFO] [stdout] 410 | | .ok_or_else(|| InternalError::NodeIncorrectPointer(goal_node_index))?; [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] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 410 - .ok_or_else(|| InternalError::NodeIncorrectPointer(goal_node_index))?; [INFO] [stdout] 410 + .ok_or(InternalError::NodeIncorrectPointer(goal_node_index))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:96:49 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn command(&mut self, comm: Command) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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/manager.rs:429:55 [INFO] [stdout] | [INFO] [stdout] 429 | pub fn tact_exact(&mut self, lamb: LambdaTerm) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:439:13 [INFO] [stdout] | [INFO] [stdout] 439 | self.goals[self.goals.len()-1].goal.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.goals[self.goals.len()-1].goal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/manager.rs:127:29 [INFO] [stdout] | [INFO] [stdout] 127 | None => return Err(EvaluationError::NoProof.into()), [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] 127 - None => return Err(EvaluationError::NoProof.into()), [INFO] [stdout] 127 + None => Err(EvaluationError::NoProof.into()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/manager.rs:128:32 [INFO] [stdout] | [INFO] [stdout] 128 | Some(e) => return Ok(format!("Proof is {}",self.lambda_to_string(e.root))), [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] 128 - Some(e) => return Ok(format!("Proof is {}",self.lambda_to_string(e.root))), [INFO] [stdout] 128 + Some(e) => Ok(format!("Proof is {}",self.lambda_to_string(e.root))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:446:20 [INFO] [stdout] | [INFO] [stdout] 446 | Ok(format!("")) [INFO] [stdout] | ^^^^^^^^^^^ help: consider using `String::new()`: `String::new()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:460:62 [INFO] [stdout] | [INFO] [stdout] 460 | pub fn tact_true_induction(&mut self, t:VariableName) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: redundant closure [INFO] [stdout] --> src/manager.rs:116:26 [INFO] [stdout] | [INFO] [stdout] 116 | .map_err(|x|Error::InternalError(x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Error::InternalError` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:462:23 [INFO] [stdout] | [INFO] [stdout] 462 | let goal_ty = holecontext.goal.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `holecontext.goal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:115:26 [INFO] [stdout] | [INFO] [stdout] 115 | .map(|()|format!("Proof resetted.")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Proof resetted.".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] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:463:24 [INFO] [stdout] | [INFO] [stdout] 463 | let goal_lam = holecontext.node.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `holecontext.node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/manager.rs:464:25 [INFO] [stdout] | [INFO] [stdout] 464 | let variables = holecontext [INFO] [stdout] | _________________________^ [INFO] [stdout] 465 | | .context [INFO] [stdout] 466 | | .iter().map(|x| x.clone()) [INFO] [stdout] | |______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 464 ~ let variables = holecontext [INFO] [stdout] 465 + .context [INFO] [stdout] 466 + .iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/manager.rs:136:69 [INFO] [stdout] | [INFO] [stdout] 136 | ... format!("{}\t: {} := {}.",var_to_string(&k),self.lambda_to_string(*tp),d) [INFO] [stdout] | ^^ help: change this to: `k` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/manager.rs:138:74 [INFO] [stdout] | [INFO] [stdout] 138 | ... format!("{}\t: {}\n \t:= {}.",var_to_string(&k),self.lambda_to_string(*tp),d) [INFO] [stdout] | ^^ help: change this to: `k` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> src/manager.rs:506:9 [INFO] [stdout] | [INFO] [stdout] 506 | / loop { [INFO] [stdout] 507 | | match &self.lambda_storage[arity] { [INFO] [stdout] 508 | | &LambdaNode::Pi(_,left,right) => { [INFO] [stdout] 509 | | unfixed_param_with_types.push((unfixed_params.pop(),left)); [INFO] [stdout] ... | [INFO] [stdout] 513 | | }; [INFO] [stdout] 514 | | } [INFO] [stdout] | |_________^ help: try: `while let &LambdaNode::Pi(_,left,right) = &self.lambda_storage[arity] { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] = note: `#[warn(clippy::while_let_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:519:30 [INFO] [stdout] | [INFO] [stdout] 519 | let function_name = (format!(""),0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"".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] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's keys [INFO] [stdout] --> src/manager.rs:146:41 [INFO] [stdout] | [INFO] [stdout] 146 | ... let mut inductive_res = self.inductives.iter().map(|(j,_)|self.inductive_to_string(j)).filter(|str| str.contains(&t)).collect... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.inductives.keys().map(|j| self.inductive_to_string(j))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] = note: `#[warn(clippy::iter_kv_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> src/manager.rs:530:13 [INFO] [stdout] | [INFO] [stdout] 530 | / loop { [INFO] [stdout] 531 | | match self.lambda_storage[cons_type].clone() { [INFO] [stdout] 532 | | LambdaNode::Pi(a_name,a_tp,next) => {cons_args.push((a_name,a_tp));cons_type = next}, [INFO] [stdout] 533 | | _ => break, [INFO] [stdout] 534 | | } [INFO] [stdout] 535 | | } [INFO] [stdout] | |_____________^ help: try: `while let LambdaNode::Pi(a_name,a_tp,next) = self.lambda_storage[cons_type].clone() { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:156:55 [INFO] [stdout] | [INFO] [stdout] 156 | pub fn commands(&mut self, comms:Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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/manager.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | return Ok(last) [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] 164 - return Ok(last) [INFO] [stdout] 164 + Ok(last) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:174:50 [INFO] [stdout] | [INFO] [stdout] 174 | pub fn check(&mut self, lamb: LambdaTerm) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: length comparison to zero [INFO] [stdout] --> src/manager.rs:175:26 [INFO] [stdout] | [INFO] [stdout] 175 | let mut ctx = if self.goals.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/manager.rs:182:26 [INFO] [stdout] | [INFO] [stdout] 182 | let mut ctx = if self.goals.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:607:12 [INFO] [stdout] | [INFO] [stdout] 607 | Ok(format!("Ok")) [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Ok".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] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:192:51 [INFO] [stdout] | [INFO] [stdout] 192 | pub fn reduce(&mut self, lamb: LambdaTerm) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: length comparison to zero [INFO] [stdout] --> src/manager.rs:193:26 [INFO] [stdout] | [INFO] [stdout] 193 | let mut ctx = if self.goals.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/manager.rs:613:12 [INFO] [stdout] | [INFO] [stdout] 613 | if v=="" { [INFO] [stdout] | ^^^^^ help: using `is_empty` is clearer and more explicit: `v.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/manager.rs:200:26 [INFO] [stdout] | [INFO] [stdout] 200 | let mut ctx = if self.goals.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:210:47 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn tactic(&mut self, tact: Tactic) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: binary comparison to literal `Option::None` [INFO] [stdout] --> src/manager.rs:211:12 [INFO] [stdout] | [INFO] [stdout] 211 | if self.root == None { return Err(EvaluationError::NoProof.into()); } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `self.root.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/manager.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 212 | if self.goals.len() == 0 { // since a tactic can't be applied without any goals, we first check this [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:628:57 [INFO] [stdout] | [INFO] [stdout] 628 | pub fn tact_induction(&mut self, t:VariableName) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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/manager.rs:228:37 [INFO] [stdout] | [INFO] [stdout] 228 | pub fn tact_simpl(&mut self) -> Result<(),Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:630:23 [INFO] [stdout] | [INFO] [stdout] 630 | let goal_ty = holecontext.goal.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `holecontext.goal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:631:24 [INFO] [stdout] | [INFO] [stdout] 631 | let goal_lam = holecontext.node.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `holecontext.node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/manager.rs:632:25 [INFO] [stdout] | [INFO] [stdout] 632 | let variables = holecontext [INFO] [stdout] | _________________________^ [INFO] [stdout] 633 | | .context [INFO] [stdout] 634 | | .iter().map(|x| x.clone()) [INFO] [stdout] | |______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 632 ~ let variables = holecontext [INFO] [stdout] 633 + .context [INFO] [stdout] 634 + .iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/manager.rs:649:12 [INFO] [stdout] | [INFO] [stdout] 649 | if ind_info.parameters.len() != 0 {return Err(EvaluationError::InductiveArity0.into());} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!ind_info.parameters.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/manager.rs:229:12 [INFO] [stdout] | [INFO] [stdout] 229 | if self.goals.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:239:55 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn tact_apply(&mut self, lamb: LambdaTerm) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: accessing last element with `self.goals.get(self.goals.len() - 1)` [INFO] [stdout] --> src/manager.rs:240:31 [INFO] [stdout] | [INFO] [stdout] 240 | let curr = &mut match self.goals.get(self.goals.len()-1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.goals.last()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_last_with_len [INFO] [stdout] = note: `#[warn(clippy::get_last_with_len)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> src/manager.rs:679:13 [INFO] [stdout] | [INFO] [stdout] 679 | / loop { [INFO] [stdout] 680 | | match self.lambda_storage[cons_type].clone() { [INFO] [stdout] 681 | | LambdaNode::Pi(a_name,a_tp,next) => {cons_args.push((a_name,a_tp));cons_type = next}, [INFO] [stdout] 682 | | _ => break, [INFO] [stdout] 683 | | } [INFO] [stdout] 684 | | } [INFO] [stdout] | |_____________^ help: try: `while let LambdaNode::Pi(a_name,a_tp,next) = self.lambda_storage[cons_type].clone() { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/manager.rs:281:42 [INFO] [stdout] | [INFO] [stdout] 281 | hole_to_do.context = ctx.iter().map(|x|x.clone()).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `ctx.iter().cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:732:37 [INFO] [stdout] | [INFO] [stdout] 732 | constr_gamma.push(((format!("Hind"),0),hyp_on_arg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Hind".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] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:292:57 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn tact_unfold(&mut self, name:VariableName) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: accessing last element with `self.goals.get(self.goals.len() - 1)` [INFO] [stdout] --> src/manager.rs:293:26 [INFO] [stdout] | [INFO] [stdout] 293 | let curr = match self.goals.get(self.goals.len()-1) { // get the current goal [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.goals.last()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_last_with_len [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:753:62 [INFO] [stdout] | [INFO] [stdout] 753 | varname_node_inside_fix, arg_name, Pattern::Var((format!(""),0)), goal_ty, cases)); [INFO] [stdout] | ^^^^^^^^^^^ help: consider using `String::new()`: `String::new()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:761:12 [INFO] [stdout] | [INFO] [stdout] 761 | Ok(format!("Ok")) [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Ok".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] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:305:69 [INFO] [stdout] | [INFO] [stdout] 305 | pub fn tact_intro(&mut self, opt_name: Option) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: accessing last element with `self.goals.get(self.goals.len() - 1)` [INFO] [stdout] --> src/manager.rs:306:26 [INFO] [stdout] | [INFO] [stdout] 306 | let curr = match self.goals.get(self.goals.len()-1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.goals.last()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_last_with_len [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:827:155 [INFO] [stdout] | [INFO] [stdout] 827 | ...arams: &Vec, mut arity_length: usize) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/manager.rs:827:107 [INFO] [stdout] | [INFO] [stdout] 827 | fn is_actually_being_defined_inductive(&self, mut cons: &LambdaTerm, ind_name: &VariableName, params: &Vec, mut a... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 827 ~ fn is_actually_being_defined_inductive(&self, mut cons: &LambdaTerm, ind_name: &VariableName, params: &[VariableName], mut arity_length: usize) -> Result<(), Error> { [INFO] [stdout] 828 | use LambdaTerm::*; [INFO] [stdout] 829 ~ let mut params = params.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:859:145 [INFO] [stdout] | [INFO] [stdout] 859 | ...e, params: &Vec, arity_length: usize) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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/manager.rs:894:16 [INFO] [stdout] | [INFO] [stdout] 894 | if !self.subtype(&mut context, type_x, &mut Vec::new(), prop).is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.subtype(&mut context, type_x, &mut Vec::new(), prop).is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:903:144 [INFO] [stdout] | [INFO] [stdout] 903 | ...LambdaTerm, constructors:Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: using `clone` on type `Option<&LambdaNode>` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:310:15 [INFO] [stdout] | [INFO] [stdout] 310 | match self.lambda_storage.get(curr.goal).clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.lambda_storage.get(curr.goal)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:344:64 [INFO] [stdout] | [INFO] [stdout] 344 | pub fn tact_intros(&mut self, names: Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: length comparison to zero [INFO] [stdout] --> src/manager.rs:347:26 [INFO] [stdout] | [INFO] [stdout] 347 | let full_intro = names.len() == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `names.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/manager.rs:348:12 [INFO] [stdout] | [INFO] [stdout] 348 | if names.len() == 0 { loop { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `names.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/manager.rs:350:30 [INFO] [stdout] | [INFO] [stdout] 350 | let goal_index = self [INFO] [stdout] | ______________________________^ [INFO] [stdout] 351 | | .goals [INFO] [stdout] 352 | | .len() [INFO] [stdout] 353 | | .checked_sub(1) [INFO] [stdout] 354 | | .ok_or_else(|| InternalError::NoMoreGoalsTactic("intros"))?; [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 `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 354 - .ok_or_else(|| InternalError::NoMoreGoalsTactic("intros"))?; [INFO] [stdout] 354 + .ok_or(InternalError::NoMoreGoalsTactic("intros"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/manager.rs:356:29 [INFO] [stdout] | [INFO] [stdout] 356 | let goal_node = self [INFO] [stdout] | _____________________________^ [INFO] [stdout] 357 | | .lambda_storage [INFO] [stdout] 358 | | .get(goal_node_index) [INFO] [stdout] 359 | | .cloned() [INFO] [stdout] 360 | | .ok_or_else(|| InternalError::NodeIncorrectPointer(goal_node_index))?; [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] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 360 - .ok_or_else(|| InternalError::NodeIncorrectPointer(goal_node_index))?; [INFO] [stdout] 360 + .ok_or(InternalError::NodeIncorrectPointer(goal_node_index))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/manager.rs:363:35 [INFO] [stdout] | [INFO] [stdout] 363 | let name = if name.0 == "" {self.get_fresh_hypo_name()} else {name}; [INFO] [stdout] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `name.0.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/manager.rs:375:30 [INFO] [stdout] | [INFO] [stdout] 375 | let goal_index = self [INFO] [stdout] | ______________________________^ [INFO] [stdout] 376 | | .goals [INFO] [stdout] 377 | | .len() [INFO] [stdout] 378 | | .checked_sub(1) [INFO] [stdout] 379 | | .ok_or_else(|| InternalError::NoMoreGoalsTactic("intros"))?; [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] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 379 - .ok_or_else(|| InternalError::NoMoreGoalsTactic("intros"))?; [INFO] [stdout] 379 + .ok_or(InternalError::NoMoreGoalsTactic("intros"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/manager.rs:1003:20 [INFO] [stdout] | [INFO] [stdout] 1003 | if constructors_list.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `constructors_list.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/manager.rs:381:34 [INFO] [stdout] | [INFO] [stdout] 381 | let mut goal_node = &self [INFO] [stdout] | __________________________________^ [INFO] [stdout] 382 | | .lambda_storage [INFO] [stdout] 383 | | .get(goal_node_index) [INFO] [stdout] 384 | | .cloned() [INFO] [stdout] 385 | | .ok_or_else(|| InternalError::NodeIncorrectPointer(goal_node_index))?; [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] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 385 - .ok_or_else(|| InternalError::NodeIncorrectPointer(goal_node_index))?; [INFO] [stdout] 385 + .ok_or(InternalError::NodeIncorrectPointer(goal_node_index))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1028:86 [INFO] [stdout] | [INFO] [stdout] 1028 | pub fn set_goal_overwrite(&mut self, l:LambdaTerm, name:Option) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/manager.rs:389:37 [INFO] [stdout] | [INFO] [stdout] 389 | goal_node = self [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 390 | | .lambda_storage [INFO] [stdout] 391 | | .get(*body) [INFO] [stdout] 392 | | .ok_or_else(|| InternalError::NodeIncorrectPointer(*body))?; [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] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 392 - .ok_or_else(|| InternalError::NodeIncorrectPointer(*body))?; [INFO] [stdout] 392 + .ok_or(InternalError::NodeIncorrectPointer(*body))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/manager.rs:1034:9 [INFO] [stdout] | [INFO] [stdout] 1034 | return Ok(format!("")); [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] 1034 - return Ok(format!("")); [INFO] [stdout] 1034 + Ok(format!("")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:1034:19 [INFO] [stdout] | [INFO] [stdout] 1034 | return Ok(format!("")); [INFO] [stdout] | ^^^^^^^^^^^ help: consider using `String::new()`: `String::new()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/manager.rs:400:34 [INFO] [stdout] | [INFO] [stdout] 400 | let goal_index = self [INFO] [stdout] | __________________________________^ [INFO] [stdout] 401 | | .goals [INFO] [stdout] 402 | | .len() [INFO] [stdout] 403 | | .checked_sub(1) [INFO] [stdout] 404 | | .ok_or_else(|| InternalError::NoMoreGoalsTactic("intros"))?; [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] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 404 - .ok_or_else(|| InternalError::NoMoreGoalsTactic("intros"))?; [INFO] [stdout] 404 + .ok_or(InternalError::NoMoreGoalsTactic("intros"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1038:49 [INFO] [stdout] | [INFO] [stdout] 1038 | pub fn set_goal(&mut self, l:LambdaTerm) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/manager.rs:1039:16 [INFO] [stdout] | [INFO] [stdout] 1039 | if let Some(_) = self.root { [INFO] [stdout] | -------^^^^^^^------------ help: try: `if self.root.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/manager.rs:406:33 [INFO] [stdout] | [INFO] [stdout] 406 | let goal_node = self [INFO] [stdout] | _________________________________^ [INFO] [stdout] 407 | | .lambda_storage [INFO] [stdout] 408 | | .get(goal_node_index) [INFO] [stdout] 409 | | .cloned() [INFO] [stdout] 410 | | .ok_or_else(|| InternalError::NodeIncorrectPointer(goal_node_index))?; [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] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 410 - .ok_or_else(|| InternalError::NodeIncorrectPointer(goal_node_index))?; [INFO] [stdout] 410 + .ok_or(InternalError::NodeIncorrectPointer(goal_node_index))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1047:74 [INFO] [stdout] | [INFO] [stdout] 1047 | pub fn set_goal_named(&mut self, l:LambdaTerm, name:VariableName) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/manager.rs:1048:16 [INFO] [stdout] | [INFO] [stdout] 1048 | if let Some(_) = self.root { [INFO] [stdout] | -------^^^^^^^------------ help: try: `if self.root.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1055:69 [INFO] [stdout] | [INFO] [stdout] 1055 | pub fn define(&mut self, name:VariableName, lamb:LambdaTerm) -> Result<(),Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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/manager.rs:429:55 [INFO] [stdout] | [INFO] [stdout] 429 | pub fn tact_exact(&mut self, lamb: LambdaTerm) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: `errors::EvaluationError` [INFO] [stdout] --> src/manager.rs:1060:89 [INFO] [stdout] | [INFO] [stdout] 1060 | ...| Error::EvaluationError(EvaluationError::DefineNotTypable(var_to_string(&name),x).into()))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `EvaluationError::DefineNotTypable(var_to_string(&name),x)` [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: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:439:13 [INFO] [stdout] | [INFO] [stdout] 439 | self.goals[self.goals.len()-1].goal.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.goals[self.goals.len()-1].goal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1066:30 [INFO] [stdout] | [INFO] [stdout] 1066 | pub fn qed(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: length comparison to zero [INFO] [stdout] --> src/manager.rs:1071:12 [INFO] [stdout] | [INFO] [stdout] 1071 | if self.goals.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:446:20 [INFO] [stdout] | [INFO] [stdout] 446 | Ok(format!("")) [INFO] [stdout] | ^^^^^^^^^^^ help: consider using `String::new()`: `String::new()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:1085:24 [INFO] [stdout] | [INFO] [stdout] 1085 | Ok(format!("Proof completed.")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Proof completed.".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] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1095:32 [INFO] [stdout] | [INFO] [stdout] 1095 | pub fn reset(&mut self) -> Result<(), InternalError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | UnimplementedCommand(Command), [INFO] [stdout] | ----------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::InternalError`, 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/manager.rs:460:62 [INFO] [stdout] | [INFO] [stdout] 460 | pub fn tact_true_induction(&mut self, t:VariableName) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:462:23 [INFO] [stdout] | [INFO] [stdout] 462 | let goal_ty = holecontext.goal.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `holecontext.goal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:463:24 [INFO] [stdout] | [INFO] [stdout] 463 | let goal_lam = holecontext.node.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `holecontext.node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/manager.rs:464:25 [INFO] [stdout] | [INFO] [stdout] 464 | let variables = holecontext [INFO] [stdout] | _________________________^ [INFO] [stdout] 465 | | .context [INFO] [stdout] 466 | | .iter().map(|x| x.clone()) [INFO] [stdout] | |______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 464 ~ let variables = holecontext [INFO] [stdout] 465 + .context [INFO] [stdout] 466 + .iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1107:10 [INFO] [stdout] | [INFO] [stdout] 1107 | ) -> Result<(), InternalError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | UnimplementedCommand(Command), [INFO] [stdout] | ----------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::InternalError`, 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 loop could be written as a `while let` loop [INFO] [stdout] --> src/manager.rs:506:9 [INFO] [stdout] | [INFO] [stdout] 506 | / loop { [INFO] [stdout] 507 | | match &self.lambda_storage[arity] { [INFO] [stdout] 508 | | &LambdaNode::Pi(_,left,right) => { [INFO] [stdout] 509 | | unfixed_param_with_types.push((unfixed_params.pop(),left)); [INFO] [stdout] ... | [INFO] [stdout] 513 | | }; [INFO] [stdout] 514 | | } [INFO] [stdout] | |_________^ help: try: `while let &LambdaNode::Pi(_,left,right) = &self.lambda_storage[arity] { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] = note: `#[warn(clippy::while_let_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:519:30 [INFO] [stdout] | [INFO] [stdout] 519 | let function_name = (format!(""),0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"".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] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> src/manager.rs:530:13 [INFO] [stdout] | [INFO] [stdout] 530 | / loop { [INFO] [stdout] 531 | | match self.lambda_storage[cons_type].clone() { [INFO] [stdout] 532 | | LambdaNode::Pi(a_name,a_tp,next) => {cons_args.push((a_name,a_tp));cons_type = next}, [INFO] [stdout] 533 | | _ => break, [INFO] [stdout] 534 | | } [INFO] [stdout] 535 | | } [INFO] [stdout] | |_____________^ help: try: `while let LambdaNode::Pi(a_name,a_tp,next) = self.lambda_storage[cons_type].clone() { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1154:32 [INFO] [stdout] | [INFO] [stdout] 1154 | pub fn clean(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | UnimplementedCommand(Command), [INFO] [stdout] | ----------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::InternalError`, 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: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:1172:27 [INFO] [stdout] | [INFO] [stdout] 1172 | values.insert(v.clone(), i.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:1172:38 [INFO] [stdout] | [INFO] [stdout] 1172 | values.insert(v.clone(), i.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:607:12 [INFO] [stdout] | [INFO] [stdout] 607 | Ok(format!("Ok")) [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Ok".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] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_owned` [INFO] [stdout] --> src/manager.rs:1203:31 [INFO] [stdout] | [INFO] [stdout] 1203 | self.lambda_storage = self [INFO] [stdout] | _______________________________^ [INFO] [stdout] 1204 | | .lambda_storage [INFO] [stdout] 1205 | | .to_owned() [INFO] [stdout] 1206 | | .into_iter() [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] help: use [INFO] [stdout] | [INFO] [stdout] 1203 ~ self.lambda_storage = self [INFO] [stdout] 1204 + .lambda_storage.iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this returns a `Result<_, ()>` [INFO] [stdout] --> src/manager.rs:1215:5 [INFO] [stdout] | [INFO] [stdout] 1215 | pub fn switch_goal(self, goal_id: usize) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a custom `Error` type instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_unit_err [INFO] [stdout] = note: `#[warn(clippy::result_unit_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/manager.rs:613:12 [INFO] [stdout] | [INFO] [stdout] 613 | if v=="" { [INFO] [stdout] | ^^^^^ help: using `is_empty` is clearer and more explicit: `v.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/manager.rs:1229:24 [INFO] [stdout] | [INFO] [stdout] 1229 | Some(_) if self.goals.len() == 0 => Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:628:57 [INFO] [stdout] | [INFO] [stdout] 628 | pub fn tact_induction(&mut self, t:VariableName) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:630:23 [INFO] [stdout] | [INFO] [stdout] 630 | let goal_ty = holecontext.goal.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `holecontext.goal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:631:24 [INFO] [stdout] | [INFO] [stdout] 631 | let goal_lam = holecontext.node.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `holecontext.node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/manager.rs:632:25 [INFO] [stdout] | [INFO] [stdout] 632 | let variables = holecontext [INFO] [stdout] | _________________________^ [INFO] [stdout] 633 | | .context [INFO] [stdout] 634 | | .iter().map(|x| x.clone()) [INFO] [stdout] | |______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 632 ~ let variables = holecontext [INFO] [stdout] 633 + .context [INFO] [stdout] 634 + .iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/manager.rs:1260:44 [INFO] [stdout] | [INFO] [stdout] 1260 | .filter_map(|((str, n), _)| if *str == String::from("H") {Some(n)} else {None}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ try implementing the comparison without allocating [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1270:50 [INFO] [stdout] | [INFO] [stdout] 1270 | pub fn exec_command(&mut self, text:&str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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/manager.rs:1279:51 [INFO] [stdout] | [INFO] [stdout] 1279 | pub fn exec_commands(&mut self, text:&str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: length comparison to zero [INFO] [stdout] --> src/manager.rs:649:12 [INFO] [stdout] | [INFO] [stdout] 649 | if ind_info.parameters.len() != 0 {return Err(EvaluationError::InductiveArity0.into());} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!ind_info.parameters.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> src/manager.rs:679:13 [INFO] [stdout] | [INFO] [stdout] 679 | / loop { [INFO] [stdout] 680 | | match self.lambda_storage[cons_type].clone() { [INFO] [stdout] 681 | | LambdaNode::Pi(a_name,a_tp,next) => {cons_args.push((a_name,a_tp));cons_type = next}, [INFO] [stdout] 682 | | _ => break, [INFO] [stdout] 683 | | } [INFO] [stdout] 684 | | } [INFO] [stdout] | |_____________^ help: try: `while let LambdaNode::Pi(a_name,a_tp,next) = self.lambda_storage[cons_type].clone() { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:732:37 [INFO] [stdout] | [INFO] [stdout] 732 | constr_gamma.push(((format!("Hind"),0),hyp_on_arg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Hind".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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:753:62 [INFO] [stdout] | [INFO] [stdout] 753 | varname_node_inside_fix, arg_name, Pattern::Var((format!(""),0)), goal_ty, cases)); [INFO] [stdout] | ^^^^^^^^^^^ help: consider using `String::new()`: `String::new()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:761:12 [INFO] [stdout] | [INFO] [stdout] 761 | Ok(format!("Ok")) [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Ok".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] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:827:155 [INFO] [stdout] | [INFO] [stdout] 827 | ...arams: &Vec, mut arity_length: usize) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/manager.rs:827:107 [INFO] [stdout] | [INFO] [stdout] 827 | fn is_actually_being_defined_inductive(&self, mut cons: &LambdaTerm, ind_name: &VariableName, params: &Vec, mut a... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 827 ~ fn is_actually_being_defined_inductive(&self, mut cons: &LambdaTerm, ind_name: &VariableName, params: &[VariableName], mut arity_length: usize) -> Result<(), Error> { [INFO] [stdout] 828 | use LambdaTerm::*; [INFO] [stdout] 829 ~ let mut params = params.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:859:145 [INFO] [stdout] | [INFO] [stdout] 859 | ...e, params: &Vec, arity_length: usize) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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/manager.rs:894:16 [INFO] [stdout] | [INFO] [stdout] 894 | if !self.subtype(&mut context, type_x, &mut Vec::new(), prop).is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.subtype(&mut context, type_x, &mut Vec::new(), prop).is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:903:144 [INFO] [stdout] | [INFO] [stdout] 903 | ...LambdaTerm, constructors:Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: length comparison to zero [INFO] [stdout] --> src/manager.rs:1003:20 [INFO] [stdout] | [INFO] [stdout] 1003 | if constructors_list.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `constructors_list.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1028:86 [INFO] [stdout] | [INFO] [stdout] 1028 | pub fn set_goal_overwrite(&mut self, l:LambdaTerm, name:Option) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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/manager.rs:1034:9 [INFO] [stdout] | [INFO] [stdout] 1034 | return Ok(format!("")); [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] 1034 - return Ok(format!("")); [INFO] [stdout] 1034 + Ok(format!("")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:1034:19 [INFO] [stdout] | [INFO] [stdout] 1034 | return Ok(format!("")); [INFO] [stdout] | ^^^^^^^^^^^ help: consider using `String::new()`: `String::new()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1038:49 [INFO] [stdout] | [INFO] [stdout] 1038 | pub fn set_goal(&mut self, l:LambdaTerm) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/manager.rs:1039:16 [INFO] [stdout] | [INFO] [stdout] 1039 | if let Some(_) = self.root { [INFO] [stdout] | -------^^^^^^^------------ help: try: `if self.root.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1047:74 [INFO] [stdout] | [INFO] [stdout] 1047 | pub fn set_goal_named(&mut self, l:LambdaTerm, name:VariableName) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/manager.rs:1048:16 [INFO] [stdout] | [INFO] [stdout] 1048 | if let Some(_) = self.root { [INFO] [stdout] | -------^^^^^^^------------ help: try: `if self.root.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1055:69 [INFO] [stdout] | [INFO] [stdout] 1055 | pub fn define(&mut self, name:VariableName, lamb:LambdaTerm) -> Result<(),Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: `errors::EvaluationError` [INFO] [stdout] --> src/manager.rs:1060:89 [INFO] [stdout] | [INFO] [stdout] 1060 | ...| Error::EvaluationError(EvaluationError::DefineNotTypable(var_to_string(&name),x).into()))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `EvaluationError::DefineNotTypable(var_to_string(&name),x)` [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: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1066:30 [INFO] [stdout] | [INFO] [stdout] 1066 | pub fn qed(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: length comparison to zero [INFO] [stdout] --> src/manager.rs:1071:12 [INFO] [stdout] | [INFO] [stdout] 1071 | if self.goals.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/manager.rs:1085:24 [INFO] [stdout] | [INFO] [stdout] 1085 | Ok(format!("Proof completed.")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Proof completed.".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] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1095:32 [INFO] [stdout] | [INFO] [stdout] 1095 | pub fn reset(&mut self) -> Result<(), InternalError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | UnimplementedCommand(Command), [INFO] [stdout] | ----------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::InternalError`, 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/manager.rs:1107:10 [INFO] [stdout] | [INFO] [stdout] 1107 | ) -> Result<(), InternalError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | UnimplementedCommand(Command), [INFO] [stdout] | ----------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::InternalError`, 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/manager.rs:1154:32 [INFO] [stdout] | [INFO] [stdout] 1154 | pub fn clean(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | UnimplementedCommand(Command), [INFO] [stdout] | ----------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::InternalError`, 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: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:1172:27 [INFO] [stdout] | [INFO] [stdout] 1172 | values.insert(v.clone(), i.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/manager.rs:1172:38 [INFO] [stdout] | [INFO] [stdout] 1172 | values.insert(v.clone(), i.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_owned` [INFO] [stdout] --> src/manager.rs:1203:31 [INFO] [stdout] | [INFO] [stdout] 1203 | self.lambda_storage = self [INFO] [stdout] | _______________________________^ [INFO] [stdout] 1204 | | .lambda_storage [INFO] [stdout] 1205 | | .to_owned() [INFO] [stdout] 1206 | | .into_iter() [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] help: use [INFO] [stdout] | [INFO] [stdout] 1203 ~ self.lambda_storage = self [INFO] [stdout] 1204 + .lambda_storage.iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this returns a `Result<_, ()>` [INFO] [stdout] --> src/manager.rs:1215:5 [INFO] [stdout] | [INFO] [stdout] 1215 | pub fn switch_goal(self, goal_id: usize) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a custom `Error` type instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_unit_err [INFO] [stdout] = note: `#[warn(clippy::result_unit_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/manager.rs:1229:24 [INFO] [stdout] | [INFO] [stdout] 1229 | Some(_) if self.goals.len() == 0 => Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.goals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/manager.rs:1260:44 [INFO] [stdout] | [INFO] [stdout] 1260 | .filter_map(|((str, n), _)| if *str == String::from("H") {Some(n)} else {None}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ try implementing the comparison without allocating [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/manager.rs:1270:50 [INFO] [stdout] | [INFO] [stdout] 1270 | pub fn exec_command(&mut self, text:&str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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/manager.rs:1279:51 [INFO] [stdout] | [INFO] [stdout] 1279 | pub fn exec_commands(&mut self, text:&str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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/parsing.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | return (stri.to_string(),0) [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] 46 - return (stri.to_string(),0) [INFO] [stdout] 46 + (stri.to_string(),0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/parsing.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | if c.is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `c.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] = note: `#[warn(clippy::is_digit_ascii_radix)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `pest::iterators::Pairs<'_, parsing::Rule>` [INFO] [stdout] --> src/parsing.rs:57:22 [INFO] [stdout] | [INFO] [stdout] 57 | let mut inside = vs.into_inner().into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `vs.into_inner()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/parsing.rs:65:22 [INFO] [stdout] | [INFO] [stdout] 65 | vsl.into_inner().map(pair_to_typed_vars).flatten().collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(pair_to_typed_vars)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] = note: `#[warn(clippy::map_flatten)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> src/parsing.rs:159:21 [INFO] [stdout] | [INFO] [stdout] 159 | let n = usize::from_str_radix(inside.next().unwrap().as_str(), 10).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `inside.next().unwrap().as_str().parse::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] = note: `#[warn(clippy::from_str_radix_10)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsing.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | / return match r { [INFO] [stdout] 186 | | Rule::EOI => unreachable!("Empty Command {:?}", r), [INFO] [stdout] 187 | | Rule::goal => Command::Goal(pair_to_expr(inside.next().unwrap())), [INFO] [stdout] 188 | | Rule::theorem => { [INFO] [stdout] ... | [INFO] [stdout] 250 | | _ => unreachable!("Unknown command {:?}", r), [INFO] [stdout] 251 | | }; [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] 185 ~ match r { [INFO] [stdout] 186 + Rule::EOI => unreachable!("Empty Command {:?}", r), [INFO] [stdout] 187 + Rule::goal => Command::Goal(pair_to_expr(inside.next().unwrap())), [INFO] [stdout] 188 + Rule::theorem => { [INFO] [stdout] 189 + let name = pair_to_var(inside.next().unwrap()); [INFO] [stdout] 190 + let lam = pair_to_expr(inside.next().unwrap()); [INFO] [stdout] 191 + Command::Theorem(name, lam) [INFO] [stdout] 192 + }, [INFO] [stdout] 193 + Rule::check => Command::Check(pair_to_expr(inside.next().unwrap())), [INFO] [stdout] 194 + Rule::reduce => Command::Reduce(pair_to_expr(inside.next().unwrap())), [INFO] [stdout] 195 + Rule::qed => Command::Qed, [INFO] [stdout] 196 + Rule::clean => Command::Clean, [INFO] [stdout] 197 + Rule::cancel => Command::Cancel, [INFO] [stdout] 198 + Rule::tactic => Command::Tactic(pair_to_tactic(inside.next().unwrap())), [INFO] [stdout] 199 + Rule::define => { [INFO] [stdout] 200 + let name = pair_to_var(inside.next().unwrap()); [INFO] [stdout] 201 + let define_vars = inside.next().unwrap(); [INFO] [stdout] 202 + let typed_vars_list = match define_vars.into_inner().next() { [INFO] [stdout] 203 + Some(typed_var_list) => pair_to_typed_vars_list(typed_var_list), [INFO] [stdout] 204 + None => Vec::new(), [INFO] [stdout] 205 + }; [INFO] [stdout] 206 + let mut lam = pair_to_expr(inside.next().unwrap()); [INFO] [stdout] 207 + for (name, ty) in typed_vars_list.into_iter().rev() { [INFO] [stdout] 208 + lam = LambdaTerm::Abstraction(name, Box::new(ty), Box::new(lam)) [INFO] [stdout] 209 + } [INFO] [stdout] 210 + Command::Definition(name, lam) [INFO] [stdout] 211 + }, [INFO] [stdout] 212 + Rule::inductive => { [INFO] [stdout] 213 + let name = pair_to_var(inside.next().unwrap()); [INFO] [stdout] 214 + let param_vars = inside.next().unwrap(); [INFO] [stdout] 215 + let params_list = match param_vars.into_inner().next() { [INFO] [stdout] 216 + Some(typed_var_list) => pair_to_typed_vars_list(typed_var_list), [INFO] [stdout] 217 + None => Vec::new(), [INFO] [stdout] 218 + }; [INFO] [stdout] 219 + [INFO] [stdout] 220 + let lambda = pair_to_expr(inside.next().unwrap()); [INFO] [stdout] 221 + [INFO] [stdout] 222 + let r = inside.map(|x|{ [INFO] [stdout] 223 + let mut t = x.into_inner(); [INFO] [stdout] 224 + (pair_to_var(t.next().unwrap()),pair_to_expr(t.next().unwrap())) [INFO] [stdout] 225 + }).collect(); [INFO] [stdout] 226 + [INFO] [stdout] 227 + Command::Inductive(name, params_list, lambda, r) [INFO] [stdout] 228 + }, [INFO] [stdout] 229 + Rule::fixpoint => { [INFO] [stdout] 230 + let name = pair_to_var(inside.next().unwrap()); [INFO] [stdout] 231 + let args = pair_to_typed_vars_list(inside.next().unwrap()); [INFO] [stdout] 232 + let stru = pair_to_var(inside.next().unwrap()); [INFO] [stdout] 233 + let type_ = pair_to_expr(inside.next().unwrap()); [INFO] [stdout] 234 + let lamb = pair_to_expr(inside.next().unwrap()); [INFO] [stdout] 235 + let defined = LambdaTerm::Fix(name.clone(),args,stru,Box::new(type_),Box::new(lamb)); [INFO] [stdout] 236 + [INFO] [stdout] 237 + Command::Definition(name, defined) [INFO] [stdout] 238 + } [INFO] [stdout] 239 + Rule::print => { [INFO] [stdout] 240 + let lamb = pair_to_expr(inside.next().unwrap()); [INFO] [stdout] 241 + Command::Print(lamb) [INFO] [stdout] 242 + } [INFO] [stdout] 243 + Rule::print_proof => { [INFO] [stdout] 244 + Command::PrintProof [INFO] [stdout] 245 + } [INFO] [stdout] 246 + Rule::search => { [INFO] [stdout] 247 + let to_search = inside.next().unwrap().as_str().to_owned(); [INFO] [stdout] 248 + Command::Search(to_search) [INFO] [stdout] 249 + } [INFO] [stdout] 250 + _ => unreachable!("Unknown command {:?}", r), [INFO] [stdout] 251 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/parsing.rs:263:36 [INFO] [stdout] | [INFO] [stdout] 263 | pub fn parse_lambda(text: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `Err`-variant is at least 272 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `pest::error::Error`, 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/parsing.rs:270:38 [INFO] [stdout] | [INFO] [stdout] 270 | pub fn parse_commands(text: &str) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `Err`-variant is at least 272 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `pest::error::Error`, 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/parsing.rs:276:37 [INFO] [stdout] | [INFO] [stdout] 276 | pub fn parse_command(text: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `Err`-variant is at least 272 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `pest::error::Error`, 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/parsing.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | return (stri.to_string(),0) [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] 46 - return (stri.to_string(),0) [INFO] [stdout] 46 + (stri.to_string(),0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/parsing.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | if c.is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `c.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] = note: `#[warn(clippy::is_digit_ascii_radix)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `pest::iterators::Pairs<'_, parsing::Rule>` [INFO] [stdout] --> src/parsing.rs:57:22 [INFO] [stdout] | [INFO] [stdout] 57 | let mut inside = vs.into_inner().into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `vs.into_inner()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/parsing.rs:65:22 [INFO] [stdout] | [INFO] [stdout] 65 | vsl.into_inner().map(pair_to_typed_vars).flatten().collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(pair_to_typed_vars)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] = note: `#[warn(clippy::map_flatten)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> src/parsing.rs:159:21 [INFO] [stdout] | [INFO] [stdout] 159 | let n = usize::from_str_radix(inside.next().unwrap().as_str(), 10).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `inside.next().unwrap().as_str().parse::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] = note: `#[warn(clippy::from_str_radix_10)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsing.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | / return match r { [INFO] [stdout] 186 | | Rule::EOI => unreachable!("Empty Command {:?}", r), [INFO] [stdout] 187 | | Rule::goal => Command::Goal(pair_to_expr(inside.next().unwrap())), [INFO] [stdout] 188 | | Rule::theorem => { [INFO] [stdout] ... | [INFO] [stdout] 250 | | _ => unreachable!("Unknown command {:?}", r), [INFO] [stdout] 251 | | }; [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] 185 ~ match r { [INFO] [stdout] 186 + Rule::EOI => unreachable!("Empty Command {:?}", r), [INFO] [stdout] 187 + Rule::goal => Command::Goal(pair_to_expr(inside.next().unwrap())), [INFO] [stdout] 188 + Rule::theorem => { [INFO] [stdout] 189 + let name = pair_to_var(inside.next().unwrap()); [INFO] [stdout] 190 + let lam = pair_to_expr(inside.next().unwrap()); [INFO] [stdout] 191 + Command::Theorem(name, lam) [INFO] [stdout] 192 + }, [INFO] [stdout] 193 + Rule::check => Command::Check(pair_to_expr(inside.next().unwrap())), [INFO] [stdout] 194 + Rule::reduce => Command::Reduce(pair_to_expr(inside.next().unwrap())), [INFO] [stdout] 195 + Rule::qed => Command::Qed, [INFO] [stdout] 196 + Rule::clean => Command::Clean, [INFO] [stdout] 197 + Rule::cancel => Command::Cancel, [INFO] [stdout] 198 + Rule::tactic => Command::Tactic(pair_to_tactic(inside.next().unwrap())), [INFO] [stdout] 199 + Rule::define => { [INFO] [stdout] 200 + let name = pair_to_var(inside.next().unwrap()); [INFO] [stdout] 201 + let define_vars = inside.next().unwrap(); [INFO] [stdout] 202 + let typed_vars_list = match define_vars.into_inner().next() { [INFO] [stdout] 203 + Some(typed_var_list) => pair_to_typed_vars_list(typed_var_list), [INFO] [stdout] 204 + None => Vec::new(), [INFO] [stdout] 205 + }; [INFO] [stdout] 206 + let mut lam = pair_to_expr(inside.next().unwrap()); [INFO] [stdout] 207 + for (name, ty) in typed_vars_list.into_iter().rev() { [INFO] [stdout] 208 + lam = LambdaTerm::Abstraction(name, Box::new(ty), Box::new(lam)) [INFO] [stdout] 209 + } [INFO] [stdout] 210 + Command::Definition(name, lam) [INFO] [stdout] 211 + }, [INFO] [stdout] 212 + Rule::inductive => { [INFO] [stdout] 213 + let name = pair_to_var(inside.next().unwrap()); [INFO] [stdout] 214 + let param_vars = inside.next().unwrap(); [INFO] [stdout] 215 + let params_list = match param_vars.into_inner().next() { [INFO] [stdout] 216 + Some(typed_var_list) => pair_to_typed_vars_list(typed_var_list), [INFO] [stdout] 217 + None => Vec::new(), [INFO] [stdout] 218 + }; [INFO] [stdout] 219 + [INFO] [stdout] 220 + let lambda = pair_to_expr(inside.next().unwrap()); [INFO] [stdout] 221 + [INFO] [stdout] 222 + let r = inside.map(|x|{ [INFO] [stdout] 223 + let mut t = x.into_inner(); [INFO] [stdout] 224 + (pair_to_var(t.next().unwrap()),pair_to_expr(t.next().unwrap())) [INFO] [stdout] 225 + }).collect(); [INFO] [stdout] 226 + [INFO] [stdout] 227 + Command::Inductive(name, params_list, lambda, r) [INFO] [stdout] 228 + }, [INFO] [stdout] 229 + Rule::fixpoint => { [INFO] [stdout] 230 + let name = pair_to_var(inside.next().unwrap()); [INFO] [stdout] 231 + let args = pair_to_typed_vars_list(inside.next().unwrap()); [INFO] [stdout] 232 + let stru = pair_to_var(inside.next().unwrap()); [INFO] [stdout] 233 + let type_ = pair_to_expr(inside.next().unwrap()); [INFO] [stdout] 234 + let lamb = pair_to_expr(inside.next().unwrap()); [INFO] [stdout] 235 + let defined = LambdaTerm::Fix(name.clone(),args,stru,Box::new(type_),Box::new(lamb)); [INFO] [stdout] 236 + [INFO] [stdout] 237 + Command::Definition(name, defined) [INFO] [stdout] 238 + } [INFO] [stdout] 239 + Rule::print => { [INFO] [stdout] 240 + let lamb = pair_to_expr(inside.next().unwrap()); [INFO] [stdout] 241 + Command::Print(lamb) [INFO] [stdout] 242 + } [INFO] [stdout] 243 + Rule::print_proof => { [INFO] [stdout] 244 + Command::PrintProof [INFO] [stdout] 245 + } [INFO] [stdout] 246 + Rule::search => { [INFO] [stdout] 247 + let to_search = inside.next().unwrap().as_str().to_owned(); [INFO] [stdout] 248 + Command::Search(to_search) [INFO] [stdout] 249 + } [INFO] [stdout] 250 + _ => unreachable!("Unknown command {:?}", r), [INFO] [stdout] 251 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/parsing.rs:263:36 [INFO] [stdout] | [INFO] [stdout] 263 | pub fn parse_lambda(text: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `Err`-variant is at least 272 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `pest::error::Error`, 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/parsing.rs:270:38 [INFO] [stdout] | [INFO] [stdout] 270 | pub fn parse_commands(text: &str) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `Err`-variant is at least 272 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `pest::error::Error`, 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/parsing.rs:276:37 [INFO] [stdout] | [INFO] [stdout] 276 | pub fn parse_command(text: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `Err`-variant is at least 272 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `pest::error::Error`, 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: importing legacy numeric constants [INFO] [stdout] --> src/typing.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::usize; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `usize::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/typing.rs:58:36 [INFO] [stdout] | [INFO] [stdout] 58 | let var_ty_index = gamma [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 59 | | .get(var_index) [INFO] [stdout] 60 | | .map(|(_, ind)| *ind) [INFO] [stdout] 61 | | .ok_or_else(||UnboundVariable(i))?; [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] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 61 - .ok_or_else(||UnboundVariable(i))?; [INFO] [stdout] 61 + .ok_or(UnboundVariable(i))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/typing.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::usize; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `usize::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/typing.rs:58:36 [INFO] [stdout] | [INFO] [stdout] 58 | let var_ty_index = gamma [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 59 | | .get(var_index) [INFO] [stdout] 60 | | .map(|(_, ind)| *ind) [INFO] [stdout] 61 | | .ok_or_else(||UnboundVariable(i))?; [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] help: use `ok_or` instead [INFO] [stdout] | [INFO] [stdout] 61 - .ok_or_else(||UnboundVariable(i))?; [INFO] [stdout] 61 + .ok_or(UnboundVariable(i))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/typing.rs:124:29 [INFO] [stdout] | [INFO] [stdout] 123 | ... let otp_t = self.insert_node(otp_t); [INFO] [stdout] | ------------------------------------ unnecessary `let` binding [INFO] [stdout] 124 | ... otp_t [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 123 ~ [INFO] [stdout] 124 ~ self.insert_node(otp_t) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/typing.rs:124:29 [INFO] [stdout] | [INFO] [stdout] 123 | ... let otp_t = self.insert_node(otp_t); [INFO] [stdout] | ------------------------------------ unnecessary `let` binding [INFO] [stdout] 124 | ... otp_t [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 123 ~ [INFO] [stdout] 124 ~ self.insert_node(otp_t) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/typing.rs:163:40 [INFO] [stdout] | [INFO] [stdout] 163 | let mut overall_type = tp.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `tp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/typing.rs:163:40 [INFO] [stdout] | [INFO] [stdout] 163 | let mut overall_type = tp.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `tp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/typing.rs:334:16 [INFO] [stdout] | [INFO] [stdout] 334 | if pi_args_rev.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!pi_args_rev.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/typing.rs:334:16 [INFO] [stdout] | [INFO] [stdout] 334 | if pi_args_rev.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!pi_args_rev.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/typing.rs:363:23 [INFO] [stdout] | [INFO] [stdout] 363 | if x.0 != String::from("_") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `"_"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/typing.rs:363:23 [INFO] [stdout] | [INFO] [stdout] 363 | if x.0 != String::from("_") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `"_"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/typing.rs:392:20 [INFO] [stdout] | [INFO] [stdout] 392 | if pat_var.0 != "" {target_type = self.replace_keep(target_type, *arg)} [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!pat_var.0.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/typing.rs:392:20 [INFO] [stdout] | [INFO] [stdout] 392 | if pat_var.0 != "" {target_type = self.replace_keep(target_type, *arg)} [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!pat_var.0.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/typing.rs:403:19 [INFO] [stdout] | [INFO] [stdout] 403 | if x.0 != String::from("_") {r = self.replace_keep(r, t)} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `"_"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/typing.rs:403:19 [INFO] [stdout] | [INFO] [stdout] 403 | if x.0 != String::from("_") {r = self.replace_keep(r, t)} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `"_"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/typing.rs:405:25 [INFO] [stdout] | [INFO] [stdout] 405 | if var.0 != String::from("") {r = self.replace_keep(r, *ty)} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `""` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/typing.rs:405:25 [INFO] [stdout] | [INFO] [stdout] 405 | if var.0 != String::from("") {r = self.replace_keep(r, *ty)} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `""` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/utils.rs:107:40 [INFO] [stdout] | [INFO] [stdout] 107 | let c = self.constants[&name].0; [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/utils.rs:111:40 [INFO] [stdout] | [INFO] [stdout] 111 | let c = self.constants[&name].0; [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/utils.rs:410:10 [INFO] [stdout] | [INFO] [stdout] 410 | ) -> Result<(),Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/utils.rs:107:40 [INFO] [stdout] | [INFO] [stdout] 107 | let c = self.constants[&name].0; [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/utils.rs:111:40 [INFO] [stdout] | [INFO] [stdout] 111 | let c = self.constants[&name].0; [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/utils.rs:770:60 [INFO] [stdout] | [INFO] [stdout] 770 | pub fn unfold_constants(&mut self, node: NodeIndex) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | UnimplementedCommand(Command), [INFO] [stdout] | ----------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::InternalError`, 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/utils.rs:410:10 [INFO] [stdout] | [INFO] [stdout] 410 | ) -> Result<(),Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/utils.rs:840:24 [INFO] [stdout] | [INFO] [stdout] 840 | if let Some(_) = self.constants.get(&name) { [INFO] [stdout] | -------^^^^^^^---------------------------- help: try: `if self.constants.get(&name).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/utils.rs:840:53 [INFO] [stdout] | [INFO] [stdout] 840 | if let Some(_) = self.constants.get(&name) { [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/utils.rs:842:31 [INFO] [stdout] | [INFO] [stdout] 842 | } else if let Some(_) = self.inductives.get(&name) { [INFO] [stdout] | -------^^^^^^^----------------------------- help: try: `if self.inductives.get(&name).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/utils.rs:842:61 [INFO] [stdout] | [INFO] [stdout] 842 | } else if let Some(_) = self.inductives.get(&name) { [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/lib.rs:56:35 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn exec_command(text:&str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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:60:36 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn exec_commands(text:&str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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 returns a `Result<_, ()>` [INFO] [stdout] --> src/lib.rs:83:1 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn parse(text: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a custom `Error` type instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_unit_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/utils.rs:770:60 [INFO] [stdout] | [INFO] [stdout] 770 | pub fn unfold_constants(&mut self, node: NodeIndex) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | UnimplementedCommand(Command), [INFO] [stdout] | ----------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::InternalError`, 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: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/utils.rs:840:24 [INFO] [stdout] | [INFO] [stdout] 840 | if let Some(_) = self.constants.get(&name) { [INFO] [stdout] | -------^^^^^^^---------------------------- help: try: `if self.constants.get(&name).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/utils.rs:840:53 [INFO] [stdout] | [INFO] [stdout] 840 | if let Some(_) = self.constants.get(&name) { [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/utils.rs:842:31 [INFO] [stdout] | [INFO] [stdout] 842 | } else if let Some(_) = self.inductives.get(&name) { [INFO] [stdout] | -------^^^^^^^----------------------------- help: try: `if self.inductives.get(&name).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/utils.rs:842:61 [INFO] [stdout] | [INFO] [stdout] 842 | } else if let Some(_) = self.inductives.get(&name) { [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/lib.rs:56:35 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn exec_command(text:&str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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:60:36 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn exec_commands(text:&str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/errors.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | EvaluationError(#[from] EvaluationError), [INFO] [stdout] | ---------------------------------------- the largest variant contains at least 192 bytes [INFO] [stdout] 12 | #[error(transparent)] [INFO] [stdout] 13 | InternalError(#[from] InternalError), [INFO] [stdout] | ------------------------------------ the variant `InternalError` contains at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `errors::Error`, 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 returns a `Result<_, ()>` [INFO] [stdout] --> src/lib.rs:83:1 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn parse(text: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a custom `Error` type instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_unit_err [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.85s [INFO] running `Command { std: "docker" "inspect" "f555a4ea3c91601c9b857e9b9bb1e792cde76801900f23c64582d254fddb098d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f555a4ea3c91601c9b857e9b9bb1e792cde76801900f23c64582d254fddb098d", kill_on_drop: false }` [INFO] [stdout] f555a4ea3c91601c9b857e9b9bb1e792cde76801900f23c64582d254fddb098d