[INFO] cloning repository https://github.com/Ashvin-Ranjan/rust_oop [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Ashvin-Ranjan/rust_oop" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAshvin-Ranjan%2Frust_oop", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAshvin-Ranjan%2Frust_oop'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9e8075dad2f72f44426adcc5db8173ce94da9eb9 [INFO] linting Ashvin-Ranjan/rust_oop against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAshvin-Ranjan%2Frust_oop" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Ashvin-Ranjan/rust_oop [INFO] finished tweaking git repo https://github.com/Ashvin-Ranjan/rust_oop [INFO] tweaked toml for git repo https://github.com/Ashvin-Ranjan/rust_oop written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Ashvin-Ranjan/rust_oop on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Ashvin-Ranjan/rust_oop already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 58d762b6cd4209c24f73bf2e7cd1190d885c044b1e26c8246ec8b13e7c2abc37 [INFO] running `Command { std: "docker" "start" "-a" "58d762b6cd4209c24f73bf2e7cd1190d885c044b1e26c8246ec8b13e7c2abc37", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "58d762b6cd4209c24f73bf2e7cd1190d885c044b1e26c8246ec8b13e7c2abc37", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "58d762b6cd4209c24f73bf2e7cd1190d885c044b1e26c8246ec8b13e7c2abc37", kill_on_drop: false }` [INFO] [stdout] 58d762b6cd4209c24f73bf2e7cd1190d885c044b1e26c8246ec8b13e7c2abc37 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 33b2e795c52dc72cd2e1bbc0c0363ccf72e13fccbef048f5821c299fc0bc1913 [INFO] running `Command { std: "docker" "start" "-a" "33b2e795c52dc72cd2e1bbc0c0363ccf72e13fccbef048f5821c299fc0bc1913", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.105 [INFO] [stderr] Compiling quote v1.0.43 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Checking sl_op v0.1.0 (/opt/rustwide/workdir/sl_op) [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> sl_op/src/ast/items.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pub enum ClassItem { [INFO] [stdout] 10 | | ClassField(ClassField), [INFO] [stdout] | | ---------------------- the largest variant contains at least 472 bytes [INFO] [stdout] 11 | | ClassMethod(ClassMethod), [INFO] [stdout] | | ------------------------ the second-largest variant contains at least 248 bytes [INFO] [stdout] 12 | | ClassConstructor(ClassConstructor), [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ the entire enum is at least 472 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 10 - ClassField(ClassField), [INFO] [stdout] 10 + ClassField(Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same prefix: `Class` [INFO] [stdout] --> sl_op/src/ast/items.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pub enum ClassItem { [INFO] [stdout] 10 | | ClassField(ClassField), [INFO] [stdout] 11 | | ClassMethod(ClassMethod), [INFO] [stdout] 12 | | ClassConstructor(ClassConstructor), [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/ast/items.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | if !equals.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `equals.is_some()` [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: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/class.rs:143:25 [INFO] [stdout] | [INFO] [stdout] 143 | let is_public = !class.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `class.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> sl_op/src/repr/class.rs:323:25 [INFO] [stdout] | [INFO] [stdout] 323 | format!("Cannot override with an incompatible type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Cannot override with an incompatible type.".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: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:49:25 [INFO] [stdout] | [INFO] [stdout] 49 | let is_public = !field.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:50:29 [INFO] [stdout] | [INFO] [stdout] 50 | let is_overriding = !field.override_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.override_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | if !field.static_kw.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.static_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:111:25 [INFO] [stdout] | [INFO] [stdout] 111 | let is_public = !field.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | if !field.expression.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.expression.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | if !field.override_kw.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.override_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:187:12 [INFO] [stdout] | [INFO] [stdout] 187 | if !method.const_kw.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.const_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:193:25 [INFO] [stdout] | [INFO] [stdout] 193 | let is_public = !method.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:194:29 [INFO] [stdout] | [INFO] [stdout] 194 | let is_overriding = !method.override_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.override_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:216:25 [INFO] [stdout] | [INFO] [stdout] 216 | let is_public = !constructor.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `constructor.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> sl_op/src/repr/items.rs:217:12 [INFO] [stdout] | [INFO] [stdout] 217 | if constructor.ident.to_string() != *class_name { [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] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:324:12 [INFO] [stdout] | [INFO] [stdout] 324 | if !method.static_kw.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.static_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:327:25 [INFO] [stdout] | [INFO] [stdout] 327 | let is_public = !method.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:328:27 [INFO] [stdout] | [INFO] [stdout] 328 | let is_constant = !method.const_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.const_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:329:29 [INFO] [stdout] | [INFO] [stdout] 329 | let is_overriding = !method.override_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.override_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> sl_op/src/repr/items.rs:476:18 [INFO] [stdout] | [INFO] [stdout] 476 | .map(|x| MethodArgumentInformation::construct(x)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `MethodArgumentInformation::construct` [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: this creates an owned instance just for comparison [INFO] [stdout] --> sl_op/src/repr/items.rs:481:33 [INFO] [stdout] | [INFO] [stdout] 481 | if self_reserved && arg.ident.to_string() == SELF_KW { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `arg.ident` [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: unneeded `return` statement [INFO] [stdout] --> sl_op/src/repr/items.rs:542:9 [INFO] [stdout] | [INFO] [stdout] 542 | return &self.ident; [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] 542 - return &self.ident; [INFO] [stdout] 542 + &self.ident [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> sl_op/src/repr/items.rs:558:9 [INFO] [stdout] | [INFO] [stdout] 558 | return &self.ident; [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] 558 - return &self.ident; [INFO] [stdout] 558 + &self.ident [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> sl_op/src/repr/items.rs:564:9 [INFO] [stdout] | [INFO] [stdout] 564 | return &self.ident; [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] 564 - return &self.ident; [INFO] [stdout] 564 + &self.ident [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> sl_op/src/repr/items.rs:580:9 [INFO] [stdout] | [INFO] [stdout] 580 | return &self.ident; [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] 580 - return &self.ident; [INFO] [stdout] 580 + &self.ident [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> sl_op/src/ast/items.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pub enum ClassItem { [INFO] [stdout] 10 | | ClassField(ClassField), [INFO] [stdout] | | ---------------------- the largest variant contains at least 472 bytes [INFO] [stdout] 11 | | ClassMethod(ClassMethod), [INFO] [stdout] | | ------------------------ the second-largest variant contains at least 248 bytes [INFO] [stdout] 12 | | ClassConstructor(ClassConstructor), [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ the entire enum is at least 472 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 10 - ClassField(ClassField), [INFO] [stdout] 10 + ClassField(Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same prefix: `Class` [INFO] [stdout] --> sl_op/src/ast/items.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pub enum ClassItem { [INFO] [stdout] 10 | | ClassField(ClassField), [INFO] [stdout] 11 | | ClassMethod(ClassMethod), [INFO] [stdout] 12 | | ClassConstructor(ClassConstructor), [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/ast/items.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | if !equals.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `equals.is_some()` [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: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/class.rs:143:25 [INFO] [stdout] | [INFO] [stdout] 143 | let is_public = !class.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `class.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> sl_op/src/repr/class.rs:323:25 [INFO] [stdout] | [INFO] [stdout] 323 | format!("Cannot override with an incompatible type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Cannot override with an incompatible type.".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: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:49:25 [INFO] [stdout] | [INFO] [stdout] 49 | let is_public = !field.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:50:29 [INFO] [stdout] | [INFO] [stdout] 50 | let is_overriding = !field.override_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.override_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | if !field.static_kw.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.static_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:111:25 [INFO] [stdout] | [INFO] [stdout] 111 | let is_public = !field.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | if !field.expression.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.expression.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | if !field.override_kw.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.override_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:187:12 [INFO] [stdout] | [INFO] [stdout] 187 | if !method.const_kw.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.const_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:193:25 [INFO] [stdout] | [INFO] [stdout] 193 | let is_public = !method.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:194:29 [INFO] [stdout] | [INFO] [stdout] 194 | let is_overriding = !method.override_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.override_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:216:25 [INFO] [stdout] | [INFO] [stdout] 216 | let is_public = !constructor.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `constructor.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> sl_op/src/repr/items.rs:217:12 [INFO] [stdout] | [INFO] [stdout] 217 | if constructor.ident.to_string() != *class_name { [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] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:324:12 [INFO] [stdout] | [INFO] [stdout] 324 | if !method.static_kw.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.static_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:327:25 [INFO] [stdout] | [INFO] [stdout] 327 | let is_public = !method.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:328:27 [INFO] [stdout] | [INFO] [stdout] 328 | let is_constant = !method.const_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.const_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:329:29 [INFO] [stdout] | [INFO] [stdout] 329 | let is_overriding = !method.override_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.override_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> sl_op/src/repr/items.rs:476:18 [INFO] [stdout] | [INFO] [stdout] 476 | .map(|x| MethodArgumentInformation::construct(x)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `MethodArgumentInformation::construct` [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: this creates an owned instance just for comparison [INFO] [stdout] --> sl_op/src/repr/items.rs:481:33 [INFO] [stdout] | [INFO] [stdout] 481 | if self_reserved && arg.ident.to_string() == SELF_KW { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `arg.ident` [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: unneeded `return` statement [INFO] [stdout] --> sl_op/src/repr/items.rs:542:9 [INFO] [stdout] | [INFO] [stdout] 542 | return &self.ident; [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] 542 - return &self.ident; [INFO] [stdout] 542 + &self.ident [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> sl_op/src/repr/items.rs:558:9 [INFO] [stdout] | [INFO] [stdout] 558 | return &self.ident; [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] 558 - return &self.ident; [INFO] [stdout] 558 + &self.ident [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> sl_op/src/repr/items.rs:564:9 [INFO] [stdout] | [INFO] [stdout] 564 | return &self.ident; [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] 564 - return &self.ident; [INFO] [stdout] 564 + &self.ident [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> sl_op/src/repr/items.rs:580:9 [INFO] [stdout] | [INFO] [stdout] 580 | return &self.ident; [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] 580 - return &self.ident; [INFO] [stdout] 580 + &self.ident [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> sl_op/src/ast/items.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pub enum ClassItem { [INFO] [stdout] 10 | | ClassField(ClassField), [INFO] [stdout] | | ---------------------- the largest variant contains at least 472 bytes [INFO] [stdout] 11 | | ClassMethod(ClassMethod), [INFO] [stdout] | | ------------------------ the second-largest variant contains at least 248 bytes [INFO] [stdout] 12 | | ClassConstructor(ClassConstructor), [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ the entire enum is at least 472 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 10 - ClassField(ClassField), [INFO] [stdout] 10 + ClassField(Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same prefix: `Class` [INFO] [stdout] --> sl_op/src/ast/items.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pub enum ClassItem { [INFO] [stdout] 10 | | ClassField(ClassField), [INFO] [stdout] 11 | | ClassMethod(ClassMethod), [INFO] [stdout] 12 | | ClassConstructor(ClassConstructor), [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/ast/items.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | if !equals.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `equals.is_some()` [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: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/class.rs:143:25 [INFO] [stdout] | [INFO] [stdout] 143 | let is_public = !class.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `class.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> sl_op/src/repr/class.rs:323:25 [INFO] [stdout] | [INFO] [stdout] 323 | format!("Cannot override with an incompatible type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Cannot override with an incompatible type.".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: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:49:25 [INFO] [stdout] | [INFO] [stdout] 49 | let is_public = !field.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:50:29 [INFO] [stdout] | [INFO] [stdout] 50 | let is_overriding = !field.override_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.override_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | if !field.static_kw.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.static_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:111:25 [INFO] [stdout] | [INFO] [stdout] 111 | let is_public = !field.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | if !field.expression.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.expression.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | if !field.override_kw.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `field.override_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:187:12 [INFO] [stdout] | [INFO] [stdout] 187 | if !method.const_kw.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.const_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:193:25 [INFO] [stdout] | [INFO] [stdout] 193 | let is_public = !method.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:194:29 [INFO] [stdout] | [INFO] [stdout] 194 | let is_overriding = !method.override_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.override_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:216:25 [INFO] [stdout] | [INFO] [stdout] 216 | let is_public = !constructor.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `constructor.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> sl_op/src/repr/items.rs:217:12 [INFO] [stdout] | [INFO] [stdout] 217 | if constructor.ident.to_string() != *class_name { [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] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:324:12 [INFO] [stdout] | [INFO] [stdout] 324 | if !method.static_kw.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.static_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:327:25 [INFO] [stdout] | [INFO] [stdout] 327 | let is_public = !method.pub_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.pub_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:328:27 [INFO] [stdout] | [INFO] [stdout] 328 | let is_constant = !method.const_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.const_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> sl_op/src/repr/items.rs:329:29 [INFO] [stdout] | [INFO] [stdout] 329 | let is_overriding = !method.override_kw.is_none(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `method.override_kw.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> sl_op/src/repr/items.rs:476:18 [INFO] [stdout] | [INFO] [stdout] 476 | .map(|x| MethodArgumentInformation::construct(x)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `MethodArgumentInformation::construct` [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: this creates an owned instance just for comparison [INFO] [stdout] --> sl_op/src/repr/items.rs:481:33 [INFO] [stdout] | [INFO] [stdout] 481 | if self_reserved && arg.ident.to_string() == SELF_KW { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `arg.ident` [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: unneeded `return` statement [INFO] [stdout] --> sl_op/src/repr/items.rs:542:9 [INFO] [stdout] | [INFO] [stdout] 542 | return &self.ident; [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] 542 - return &self.ident; [INFO] [stdout] 542 + &self.ident [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> sl_op/src/repr/items.rs:558:9 [INFO] [stdout] | [INFO] [stdout] 558 | return &self.ident; [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] 558 - return &self.ident; [INFO] [stdout] 558 + &self.ident [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> sl_op/src/repr/items.rs:564:9 [INFO] [stdout] | [INFO] [stdout] 564 | return &self.ident; [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] 564 - return &self.ident; [INFO] [stdout] 564 + &self.ident [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> sl_op/src/repr/items.rs:580:9 [INFO] [stdout] | [INFO] [stdout] 580 | return &self.ident; [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] 580 - return &self.ident; [INFO] [stdout] 580 + &self.ident [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] mod class_container [INFO] [stdout] { [INFO] [stdout] #[allow(non_snake_case)] pub mod Shape [INFO] [stdout] { [INFO] [stdout] use super :: Square :: * ; use super :: A :: * ; use super :: D :: * ; [INFO] [stdout] use super :: Point :: * ; use super :: B :: * ; use super :: Yo :: * ; [INFO] [stdout] use super :: Gurt :: * ; use super :: C :: * ; pub struct Shape [INFO] [stdout] { [INFO] [stdout] sides : i32, #[doc(hidden)] __phantom_marker0 : :: std :: marker [INFO] [stdout] :: PhantomData < () > [INFO] [stdout] } impl Shape [INFO] [stdout] { [INFO] [stdout] pub fn get_sides(& self,) -> i32 { self.sides } fn [INFO] [stdout] _default_constructor(sides : i32,) -> Shape [INFO] [stdout] { [INFO] [stdout] Shape [INFO] [stdout] { [INFO] [stdout] sides, __phantom_marker0 : :: std :: marker :: PhantomData, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } pub trait ShapeInstance { fn get_sides(& self,) -> i32; } impl [INFO] [stdout] ShapeInstance for Shape [INFO] [stdout] { fn get_sides(& self,) -> i32 { self.get_sides() } } [INFO] [stdout] } #[allow(non_snake_case)] pub mod Square [INFO] [stdout] { [INFO] [stdout] use super :: Shape :: * ; use super :: A :: * ; use super :: D :: * ; [INFO] [stdout] use super :: Point :: * ; use super :: B :: * ; use super :: Yo :: * ; [INFO] [stdout] use super :: Gurt :: * ; use super :: C :: * ; pub struct Square [INFO] [stdout] { [INFO] [stdout] #[doc(hidden)] __phantom_marker0 : :: std :: marker :: PhantomData [INFO] [stdout] < () > [INFO] [stdout] } impl Square [INFO] [stdout] { [INFO] [stdout] pub fn get_sides(& self,) -> i32 { 4 } fn _default_constructor() [INFO] [stdout] -> Square [INFO] [stdout] { [INFO] [stdout] Square [INFO] [stdout] { __phantom_marker0 : :: std :: marker :: PhantomData, } [INFO] [stdout] } [INFO] [stdout] } pub trait SquareInstance { fn get_sides(& self,) -> i32; } impl [INFO] [stdout] SquareInstance for Square [INFO] [stdout] { fn get_sides(& self,) -> i32 { self.get_sides() } } [INFO] [stdout] } #[allow(non_snake_case)] pub mod A [INFO] [stdout] { [INFO] [stdout] use super :: Shape :: * ; use super :: Square :: * ; use super :: D :: [INFO] [stdout] * ; use super :: Point :: * ; use super :: B :: * ; use super :: Yo :: [INFO] [stdout] * ; use super :: Gurt :: * ; use super :: C :: * ; pub struct A < K > [INFO] [stdout] { [INFO] [stdout] pub val : K, #[doc(hidden)] __phantom_marker0 : :: std :: marker [INFO] [stdout] :: PhantomData < (K) > [INFO] [stdout] } impl < K > A < K > [INFO] [stdout] { [INFO] [stdout] pub fn touch_val(& self,) { let _x = & self.val; } fn [INFO] [stdout] _default_constructor(val : K,) -> A < K > [INFO] [stdout] { [INFO] [stdout] A [INFO] [stdout] { val, __phantom_marker0 : :: std :: marker :: PhantomData, } [INFO] [stdout] } [INFO] [stdout] } pub trait AInstance < K > { fn touch_val(& self,); } impl < K > [INFO] [stdout] AInstance < K > for A < K > [INFO] [stdout] { fn touch_val(& self,) { self.touch_val() } } [INFO] [stdout] } #[allow(non_snake_case)] pub mod D [INFO] [stdout] { [INFO] [stdout] use super :: Shape :: * ; use super :: Square :: * ; use super :: A :: [INFO] [stdout] * ; use super :: Point :: * ; use super :: B :: * ; use super :: Yo :: [INFO] [stdout] * ; use super :: Gurt :: * ; use super :: C :: * ; pub struct D [INFO] [stdout] { [INFO] [stdout] pub val : (u32, u32), #[doc(hidden)] __phantom_marker0 : :: std :: [INFO] [stdout] marker :: PhantomData < () > [INFO] [stdout] } impl D [INFO] [stdout] { [INFO] [stdout] pub fn touch_val(& self,) { type T = u32; let _x = & self.val; } [INFO] [stdout] fn _default_constructor(val : (u32, u32),) -> D [INFO] [stdout] { [INFO] [stdout] D [INFO] [stdout] { val, __phantom_marker0 : :: std :: marker :: PhantomData, } [INFO] [stdout] } [INFO] [stdout] } pub trait DInstance : CInstance { fn touch_val(& self,); } impl [INFO] [stdout] DInstance for D { fn touch_val(& self,) { self.touch_val() } } impl [INFO] [stdout] CInstance < > for D { fn touch_val(& self,) { self.touch_val() } } [INFO] [stdout] impl BInstance < u32, > for D [INFO] [stdout] { fn touch_val(& self,) { self.touch_val() } } impl AInstance < [INFO] [stdout] (u32, u32), > for D { fn touch_val(& self,) { self.touch_val() } } [INFO] [stdout] } #[allow(non_snake_case)] pub mod Point [INFO] [stdout] { [INFO] [stdout] use super :: Shape :: * ; use super :: Square :: * ; use super :: A :: [INFO] [stdout] * ; use super :: D :: * ; use super :: B :: * ; use super :: Yo :: * ; [INFO] [stdout] use super :: Gurt :: * ; use super :: C :: * ; pub struct Point [INFO] [stdout] { [INFO] [stdout] pub x : f32, pub y : f32, id : usize, #[doc(hidden)] [INFO] [stdout] __phantom_marker0 : :: std :: marker :: PhantomData < () > [INFO] [stdout] } impl Point [INFO] [stdout] { [INFO] [stdout] pub fn get_id(& self,) -> usize { self.id } pub fn [INFO] [stdout] increment_x(& mut self,) { self.x += 1.0; } pub const Z_COORD : [INFO] [stdout] f32 = 1.0; pub fn get_z() -> f32 { Self :: Z_COORD } pub fn [INFO] [stdout] init(x : f32, y : f32, id : usize,) -> Point [INFO] [stdout] { Self :: _default_constructor(x, y, id) } fn [INFO] [stdout] _default_constructor(x : f32, y : f32, id : usize,) -> Point [INFO] [stdout] { [INFO] [stdout] Point [INFO] [stdout] { [INFO] [stdout] x, y, id, __phantom_marker0 : :: std :: marker :: [INFO] [stdout] PhantomData, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } pub trait PointInstance [INFO] [stdout] { fn get_id(& self,) -> usize; fn increment_x(& mut self,); } impl [INFO] [stdout] PointInstance for Point [INFO] [stdout] { [INFO] [stdout] fn get_id(& self,) -> usize { self.get_id() } fn [INFO] [stdout] increment_x(& mut self,) { self.increment_x() } [INFO] [stdout] } [INFO] [stdout] } #[allow(non_snake_case)] pub mod B [INFO] [stdout] { [INFO] [stdout] use super :: Shape :: * ; use super :: Square :: * ; use super :: A :: [INFO] [stdout] * ; use super :: D :: * ; use super :: Point :: * ; use super :: Yo :: [INFO] [stdout] * ; use super :: Gurt :: * ; use super :: C :: * ; pub struct B < T > [INFO] [stdout] { [INFO] [stdout] pub val : (T, T), #[doc(hidden)] __phantom_marker0 : :: std :: [INFO] [stdout] marker :: PhantomData < (T) > [INFO] [stdout] } impl < T > B < T > [INFO] [stdout] { [INFO] [stdout] pub fn touch_val(& self,) { let _x = & self.val; } fn [INFO] [stdout] _default_constructor(val : (T, T),) -> B < T > [INFO] [stdout] { [INFO] [stdout] B [INFO] [stdout] { val, __phantom_marker0 : :: std :: marker :: PhantomData, } [INFO] [stdout] } [INFO] [stdout] } pub trait BInstance < T > : AInstance < (T, T) > [INFO] [stdout] { fn touch_val(& self,); } impl < T > BInstance < T > for B < T > [INFO] [stdout] { fn touch_val(& self,) { self.touch_val() } } impl < T > AInstance < [INFO] [stdout] (T, T), > for B < T > { fn touch_val(& self,) { self.touch_val() } } [INFO] [stdout] } #[allow(non_snake_case)] pub mod Yo [INFO] [stdout] { [INFO] [stdout] use super :: Shape :: * ; use super :: Square :: * ; use super :: A :: [INFO] [stdout] * ; use super :: D :: * ; use super :: Point :: * ; use super :: B :: [INFO] [stdout] * ; use super :: Gurt :: * ; use super :: C :: * ; pub struct Yo [INFO] [stdout] { [INFO] [stdout] #[doc(hidden)] __phantom_marker0 : :: std :: marker :: PhantomData [INFO] [stdout] < () > [INFO] [stdout] } impl Yo [INFO] [stdout] { [INFO] [stdout] pub fn display_yo(& self,) [INFO] [stdout] { Self :: test_yo(); println! ("yo..."); } pub fn test_yo() [INFO] [stdout] { println! ("YO"); } fn _default_constructor() -> Yo [INFO] [stdout] { Yo { __phantom_marker0 : :: std :: marker :: PhantomData, } } [INFO] [stdout] } pub trait YoInstance { fn display_yo(& self,); } impl YoInstance for [INFO] [stdout] Yo { fn display_yo(& self,) { self.display_yo() } } [INFO] [stdout] } #[allow(non_snake_case)] pub mod Gurt [INFO] [stdout] { [INFO] [stdout] use super :: Shape :: * ; use super :: Square :: * ; use super :: A :: [INFO] [stdout] * ; use super :: D :: * ; use super :: Point :: * ; use super :: B :: [INFO] [stdout] * ; use super :: Yo :: * ; use super :: C :: * ; pub struct Gurt [INFO] [stdout] { [INFO] [stdout] #[doc(hidden)] __phantom_marker0 : :: std :: marker :: PhantomData [INFO] [stdout] < () > [INFO] [stdout] } impl Gurt [INFO] [stdout] { [INFO] [stdout] pub fn display_yo(& self,) [INFO] [stdout] { Self :: test_yo(); println! ("yo..."); } pub fn [INFO] [stdout] display_self(& self,) { println! ("gurt..."); } pub fn init() -> [INFO] [stdout] Gurt { Self :: _default_constructor() } pub fn test_gurt() [INFO] [stdout] { println! ("YO GURT"); } pub fn test_yo() [INFO] [stdout] { println! ("gurt: yo") } fn _default_constructor() -> Gurt [INFO] [stdout] { Gurt { __phantom_marker0 : :: std :: marker :: PhantomData, } } [INFO] [stdout] } pub trait GurtInstance : YoInstance [INFO] [stdout] { fn display_yo(& self,); fn display_self(& self,); } impl [INFO] [stdout] GurtInstance for Gurt [INFO] [stdout] { [INFO] [stdout] fn display_yo(& self,) { self.display_yo() } fn [INFO] [stdout] display_self(& self,) { self.display_self() } [INFO] [stdout] } impl YoInstance < > for Gurt [INFO] [stdout] { fn display_yo(& self,) { self.display_yo() } } [INFO] [stdout] } #[allow(non_snake_case)] pub mod C [INFO] [stdout] { [INFO] [stdout] use super :: Shape :: * ; use super :: Square :: * ; use super :: A :: [INFO] [stdout] * ; use super :: D :: * ; use super :: Point :: * ; use super :: B :: [INFO] [stdout] * ; use super :: Yo :: * ; use super :: Gurt :: * ; pub struct C [INFO] [stdout] { [INFO] [stdout] pub val : (u32, u32), #[doc(hidden)] __phantom_marker0 : :: std :: [INFO] [stdout] marker :: PhantomData < () > [INFO] [stdout] } impl C [INFO] [stdout] { [INFO] [stdout] pub fn touch_val(& self,) { type T = u32; let _x = & self.val; } [INFO] [stdout] pub fn init(val : u32,) -> C [INFO] [stdout] { Self :: _default_constructor((val, val)) } fn [INFO] [stdout] _default_constructor(val : (u32, u32),) -> C [INFO] [stdout] { [INFO] [stdout] C [INFO] [stdout] { val, __phantom_marker0 : :: std :: marker :: PhantomData, } [INFO] [stdout] } [INFO] [stdout] } pub trait CInstance : BInstance < u32 > { fn touch_val(& self,); } [INFO] [stdout] impl CInstance for C { fn touch_val(& self,) { self.touch_val() } } [INFO] [stdout] impl BInstance < u32, > for C [INFO] [stdout] { fn touch_val(& self,) { self.touch_val() } } impl AInstance < [INFO] [stdout] (u32, u32), > for C { fn touch_val(& self,) { self.touch_val() } } [INFO] [stdout] } [INFO] [stdout] } use class_container :: Shape :: * ; use class_container :: Square :: * ; use [INFO] [stdout] class_container :: A :: * ; use class_container :: D :: * ; use [INFO] [stdout] class_container :: Point :: * ; use class_container :: B :: * ; use [INFO] [stdout] class_container :: Yo :: * ; use class_container :: Gurt :: * ; use [INFO] [stdout] class_container :: C :: * ; [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.98s [INFO] running `Command { std: "docker" "inspect" "33b2e795c52dc72cd2e1bbc0c0363ccf72e13fccbef048f5821c299fc0bc1913", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33b2e795c52dc72cd2e1bbc0c0363ccf72e13fccbef048f5821c299fc0bc1913", kill_on_drop: false }` [INFO] [stdout] 33b2e795c52dc72cd2e1bbc0c0363ccf72e13fccbef048f5821c299fc0bc1913