Skip to content

Optimism L1 -> L2 derivation #176

Optimism L1 -> L2 derivation

Optimism L1 -> L2 derivation #176

This check has been archived and is scheduled for deletion. Learn more about checks retention
GitHub Actions / clippy failed Nov 21, 2023 in 1s

reviewdog [clippy] report

reported by reviewdog 🐶

Findings (15)

lib/src/optimism/deposits.rs|89 col 5| error: unreachable statement
--> lib/src/optimism/deposits.rs:89:5
|
87 | return true; // TODO: remove me!
| ----------- any code following this expression is unreachable
88 |
89 | let input = BloomInput::Raw(address.as_slice());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
|
= note: -D unreachable-code implied by -D warnings
= help: to override -D warnings add #[allow(unreachable_code)]
lib/src/optimism/system_config.rs|142 col 5| error: unreachable statement
--> lib/src/optimism/system_config.rs:142:5
|
140 | return true; // TODO: remove me!
| ----------- any code following this expression is unreachable
141 |
142 | let input = BloomInput::Raw(address.as_slice());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
lib/src/optimism/deposits.rs|86 col 20| error: unused variable: address
--> lib/src/optimism/deposits.rs:86:20
|
86 | pub fn can_contain(address: &Address, bloom: &Bloom) -> bool {
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: _address
|
= note: -D unused-variables implied by -D warnings
= help: to override -D warnings add #[allow(unused_variables)]
lib/src/optimism/deposits.rs|86 col 39| error: unused variable: bloom
--> lib/src/optimism/deposits.rs:86:39
|
86 | pub fn can_contain(address: &Address, bloom: &Bloom) -> bool {
| ^^^^^ help: if this is intentional, prefix it with an underscore: _bloom
lib/src/optimism/system_config.rs|139 col 20| error: unused variable: address
--> lib/src/optimism/system_config.rs:139:20
|
139 | pub fn can_contain(address: &Address, bloom: &Bloom) -> bool {
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: _address
lib/src/optimism/system_config.rs|139 col 39| error: unused variable: bloom
--> lib/src/optimism/system_config.rs:139:39
|
139 | pub fn can_contain(address: &Address, bloom: &Bloom) -> bool {
| ^^^^^ help: if this is intentional, prefix it with an underscore: _bloom
lib/src/optimism/mod.rs|87 col 5| error: you should consider adding a Default implementation for MemDb
--> lib/src/optimism/mod.rs:87:5
|
87 | / pub fn new() -> Self {
88 | | MemDb {
89 | | full_op_block: HashMap::new(),
90 | | op_block_header: HashMap::new(),
... |
93 | | }
94 | | }
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default
= note: -D clippy::new-without-default implied by -D warnings
= help: to override -D warnings add #[allow(clippy::new_without_default)]
help: try adding this
|
86 + impl Default for MemDb {
87 + fn default() -> Self {
88 + Self::new()
89 + }
90 + }
|
lib/src/optimism/mod.rs|154 col 13| error: used assert_eq! with a literal bool
--> lib/src/optimism/mod.rs:154:13
|
154 | assert_eq!(can_contain_deposits, false);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
= note: -D clippy::bool-assert-comparison implied by -D warnings
= help: to override -D warnings add #[allow(clippy::bool_assert_comparison)]
help: replace it with assert!(..)
|
154 - assert_eq!(can_contain_deposits, false);
154 + assert!(!can_contain_deposits);
|
lib/src/optimism/mod.rs|155 col 13| error: used assert_eq! with a literal bool
--> lib/src/optimism/mod.rs:155:13
|
155 | assert_eq!(can_contain_config, false);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
help: replace it with assert!(..)
|
155 - assert_eq!(can_contain_config, false);
155 + assert!(!can_contain_config);
|
lib/src/optimism/mod.rs|203 col 47| error: using clone on type FixedBytes<32> which implements the Copy trait
--> lib/src/optimism/mod.rs:203:47
|
203 | let mut derive_output = DeriveOutput::new(op_head_hash.clone());
| ^^^^^^^^^^^^^^^^^^^^ help: try removing the clone call: op_head_hash
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: -D clippy::clone-on-copy implied by -D warnings
= help: to override -D warnings add #[allow(clippy::clone_on_copy)]
lib/src/optimism/mod.rs|281 col 36| error: using clone on type FixedBytes<32> which implements the Copy trait
--> lib/src/optimism/mod.rs:281:36
|
281 | prev_eth_block_hash = Some(eth_block_hash.clone());
| ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the clone call: eth_block_hash
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
lib/src/optimism/mod.rs|316 col 9| error: this loop could be written as a for loop
--> lib/src/optimism/mod.rs:316:9
|
316 | while let Some(op_batch) = op_batches.next() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: for op_batch in op_batches.by_ref()
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator
= note: -D clippy::while-let-on-iterator implied by -D warnings
= help: to override -D warnings add #[allow(clippy::while_let_on_iterator)]
lib/src/optimism/mod.rs|398 col 72| error: casting integer literal to u8 is unnecessary
--> lib/src/optimism/mod.rs:398:72
|
398 | ... let all_zero: FixedBytes<12> = FixedBytes([0 as u8; 12]);
| ^^^^^^^ help: try: 0_u8
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
= note: -D clippy::unnecessary-cast implied by -D warnings
= help: to override -D warnings add #[allow(clippy::unnecessary_cast)]
lib/src/optimism/mod.rs|403 col 41| error: useless conversion to the same type: u64
--> lib/src/optimism/mod.rs:403:41
|
403 | ... number: eth_block_header.number.into(),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing .into(): eth_block_header.number
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
= note: -D clippy::useless-conversion implied by -D warnings
= help: to override -D warnings add #[allow(clippy::useless_conversion)]
lib/src/optimism/mod.rs|483 col 36| error: using clone on type FixedBytes<32> which implements the Copy trait
--> lib/src/optimism/mod.rs:483:36
|
483 | derive_output.push(op_state.safe_head.hash.clone());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the clone call: op_state.safe_head.hash
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy

Filtered Findings (0)

Annotations

Check failure on line 89 in lib/src/optimism/deposits.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/deposits.rs#L89

error: unreachable statement
  --> lib/src/optimism/deposits.rs:89:5
   |
87 |     return true; // TODO: remove me!
   |     ----------- any code following this expression is unreachable
88 |
89 |     let input = BloomInput::Raw(address.as_slice());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
   |
   = note: `-D unreachable-code` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(unreachable_code)]`
Raw output
lib/src/optimism/deposits.rs:89:5:e:error: unreachable statement
  --> lib/src/optimism/deposits.rs:89:5
   |
87 |     return true; // TODO: remove me!
   |     ----------- any code following this expression is unreachable
88 |
89 |     let input = BloomInput::Raw(address.as_slice());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
   |
   = note: `-D unreachable-code` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(unreachable_code)]`


__END__

Check failure on line 142 in lib/src/optimism/system_config.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/system_config.rs#L142

error: unreachable statement
   --> lib/src/optimism/system_config.rs:142:5
    |
140 |     return true; // TODO: remove me!
    |     ----------- any code following this expression is unreachable
141 |
142 |     let input = BloomInput::Raw(address.as_slice());
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
Raw output
lib/src/optimism/system_config.rs:142:5:e:error: unreachable statement
   --> lib/src/optimism/system_config.rs:142:5
    |
140 |     return true; // TODO: remove me!
    |     ----------- any code following this expression is unreachable
141 |
142 |     let input = BloomInput::Raw(address.as_slice());
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement


__END__

Check failure on line 86 in lib/src/optimism/deposits.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/deposits.rs#L86

error: unused variable: `address`
  --> lib/src/optimism/deposits.rs:86:20
   |
86 | pub fn can_contain(address: &Address, bloom: &Bloom) -> bool {
   |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
   |
   = note: `-D unused-variables` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(unused_variables)]`
Raw output
lib/src/optimism/deposits.rs:86:20:e:error: unused variable: `address`
  --> lib/src/optimism/deposits.rs:86:20
   |
86 | pub fn can_contain(address: &Address, bloom: &Bloom) -> bool {
   |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
   |
   = note: `-D unused-variables` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(unused_variables)]`


__END__

Check failure on line 86 in lib/src/optimism/deposits.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/deposits.rs#L86

error: unused variable: `bloom`
  --> lib/src/optimism/deposits.rs:86:39
   |
86 | pub fn can_contain(address: &Address, bloom: &Bloom) -> bool {
   |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_bloom`
Raw output
lib/src/optimism/deposits.rs:86:39:e:error: unused variable: `bloom`
  --> lib/src/optimism/deposits.rs:86:39
   |
86 | pub fn can_contain(address: &Address, bloom: &Bloom) -> bool {
   |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_bloom`


__END__

Check failure on line 139 in lib/src/optimism/system_config.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/system_config.rs#L139

error: unused variable: `address`
   --> lib/src/optimism/system_config.rs:139:20
    |
139 | pub fn can_contain(address: &Address, bloom: &Bloom) -> bool {
    |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
Raw output
lib/src/optimism/system_config.rs:139:20:e:error: unused variable: `address`
   --> lib/src/optimism/system_config.rs:139:20
    |
139 | pub fn can_contain(address: &Address, bloom: &Bloom) -> bool {
    |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`


__END__

Check failure on line 139 in lib/src/optimism/system_config.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/system_config.rs#L139

error: unused variable: `bloom`
   --> lib/src/optimism/system_config.rs:139:39
    |
139 | pub fn can_contain(address: &Address, bloom: &Bloom) -> bool {
    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_bloom`
Raw output
lib/src/optimism/system_config.rs:139:39:e:error: unused variable: `bloom`
   --> lib/src/optimism/system_config.rs:139:39
    |
139 | pub fn can_contain(address: &Address, bloom: &Bloom) -> bool {
    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_bloom`


__END__

Check failure on line 87 in lib/src/optimism/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/mod.rs#L87

error: you should consider adding a `Default` implementation for `MemDb`
  --> lib/src/optimism/mod.rs:87:5
   |
87 | /     pub fn new() -> Self {
88 | |         MemDb {
89 | |             full_op_block: HashMap::new(),
90 | |             op_block_header: HashMap::new(),
...  |
93 | |         }
94 | |     }
   | |_____^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default
   = note: `-D clippy::new-without-default` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::new_without_default)]`
help: try adding this
   |
86 + impl Default for MemDb {
87 +     fn default() -> Self {
88 +         Self::new()
89 +     }
90 + }
   |
Raw output
lib/src/optimism/mod.rs:87:5:e:error: you should consider adding a `Default` implementation for `MemDb`
  --> lib/src/optimism/mod.rs:87:5
   |
87 | /     pub fn new() -> Self {
88 | |         MemDb {
89 | |             full_op_block: HashMap::new(),
90 | |             op_block_header: HashMap::new(),
...  |
93 | |         }
94 | |     }
   | |_____^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default
   = note: `-D clippy::new-without-default` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::new_without_default)]`
help: try adding this
   |
86 + impl Default for MemDb {
87 +     fn default() -> Self {
88 +         Self::new()
89 +     }
90 + }
   |


__END__

Check failure on line 154 in lib/src/optimism/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/mod.rs#L154

error: used `assert_eq!` with a literal bool
   --> lib/src/optimism/mod.rs:154:13
    |
154 |             assert_eq!(can_contain_deposits, false);
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
    = note: `-D clippy::bool-assert-comparison` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::bool_assert_comparison)]`
help: replace it with `assert!(..)`
    |
154 -             assert_eq!(can_contain_deposits, false);
154 +             assert!(!can_contain_deposits);
    |
Raw output
lib/src/optimism/mod.rs:154:13:e:error: used `assert_eq!` with a literal bool
   --> lib/src/optimism/mod.rs:154:13
    |
154 |             assert_eq!(can_contain_deposits, false);
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
    = note: `-D clippy::bool-assert-comparison` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::bool_assert_comparison)]`
help: replace it with `assert!(..)`
    |
154 -             assert_eq!(can_contain_deposits, false);
154 +             assert!(!can_contain_deposits);
    |


__END__

Check failure on line 155 in lib/src/optimism/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/mod.rs#L155

error: used `assert_eq!` with a literal bool
   --> lib/src/optimism/mod.rs:155:13
    |
155 |             assert_eq!(can_contain_config, false);
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
help: replace it with `assert!(..)`
    |
155 -             assert_eq!(can_contain_config, false);
155 +             assert!(!can_contain_config);
    |
Raw output
lib/src/optimism/mod.rs:155:13:e:error: used `assert_eq!` with a literal bool
   --> lib/src/optimism/mod.rs:155:13
    |
155 |             assert_eq!(can_contain_config, false);
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
help: replace it with `assert!(..)`
    |
155 -             assert_eq!(can_contain_config, false);
155 +             assert!(!can_contain_config);
    |


__END__

Check failure on line 203 in lib/src/optimism/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/mod.rs#L203

error: using `clone` on type `FixedBytes<32>` which implements the `Copy` trait
   --> lib/src/optimism/mod.rs:203:47
    |
203 |     let mut derive_output = DeriveOutput::new(op_head_hash.clone());
    |                                               ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `op_head_hash`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
    = note: `-D clippy::clone-on-copy` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::clone_on_copy)]`
Raw output
lib/src/optimism/mod.rs:203:47:e:error: using `clone` on type `FixedBytes<32>` which implements the `Copy` trait
   --> lib/src/optimism/mod.rs:203:47
    |
203 |     let mut derive_output = DeriveOutput::new(op_head_hash.clone());
    |                                               ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `op_head_hash`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
    = note: `-D clippy::clone-on-copy` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::clone_on_copy)]`


__END__

Check failure on line 281 in lib/src/optimism/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/mod.rs#L281

error: using `clone` on type `FixedBytes<32>` which implements the `Copy` trait
   --> lib/src/optimism/mod.rs:281:36
    |
281 |         prev_eth_block_hash = Some(eth_block_hash.clone());
    |                                    ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `eth_block_hash`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
Raw output
lib/src/optimism/mod.rs:281:36:e:error: using `clone` on type `FixedBytes<32>` which implements the `Copy` trait
   --> lib/src/optimism/mod.rs:281:36
    |
281 |         prev_eth_block_hash = Some(eth_block_hash.clone());
    |                                    ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `eth_block_hash`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy


__END__

Check failure on line 316 in lib/src/optimism/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/mod.rs#L316

error: this loop could be written as a `for` loop
   --> lib/src/optimism/mod.rs:316:9
    |
316 |         while let Some(op_batch) = op_batches.next() {
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for op_batch in op_batches.by_ref()`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator
    = note: `-D clippy::while-let-on-iterator` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::while_let_on_iterator)]`
Raw output
lib/src/optimism/mod.rs:316:9:e:error: this loop could be written as a `for` loop
   --> lib/src/optimism/mod.rs:316:9
    |
316 |         while let Some(op_batch) = op_batches.next() {
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for op_batch in op_batches.by_ref()`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator
    = note: `-D clippy::while-let-on-iterator` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::while_let_on_iterator)]`


__END__

Check failure on line 398 in lib/src/optimism/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/mod.rs#L398

error: casting integer literal to `u8` is unnecessary
   --> lib/src/optimism/mod.rs:398:72
    |
398 | ...                   let all_zero: FixedBytes<12> = FixedBytes([0 as u8; 12]);
    |                                                                  ^^^^^^^ help: try: `0_u8`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
    = note: `-D clippy::unnecessary-cast` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::unnecessary_cast)]`
Raw output
lib/src/optimism/mod.rs:398:72:e:error: casting integer literal to `u8` is unnecessary
   --> lib/src/optimism/mod.rs:398:72
    |
398 | ...                   let all_zero: FixedBytes<12> = FixedBytes([0 as u8; 12]);
    |                                                                  ^^^^^^^ help: try: `0_u8`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
    = note: `-D clippy::unnecessary-cast` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::unnecessary_cast)]`


__END__

Check failure on line 403 in lib/src/optimism/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/mod.rs#L403

error: useless conversion to the same type: `u64`
   --> lib/src/optimism/mod.rs:403:41
    |
403 | ...                   number: eth_block_header.number.into(),
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `eth_block_header.number`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
    = note: `-D clippy::useless-conversion` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::useless_conversion)]`
Raw output
lib/src/optimism/mod.rs:403:41:e:error: useless conversion to the same type: `u64`
   --> lib/src/optimism/mod.rs:403:41
    |
403 | ...                   number: eth_block_header.number.into(),
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `eth_block_header.number`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
    = note: `-D clippy::useless-conversion` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::useless_conversion)]`


__END__

Check failure on line 483 in lib/src/optimism/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] lib/src/optimism/mod.rs#L483

error: using `clone` on type `FixedBytes<32>` which implements the `Copy` trait
   --> lib/src/optimism/mod.rs:483:36
    |
483 |                 derive_output.push(op_state.safe_head.hash.clone());
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `op_state.safe_head.hash`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
Raw output
lib/src/optimism/mod.rs:483:36:e:error: using `clone` on type `FixedBytes<32>` which implements the `Copy` trait
   --> lib/src/optimism/mod.rs:483:36
    |
483 |                 derive_output.push(op_state.safe_head.hash.clone());
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `op_state.safe_head.hash`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy


__END__