[INFO] updating cached repository westerhack/qutie_rust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/westerhack/qutie_rust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/westerhack/qutie_rust" "work/ex/clippy-test-run/sources/stable/gh/westerhack/qutie_rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/westerhack/qutie_rust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/westerhack/qutie_rust" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/westerhack/qutie_rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/westerhack/qutie_rust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 38d716c43f376721c8a64e8475d7a7218b23d104 [INFO] sha for GitHub repo westerhack/qutie_rust: 38d716c43f376721c8a64e8475d7a7218b23d104 [INFO] validating manifest of westerhack/qutie_rust on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of westerhack/qutie_rust on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing westerhack/qutie_rust [INFO] finished frobbing westerhack/qutie_rust [INFO] frobbed toml for westerhack/qutie_rust written to work/ex/clippy-test-run/sources/stable/gh/westerhack/qutie_rust/Cargo.toml [INFO] started frobbing westerhack/qutie_rust [INFO] finished frobbing westerhack/qutie_rust [INFO] frobbed toml for westerhack/qutie_rust written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/westerhack/qutie_rust/Cargo.toml [INFO] crate westerhack/qutie_rust has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting westerhack/qutie_rust against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/westerhack/qutie_rust:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dclippy::into_iter_on_array" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 16b8b1da0a4decba982cb407c5825a3e246937f4a137da7e624c10ae7ea518fa [INFO] running `"docker" "start" "-a" "16b8b1da0a4decba982cb407c5825a3e246937f4a137da7e624c10ae7ea518fa"` [INFO] [stderr] Checking libc v0.2.18 [INFO] [stderr] Checking guard v0.3.3 [INFO] [stderr] Checking thread-id v3.0.0 [INFO] [stderr] Checking memchr v1.0.1 [INFO] [stderr] Checking rand v0.3.15 [INFO] [stderr] Checking thread_local v0.3.3 [INFO] [stderr] Checking aho-corasick v0.6.3 [INFO] [stderr] Checking regex v0.2.1 [INFO] [stderr] Checking rust v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/operator.rs:116:10 [INFO] [stderr] | [INFO] [stderr] 116 | sigil: sigil, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `sigil` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/operator.rs:117:10 [INFO] [stderr] | [INFO] [stderr] 117 | has_lhs: has_lhs, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `has_lhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/operator.rs:118:10 [INFO] [stderr] | [INFO] [stderr] 118 | has_rhs: has_rhs, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `has_rhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/operator.rs:119:10 [INFO] [stderr] | [INFO] [stderr] 119 | priority: priority, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `priority` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/operator.rs:120:10 [INFO] [stderr] | [INFO] [stderr] 120 | func: func [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `func` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/builtin_function.rs:20:39 [INFO] [stderr] | [INFO] [stderr] 20 | BuiltinFunction{id: next_id!(), func: func} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `func` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/builtin_method.rs:22:37 [INFO] [stderr] | [INFO] [stderr] 22 | BuiltinMethod{id: next_id!(), obj: obj, func: func} [INFO] [stderr] | ^^^^^^^^ help: replace it with: `obj` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/builtin_method.rs:22:47 [INFO] [stderr] | [INFO] [stderr] 22 | BuiltinMethod{id: next_id!(), obj: obj, func: func} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `func` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/user_function.rs:24:36 [INFO] [stderr] | [INFO] [stderr] 24 | UserFunction{id: next_id!(), args: args, body: body, parent: None } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/user_function.rs:24:48 [INFO] [stderr] | [INFO] [stderr] 24 | UserFunction{id: next_id!(), args: args, body: body, parent: None } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/user_class.rs:25:18 [INFO] [stderr] | [INFO] [stderr] 25 | parents: parents, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `parents` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/user_class.rs:26:18 [INFO] [stderr] | [INFO] [stderr] 26 | body: body, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/env.rs:20:10 [INFO] [stderr] | [INFO] [stderr] 20 | stream: stream, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stream` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/env.rs:21:10 [INFO] [stderr] | [INFO] [stderr] 21 | universe: universe, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `universe` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/env.rs:22:10 [INFO] [stderr] | [INFO] [stderr] 22 | parser: parser, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `parser` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/stream.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | Some(StreamCharWrapper{chr: chr, stream: self}) [INFO] [stderr] | ^^^^^^^^ help: replace it with: `chr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/operator.rs:116:10 [INFO] [stderr] | [INFO] [stderr] 116 | sigil: sigil, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `sigil` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/operator.rs:117:10 [INFO] [stderr] | [INFO] [stderr] 117 | has_lhs: has_lhs, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `has_lhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/operator.rs:118:10 [INFO] [stderr] | [INFO] [stderr] 118 | has_rhs: has_rhs, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `has_rhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/operator.rs:119:10 [INFO] [stderr] | [INFO] [stderr] 119 | priority: priority, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `priority` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/operator.rs:120:10 [INFO] [stderr] | [INFO] [stderr] 120 | func: func [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `func` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/builtin_function.rs:20:39 [INFO] [stderr] | [INFO] [stderr] 20 | BuiltinFunction{id: next_id!(), func: func} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `func` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/builtin_method.rs:22:37 [INFO] [stderr] | [INFO] [stderr] 22 | BuiltinMethod{id: next_id!(), obj: obj, func: func} [INFO] [stderr] | ^^^^^^^^ help: replace it with: `obj` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/builtin_method.rs:22:47 [INFO] [stderr] | [INFO] [stderr] 22 | BuiltinMethod{id: next_id!(), obj: obj, func: func} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `func` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/user_function.rs:24:36 [INFO] [stderr] | [INFO] [stderr] 24 | UserFunction{id: next_id!(), args: args, body: body, parent: None } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/user_function.rs:24:48 [INFO] [stderr] | [INFO] [stderr] 24 | UserFunction{id: next_id!(), args: args, body: body, parent: None } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/user_class.rs:25:18 [INFO] [stderr] | [INFO] [stderr] 25 | parents: parents, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `parents` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects/user_class.rs:26:18 [INFO] [stderr] | [INFO] [stderr] 26 | body: body, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/env.rs:20:10 [INFO] [stderr] | [INFO] [stderr] 20 | stream: stream, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stream` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/env.rs:21:10 [INFO] [stderr] | [INFO] [stderr] 21 | universe: universe, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `universe` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/env.rs:22:10 [INFO] [stderr] | [INFO] [stderr] 22 | parser: parser, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `parser` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/stream.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | Some(StreamCharWrapper{chr: chr, stream: self}) [INFO] [stderr] | ^^^^^^^^ help: replace it with: `chr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/objects/obj_rc.rs:25:7 [INFO] [stderr] | [INFO] [stderr] 25 | ret [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/objects/obj_rc.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | let ret = (*self.0)._eql( other.clone().0, &mut env ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Try not to call a closure in the expression where it is declared. [INFO] [stderr] --> src/objects/universe.rs:336:23 [INFO] [stderr] | [INFO] [stderr] 336 | Err(_) => $ret_fn(self) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 379 | / universe_method!(TYPE; qt_to_text, Text, "__text", [INFO] [stderr] 380 | | (|me: &Universe| Ok(new_obj!(TEXT, me.to_string())))); [INFO] [stderr] | |__________________________________________________________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call [INFO] [stderr] [INFO] [stderr] warning: Try not to call a closure in the expression where it is declared. [INFO] [stderr] --> src/objects/universe.rs:336:23 [INFO] [stderr] | [INFO] [stderr] 336 | Err(_) => $ret_fn(self) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 381 | / universe_method!(TYPE; qt_to_bool, Boolean, "__bool", [INFO] [stderr] 382 | | (|me: &Universe| Ok(new_obj!(BOOL, me.stack.is_empty() && me.locals.is_empty())))); [INFO] [stderr] | |_______________________________________________________________________________________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call [INFO] [stderr] [INFO] [stderr] warning: Try not to call a closure in the expression where it is declared. [INFO] [stderr] --> src/objects/universe.rs:336:23 [INFO] [stderr] | [INFO] [stderr] 336 | Err(_) => $ret_fn(self) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 383 | / universe_method!(TYPE; qt_to_num, Number, "__num", [INFO] [stderr] 384 | | (|_: &Universe| Err(ObjError::NotImplemented))); [INFO] [stderr] | |____________________________________________________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/plugins/operator_plugin.rs:116:19 [INFO] [stderr] | [INFO] [stderr] 116 | / if oper.sigil == "." { [INFO] [stderr] 117 | | if obj.is_a(ObjType::Operator) { [INFO] [stderr] 118 | | let next_oper = cast_as!(CL; obj, Operator); [INFO] [stderr] 119 | | if next_oper.sigil == "=" { [INFO] [stderr] ... | [INFO] [stderr] 132 | | } [INFO] [stderr] 133 | | } [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 116 | if oper.sigil == "." && obj.is_a(ObjType::Operator) { [INFO] [stderr] 117 | let next_oper = cast_as!(CL; obj, Operator); [INFO] [stderr] 118 | if next_oper.sigil == "=" { [INFO] [stderr] 119 | assert!(!__was_transmuted); [INFO] [stderr] 120 | use objects::symbol::Symbol; [INFO] [stderr] 121 | use objects::universe::AccessType; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/plugins/auto_deref.rs:19:10 [INFO] [stderr] | [INFO] [stderr] 19 | / if obj.is_a(ObjType::Operator) { [INFO] [stderr] 20 | | if cast_as!(CL; obj, Operator).sigil == "." { [INFO] [stderr] 21 | | return PluginResponse::NoResponse [INFO] [stderr] 22 | | } [INFO] [stderr] 23 | | } [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 19 | if obj.is_a(ObjType::Operator) && cast_as!(CL; obj, Operator).sigil == "." { [INFO] [stderr] 20 | return PluginResponse::NoResponse [INFO] [stderr] 21 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/builtins/functions/import.rs:18:4 [INFO] [stderr] | [INFO] [stderr] 18 | return Err(ObjError::NoSuchKey(new_obj!(TEXT, name.to_string()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ObjError::NoSuchKey(new_obj!(TEXT, name.to_string())))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/objects/obj_rc.rs:25:7 [INFO] [stderr] | [INFO] [stderr] 25 | ret [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/objects/obj_rc.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | let ret = (*self.0)._eql( other.clone().0, &mut env ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Try not to call a closure in the expression where it is declared. [INFO] [stderr] --> src/objects/universe.rs:336:23 [INFO] [stderr] | [INFO] [stderr] 336 | Err(_) => $ret_fn(self) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 379 | / universe_method!(TYPE; qt_to_text, Text, "__text", [INFO] [stderr] 380 | | (|me: &Universe| Ok(new_obj!(TEXT, me.to_string())))); [INFO] [stderr] | |__________________________________________________________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call [INFO] [stderr] [INFO] [stderr] warning: Try not to call a closure in the expression where it is declared. [INFO] [stderr] --> src/objects/universe.rs:336:23 [INFO] [stderr] | [INFO] [stderr] 336 | Err(_) => $ret_fn(self) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 381 | / universe_method!(TYPE; qt_to_bool, Boolean, "__bool", [INFO] [stderr] 382 | | (|me: &Universe| Ok(new_obj!(BOOL, me.stack.is_empty() && me.locals.is_empty())))); [INFO] [stderr] | |_______________________________________________________________________________________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call [INFO] [stderr] [INFO] [stderr] warning: Try not to call a closure in the expression where it is declared. [INFO] [stderr] --> src/objects/universe.rs:336:23 [INFO] [stderr] | [INFO] [stderr] 336 | Err(_) => $ret_fn(self) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 383 | / universe_method!(TYPE; qt_to_num, Number, "__num", [INFO] [stderr] 384 | | (|_: &Universe| Err(ObjError::NotImplemented))); [INFO] [stderr] | |____________________________________________________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/plugins/operator_plugin.rs:116:19 [INFO] [stderr] | [INFO] [stderr] 116 | / if oper.sigil == "." { [INFO] [stderr] 117 | | if obj.is_a(ObjType::Operator) { [INFO] [stderr] 118 | | let next_oper = cast_as!(CL; obj, Operator); [INFO] [stderr] 119 | | if next_oper.sigil == "=" { [INFO] [stderr] ... | [INFO] [stderr] 132 | | } [INFO] [stderr] 133 | | } [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 116 | if oper.sigil == "." && obj.is_a(ObjType::Operator) { [INFO] [stderr] 117 | let next_oper = cast_as!(CL; obj, Operator); [INFO] [stderr] 118 | if next_oper.sigil == "=" { [INFO] [stderr] 119 | assert!(!__was_transmuted); [INFO] [stderr] 120 | use objects::symbol::Symbol; [INFO] [stderr] 121 | use objects::universe::AccessType; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/plugins/auto_deref.rs:19:10 [INFO] [stderr] | [INFO] [stderr] 19 | / if obj.is_a(ObjType::Operator) { [INFO] [stderr] 20 | | if cast_as!(CL; obj, Operator).sigil == "." { [INFO] [stderr] 21 | | return PluginResponse::NoResponse [INFO] [stderr] 22 | | } [INFO] [stderr] 23 | | } [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 19 | if obj.is_a(ObjType::Operator) && cast_as!(CL; obj, Operator).sigil == "." { [INFO] [stderr] 20 | return PluginResponse::NoResponse [INFO] [stderr] 21 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/builtins/functions/import.rs:18:4 [INFO] [stderr] | [INFO] [stderr] 18 | return Err(ObjError::NoSuchKey(new_obj!(TEXT, name.to_string()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ObjError::NoSuchKey(new_obj!(TEXT, name.to_string())))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/object.rs:20:18 [INFO] [stderr] | [INFO] [stderr] 20 | ObjWrapper(transmute::<&Rc, &Rc>(&obj).clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&obj as *const std::rc::Rc as *const std::rc::Rc)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 102 | default_func!(BINARY_ALL: qt_add, qt_add_l, qt_add_r, Object); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 103 | default_func!(BINARY_ALL: qt_sub, qt_sub_l, qt_sub_r, Object); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 104 | default_func!(BINARY_ALL: qt_mul, qt_mul_l, qt_mul_r, Object); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 105 | default_func!(BINARY_ALL: qt_div, qt_div_l, qt_div_r, Object); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 106 | default_func!(BINARY_ALL: qt_mod, qt_mod_l, qt_mod_r, Object); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 107 | default_func!(BINARY_ALL: qt_pow, qt_pow_l, qt_pow_r, Object); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 108 | default_func!(BINARY: qt_eql, qt_eql_l, qt_eql_r, Boolean); [INFO] [stderr] | ----------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 117 | default_func!(BINARY: qt_neq, qt_neq_l, qt_neq_r, Boolean); [INFO] [stderr] | ----------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 127 | default_func!(BINARY_ALL: qt_gth, qt_gth_l, qt_gth_r, Boolean); [INFO] [stderr] | --------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 128 | default_func!(BINARY_ALL: qt_lth, qt_lth_l, qt_lth_r, Boolean); [INFO] [stderr] | --------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 129 | default_func!(BINARY_ALL: qt_leq, qt_leq_l, qt_leq_r, Boolean); [INFO] [stderr] | --------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 130 | default_func!(BINARY_ALL: qt_geq, qt_geq_l, qt_geq_r, Boolean); [INFO] [stderr] | --------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 132 | default_func!(BINARY_ALL: qt_cmp, qt_cmp_l, qt_cmp_r, Boolean); [INFO] [stderr] | --------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 133 | default_func!(BINARY_ALL: qt_rgx, qt_rgx_l, qt_rgx_r, Object); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/objects/universe.rs:27:19 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn to_char(&self, side: bool) -> char { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/universe.rs:76:14 [INFO] [stderr] | [INFO] [stderr] 76 | id: next_id!(), [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/universe.rs:92:17 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn to_rc(self) -> Rc{ [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: the `o @ _` pattern can be written as just `o` [INFO] [stderr] --> src/objects/universe.rs:188:10 [INFO] [stderr] | [INFO] [stderr] 188 | o @ _ => o [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `o @ _` pattern can be written as just `o` [INFO] [stderr] --> src/objects/universe.rs:213:10 [INFO] [stderr] | [INFO] [stderr] 213 | o @ _ => panic!("Unknown a_type: {:?}", o) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `o @ _` pattern can be written as just `o` [INFO] [stderr] --> src/objects/universe.rs:250:10 [INFO] [stderr] | [INFO] [stderr] 250 | o @ _ => panic!("Shouldn't be trying to set type: {:?}", o) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/object.rs:20:18 [INFO] [stderr] | [INFO] [stderr] 20 | ObjWrapper(transmute::<&Rc, &Rc>(&obj).clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&obj as *const std::rc::Rc as *const std::rc::Rc)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/universe.rs:308:10 [INFO] [stderr] | [INFO] [stderr] 308 | transmute(self) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&mut *(self as *const objects::universe::Universe as *mut objects::universe::Universe)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/objects/universe.rs:310:19 [INFO] [stderr] | [INFO] [stderr] 310 | me.parens = other.parens.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `other.parens` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/objects/universe.rs:318:26 [INFO] [stderr] | [INFO] [stderr] 318 | Universe::new(Some(self.parens.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.parens` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 102 | default_func!(BINARY_ALL: qt_add, qt_add_l, qt_add_r, Object); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 103 | default_func!(BINARY_ALL: qt_sub, qt_sub_l, qt_sub_r, Object); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 104 | default_func!(BINARY_ALL: qt_mul, qt_mul_l, qt_mul_r, Object); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 105 | default_func!(BINARY_ALL: qt_div, qt_div_l, qt_div_r, Object); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 106 | default_func!(BINARY_ALL: qt_mod, qt_mod_l, qt_mod_r, Object); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 107 | default_func!(BINARY_ALL: qt_pow, qt_pow_l, qt_pow_r, Object); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 108 | default_func!(BINARY: qt_eql, qt_eql_l, qt_eql_r, Boolean); [INFO] [stderr] | ----------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 117 | default_func!(BINARY: qt_neq, qt_neq_l, qt_neq_r, Boolean); [INFO] [stderr] | ----------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 127 | default_func!(BINARY_ALL: qt_gth, qt_gth_l, qt_gth_r, Boolean); [INFO] [stderr] | --------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 128 | default_func!(BINARY_ALL: qt_lth, qt_lth_l, qt_lth_r, Boolean); [INFO] [stderr] | --------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 129 | default_func!(BINARY_ALL: qt_leq, qt_leq_l, qt_leq_r, Boolean); [INFO] [stderr] | --------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 130 | default_func!(BINARY_ALL: qt_geq, qt_geq_l, qt_geq_r, Boolean); [INFO] [stderr] | --------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 132 | default_func!(BINARY_ALL: qt_cmp, qt_cmp_l, qt_cmp_r, Boolean); [INFO] [stderr] | --------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `other @ _` pattern can be written as just `other` [INFO] [stderr] --> src/objects/object.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | other @ _ => other [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 133 | default_func!(BINARY_ALL: qt_rgx, qt_rgx_l, qt_rgx_r, Object); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/objects/universe.rs:27:19 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn to_char(&self, side: bool) -> char { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/universe.rs:76:14 [INFO] [stderr] | [INFO] [stderr] 76 | id: next_id!(), [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/universe.rs:92:17 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn to_rc(self) -> Rc{ [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: the `o @ _` pattern can be written as just `o` [INFO] [stderr] --> src/objects/universe.rs:188:10 [INFO] [stderr] | [INFO] [stderr] 188 | o @ _ => o [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `o @ _` pattern can be written as just `o` [INFO] [stderr] --> src/objects/universe.rs:213:10 [INFO] [stderr] | [INFO] [stderr] 213 | o @ _ => panic!("Unknown a_type: {:?}", o) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `o @ _` pattern can be written as just `o` [INFO] [stderr] --> src/objects/universe.rs:250:10 [INFO] [stderr] | [INFO] [stderr] 250 | o @ _ => panic!("Shouldn't be trying to set type: {:?}", o) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/universe.rs:308:10 [INFO] [stderr] | [INFO] [stderr] 308 | transmute(self) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&mut *(self as *const objects::universe::Universe as *mut objects::universe::Universe)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/objects/universe.rs:310:19 [INFO] [stderr] | [INFO] [stderr] 310 | me.parens = other.parens.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `other.parens` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/objects/universe.rs:318:26 [INFO] [stderr] | [INFO] [stderr] 318 | Universe::new(Some(self.parens.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.parens` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/single_character.rs:20:27 [INFO] [stderr] | [INFO] [stderr] 20 | SingleCharacter{id: next_id!(), char_val: inp} [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/single_character.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/number.rs:21:20 [INFO] [stderr] | [INFO] [stderr] 21 | Number { id: next_id!(), num_val: inp } [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/number.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/single_character.rs:20:27 [INFO] [stderr] | [INFO] [stderr] 20 | SingleCharacter{id: next_id!(), char_val: inp} [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/single_character.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/number.rs:21:20 [INFO] [stderr] | [INFO] [stderr] 21 | Number { id: next_id!(), num_val: inp } [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/number.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/text.rs:66:17 [INFO] [stderr] | [INFO] [stderr] 66 | Text{ id: next_id!(), [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/text.rs:77:17 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn to_rc(mut self) -> Rc { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/text.rs:82:10 [INFO] [stderr] | [INFO] [stderr] 82 | transmute::<&Text, &mut Text>(ret.as_ref()).rc = Some(ret.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(ret.as_ref() as *const objects::text::Text as *mut objects::text::Text)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/objects/text.rs:145:15 [INFO] [stderr] | [INFO] [stderr] 145 | .expect(("invalid index: ".to_string() + num.to_string().as_str()).as_str()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| { let msg = ("invalid index: ".to_string() + num.to_string().as_str()).as_str(); panic!(msg) }))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/symbol.rs:20:18 [INFO] [stderr] | [INFO] [stderr] 20 | Symbol{id: next_id!(), sym_val: inp} [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/symbol.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn to_rc(self) -> Rc> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/objects/symbol.rs:30:21 [INFO] [stderr] | [INFO] [stderr] 30 | unsafe fn to_static<'a>(inp: String) -> &'static str { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/objects/operator.rs:30:16 [INFO] [stderr] | [INFO] [stderr] 30 | FunctionObj(Rc, Option, &mut Environment) -> ObjResult>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/objects/operator.rs:31:17 [INFO] [stderr] | [INFO] [stderr] 31 | FunctionBool(Rc, Option, &mut Environment) -> BoolResult>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/text.rs:66:17 [INFO] [stderr] | [INFO] [stderr] 66 | Text{ id: next_id!(), [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/text.rs:77:17 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn to_rc(mut self) -> Rc { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/text.rs:82:10 [INFO] [stderr] | [INFO] [stderr] 82 | transmute::<&Text, &mut Text>(ret.as_ref()).rc = Some(ret.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(ret.as_ref() as *const objects::text::Text as *mut objects::text::Text)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/operator.rs:115:14 [INFO] [stderr] | [INFO] [stderr] 115 | id: next_id!(), [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/operator.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/objects/text.rs:145:15 [INFO] [stderr] | [INFO] [stderr] 145 | .expect(("invalid index: ".to_string() + num.to_string().as_str()).as_str()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| { let msg = ("invalid index: ".to_string() + num.to_string().as_str()).as_str(); panic!(msg) }))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/symbol.rs:20:18 [INFO] [stderr] | [INFO] [stderr] 20 | Symbol{id: next_id!(), sym_val: inp} [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/symbol.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn to_rc(self) -> Rc> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/objects/symbol.rs:30:21 [INFO] [stderr] | [INFO] [stderr] 30 | unsafe fn to_static<'a>(inp: String) -> &'static str { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/operator.rs:200:7 [INFO] [stderr] | [INFO] [stderr] 200 | transmute(&*lhs) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `&mut *(&*lhs as *const dyn objects::object::Object as *mut dyn objects::object::Object)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/objects/operator.rs:30:16 [INFO] [stderr] | [INFO] [stderr] 30 | FunctionObj(Rc, Option, &mut Environment) -> ObjResult>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/objects/operator.rs:31:17 [INFO] [stderr] | [INFO] [stderr] 31 | FunctionBool(Rc, Option, &mut Environment) -> BoolResult>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/operator.rs:115:14 [INFO] [stderr] | [INFO] [stderr] 115 | id: next_id!(), [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/operator.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/operator.rs:200:7 [INFO] [stderr] | [INFO] [stderr] 200 | transmute(&*lhs) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `&mut *(&*lhs as *const dyn objects::object::Object as *mut dyn objects::object::Object)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/boolean.rs:27:17 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/objects/boolean.rs:51:7 [INFO] [stderr] | [INFO] [stderr] 51 | / match inp { [INFO] [stderr] 52 | | true => TRUE, [INFO] [stderr] 53 | | false => FALSE [INFO] [stderr] 54 | | } [INFO] [stderr] | |_______^ help: consider using an if/else expression: `if inp { TRUE } else { FALSE }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/builtin_function.rs:20:27 [INFO] [stderr] | [INFO] [stderr] 20 | BuiltinFunction{id: next_id!(), func: func} [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/builtin_function.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/builtin_method.rs:22:25 [INFO] [stderr] | [INFO] [stderr] 22 | BuiltinMethod{id: next_id!(), obj: obj, func: func} [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/builtin_method.rs:24:17 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn to_rc(self) -> Rc> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/boolean.rs:27:17 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/user_function.rs:24:24 [INFO] [stderr] | [INFO] [stderr] 24 | UserFunction{id: next_id!(), args: args, body: body, parent: None } [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/user_function.rs:26:17 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/user_function.rs:34:20 [INFO] [stderr] | [INFO] [stderr] 34 | let tmp = transmute::<&UserFunction, &mut UserFunction>(self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(self as *const objects::user_function::UserFunction as *mut objects::user_function::UserFunction)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/objects/boolean.rs:51:7 [INFO] [stderr] | [INFO] [stderr] --> src/objects/user_function.rs:54:10 [INFO] [stderr] | [INFO] [stderr] 51 | / match inp { [INFO] [stderr] 52 | | true => TRUE, [INFO] [stderr] 54 | mem::transmute::<&Universe, &mut Universe>(&*args_uni) [INFO] [stderr] 53 | | false => FALSE [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(&*args_uni as *const objects::universe::Universe as *mut objects::universe::Universe)` [INFO] [stderr] 54 | | } [INFO] [stderr] | |_______^ help: consider using an if/else expression: `if inp { TRUE } else { FALSE }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/builtin_function.rs:20:27 [INFO] [stderr] | [INFO] [stderr] 20 | BuiltinFunction{id: next_id!(), func: func} [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/builtin_function.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/user_class.rs:24:22 [INFO] [stderr] | [INFO] [stderr] 24 | UserClass{ id: next_id!(), [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/user_class.rs:29:17 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/user_class.rs:34:10 [INFO] [stderr] | [INFO] [stderr] 34 | transmute::<&UserClass, &mut UserClass>(&*ret) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(&*ret as *const objects::user_class::UserClass as *mut objects::user_class::UserClass)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/builtin_method.rs:22:25 [INFO] [stderr] | [INFO] [stderr] 22 | BuiltinMethod{id: next_id!(), obj: obj, func: func} [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/builtin_method.rs:24:17 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn to_rc(self) -> Rc> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/types.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/user_function.rs:24:24 [INFO] [stderr] | [INFO] [stderr] 24 | UserFunction{id: next_id!(), args: args, body: body, parent: None } [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/user_function.rs:26:17 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: the `typ @ _` pattern can be written as just `typ` [INFO] [stderr] --> src/objects/types.rs:35:10 [INFO] [stderr] | [INFO] [stderr] 35 | typ @ _ => panic!("bad objtype for Type: {:?}", typ) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/user_function.rs:34:20 [INFO] [stderr] | [INFO] [stderr] 34 | let tmp = transmute::<&UserFunction, &mut UserFunction>(self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(self as *const objects::user_function::UserFunction as *mut objects::user_function::UserFunction)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/user_function.rs:54:10 [INFO] [stderr] | [INFO] [stderr] 54 | mem::transmute::<&Universe, &mut Universe>(&*args_uni) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(&*args_uni as *const objects::universe::Universe as *mut objects::universe::Universe)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/qt_macros.rs:123:10 [INFO] [stderr] | [INFO] [stderr] 123 | globals::CURRENT_ID = globals::CURRENT_ID + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `globals::CURRENT_ID += 1` [INFO] [stderr] | [INFO] [stderr] ::: src/objects/user_class.rs:24:22 [INFO] [stderr] | [INFO] [stderr] 24 | UserClass{ id: next_id!(), [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/user_class.rs:29:17 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/user_class.rs:34:10 [INFO] [stderr] | [INFO] [stderr] 34 | transmute::<&UserClass, &mut UserClass>(&*ret) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(&*ret as *const objects::user_class::UserClass as *mut objects::user_class::UserClass)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: the `o @ _` pattern can be written as just `o` [INFO] [stderr] --> src/objects/methods/text_methods.rs:17:7 [INFO] [stderr] | [INFO] [stderr] 17 | o @ _ => panic!("bad name: {:?}", name) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/methods/mod.rs:23:14 [INFO] [stderr] | [INFO] [stderr] 23 | *transmute::<&&O, &&$to>(&$from) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&$from as *const &O as *const &objects::text::Text)` [INFO] [stderr] ... [INFO] [stderr] 28 | ObjType::Text => text_methods::get_method(cast_to!(obj, Text), name), [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: the `other_type @ _` pattern can be written as just `other_type` [INFO] [stderr] --> src/objects/methods/mod.rs:29:7 [INFO] [stderr] | [INFO] [stderr] 29 | other_type @ _ => panic!("Unimplemented method type: {:?}", other_type) [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/objects/types.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn to_rc(self) -> Rc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] warning: statement with no effect [INFO] [stderr] --> src/debugging.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | $cond; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/plugins/default_plugin.rs:13:10 [INFO] [stderr] | [INFO] [stderr] 13 | assert_debug!(false, "Error: uncaught character: {:?}", obj.char_val); [INFO] [stderr] | ---------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::no_effect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#no_effect [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/debugging.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | $cond; [INFO] [stderr] | ^^^^^^ help: replace it with: `number_acc.is_empty();` [INFO] [stderr] | [INFO] [stderr] ::: src/plugins/number_plugin.rs:36:7 [INFO] [stderr] | [INFO] [stderr] 36 | assert_debug!(!number_acc.is_empty()); [INFO] [stderr] | -------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_operation)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: the `typ @ _` pattern can be written as just `typ` [INFO] [stderr] --> src/objects/types.rs:35:10 [INFO] [stderr] | [INFO] [stderr] 35 | typ @ _ => panic!("bad objtype for Type: {:?}", typ) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `o @ _` pattern can be written as just `o` [INFO] [stderr] --> src/plugins/number_plugin.rs:49:16 [INFO] [stderr] | [INFO] [stderr] 49 | o @ _ => o, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `o @ _` pattern can be written as just `o` [INFO] [stderr] --> src/plugins/number_plugin.rs:51:10 [INFO] [stderr] | [INFO] [stderr] 51 | o @ _ => o [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `o @ _` pattern can be written as just `o` [INFO] [stderr] --> src/objects/methods/text_methods.rs:17:7 [INFO] [stderr] | [INFO] [stderr] 17 | o @ _ => panic!("bad name: {:?}", name) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/objects/methods/mod.rs:23:14 [INFO] [stderr] | [INFO] [stderr] 23 | *transmute::<&&O, &&$to>(&$from) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&$from as *const &O as *const &objects::text::Text)` [INFO] [stderr] ... [INFO] [stderr] 28 | ObjType::Text => text_methods::get_method(cast_to!(obj, Text), name), [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: the `other_type @ _` pattern can be written as just `other_type` [INFO] [stderr] --> src/objects/methods/mod.rs:29:7 [INFO] [stderr] | [INFO] [stderr] 29 | other_type @ _ => panic!("Unimplemented method type: {:?}", other_type) [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: statement with no effect [INFO] [stderr] --> src/debugging.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | $cond; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/plugins/default_plugin.rs:13:10 [INFO] [stderr] | [INFO] [stderr] 13 | assert_debug!(false, "Error: uncaught character: {:?}", obj.char_val); [INFO] [stderr] | ---------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::no_effect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#no_effect [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/debugging.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | $cond; [INFO] [stderr] | ^^^^^^ help: replace it with: `number_acc.is_empty();` [INFO] [stderr] | [INFO] [stderr] ::: src/plugins/number_plugin.rs:36:7 [INFO] [stderr] | [INFO] [stderr] 36 | assert_debug!(!number_acc.is_empty()); [INFO] [stderr] | -------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_operation)] on by default [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/debugging.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | $cond; [INFO] [stderr] | ^^^^^^ help: replace it with: `symbol_acc.is_empty();` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] | [INFO] [stderr] ::: src/plugins/symbol_plugin.rs:39:7 [INFO] [stderr] | [INFO] [stderr] 39 | assert_debug!(!symbol_acc.is_empty()); [INFO] [stderr] | -------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/plugins/operator_plugin.rs:78:11 [INFO] [stderr] | [INFO] [stderr] 78 | let ref mut oper = cast_as!(input, Operator); [INFO] [stderr] | ----^^^^^^^^^^^^----------------------------- help: try: `let oper = &mut ObjWrapper::<$to>::from($from).0;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/plugins/operator_plugin.rs:99:29 [INFO] [stderr] | [INFO] [stderr] 99 | env.universe.pop().expect(err_msg.as_str()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| { let msg = err_msg.as_str(); panic!(msg) }))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: the `o @ _` pattern can be written as just `o` [INFO] [stderr] --> src/plugins/number_plugin.rs:49:16 [INFO] [stderr] | [INFO] [stderr] 49 | o @ _ => o, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `o @ _` pattern can be written as just `o` [INFO] [stderr] --> src/plugins/number_plugin.rs:51:10 [INFO] [stderr] | [INFO] [stderr] 51 | o @ _ => o [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/debugging.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | $cond; [INFO] [stderr] | ^^^^^^ help: replace it with: `symbol_acc.is_empty();` [INFO] [stderr] | [INFO] [stderr] ::: src/plugins/symbol_plugin.rs:39:7 [INFO] [stderr] | [INFO] [stderr] 39 | assert_debug!(!symbol_acc.is_empty()); [INFO] [stderr] | -------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/plugins/pre_command_plugin.rs:38:14 [INFO] [stderr] | [INFO] [stderr] 38 | let ref wrapped_key = ObjRcWrapper(key.clone()); [INFO] [stderr] | ----^^^^^^^^^^^^^^^----------------------------- help: try: `let wrapped_key = &ObjRcWrapper(key.clone());` [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/plugins/operator_plugin.rs:78:11 [INFO] [stderr] | [INFO] [stderr] 78 | let ref mut oper = cast_as!(input, Operator); [INFO] [stderr] | ----^^^^^^^^^^^^----------------------------- help: try: `let oper = &mut ObjWrapper::<$to>::from($from).0;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/plugins/operator_plugin.rs:99:29 [INFO] [stderr] | [INFO] [stderr] 99 | env.universe.pop().expect(err_msg.as_str()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| { let msg = err_msg.as_str(); panic!(msg) }))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/plugins/pre_command_plugin.rs:55:8 [INFO] [stderr] | [INFO] [stderr] 55 | let ref wrapped_key = ObjRcWrapper(key.clone()); [INFO] [stderr] | ----^^^^^^^^^^^^^^^----------------------------- help: try: `let wrapped_key = &ObjRcWrapper(key.clone());` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/plugins/pre_command_plugin.rs:38:14 [INFO] [stderr] | [INFO] [stderr] 38 | let ref wrapped_key = ObjRcWrapper(key.clone()); [INFO] [stderr] | ----^^^^^^^^^^^^^^^----------------------------- help: try: `let wrapped_key = &ObjRcWrapper(key.clone());` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/plugins/pre_command_plugin.rs:55:8 [INFO] [stderr] | [INFO] [stderr] 55 | let ref wrapped_key = ObjRcWrapper(key.clone()); [INFO] [stderr] | ----^^^^^^^^^^^^^^^----------------------------- help: try: `let wrapped_key = &ObjRcWrapper(key.clone());` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/builtins/functions/disp.rs:22:8 [INFO] [stderr] | [INFO] [stderr] 22 | let ref sep = to_type!(STRING; sep_arg, env); [INFO] [stderr] | ----^^^^^^^---------------------------------- help: try: `let sep = &$inp.qt_to_text($env).unwrap().text_val.clone();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/builtins/functions/disp.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | let ref end = to_type!(STRING; end_arg, env); [INFO] [stderr] | ----^^^^^^^---------------------------------- help: try: `let end = &$inp.qt_to_text($env).unwrap().text_val.clone();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/builtins/functions/disp.rs:22:8 [INFO] [stderr] | [INFO] [stderr] 22 | let ref sep = to_type!(STRING; sep_arg, env); [INFO] [stderr] | ----^^^^^^^---------------------------------- help: try: `let sep = &$inp.qt_to_text($env).unwrap().text_val.clone();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/builtins/functions/disp.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | let ref end = to_type!(STRING; end_arg, env); [INFO] [stderr] | ----^^^^^^^---------------------------------- help: try: `let end = &$inp.qt_to_text($env).unwrap().text_val.clone();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/stream.rs:84:23 [INFO] [stderr] | [INFO] [stderr] 84 | Some(chr) => chr.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*chr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/stream.rs:84:23 [INFO] [stderr] | [INFO] [stderr] 84 | Some(chr) => chr.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*chr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 10.24s [INFO] running `"docker" "inspect" "16b8b1da0a4decba982cb407c5825a3e246937f4a137da7e624c10ae7ea518fa"` [INFO] running `"docker" "rm" "-f" "16b8b1da0a4decba982cb407c5825a3e246937f4a137da7e624c10ae7ea518fa"` [INFO] [stdout] 16b8b1da0a4decba982cb407c5825a3e246937f4a137da7e624c10ae7ea518fa