[INFO] fetching crate evm_ekubo_sdk 0.6.5... [INFO] linting evm_ekubo_sdk-0.6.5 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate evm_ekubo_sdk 0.6.5 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate evm_ekubo_sdk 0.6.5 [INFO] finished tweaking crates.io crate evm_ekubo_sdk 0.6.5 [INFO] tweaked toml for crates.io crate evm_ekubo_sdk 0.6.5 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate evm_ekubo_sdk 0.6.5 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate evm_ekubo_sdk 0.6.5 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded insta v1.42.2 [INFO] [stderr] Downloaded libc v0.2.170 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d52f4fd1f6a1f98bd9bf37acd335ceb5e13735ffce61677ea591af7414184e88 [INFO] running `Command { std: "docker" "start" "-a" "d52f4fd1f6a1f98bd9bf37acd335ceb5e13735ffce61677ea591af7414184e88", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d52f4fd1f6a1f98bd9bf37acd335ceb5e13735ffce61677ea591af7414184e88", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d52f4fd1f6a1f98bd9bf37acd335ceb5e13735ffce61677ea591af7414184e88", kill_on_drop: false }` [INFO] [stdout] d52f4fd1f6a1f98bd9bf37acd335ceb5e13735ffce61677ea591af7414184e88 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0065e451495446940b124b03d9b78fa7e3cc6cecef5195a0da5e98fb3e4b5e61 [INFO] running `Command { std: "docker" "start" "-a" "0065e451495446940b124b03d9b78fa7e3cc6cecef5195a0da5e98fb3e4b5e61", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling libc v0.2.170 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking once_cell v1.20.3 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking similar v2.7.0 [INFO] [stderr] Checking uint v0.10.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling quote v1.0.39 [INFO] [stderr] Checking evm_ekubo_sdk v0.6.5 (/opt/rustwide/workdir) [INFO] [stderr] Compiling syn v2.0.99 [INFO] [stderr] Checking console v0.15.11 [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/math/swap.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | calculated_amount: calculated_amount, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `calculated_amount` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/quoting/mev_resist_pool.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | base_pool: base_pool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `base_pool` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/quoting/mev_resist_pool.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | calculated_amount: calculated_amount, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `calculated_amount` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/quoting/mev_resist_pool.rs:188:25 [INFO] [stdout] | [INFO] [stdout] 188 | state_update_count: state_update_count, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `state_update_count` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `U256` which implements the `Copy` trait [INFO] [stdout] --> src/math/delta.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | TWO_POW_128.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `TWO_POW_128` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/math/muldiv.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / uint::construct_uint! { [INFO] [stdout] 11 | | struct U512(8); [INFO] [stdout] 12 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] = note: this warning originates in the macro `$crate::construct_uint` which comes from the expansion of the macro `uint::construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `!RangeInclusive::contains` implementation [INFO] [stdout] --> src/math/tick.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | if tick < MIN_TICK || tick > MAX_TICK { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `!(MIN_TICK..=MAX_TICK).contains(&tick)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `U256` which implements the `Copy` trait [INFO] [stdout] --> src/math/tick.rs:52:21 [INFO] [stdout] | [INFO] [stdout] 52 | let mut ratio = ONE_X128.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `ONE_X128` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/math/uint.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / uint::construct_uint! { [INFO] [stdout] 2 | | pub struct U256(4); [INFO] [stdout] 3 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: this warning originates in the macro `$crate::construct_uint` which comes from the expansion of the macro `uint::construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/quoting/base_pool.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | if !(key.token0 < key.token1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(key.token0 >= key.token1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/quoting/base_pool.rs:212:20 [INFO] [stdout] | [INFO] [stdout] 212 | if !(tick.index > last) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `(tick.index <= last)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/quoting/base_pool.rs:264:16 [INFO] [stdout] | [INFO] [stdout] 264 | if !(active_tick_sqrt_ratio <= state.sqrt_ratio) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(active_tick_sqrt_ratio > state.sqrt_ratio)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/quoting/base_pool.rs:272:20 [INFO] [stdout] | [INFO] [stdout] 272 | if !(state.sqrt_ratio <= first_tick_sqrt_ratio) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(state.sqrt_ratio > first_tick_sqrt_ratio)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `BasePoolState` which implements the `Copy` trait [INFO] [stdout] --> src/quoting/base_pool.rs:484:13 [INFO] [stdout] | [INFO] [stdout] 484 | self.state.clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/quoting/base_pool.rs:612:25 [INFO] [stdout] | [INFO] [stdout] 612 | liquidity = liquidity + next_tick.liquidity_delta.unsigned_abs(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `liquidity += next_tick.liquidity_delta.unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/quoting/base_pool.rs:614:25 [INFO] [stdout] | [INFO] [stdout] 614 | liquidity = liquidity - next_tick.liquidity_delta.unsigned_abs(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `liquidity -= next_tick.liquidity_delta.unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/quoting/full_range_pool.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | if !(key.token0 < key.token1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(key.token0 >= key.token1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/quoting/twamm_pool.rs:121:16 [INFO] [stdout] | [INFO] [stdout] 121 | if !(t.time > last_time) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `(t.time <= last_time)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/quoting/twamm_pool.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | / pub fn new( [INFO] [stdout] 105 | | token0: U256, [INFO] [stdout] 106 | | token1: U256, [INFO] [stdout] 107 | | fee: u64, [INFO] [stdout] ... | [INFO] [stdout] 114 | | virtual_order_deltas: Vec, [INFO] [stdout] 115 | | ) -> Result { [INFO] [stdout] | |_____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/quoting/twamm_pool.rs:338:17 [INFO] [stdout] | [INFO] [stdout] 338 | / full_range_pool_execution_resources = [INFO] [stdout] 339 | | full_range_pool_execution_resources + quote.execution_resources; [INFO] [stdout] | |___________________________________________________________________________________^ help: replace it with: `full_range_pool_execution_resources += quote.execution_resources` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `math::uint::U256` [INFO] [stdout] --> src/quoting/types.rs:62:16 [INFO] [stdout] | [INFO] [stdout] 62 | + (U256::from(value.extension) << 96) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `U256::from()`: `value.extension` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/quoting/util.rs:122:28 [INFO] [stdout] | [INFO] [stdout] 122 | let has_min_tick = result.first().map_or(false, |t| t.index == valid_min_tick); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 122 - let has_min_tick = result.first().map_or(false, |t| t.index == valid_min_tick); [INFO] [stdout] 122 + let has_min_tick = result.first().is_some_and(|t| t.index == valid_min_tick); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/quoting/util.rs:139:28 [INFO] [stdout] | [INFO] [stdout] 139 | let has_max_tick = result.last().map_or(false, |t| t.index == valid_max_tick); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 139 - let has_max_tick = result.last().map_or(false, |t| t.index == valid_max_tick); [INFO] [stdout] 139 + let has_max_tick = result.last().is_some_and(|t| t.index == valid_max_tick); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Checking insta v1.42.2 [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/math/swap.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | calculated_amount: calculated_amount, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `calculated_amount` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/quoting/mev_resist_pool.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | base_pool: base_pool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `base_pool` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/quoting/mev_resist_pool.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | calculated_amount: calculated_amount, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `calculated_amount` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/quoting/mev_resist_pool.rs:188:25 [INFO] [stdout] | [INFO] [stdout] 188 | state_update_count: state_update_count, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `state_update_count` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/quoting/mev_resist_pool.rs:384:25 [INFO] [stdout] | [INFO] [stdout] 384 | fee: fee, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `fee` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/quoting/mev_resist_pool.rs:385:25 [INFO] [stdout] | [INFO] [stdout] 385 | tick_spacing: tick_spacing, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tick_spacing` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/quoting/mev_resist_pool.rs:462:25 [INFO] [stdout] | [INFO] [stdout] 462 | fee: fee, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `fee` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/quoting/mev_resist_pool.rs:463:25 [INFO] [stdout] | [INFO] [stdout] 463 | tick_spacing: tick_spacing, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tick_spacing` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `U256` which implements the `Copy` trait [INFO] [stdout] --> src/math/delta.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | TWO_POW_128.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `TWO_POW_128` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/math/muldiv.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / uint::construct_uint! { [INFO] [stdout] 11 | | struct U512(8); [INFO] [stdout] 12 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] = note: this warning originates in the macro `$crate::construct_uint` which comes from the expansion of the macro `uint::construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `!RangeInclusive::contains` implementation [INFO] [stdout] --> src/math/tick.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | if tick < MIN_TICK || tick > MAX_TICK { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `!(MIN_TICK..=MAX_TICK).contains(&tick)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `U256` which implements the `Copy` trait [INFO] [stdout] --> src/math/tick.rs:52:21 [INFO] [stdout] | [INFO] [stdout] 52 | let mut ratio = ONE_X128.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `ONE_X128` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/math/uint.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / uint::construct_uint! { [INFO] [stdout] 2 | | pub struct U256(4); [INFO] [stdout] 3 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: this warning originates in the macro `$crate::construct_uint` which comes from the expansion of the macro `uint::construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/quoting/base_pool.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | if !(key.token0 < key.token1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(key.token0 >= key.token1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/quoting/base_pool.rs:212:20 [INFO] [stdout] | [INFO] [stdout] 212 | if !(tick.index > last) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `(tick.index <= last)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/quoting/base_pool.rs:264:16 [INFO] [stdout] | [INFO] [stdout] 264 | if !(active_tick_sqrt_ratio <= state.sqrt_ratio) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(active_tick_sqrt_ratio > state.sqrt_ratio)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/quoting/base_pool.rs:272:20 [INFO] [stdout] | [INFO] [stdout] 272 | if !(state.sqrt_ratio <= first_tick_sqrt_ratio) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(state.sqrt_ratio > first_tick_sqrt_ratio)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `BasePoolState` which implements the `Copy` trait [INFO] [stdout] --> src/quoting/base_pool.rs:484:13 [INFO] [stdout] | [INFO] [stdout] 484 | self.state.clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/quoting/base_pool.rs:612:25 [INFO] [stdout] | [INFO] [stdout] 612 | liquidity = liquidity + next_tick.liquidity_delta.unsigned_abs(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `liquidity += next_tick.liquidity_delta.unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/quoting/base_pool.rs:614:25 [INFO] [stdout] | [INFO] [stdout] 614 | liquidity = liquidity - next_tick.liquidity_delta.unsigned_abs(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `liquidity -= next_tick.liquidity_delta.unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/quoting/full_range_pool.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | if !(key.token0 < key.token1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(key.token0 >= key.token1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/quoting/twamm_pool.rs:121:16 [INFO] [stdout] | [INFO] [stdout] 121 | if !(t.time > last_time) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `(t.time <= last_time)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/quoting/twamm_pool.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | / pub fn new( [INFO] [stdout] 105 | | token0: U256, [INFO] [stdout] 106 | | token1: U256, [INFO] [stdout] 107 | | fee: u64, [INFO] [stdout] ... | [INFO] [stdout] 114 | | virtual_order_deltas: Vec, [INFO] [stdout] 115 | | ) -> Result { [INFO] [stdout] | |_____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/quoting/twamm_pool.rs:338:17 [INFO] [stdout] | [INFO] [stdout] 338 | / full_range_pool_execution_resources = [INFO] [stdout] 339 | | full_range_pool_execution_resources + quote.execution_resources; [INFO] [stdout] | |___________________________________________________________________________________^ help: replace it with: `full_range_pool_execution_resources += quote.execution_resources` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `math::uint::U256` [INFO] [stdout] --> src/quoting/types.rs:62:16 [INFO] [stdout] | [INFO] [stdout] 62 | + (U256::from(value.extension) << 96) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `U256::from()`: `value.extension` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/quoting/util.rs:122:28 [INFO] [stdout] | [INFO] [stdout] 122 | let has_min_tick = result.first().map_or(false, |t| t.index == valid_min_tick); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 122 - let has_min_tick = result.first().map_or(false, |t| t.index == valid_min_tick); [INFO] [stdout] 122 + let has_min_tick = result.first().is_some_and(|t| t.index == valid_min_tick); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/quoting/util.rs:139:28 [INFO] [stdout] | [INFO] [stdout] 139 | let has_max_tick = result.last().map_or(false, |t| t.index == valid_max_tick); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 139 - let has_max_tick = result.last().map_or(false, |t| t.index == valid_max_tick); [INFO] [stdout] 139 + let has_max_tick = result.last().is_some_and(|t| t.index == valid_max_tick); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/quoting/util.rs:171:56 [INFO] [stdout] | [INFO] [stdout] 171 | assert_eq!(find_nearest_initialized_tick_index(&vec![], 0), None); [INFO] [stdout] | ^^^^^^^ help: you can use a slice directly: `&[]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/quoting/util.rs:178:17 [INFO] [stdout] | [INFO] [stdout] 178 | / &vec![Tick { [INFO] [stdout] 179 | | index: -1, [INFO] [stdout] 180 | | liquidity_delta: 1, [INFO] [stdout] 181 | | }], [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use a slice directly [INFO] [stdout] | [INFO] [stdout] 178 ~ &[Tick { [INFO] [stdout] 179 + index: -1, [INFO] [stdout] 180 + liquidity_delta: 1, [INFO] [stdout] 181 ~ }], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/quoting/util.rs:192:17 [INFO] [stdout] | [INFO] [stdout] 192 | / &vec![Tick { [INFO] [stdout] 193 | | index: 0, [INFO] [stdout] 194 | | liquidity_delta: 1, [INFO] [stdout] 195 | | }], [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use a slice directly [INFO] [stdout] | [INFO] [stdout] 192 ~ &[Tick { [INFO] [stdout] 193 + index: 0, [INFO] [stdout] 194 + liquidity_delta: 1, [INFO] [stdout] 195 ~ }], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/quoting/util.rs:206:17 [INFO] [stdout] | [INFO] [stdout] 206 | / &vec![Tick { [INFO] [stdout] 207 | | index: 1, [INFO] [stdout] 208 | | liquidity_delta: 1, [INFO] [stdout] 209 | | }], [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use a slice directly [INFO] [stdout] | [INFO] [stdout] 206 ~ &[Tick { [INFO] [stdout] 207 + index: 1, [INFO] [stdout] 208 + liquidity_delta: 1, [INFO] [stdout] 209 ~ }], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.78s [INFO] running `Command { std: "docker" "inspect" "0065e451495446940b124b03d9b78fa7e3cc6cecef5195a0da5e98fb3e4b5e61", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0065e451495446940b124b03d9b78fa7e3cc6cecef5195a0da5e98fb3e4b5e61", kill_on_drop: false }` [INFO] [stdout] 0065e451495446940b124b03d9b78fa7e3cc6cecef5195a0da5e98fb3e4b5e61