[INFO] updating cached repository Incognitas/Orion [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/Incognitas/Orion [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/Incognitas/Orion" "work/ex/clippy-test-run/sources/stable/gh/Incognitas/Orion"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/Incognitas/Orion'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/Incognitas/Orion" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Incognitas/Orion"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Incognitas/Orion'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 8d6934e3962d3e781360fedd82c0ef4b9cea6b97 [INFO] sha for GitHub repo Incognitas/Orion: 8d6934e3962d3e781360fedd82c0ef4b9cea6b97 [INFO] validating manifest of Incognitas/Orion 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 Incognitas/Orion 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 Incognitas/Orion [INFO] finished frobbing Incognitas/Orion [INFO] frobbed toml for Incognitas/Orion written to work/ex/clippy-test-run/sources/stable/gh/Incognitas/Orion/Cargo.toml [INFO] started frobbing Incognitas/Orion [INFO] finished frobbing Incognitas/Orion [INFO] frobbed toml for Incognitas/Orion written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Incognitas/Orion/Cargo.toml [INFO] crate Incognitas/Orion 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 Incognitas/Orion 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-2/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/Incognitas/Orion:/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] dc6f0149b5829782dc1e5a57d9a689f3120d8ecba4974e6525ea72d67d2403fb [INFO] running `"docker" "start" "-a" "dc6f0149b5829782dc1e5a57d9a689f3120d8ecba4974e6525ea72d67d2403fb"` [INFO] [stderr] Checking rustjcvm v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/objects.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | owner: owner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `owner` [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.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | persistent: persistent, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `persistent` [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.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | owner: owner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `owner` [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.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | persistent: persistent, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `persistent` [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.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | owner: owner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `owner` [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.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | persistent: persistent, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `persistent` [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.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | owner: owner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `owner` [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.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | persistent: persistent, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `persistent` [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: unneeded return statement [INFO] [stderr] --> src/stack.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | return self.entry_type == type_checked; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.entry_type == type_checked` [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: this if statement can be collapsed [INFO] [stderr] --> src/objectsmanager.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | / if index >= 1 { [INFO] [stderr] 17 | | if index <= self.objects_container.len() { [INFO] [stderr] 18 | | return Ok(&self.objects_container[index - 1]); [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [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] 16 | if index >= 1 && index <= self.objects_container.len() { [INFO] [stderr] 17 | return Ok(&self.objects_container[index - 1]); [INFO] [stderr] 18 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `bytecodes::bytecode` [INFO] [stderr] --> src/interpreterutils.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use bytecodes::bytecode; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/stack.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | return self.entry_type == type_checked; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.entry_type == type_checked` [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: this if statement can be collapsed [INFO] [stderr] --> src/objectsmanager.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | / if index >= 1 { [INFO] [stderr] 17 | | if index <= self.objects_container.len() { [INFO] [stderr] 18 | | return Ok(&self.objects_container[index - 1]); [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [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] 16 | if index >= 1 && index <= self.objects_container.len() { [INFO] [stderr] 17 | return Ok(&self.objects_container[index - 1]); [INFO] [stderr] 18 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `bytecodes::bytecode` [INFO] [stderr] --> src/interpreterutils.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use bytecodes::bytecode; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/exceptions.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | Ok(()) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/exceptions.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | Ok(()) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/exceptions.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | Ok(()) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/exceptions.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | Ok(()) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/interpreterutils.rs:181:9 [INFO] [stderr] | [INFO] [stderr] 181 | let index = execution_context [INFO] [stderr] | ^^^^^ help: consider using `_index` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/stack.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | let result = match self.pop() { [INFO] [stderr] | ^^^^^^ help: consider using `_result` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/interpreterutils.rs:181:9 [INFO] [stderr] | [INFO] [stderr] 181 | let index = execution_context [INFO] [stderr] | ^^^^^ help: consider using `_index` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/stack.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | let result = match self.pop() { [INFO] [stderr] | ^^^^^^ help: consider using `_result` instead [INFO] [stderr] [INFO] [stderr] warning: field is never used: `persistent` [INFO] [stderr] --> src/objects.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | persistent: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `persistent` [INFO] [stderr] --> src/objects.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | persistent: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `stack::StackEntry` [INFO] [stderr] --> src/stack.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | / pub fn new() -> StackEntry { [INFO] [stderr] 24 | | StackEntry { [INFO] [stderr] 25 | | value: 0, [INFO] [stderr] 26 | | entry_type: constants::PrimitiveType::UNKNOWN, [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 22 | impl Default for stack::StackEntry { [INFO] [stderr] 23 | fn default() -> Self { [INFO] [stderr] 24 | Self::new() [INFO] [stderr] 25 | } [INFO] [stderr] 26 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/stack.rs:36:23 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn is_of_type(&self, type_checked: constants::PrimitiveType) -> bool { [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: casting i8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/stack.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | value as i16, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i16::from(value)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let result =` [INFO] [stderr] --> src/stack.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | / let result = match self.pop() { [INFO] [stderr] 108 | | Some(entry) => { [INFO] [stderr] 109 | | if !entry.is_of_type(type_) { [INFO] [stderr] 110 | | return Err(InterpreterError::InvalidVariableType( [INFO] [stderr] ... | [INFO] [stderr] 121 | | } [INFO] [stderr] 122 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `framestack::FrameStack` [INFO] [stderr] --> src/framestack.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | / pub fn new() -> FrameStack { [INFO] [stderr] 10 | | FrameStack { [INFO] [stderr] 11 | | internal_stack: Vec::new(), [INFO] [stderr] 12 | | } [INFO] [stderr] 13 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `stack::StackEntry` [INFO] [stderr] --> src/stack.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | / pub fn new() -> StackEntry { [INFO] [stderr] 24 | | StackEntry { [INFO] [stderr] 25 | | value: 0, [INFO] [stderr] 26 | | entry_type: constants::PrimitiveType::UNKNOWN, [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 22 | impl Default for stack::StackEntry { [INFO] [stderr] 23 | fn default() -> Self { [INFO] [stderr] 24 | Self::new() [INFO] [stderr] 25 | } [INFO] [stderr] 26 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/stack.rs:36:23 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn is_of_type(&self, type_checked: constants::PrimitiveType) -> bool { [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: casting i8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/objects.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | let r = (self.get(offset)? as i16) << 8 | self.get(offset + 1)? as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.get(offset)?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/objects.rs:33:51 [INFO] [stderr] | [INFO] [stderr] 33 | let r = (self.get(offset)? as i16) << 8 | self.get(offset + 1)? as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.get(offset + 1)?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/objects.rs:50:30 [INFO] [stderr] | [INFO] [stderr] 50 | self.put(offset + 1, i8::from(val as i8)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider removing `i8::from()`: `val as i8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/stack.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | value as i16, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i16::from(value)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let result =` [INFO] [stderr] --> src/stack.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | / let result = match self.pop() { [INFO] [stderr] 108 | | Some(entry) => { [INFO] [stderr] 109 | | if !entry.is_of_type(type_) { [INFO] [stderr] 110 | | return Err(InterpreterError::InvalidVariableType( [INFO] [stderr] ... | [INFO] [stderr] 121 | | } [INFO] [stderr] 122 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `objectsmanager::ObjectManager` [INFO] [stderr] --> src/objectsmanager.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | / pub fn new() -> ObjectManager { [INFO] [stderr] 10 | | ObjectManager { [INFO] [stderr] 11 | | objects_container: Vec::new(), [INFO] [stderr] 12 | | } [INFO] [stderr] 13 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `framestack::FrameStack` [INFO] [stderr] --> src/framestack.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | / pub fn new() -> FrameStack { [INFO] [stderr] 10 | | FrameStack { [INFO] [stderr] 11 | | internal_stack: Vec::new(), [INFO] [stderr] 12 | | } [INFO] [stderr] 13 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/interpreterutils.rs:117:28 [INFO] [stderr] | [INFO] [stderr] 117 | .set_local(index as i16, value_to_put) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i16::from(index)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/interpreterutils.rs:135:28 [INFO] [stderr] | [INFO] [stderr] 135 | .set_local(index as i16, value_to_put1) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i16::from(index)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/interpreterutils.rs:141:28 [INFO] [stderr] | [INFO] [stderr] 141 | .set_local((index + 1) as i16, value_to_put2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i16::from(index + 1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/objects.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | let r = (self.get(offset)? as i16) << 8 | self.get(offset + 1)? as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.get(offset)?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/objects.rs:33:51 [INFO] [stderr] | [INFO] [stderr] 33 | let r = (self.get(offset)? as i16) << 8 | self.get(offset + 1)? as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.get(offset + 1)?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/objects.rs:50:30 [INFO] [stderr] | [INFO] [stderr] 50 | self.put(offset + 1, i8::from(val as i8)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider removing `i8::from()`: `val as i8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/interpreter.rs:75:24 [INFO] [stderr] | [INFO] [stderr] 75 | .ipush(execution_context.bytecode_fetcher.fetch_b()? as i32), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(execution_context.bytecode_fetcher.fetch_b()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/interpreter.rs:79:24 [INFO] [stderr] | [INFO] [stderr] 79 | .ipush(execution_context.bytecode_fetcher.fetch_s()? as i32), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(execution_context.bytecode_fetcher.fetch_s()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `objectsmanager::ObjectManager` [INFO] [stderr] --> src/objectsmanager.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | / pub fn new() -> ObjectManager { [INFO] [stderr] 10 | | ObjectManager { [INFO] [stderr] 11 | | objects_container: Vec::new(), [INFO] [stderr] 12 | | } [INFO] [stderr] 13 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:165:17 [INFO] [stderr] | [INFO] [stderr] 165 | xaload(execution_context, constants::PrimitiveType::REFERENCE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:168:17 [INFO] [stderr] | [INFO] [stderr] 168 | xaload(execution_context, constants::PrimitiveType::BYTE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:171:17 [INFO] [stderr] | [INFO] [stderr] 171 | xaload(execution_context, constants::PrimitiveType::SHORT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:174:17 [INFO] [stderr] | [INFO] [stderr] 174 | xaload(execution_context, constants::PrimitiveType::INTEGER); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:211:17 [INFO] [stderr] | [INFO] [stderr] 211 | xastore(execution_context, constants::PrimitiveType::REFERENCE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:214:17 [INFO] [stderr] | [INFO] [stderr] 214 | xastore(execution_context, constants::PrimitiveType::BYTE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:217:17 [INFO] [stderr] | [INFO] [stderr] 217 | xastore(execution_context, constants::PrimitiveType::SHORT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:220:17 [INFO] [stderr] | [INFO] [stderr] 220 | xastore(execution_context, constants::PrimitiveType::INTEGER); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/interpreterutils.rs:117:28 [INFO] [stderr] | [INFO] [stderr] 117 | .set_local(index as i16, value_to_put) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i16::from(index)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/interpreterutils.rs:135:28 [INFO] [stderr] | [INFO] [stderr] 135 | .set_local(index as i16, value_to_put1) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i16::from(index)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/interpreterutils.rs:141:28 [INFO] [stderr] | [INFO] [stderr] 141 | .set_local((index + 1) as i16, value_to_put2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i16::from(index + 1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/interpreter.rs:75:24 [INFO] [stderr] | [INFO] [stderr] 75 | .ipush(execution_context.bytecode_fetcher.fetch_b()? as i32), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(execution_context.bytecode_fetcher.fetch_b()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/interpreter.rs:79:24 [INFO] [stderr] | [INFO] [stderr] 79 | .ipush(execution_context.bytecode_fetcher.fetch_s()? as i32), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(execution_context.bytecode_fetcher.fetch_s()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:165:17 [INFO] [stderr] | [INFO] [stderr] 165 | xaload(execution_context, constants::PrimitiveType::REFERENCE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:168:17 [INFO] [stderr] | [INFO] [stderr] 168 | xaload(execution_context, constants::PrimitiveType::BYTE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:171:17 [INFO] [stderr] | [INFO] [stderr] 171 | xaload(execution_context, constants::PrimitiveType::SHORT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:174:17 [INFO] [stderr] | [INFO] [stderr] 174 | xaload(execution_context, constants::PrimitiveType::INTEGER); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:211:17 [INFO] [stderr] | [INFO] [stderr] 211 | xastore(execution_context, constants::PrimitiveType::REFERENCE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:214:17 [INFO] [stderr] | [INFO] [stderr] 214 | xastore(execution_context, constants::PrimitiveType::BYTE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:217:17 [INFO] [stderr] | [INFO] [stderr] 217 | xastore(execution_context, constants::PrimitiveType::SHORT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interpreter.rs:220:17 [INFO] [stderr] | [INFO] [stderr] 220 | xastore(execution_context, constants::PrimitiveType::INTEGER); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused import: `objects::JCVMObject` [INFO] [stderr] --> tests/store_opcodes_tests.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use objects::JCVMObject; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `traits::BufferAccessor` [INFO] [stderr] --> tests/store_opcodes_tests.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use traits::BufferAccessor; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> tests/store_opcodes_tests.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | / pub fn execute_bytecode<'a>(data: &'a BytecodeData) -> context::Context<'a> { [INFO] [stderr] 16 | | let mut ctx = context::Context::new(data); [INFO] [stderr] 17 | | // silence result as we don't care here [INFO] [stderr] 18 | | execute_with_context(&mut ctx); [INFO] [stderr] 19 | | ctx [INFO] [stderr] 20 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> tests/basic_stack_operations.rs:56:32 [INFO] [stderr] | [INFO] [stderr] 56 | let expected_value1 = ((x as i32) - (bytecode::iconst_0 as i32) >> 16) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `((x as i32) - (bytecode::iconst_0 as i32)) >> 16` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> tests/basic_stack_operations.rs:57:32 [INFO] [stderr] | [INFO] [stderr] 57 | let expected_value2 = ((x as i32) - (bytecode::iconst_0 as i32) & 0xFFFF) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `((x as i32) - (bytecode::iconst_0 as i32)) & 0xFFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> tests/basic_stack_operations.rs:118:26 [INFO] [stderr] | [INFO] [stderr] 118 | let exp_value: u32 = 0xFFFFFFA5; /*0xA5 + sign extension*/ [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFA5` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> tests/basic_stack_operations.rs:140:26 [INFO] [stderr] | [INFO] [stderr] 140 | let exp_value: u32 = 0xFFFFA55A; /*0xA55A + sign extension*/ [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_A55A` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> tests/basic_stack_operations.rs:165:26 [INFO] [stderr] | [INFO] [stderr] 165 | let exp_value: u32 = 0xA55AA55A; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xA55A_A55A` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> tests/store_opcodes_tests.rs:45:31 [INFO] [stderr] | [INFO] [stderr] 45 | .get_local_check_type(idx as i16, type_) [INFO] [stderr] | ^^^^^^^^^^ help: try: `i16::from(idx)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> tests/store_opcodes_tests.rs:56:35 [INFO] [stderr] | [INFO] [stderr] 56 | .get_local_check_type((idx + 1) as i16, type_) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i16::from(idx + 1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> tests/store_opcodes_tests.rs:126:31 [INFO] [stderr] | [INFO] [stderr] 126 | .get_local_check_type(idx as i16, type_) [INFO] [stderr] | ^^^^^^^^^^ help: try: `i16::from(idx)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> tests/store_opcodes_tests.rs:137:35 [INFO] [stderr] | [INFO] [stderr] 137 | .get_local_check_type((idx + 1) as i16, type_) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i16::from(idx + 1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> tests/basic_stack_operations.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | / pub fn execute_bytecode<'a>(data: &'a BytecodeData) -> context::Context<'a> { [INFO] [stderr] 13 | | let mut ctx = context::Context::new(data); [INFO] [stderr] 14 | | // silence result as we don't care here [INFO] [stderr] 15 | | execute_with_context(&mut ctx); [INFO] [stderr] 16 | | ctx [INFO] [stderr] 17 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> tests/basic_stack_operations.rs:40:30 [INFO] [stderr] | [INFO] [stderr] 40 | let expected_value = (x as i16) - (bytecode::sconst_0 as i16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i16::from(x)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> tests/basic_stack_operations.rs:56:32 [INFO] [stderr] | [INFO] [stderr] 56 | let expected_value1 = ((x as i32) - (bytecode::iconst_0 as i32) >> 16) as i16; [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> tests/basic_stack_operations.rs:57:32 [INFO] [stderr] | [INFO] [stderr] 57 | let expected_value2 = ((x as i32) - (bytecode::iconst_0 as i32) & 0xFFFF) as i16; [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> tests/basic_stack_operations.rs:178:23 [INFO] [stderr] | [INFO] [stderr] 178 | let result: u32 = ((entry1.value as u16) as u32) << 16 | ((entry2.value as u16) as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from((entry1.value as u16))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> tests/basic_stack_operations.rs:178:62 [INFO] [stderr] | [INFO] [stderr] 178 | let result: u32 = ((entry1.value as u16) as u32) << 16 | ((entry2.value as u16) as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from((entry2.value as u16))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> tests/load_opcodes_tests.rs:92:26 [INFO] [stderr] | [INFO] [stderr] 92 | let exp_value: u32 = 0xA55A5AA5; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xA55A_5AA5` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> tests/load_opcodes_tests.rs:235:26 [INFO] [stderr] | [INFO] [stderr] 235 | let exp_value: u32 = 0xA55AA55A; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xA55A_A55A` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> tests/load_opcodes_tests.rs:250:26 [INFO] [stderr] | [INFO] [stderr] 250 | .write_s(((idx as usize) * size_one_entry), exp_value as i16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> tests/load_opcodes_tests.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | / pub fn execute_bytecode<'a>(data: &'a BytecodeData) -> context::Context<'a> { [INFO] [stderr] 16 | | let mut ctx = context::Context::new(data); [INFO] [stderr] 17 | | // silence result as we don't care here [INFO] [stderr] 18 | | execute_with_context(&mut ctx); [INFO] [stderr] 19 | | ctx [INFO] [stderr] 20 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i16 may become silently lossy if types change [INFO] [stderr] --> tests/load_opcodes_tests.rs:70:29 [INFO] [stderr] | [INFO] [stderr] 70 | top_frame.set_local(idx as i16, exp_value).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i16::from(idx)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i16 may become silently lossy if types change [INFO] [stderr] --> tests/load_opcodes_tests.rs:99:17 [INFO] [stderr] | [INFO] [stderr] 99 | idx as i16, [INFO] [stderr] | ^^^^^^^^^^ help: try: `i16::from(idx)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i16 may become silently lossy if types change [INFO] [stderr] --> tests/load_opcodes_tests.rs:108:17 [INFO] [stderr] | [INFO] [stderr] 108 | (idx + 1) as i16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i16::from(idx + 1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> tests/load_opcodes_tests.rs:146:29 [INFO] [stderr] | [INFO] [stderr] 146 | top_frame.set_local(idx as i16, exp_value).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i16::from(idx)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> tests/load_opcodes_tests.rs:206:33 [INFO] [stderr] | [INFO] [stderr] 206 | top_frame.set_local(idx as i16, exp_value).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i16::from(idx)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> tests/load_opcodes_tests.rs:208:33 [INFO] [stderr] | [INFO] [stderr] 208 | top_frame.set_local((idx + 1) as i16, exp_value).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i16::from(idx + 1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.60s [INFO] running `"docker" "inspect" "dc6f0149b5829782dc1e5a57d9a689f3120d8ecba4974e6525ea72d67d2403fb"` [INFO] running `"docker" "rm" "-f" "dc6f0149b5829782dc1e5a57d9a689f3120d8ecba4974e6525ea72d67d2403fb"` [INFO] [stdout] dc6f0149b5829782dc1e5a57d9a689f3120d8ecba4974e6525ea72d67d2403fb