Add a Powerful Test VM #468
Annotations
13 warnings
using `clone` on type `Address` which implements the `Copy` trait:
stylus-test/src/vm.rs#L355
warning: using `clone` on type `Address` which implements the `Copy` trait
--> stylus-test/src/vm.rs:355:24
|
355 | let addr = self.state.borrow().contract_address.clone();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.state.borrow().contract_address`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: `#[warn(clippy::clone_on_copy)]` on by default
|
very complex type used. Consider factoring parts into `type` definitions:
stylus-test/src/state.rs#L38
warning: very complex type used. Consider factoring parts into `type` definitions
--> stylus-test/src/state.rs:38:25
|
38 | pub deploy_returns: HashMap<(Vec<u8>, Option<B256>), Result<Address, Vec<u8>>>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
|
very complex type used. Consider factoring parts into `type` definitions:
stylus-test/src/state.rs#L36
warning: very complex type used. Consider factoring parts into `type` definitions
--> stylus-test/src/state.rs:36:32
|
36 | pub delegate_call_returns: HashMap<(Address, Vec<u8>), Result<Vec<u8>, Vec<u8>>>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
|
very complex type used. Consider factoring parts into `type` definitions:
stylus-test/src/state.rs#L35
warning: very complex type used. Consider factoring parts into `type` definitions
--> stylus-test/src/state.rs:35:23
|
35 | pub call_returns: HashMap<(Address, Vec<u8>), Result<Vec<u8>, Vec<u8>>>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
= note: `#[warn(clippy::type_complexity)]` on by default
|
importing legacy numeric constants:
stylus-test/src/state.rs#L8
warning: importing legacy numeric constants
--> stylus-test/src/state.rs:8:44
|
8 | use std::{collections::HashMap, sync::Arc, u64};
| ^^^
|
= help: remove this import
= note: then `u64::<CONST>` will resolve to the respective associated constant
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
= note: `#[warn(clippy::legacy_numeric_constants)]` on by default
|
field assignment outside of initializer for an instance created with Default::default():
stylus-test/src/builder.rs#L76
warning: field assignment outside of initializer for an instance created with Default::default()
--> stylus-test/src/builder.rs:76:9
|
76 | state.msg_sender = self.sender.unwrap_or(Address::ZERO);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: consider initializing the variable with `state::VMState { msg_sender: self.sender.unwrap_or(Address::ZERO), msg_value: self.value.unwrap_or_default(), storage: self.storage.unwrap_or_default(), block_number: self.block_num.unwrap_or_default(), contract_address: self.contract_address.unwrap_or(Address::ZERO), provider: self.provider, ..Default::default() }` and removing relevant reassignments
--> stylus-test/src/builder.rs:75:9
|
75 | let mut state = VMState::default();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default
= note: `#[warn(clippy::field_reassign_with_default)]` on by default
|
using `clone` on type `Address` which implements the `Copy` trait:
stylus-test/src/vm.rs#L355
warning: using `clone` on type `Address` which implements the `Copy` trait
--> stylus-test/src/vm.rs:355:24
|
355 | let addr = self.state.borrow().contract_address.clone();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.state.borrow().contract_address`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: `#[warn(clippy::clone_on_copy)]` on by default
|
very complex type used. Consider factoring parts into `type` definitions:
stylus-test/src/state.rs#L38
warning: very complex type used. Consider factoring parts into `type` definitions
--> stylus-test/src/state.rs:38:25
|
38 | pub deploy_returns: HashMap<(Vec<u8>, Option<B256>), Result<Address, Vec<u8>>>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
|
very complex type used. Consider factoring parts into `type` definitions:
stylus-test/src/state.rs#L37
warning: very complex type used. Consider factoring parts into `type` definitions
--> stylus-test/src/state.rs:37:30
|
37 | pub static_call_returns: HashMap<(Address, Vec<u8>), Result<Vec<u8>, Vec<u8>>>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
|
very complex type used. Consider factoring parts into `type` definitions:
stylus-test/src/state.rs#L36
warning: very complex type used. Consider factoring parts into `type` definitions
--> stylus-test/src/state.rs:36:32
|
36 | pub delegate_call_returns: HashMap<(Address, Vec<u8>), Result<Vec<u8>, Vec<u8>>>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
|
very complex type used. Consider factoring parts into `type` definitions:
stylus-test/src/state.rs#L35
warning: very complex type used. Consider factoring parts into `type` definitions
--> stylus-test/src/state.rs:35:23
|
35 | pub call_returns: HashMap<(Address, Vec<u8>), Result<Vec<u8>, Vec<u8>>>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
= note: `#[warn(clippy::type_complexity)]` on by default
|
importing legacy numeric constants:
stylus-test/src/state.rs#L8
warning: importing legacy numeric constants
--> stylus-test/src/state.rs:8:44
|
8 | use std::{collections::HashMap, sync::Arc, u64};
| ^^^
|
= help: remove this import
= note: then `u64::<CONST>` will resolve to the respective associated constant
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
= note: `#[warn(clippy::legacy_numeric_constants)]` on by default
|
field assignment outside of initializer for an instance created with Default::default():
stylus-test/src/builder.rs#L76
warning: field assignment outside of initializer for an instance created with Default::default()
--> stylus-test/src/builder.rs:76:9
|
76 | state.msg_sender = self.sender.unwrap_or(Address::ZERO);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: consider initializing the variable with `state::VMState { msg_sender: self.sender.unwrap_or(Address::ZERO), msg_value: self.value.unwrap_or_default(), storage: self.storage.unwrap_or_default(), block_number: self.block_num.unwrap_or_default(), contract_address: self.contract_address.unwrap_or(Address::ZERO), provider: self.provider, ..Default::default() }` and removing relevant reassignments
--> stylus-test/src/builder.rs:75:9
|
75 | let mut state = VMState::default();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default
= note: `#[warn(clippy::field_reassign_with_default)]` on by default
|