Skip to content

chore: cargo clippy fixes to prepare for the rustc upgrade: 1.95.0 -> 1.97.0#10732

Open
basvandijk wants to merge 17 commits into
masterfrom
rustc-1.97.0
Open

chore: cargo clippy fixes to prepare for the rustc upgrade: 1.95.0 -> 1.97.0#10732
basvandijk wants to merge 17 commits into
masterfrom
rustc-1.97.0

Conversation

@basvandijk

@basvandijk basvandijk commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

cargo clippy fixes to prepare for upgrading to rustc-1.97.0.

mraszyk and others added 14 commits July 8, 2026 14:01
This PR bumps the Rust version to v1.95.0.

## Canbench summary


===================================================================================
## ckBTC minter
target:       //rs/bitcoin/ckbtc/minter:ckbtc_minter_canbench
results file: rs/bitcoin/ckbtc/minter/canbench/results.yml

===================================================================================

Summary:
  instructions:
    status:   Improvements detected 🟢
    counts:   [total 7 | regressed 0 | improved 7 | new 0 | unchanged 0]
change: [max -163.50K | p75 -163.64K | median -163.68K | p25 -163.68K |
min -164.78K]
change %: [max -38.39% | p75 -38.72% | median -38.78% | p25 -38.81% |
min -38.99%]

  heap_increase:
    status:   No significant changes 👍
    counts:   [total 7 | regressed 0 | improved 0 | new 0 | unchanged 7]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

  stable_memory_increase:
    status:   No significant changes 👍
    counts:   [total 7 | regressed 0 | improved 0 | new 0 | unchanged 7]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

---------------------------------------------------

Only significant changes:
| status | name | calls | ins | ins Δ% | HI | HI Δ% | SMI | SMI Δ% |

|--------|------------------------------------------------------------------------------------|-------|---------|---------|----|--------|-----|---------|
| - |
build_estimate_retrieve_btc_fee_1_50k_sats::build_unsigned_transaction_from_inputs
| 1 | 3.26K | -3.03% | 0 | 0.00% | 0 | 0.00% |
| - |
build_unsigned_transaction_1_50k_sats::build_unsigned_transaction_from_inputs
| 1 | 3.26K | -3.03% | 0 | 0.00% | 0 | 0.00% |
| - |
build_unsigned_transaction_2_100k_sats::build_unsigned_transaction_from_inputs
| 1 | 3.26K | -3.03% | 0 | 0.00% | 0 | 0.00% |
| - |
build_unsigned_transaction_3_1m_sats::build_unsigned_transaction_from_inputs
| 1 | 3.26K | -3.03% | 0 | 0.00% | 0 | 0.00% |
| - |
build_unsigned_transaction_4_10m_sats::build_unsigned_transaction_from_inputs
| 1 | 3.26K | -3.03% | 0 | 0.00% | 0 | 0.00% |
| - |
build_unsigned_transaction_5_1_btc::build_unsigned_transaction_from_inputs
| 1 | 3.26K | -3.03% | 0 | 0.00% | 0 | 0.00% |
| - |
build_unsigned_transaction_6_10_btc::build_unsigned_transaction_from_inputs
| 1 | 3.70K | -3.50% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_3_1m_sats::greedy | 1 | 3.06K | -13.00%
| 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_2_100k_sats::greedy | 1 | 4.43K |
-13.30% | 0 | 0.00% | 0 | 0.00% |
| - | build_estimate_retrieve_btc_fee_1_50k_sats::greedy | 1 | 4.38K |
-13.42% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_1_50k_sats::greedy | 1 | 4.38K |
-13.42% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_4_10m_sats::greedy | 1 | 4.08K |
-14.15% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_5_1_btc::greedy | 1 | 4.08K | -14.15% |
0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_6_10_btc::greedy | 1 | 11.85K | -14.40%
| 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_6_10_btc | | 264.48K | -38.39% | 0 |
0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_6_10_btc::build_unsigned_transaction |
1 | 261.93K | -38.61% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_4_10m_sats | | 259.10K | -38.72% | 0 |
0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_5_1_btc | | 259.10K | -38.72% | 0 |
0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_3_1m_sats | | 258.14K | -38.78% | 0 |
0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_2_100k_sats | | 258.06K | -38.81% | 0 |
0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_1_50k_sats | | 258.02K | -38.81% | 0 |
0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_4_10m_sats::build_unsigned_transaction
| 1 | 256.56K | -38.94% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_5_1_btc::build_unsigned_transaction | 1
| 256.56K | -38.94% | 0 | 0.00% | 0 | 0.00% |
| - | build_estimate_retrieve_btc_fee_1_50k_sats | | 255.97K | -38.99% |
0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_3_1m_sats::build_unsigned_transaction |
1 | 255.59K | -39.01% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_2_100k_sats::build_unsigned_transaction
| 1 | 255.52K | -39.04% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_1_50k_sats::build_unsigned_transaction
| 1 | 255.47K | -39.04% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_6_10_btc::utxos_selection | 1 | 256.06K
| -39.12% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_4_10m_sats::utxos_selection | 1 |
251.12K | -39.43% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_5_1_btc::utxos_selection | 1 | 251.12K
| -39.43% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_3_1m_sats::utxos_selection | 1 |
250.16K | -39.50% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_2_100k_sats::utxos_selection | 1 |
250.08K | -39.53% | 0 | 0.00% | 0 | 0.00% |
| - | build_estimate_retrieve_btc_fee_1_50k_sats::utxos_selection | 1 |
250.03K | -39.53% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_1_50k_sats::utxos_selection | 1 |
250.03K | -39.53% | 0 | 0.00% | 0 | 0.00% |

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ%
= percent change


===================================================================================
## ckETH minter
target:       //rs/ethereum/cketh/minter:cketh_minter_canbench
results file: rs/ethereum/cketh/minter/canbench/results.yml

===================================================================================

Summary:
  instructions:
    status:   Improvements detected 🟢
    counts:   [total 1 | regressed 0 | improved 1 | new 0 | unchanged 0]
change: [max -108.95M | p75 -108.95M | median -108.95M | p25 -108.95M |
min -108.95M]
change %: [max -11.11% | p75 -11.11% | median -11.11% | p25 -11.11% |
min -11.11%]

  heap_increase:
    status:   No significant changes 👍
    counts:   [total 1 | regressed 0 | improved 0 | new 0 | unchanged 1]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

  stable_memory_increase:
    status:   No significant changes 👍
    counts:   [total 1 | regressed 0 | improved 0 | new 0 | unchanged 1]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

---------------------------------------------------

Only significant changes:
| status | name | calls | ins | ins Δ% | HI | HI Δ% | SMI | SMI Δ% |

|--------|--------------------|-------|---------|---------|-----|--------|-----|---------|
| - | bench_post_upgrade | | 871.40M | -11.11% | 222 | 0.00% | 0 | 0.00%
|

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ%
= percent change


===================================================================================
## ICP ledger
target:       //rs/ledger_suite/icp/ledger:ledger_canbench
results file: rs/ledger_suite/icp/ledger/canbench_results/canbench.yml

===================================================================================

Summary:
  instructions:
    status:   Improvements detected 🟢
    counts:   [total 1 | regressed 0 | improved 1 | new 0 | unchanged 0]
change: [max -308.62M | p75 -308.62M | median -308.62M | p25 -308.62M |
min -308.62M]
change %: [max -2.14% | p75 -2.14% | median -2.14% | p25 -2.14% | min
-2.14%]

  heap_increase:
    status:   No significant changes 👍
    counts:   [total 1 | regressed 0 | improved 0 | new 0 | unchanged 1]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

  stable_memory_increase:
    status:   No significant changes 👍
    counts:   [total 1 | regressed 0 | improved 0 | new 0 | unchanged 1]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

---------------------------------------------------

Only significant changes:
| status | name | calls | ins | ins Δ% | HI | HI Δ% | SMI | SMI Δ% |

|--------|---------------------------------------|-------|--------|---------|----|--------|-----|---------|
| - | bench_endpoints | | 14.08B | -2.14% | 62 | 0.00% | 256 | 0.00% |
| - | bench_endpoints::icrc2_transfer_from | 1 | 6.65B | -2.71% | 2 |
0.00% | 128 | 0.00% |
| - | bench_endpoints::query_blocks | 1 | 36.75M | -3.49% | 13 | 0.00% |
0 | 0.00% |
| - | bench_endpoints::query_encoded_blocks | 1 | 6.91M | -6.45% | 0 |
0.00% | 0 | 0.00% |

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ%
= percent change


===================================================================================
## ICRC-1 ledger (u256)
target:       //rs/ledger_suite/icrc1/ledger:canbench_u256
results file:
rs/ledger_suite/icrc1/ledger/canbench_results/canbench_u256.yml

===================================================================================

Summary:
  instructions:
    status:   Improvements detected 🟢
    counts:   [total 2 | regressed 0 | improved 1 | new 0 | unchanged 1]
change: [max -21.14K | p75 -883.02M | median -1.77B | p25 -2.65B | min
-3.53B]
change %: [max -0.24% | p75 -1.82% | median -3.39% | p25 -4.97% | min
-6.54%]

  heap_increase:
    status:   No significant changes 👍
    counts:   [total 2 | regressed 0 | improved 0 | new 0 | unchanged 2]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

  stable_memory_increase:
    status:   No significant changes 👍
    counts:   [total 2 | regressed 0 | improved 0 | new 0 | unchanged 2]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

---------------------------------------------------

Only significant changes:
| status | name | calls | ins | ins Δ% | HI | HI Δ% | SMI | SMI Δ% |

|--------|-----------------------------------------------|-------|---------|---------|-----|--------|-----|---------|
| + | bench_icrc1_transfers::post_upgrade | 1 | 379.28M | +7.98% | 71 |
0.00% | 0 | 0.00% |
| + | bench_icrc1_transfers::upgrade | 1 | 529.25M | +5.87% | 200 |
0.00% | 128 | 0.00% |
| - | bench_icrc1_transfers::icrc1_transfer | 1 | 12.31B | -4.16% | 31 |
0.00% | 0 | 0.00% |
| - | bench_icrc1_transfers::get_blocks | 1 | 7.39M | -5.27% | 0 | 0.00%
| 0 | 0.00% |
| - | bench_icrc1_transfers::icrc3_get_blocks | 1 | 8.50M | -5.79% | 0 |
0.00% | 0 | 0.00% |
| - | bench_icrc1_transfers | | 50.46B | -6.54% | 262 | 0.00% | 256 |
0.00% |
| - | bench_icrc1_transfers::icrc2_transfer_from | 1 | 19.66B | -7.40% |
3 | 0.00% | 0 | 0.00% |
| - | bench_icrc1_transfers::icrc2_approve | 1 | 17.76B | -7.49% | 28 |
0.00% | 128 | 0.00% |
| - | bench_icrc1_transfers::icrc103_get_allowances | 1 | 5.25M |
-19.06% | 0 | 0.00% | 0 | 0.00% |

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ%
= percent change


===================================================================================
## ICRC-1 ledger (u64)
target:       //rs/ledger_suite/icrc1/ledger:canbench_u64
results file:
rs/ledger_suite/icrc1/ledger/canbench_results/canbench_u64.yml

===================================================================================

Summary:
  instructions:
    status:   Improvements detected 🟢
    counts:   [total 2 | regressed 0 | improved 1 | new 0 | unchanged 1]
change: [max -20.83K | p75 -871.90M | median -1.74B | p25 -2.62B | min
-3.49B]
change %: [max -0.24% | p75 -1.84% | median -3.45% | p25 -5.05% | min
-6.65%]

  heap_increase:
    status:   No significant changes 👍
    counts:   [total 2 | regressed 0 | improved 0 | new 0 | unchanged 2]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

  stable_memory_increase:
    status:   No significant changes 👍
    counts:   [total 2 | regressed 0 | improved 0 | new 0 | unchanged 2]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

---------------------------------------------------

Only significant changes:
| status | name | calls | ins | ins Δ% | HI | HI Δ% | SMI | SMI Δ% |

|--------|-----------------------------------------------|-------|---------|---------|-----|--------|-----|---------|
| + | bench_icrc1_transfers::post_upgrade | 1 | 379.10M | +8.02% | 73 |
0.00% | 0 | 0.00% |
| + | bench_icrc1_transfers::upgrade | 1 | 528.83M | +5.85% | 202 |
0.00% | 128 | 0.00% |
| - | bench_icrc1_transfers::icrc1_transfer | 1 | 11.77B | -4.25% | 31 |
0.00% | 0 | 0.00% |
| - | bench_icrc1_transfers::get_blocks | 1 | 6.81M | -5.80% | 0 | 0.00%
| 0 | 0.00% |
| - | bench_icrc1_transfers::icrc3_get_blocks | 1 | 7.89M | -6.32% | 0 |
0.00% | 0 | 0.00% |
| - | bench_icrc1_transfers | | 48.92B | -6.65% | 264 | 0.00% | 256 |
0.00% |
| - | bench_icrc1_transfers::icrc2_transfer_from | 1 | 19.21B | -7.49% |
3 | 0.00% | 0 | 0.00% |
| - | bench_icrc1_transfers::icrc2_approve | 1 | 17.22B | -7.62% | 28 |
0.00% | 128 | 0.00% |
| - | bench_icrc1_transfers::icrc103_get_allowances | 1 | 4.42M |
-21.76% | 0 | 0.00% | 0 | 0.00% |

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ%
= percent change


===================================================================================
## NNS governance
target:       //rs/nns/governance:governance-canbench
results file: rs/nns/governance/canbench/canbench_results.yml

===================================================================================

Summary:
  instructions:
    status:   Improvements detected 🟢
counts: [total 28 | regressed 0 | improved 3 | new 0 | unchanged 25]
change: [max +924.98K | p75 -852 | median -60.22K | p25 -465.20K | min
-3.14M]
change %: [max +1.62% | p75 -0.76% | median -2.24% | p25 -2.78% | min
-7.58%]

  heap_increase:
    status:   No significant changes 👍
counts: [total 28 | regressed 0 | improved 0 | new 0 | unchanged 28]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

  stable_memory_increase:
    status:   No significant changes 👍
counts: [total 28 | regressed 0 | improved 0 | new 0 | unchanged 28]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

---------------------------------------------------

Only significant changes:
| status | name | calls | ins | ins Δ% | HI | HI Δ% | SMI | SMI Δ% |

|--------|--------------------------------------------------------|-------|--------|---------|----|--------|-----|---------|
| - | unstake_maturity_of_dissolved_neurons::list_neuron_ids | 1 |
37.65M | -5.56% | 0 | 0.00% | 0 | 0.00% |
| - | list_ready_to_spawn_neuron_ids | | 36.31M | -5.59% | 0 | 0.00% | 0
| 0.00% |
| - | compute_ballots_for_new_proposal_with_stable_neurons | | 2.30M |
-6.16% | 0 | 0.00% | 256 | 0.00% |
| - | neuron_metrics_calculation | | 3.35M | -7.58% | 0 | 0.00% | 0 |
0.00% |

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ%
= percent change


===================================================================================
## Registry canister
target:       //rs/registry/canister:registry-canbench
results file: rs/registry/canister/canbench/canbench_results.yml

===================================================================================

Summary:
  instructions:
    status:   Improvements detected 🟢
counts: [total 14 | regressed 0 | improved 10 | new 0 | unchanged 4]
change: [max -5 | p75 -1.15M | median -10.78M | p25 -32.86M | min
-1.30B]
change %: [max -0.00% | p75 -0.63% | median -3.09% | p25 -9.71% | min
-13.80%]

  heap_increase:
    status:   No significant changes 👍
counts: [total 14 | regressed 0 | improved 0 | new 0 | unchanged 14]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

  stable_memory_increase:
    status:   No significant changes 👍
counts: [total 14 | regressed 0 | improved 0 | new 0 | unchanged 14]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

---------------------------------------------------

Only significant changes:
| status | name | calls | ins | ins Δ% | HI | HI Δ% | SMI | SMI Δ% |

|--------|-------------------------------------------------------------|-------|---------|---------|-----|--------|-----|---------|
| - | get_subnet_for_canister_100_times_10k | | 685.74M | -2.43% | 0 |
0.00% | 0 | 0.00% |
| - | upgrade_with_routing_table_10k | | 5.46B | -2.98% | 342 | 0.00% |
0 | 0.00% |
| - | upgrade_with_routing_table_10k::post_upgrade | 1 | 5.43B | -2.99%
| 217 | 0.00% | 0 | 0.00% |
| - | upgrade_with_routing_table_1k | | 669.20M | -3.02% | 40 | 0.00% |
0 | 0.00% |
| - | upgrade_with_routing_table_1k::post_upgrade | 1 | 666.33M | -3.04%
| 25 | 0.00% | 0 | 0.00% |
| - | upgrade_with_routing_table_100 | | 184.18M | -3.16% | 7 | 0.00% |
0 | 0.00% |
| - | upgrade_with_routing_table_100::post_upgrade | 1 | 183.30M |
-3.17% | 4 | 0.00% | 0 | 0.00% |
| - | get_subnet_for_canister_100_times_1k | | 87.92M | -4.23% | 0 |
0.00% | 0 | 0.00% |
| - | get_subnet_for_canister_100_times_100 | | 28.45M | -8.38% | 0 |
0.00% | 0 | 0.00% |
| - | migrate_canisters_10_times_100 | | 137.68M | -10.15% | 0 | 0.00% |
0 | 0.00% |
| - | migrate_canisters_10_times_1k | | 902.16M | -11.78% | 3 | 0.00% |
0 | 0.00% |
| - | migrate_canisters_10_times_10k | | 8.98B | -12.68% | 0 | 0.00% | 0
| 0.00% |
| - | measure_routing_table_invariant_checks_shards_and_unsharded | |
230.35M | -13.80% | 138 | 0.00% | 0 | 0.00% |

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ%
= percent change

---------

Co-authored-by: IDX GitHub Automation <>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…c 1.95.0

The rustc 1.95.0 bump produces slightly larger wasm binaries and shifts
deterministic execution estimates. Bump the compressed wasm size limits
for ic-ckbtc-minter, sns-governance, and sns-swap, and update the
hard-coded post-split load estimates in the subnet_splitting integration
test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Resolve conflicts for the rustc 1.95.0 bump:
- Container image references (workflows, devcontainer, TAG): keep branch
  values; container-autobuild will rebuild and rewrite them on push.
- canbench results (ckbtc minter, registry) and subnet-splitting test
  estimates: keep the rustc 1.95.0 values.

Post-merge fixes:
- subnet_splitting integration_test: update source/destination estimates
  to the measured orientation on the merged tree.
- registry canbench: regenerate results.yml for master's registry code
  changes (values within ~3%).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…be7f49b5528e73804be39740cfe5f

ic-build: sha256:83e2d52e2b6b990ecd81fc27d26312c456867220f7e0667022dd7999718ab534

ic-dev:   sha256:60cf67322e87bd9a6ce425ec73811014f9a6280d84db6e256c1eda720790a491
Re-run all canbench suites whose results files changed on this branch,
persisting fresh benchmark numbers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…27967070fea70acf17115b4be8a34

ic-build: sha256:d08fbbbea0f740fcf057a5951271a9a69e85ec76393626e75ffa2693fe7f3c4b

ic-dev:   sha256:ef4e171fcb98170f24d4163a3a3cefff11a380a603388f467add619c45f610a4
…4e0847d7be43124022d7e6d24919d

ic-build: sha256:0d2e7465c8aa6723b96743011fcdc0e1eb15ead88639ca74aacf96ada92d30a9

ic-dev:   sha256:d80def17941e0208e13f994cce628e0e370a59f40086cb3a0a7cdadaeb382dfc
…171c7ee7ebae00c03f24d608cd688

ic-build: sha256:88eab17245eb00929dddf0eadbab2e359952e06c440c890420ba257409e30149

ic-dev:   sha256:eae27468101cff14340905c9b6d1fc6caebe339c7ed474d8fee6d35015c04d61
@github-actions github-actions Bot added the chore label Jul 10, 2026
@basvandijk basvandijk changed the base branch from master to mraszyl/rustc-1-95-0-again July 10, 2026 20:05
…1b7f3f51ba132ab53ded517d492da

ic-build: sha256:53faf54ebb066724dfa6b69bd21f11d5b1a8b58e839870fe612cf2553cbc332e

ic-dev:   sha256:7f4e0bb317291ee52f3a74e7228590582222e29f7ccd6adc353678a90a8549f4
@github-actions

Copy link
Copy Markdown
Contributor

Run URL: https://github.com/dfinity/ic/actions/runs/29120192331

New container images with tag: 180b7a18c045f013033db88ee52d44c4c9f1b7f3f51ba132ab53ded517d492da
ic-build: sha256:53faf54ebb066724dfa6b69bd21f11d5b1a8b58e839870fe612cf2553cbc332e
ic-dev: sha256:7f4e0bb317291ee52f3a74e7228590582222e29f7ccd6adc353678a90a8549f4

Base automatically changed from mraszyl/rustc-1-95-0-again to master July 10, 2026 20:57
@basvandijk basvandijk changed the title chore: upgrade rustc: 1.95.0 -> 1.97.0 chore: prepare for the rustc upgrade: 1.95.0 -> 1.97.0 Jul 10, 2026
@basvandijk basvandijk requested a review from Copilot July 10, 2026 21:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR performs mechanical Rust code cleanups and dependency/lockfile updates as preparatory work for upgrading the toolchain from rustc 1.95.0 to 1.97.0, largely by removing redundant borrows and adopting newer/clearer std patterns.

Changes:

  • Remove unnecessary & borrows in formatting / Display / logging code across the Rust workspace.
  • Simplify Option/map iteration logic using filter, values_mut(), keys(), and ? where appropriate.
  • Update ethnum to 1.5.3 and refresh Cargo/Bazel lockfiles to match the new dependency graph.

Reviewed changes

Copilot reviewed 60 out of 63 changed files in this pull request and generated no comments.

Show a summary per file
File Description
rs/types/types/src/crypto/threshold_sig/ni_dkg/errors/key_removal_error.rs Remove redundant borrow in Display formatting.
rs/types/types/src/crypto/threshold_sig/ni_dkg/errors.rs Remove redundant borrow when formatting internal error.
rs/types/types/src/crypto/threshold_sig/ni_dkg/config.rs Remove redundant borrow in Display formatting.
rs/types/types/src/crypto/threshold_sig/ni_dkg.rs Remove redundant borrows in Display formatting for NI-DKG types.
rs/types/types/src/crypto/error.rs Remove redundant borrows in multiple Display impls / formatting args.
rs/types/types/src/consensus/idkg.rs Remove redundant borrow in Display formatting.
rs/types/management_canister_types/src/lib.rs Remove redundant borrows in Display output for install args structs.
rs/tests/driver/src/driver/logs_stream_task.rs Remove redundant borrows in error-context formatting.
rs/tests/driver/src/driver/farm.rs Remove redundant borrow in request path formatting.
rs/tests/crypto/rpc_csp_vault_reconnection_test.rs Remove redundant borrows in systemd command formatting.
rs/tests/boundary_nodes/integration_test_common/src/lib.rs Adjust formatting arguments for expected byte arrays in failure messages.
rs/test_utilities/execution_environment/src/lib.rs Simplify map iteration using values_mut().
rs/state_manager/src/state_sync/types.rs Simplify Option handling using ? and remove redundant branching.
rs/state_layout/src/state_layout.rs Remove redundant borrows in temp-path formatting.
rs/sns/governance/src/proposal.rs Remove redundant borrows in rendered text formatting.
rs/sns/governance/src/icrc_ledger_helper.rs Remove redundant borrow in error formatting.
rs/sns/governance/src/extensions.rs Remove redundant borrow in string formatting.
rs/sns/cli/src/deploy.rs Remove redundant borrows in printing/formatting and JSON write path.
rs/rust_canisters/canister_test/src/canister.rs Remove redundant borrows in retry/install logging.
rs/rosetta-api/icp/src/request_handler.rs Remove redundant borrow in invalid-address error formatting.
rs/rosetta-api/common/rosetta_core/src/identifiers.rs Remove redundant borrows in conversion error contexts.
rs/replica/bin/replica/main.rs Remove redundant borrows in profiler report logging.
rs/replay/src/player.rs Remove redundant borrows in output/log formatting.
rs/replay/src/backup.rs Remove redundant borrow in invalid-artifact logging.
rs/registry/nns_data_provider/src/registry.rs Remove redundant borrow when formatting agent in error path.
rs/registry/canister/src/mutations/do_add_or_remove_data_centers.rs Remove redundant borrows in logging/panic formatting.
rs/registry/canister/src/invariants/endpoint.rs Remove redundant borrows in invariant error formatting.
rs/registry/admin/bin/main.rs Remove redundant borrows in proposal title/payload printing.
rs/prep/src/internet_computer.rs Simplify map iteration with values_mut() for node operator assignment.
rs/orchestrator/src/catch_up_package_provider.rs Remove redundant borrow in IO error formatting.
rs/nns/test_utils/src/registry.rs Remove redundant borrow in panic message formatting.
rs/nns/test_utils/src/gtc_helpers.rs Remove redundant borrow in seed logging.
rs/nns/governance/src/neuron_data_validation.rs Simplify Option handling with ? for known neuron name extraction.
rs/nns/governance/src/governance.rs Remove redundant borrow in debug-format string creation.
rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs Remove redundant borrows in assert/panic formatting.
rs/interfaces/src/execution_environment/errors.rs Remove redundant borrows in error description formatting.
rs/ic_os/networking/network/src/systemd.rs Remove redundant borrows; simplify IPv6 address formatting.
rs/ic_os/networking/network/src/interfaces.rs Remove redundant borrows in logging.
rs/ic_os/build_tools/dflate/src/main.rs Remove redundant borrow in invalid-path error message.
rs/execution_environment/src/scheduler.rs Simplify Option logic using filter for non-zero resource limit.
rs/execution_environment/src/execution_environment.rs Remove redundant borrows in canister-not-found error formatting.
rs/execution_environment/src/canister_manager/types.rs Remove redundant borrow in error formatting.
rs/ethereum/cketh/minter/src/map.rs Simplify iteration over map keys to avoid unused tuple elements.
rs/embedders/src/wasm_utils/validation.rs Remove redundant borrow in validation error formatting.
rs/crypto/src/vetkd/mod.rs Remove redundant borrow in internal error formatting.
rs/crypto/sha2/src/context/mod.rs Remove redundant borrow in Debug formatting.
rs/crypto/internal/crypto_service_provider/src/vault/remote_csp_vault/tarpc_csp_vault_server.rs Remove redundant borrow in panic formatting.
rs/crypto/internal/crypto_service_provider/src/vault/local_csp_vault/idkg/mod.rs Remove redundant borrows in internal error formatting.
rs/consensus/dkg/src/remote.rs Remove redundant borrow in error formatting.
rs/config/src/crypto.rs Remove redundant borrow in permissions error formatting.
rs/canister_sandbox/src/rpc.rs Simplify map iteration using values().
rs/canister_sandbox/src/replica_controller/sandboxed_execution_controller.rs Simplify Option logic using filter for non-zero resource limit.
rs/canister_client/src/http_client.rs Remove redundant borrow in response formatting.
rs/canister_client/src/cbor.rs Remove redundant borrow in error formatting.
rs/boundary_node/ic_boundary/src/rate_limiting/generic.rs Simplify rule evaluation using ? and if let chains.
rs/bitcoin/ckbtc/minter/src/tx.rs Remove redundant borrow in Display formatting.
rs/bitcoin/ckbtc/minter/src/state/eventlog.rs Remove redundant borrow in error formatting.
rs/bitcoin/ckbtc/minter/src/state.rs Simplify Option logic via filter; remove redundant borrow in panic formatting.
Cargo.toml Bump ethnum dependency version.
Cargo.lock Refresh locked dependency versions/checksums for the upgrade.
Cargo.Bazel.toml.lock Refresh Bazel cargo lock metadata (e.g., ethnum, windows-sys, socket2).
Cargo.Bazel.json.lock Refresh Bazel JSON lock metadata/checksum and crate versions.
bazel/rust.MODULE.bazel Update Bazel crate spec for ethnum to match Cargo.toml.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@basvandijk basvandijk changed the title chore: prepare for the rustc upgrade: 1.95.0 -> 1.97.0 chore: cargo clippy fixes to prepare for the rustc upgrade: 1.95.0 -> 1.97.0 Jul 10, 2026
@basvandijk basvandijk marked this pull request as ready for review July 10, 2026 22:03
@basvandijk basvandijk requested a review from a team as a code owner July 10, 2026 22:03

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This pull request changes code owned by the Governance team. Therefore, make sure that
you have considered the following (for Governance-owned code):

  1. Update unreleased_changelog.md (if there are behavior changes, even if they are
    non-breaking).

  2. Are there BREAKING changes?

  3. Is a data migration needed?

  4. Security review?

How to Satisfy This Automatic Review

  1. Go to the bottom of the pull request page.

  2. Look for where it says this bot is requesting changes.

  3. Click the three dots to the right.

  4. Select "Dismiss review".

  5. In the text entry box, respond to each of the numbered items in the previous
    section, declare one of the following:

  • Done.

  • $REASON_WHY_NO_NEED. E.g. for unreleased_changelog.md, "No
    canister behavior changes.", or for item 2, "Existing APIs
    behave as before.".

Brief Guide to "Externally Visible" Changes

"Externally visible behavior change" is very often due to some NEW canister API.

Changes to EXISTING APIs are more likely to be "breaking".

If these changes are breaking, make sure that clients know how to migrate, how to
maintain their continuity of operations.

If your changes are behind a feature flag, then, do NOT add entrie(s) to
unreleased_changelog.md in this PR! But rather, add entrie(s) later, in the PR
that enables these changes in production.

Reference(s)

For a more comprehensive checklist, see here.

GOVERNANCE_CHECKLIST_REMINDER_DEDUP

@zeropath-ai

zeropath-ai Bot commented Jul 10, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 58eab26.

Security Overview
Detected Code Changes
Change Type Relevant files
Bug Fix ► rs/canister_sandbox/src/rpc.rs
    Replace iter on mut_repr.cells.iter() with iter over values() in flush_with_errors to handle cells correctly
Bug Fix ► rs/execution_environment/src/execution_environment.rs
    Format strings without extraneous reference in CanisterNotFound errors
Bug Fix ► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
    Remove unnecessary reference in assertion messages and values in several places
Bug Fix ► rs/nns/governance/src/neuron_data_validation.rs
    Use known_neuron_data()? to safely access name
Bug Fix ► rs/prep/src/internet_computer.rs
    Iterate over subnets and membership through values() to simplify access
Bug Fix ► rs/registry/admin/bin/main.rs
    Remove unnecessary reference when formatting strings for WASM module hashes and print statements
Bug Fix ► rs/registry/canister/src/invariants/endpoint.rs
    Access endpoint fields directly instead of references in error message
Bug Fix ► rs/registry/canister/src/mutations/do_add_or_remove_data_centers.rs
    Use inline formatting for LOG_PREFIX and payload in log statements; simplify dc.id formatting
Bug Fix ► rs/replay/src/player.rs
    Remove reference in ingress id and bytes formatting for logs
Bug Fix ► rs/state_layout/src/state_layout.rs
    Remove redundant & when formatting checkpoint and backup names, use direct values
Bug Fix ► rs/state_manager/src/state_sync/types.rs
    Simplify StateSyncChunk FileGroup handling by using get() and iterating over indices directly
Bug Fix ► rs/test_utilities/execution_environment/src/lib.rs
    Iterate over paused_subnet_messages via values_mut()
Bug Fix ► rs/interfaces/src/execution_environment/errors.rs
    Use self rather than &self in error message construction
Refactor ► Cargo.toml
    Update ethnum dependency version from 1.3.2 to 1.5.3 and related references in lock files and bazel module
Refactor ► Cargo.lock, Cargo.Bazel.json.lock, Cargo.Bazel.toml.lock, bazel/rust.MODULE.bazel
    Update dependencies versions and checksums for ethnum, socket2, and windows-sys across multiple crates
Enhancement ► rs/canister_client/src/http_client.rs
    Adjust string formatting for parsed_body when is_update_call is false
Enhancement ► rs/consensus/dkg/src/remote.rs
    Format error message without unnecessary reference to dkg_tag
Enhancement ► rs/crypto/sha2/src/context/mod.rs
    Format domain string without reference in Debug implementation
Enhancement ► rs/nns/governance/src/governance.rs
    Fix debug formatting to avoid borrowing issue in SettleNeuronsFundParticipationRequest
Enhancement ► rs/nns/test_utils/src/gtc_helpers.rs
    Print seed by value instead of by reference
Enhancement ► rs/registry/nns_data_provider/src/registry.rs
    Format error string by value for agent in registry_get_value_since error
Enhancement ► rs/rosetta-api/common/rosetta_core/src/identifiers.rs
    Use value.address directly in error context instead of &value.address
Enhancement ► rs/rls other areas (multiple files per diff)

@zeropath-ai

zeropath-ai Bot commented Jul 10, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 58eab26.

Security Overview
Detected Code Changes
Change Type Relevant files
Bug Fix ► rs/canister_sandbox/src/rpc.rs
    Replace iter on mut_repr.cells.iter() with iter over values() in flush_with_errors to handle cells correctly
Bug Fix ► rs/execution_environment/src/execution_environment.rs
    Format strings without extraneous reference in CanisterNotFound errors
Bug Fix ► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
    Remove unnecessary reference in assertion messages and values in several places
Bug Fix ► rs/nns/governance/src/neuron_data_validation.rs
    Use known_neuron_data()? to safely access name
Bug Fix ► rs/prep/src/internet_computer.rs
    Iterate over subnets and membership through values() to simplify access
Bug Fix ► rs/registry/admin/bin/main.rs
    Remove unnecessary reference when formatting strings for WASM module hashes and print statements
Bug Fix ► rs/registry/canister/src/invariants/endpoint.rs
    Access endpoint fields directly instead of references in error message
Bug Fix ► rs/registry/canister/src/mutations/do_add_or_remove_data_centers.rs
    Use inline formatting for LOG_PREFIX and payload in log statements; simplify dc.id formatting
Bug Fix ► rs/replay/src/player.rs
    Remove reference in ingress id and bytes formatting for logs
Bug Fix ► rs/state_layout/src/state_layout.rs
    Remove redundant & when formatting checkpoint and backup names, use direct values
Bug Fix ► rs/state_manager/src/state_sync/types.rs
    Simplify StateSyncChunk FileGroup handling by using get() and iterating over indices directly
Bug Fix ► rs/test_utilities/execution_environment/src/lib.rs
    Iterate over paused_subnet_messages via values_mut()
Bug Fix ► rs/interfaces/src/execution_environment/errors.rs
    Use self rather than &self in error message construction
Refactor ► Cargo.toml
    Update ethnum dependency version from 1.3.2 to 1.5.3 and related references in lock files and bazel module
Refactor ► Cargo.lock, Cargo.Bazel.json.lock, Cargo.Bazel.toml.lock, bazel/rust.MODULE.bazel
    Update dependencies versions and checksums for ethnum, socket2, and windows-sys across multiple crates
Enhancement ► rs/canister_client/src/http_client.rs
    Adjust string formatting for parsed_body when is_update_call is false
Enhancement ► rs/consensus/dkg/src/remote.rs
    Format error message without unnecessary reference to dkg_tag
Enhancement ► rs/crypto/sha2/src/context/mod.rs
    Format domain string without reference in Debug implementation
Enhancement ► rs/nns/governance/src/governance.rs
    Fix debug formatting to avoid borrowing issue in SettleNeuronsFundParticipationRequest
Enhancement ► rs/nns/test_utils/src/gtc_helpers.rs
    Print seed by value instead of by reference
Enhancement ► rs/registry/nns_data_provider/src/registry.rs
    Format error string by value for agent in registry_get_value_since error
Enhancement ► rs/rosetta-api/common/rosetta_core/src/identifiers.rs
    Use value.address directly in error context instead of &value.address
Enhancement ► rs/rls other areas (multiple files per diff)

@zeropath-ai

zeropath-ai Bot commented Jul 10, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 58eab26.

Security Overview
Detected Code Changes
Change Type Relevant files
Refactor ► rs/consensus/dkg/src/remote.rs
     Use direct variable in error message formatting (remove &).
Refactor ► rs/crypto/internal/crypto_service_provider/src/vault/local_csp_vault/idkg/mod.rs
     Use non-reference in string formatting for oldest_public_key.
Refactor ► rs/crypto/internal/crypto_service_provider/src/vault/remote_csp_vault/tarpc_csp_vault_server.rs
     Remove & in self.listener.local_addr() usage.
Refactor ► rs/crypto/sha2/src/context/mod.rs
     Use owned value self.domain in Debug implementation.
Refactor ► rs/execution_environment/src/canister_manager/types.rs
     Remove unnecessary reference in CanisterNotFound message.
Refactor ► rs/execution_environment/src/execution_environment.rs
     Remove reference in CanisterNotFound error message constructions.
Refactor ► rs/execution_environment/src/scheduler.rs
     Replace conditional map/and_then with filter to skip zero delta.
Refactor ► rs/ic_os/build_tools/dflate/src/main.rs
     Use file.display() consistently in error message.
Refactor ► rs/ic_os/networking/network/src/interfaces.rs
     Inline formatting of ip when printing.
Refactor ► rs/ic_os/networking/network/src/systemd.rs
     Format ipv6_address inline; adjust formatting in error message.
Refactor ► rs/interfaces/src/execution_environment/errors.rs
     Format strings using self instead of &self in error descriptions.
Refactor ► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
      Dereference in assertions to use owned values.
Refactor ► rs/replica/bin/replica/main.rs
     Use owned value in debug prints.
Refactor ► rs/replay/src/backup.rs
     Use owned artifact_path in log.
Refactor ► rs/replay/src/player.rs
     Use owned values in debug print for ingress id.
Refactor ► rs/sns/cli/src/deploy.rs
     Use owned values in several println! outputs.
Refactor ► rs/sns/governance/src/extensions.rs
     Format trait object via operation_type without reference.
Refactor ► rs/sns/governance/src/icrc_ledger_helper.rs
     Use value instead of reference in Nat decoding error message.
Refactor ► rs/sns/governance/src/proposal.rs
     Use owned motion_text/current parameters in formatting.
Refactor ► rs/state_layout/src/state_layout.rs
     Use owned checkpoint_name in path construction.
Refactor ► rs/state_manager/src/state_sync/types.rs
     Use ? operator to unwrap chunk_table_indices instead of conditional.
Refactor ► rs/test_utilities/execution_environment/src/lib.rs
     Use values_mut() for paused_subnet_messages iteration.
Refactor ► rs/tests/boundary_nodes/integration_test_common/src/lib.rs
     Formatting unchanged (commented as placeholder).

@zeropath-ai

zeropath-ai Bot commented Jul 10, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 58eab26.

Security Overview
Detected Code Changes
Change Type Relevant files
Refactor ► rs/consensus/dkg/src/remote.rs
     Use direct variable in error message formatting (remove &).
Refactor ► rs/crypto/internal/crypto_service_provider/src/vault/local_csp_vault/idkg/mod.rs
     Use non-reference in string formatting for oldest_public_key.
Refactor ► rs/crypto/internal/crypto_service_provider/src/vault/remote_csp_vault/tarpc_csp_vault_server.rs
     Remove & in self.listener.local_addr() usage.
Refactor ► rs/crypto/sha2/src/context/mod.rs
     Use owned value self.domain in Debug implementation.
Refactor ► rs/execution_environment/src/canister_manager/types.rs
     Remove unnecessary reference in CanisterNotFound message.
Refactor ► rs/execution_environment/src/execution_environment.rs
     Remove reference in CanisterNotFound error message constructions.
Refactor ► rs/execution_environment/src/scheduler.rs
     Replace conditional map/and_then with filter to skip zero delta.
Refactor ► rs/ic_os/build_tools/dflate/src/main.rs
     Use file.display() consistently in error message.
Refactor ► rs/ic_os/networking/network/src/interfaces.rs
     Inline formatting of ip when printing.
Refactor ► rs/ic_os/networking/network/src/systemd.rs
     Format ipv6_address inline; adjust formatting in error message.
Refactor ► rs/interfaces/src/execution_environment/errors.rs
     Format strings using self instead of &self in error descriptions.
Refactor ► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
      Dereference in assertions to use owned values.
Refactor ► rs/replica/bin/replica/main.rs
     Use owned value in debug prints.
Refactor ► rs/replay/src/backup.rs
     Use owned artifact_path in log.
Refactor ► rs/replay/src/player.rs
     Use owned values in debug print for ingress id.
Refactor ► rs/sns/cli/src/deploy.rs
     Use owned values in several println! outputs.
Refactor ► rs/sns/governance/src/extensions.rs
     Format trait object via operation_type without reference.
Refactor ► rs/sns/governance/src/icrc_ledger_helper.rs
     Use value instead of reference in Nat decoding error message.
Refactor ► rs/sns/governance/src/proposal.rs
     Use owned motion_text/current parameters in formatting.
Refactor ► rs/state_layout/src/state_layout.rs
     Use owned checkpoint_name in path construction.
Refactor ► rs/state_manager/src/state_sync/types.rs
     Use ? operator to unwrap chunk_table_indices instead of conditional.
Refactor ► rs/test_utilities/execution_environment/src/lib.rs
     Use values_mut() for paused_subnet_messages iteration.
Refactor ► rs/tests/boundary_nodes/integration_test_common/src/lib.rs
     Formatting unchanged (commented as placeholder).

@zeropath-ai

zeropath-ai Bot commented Jul 10, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 58eab26.

Security Overview
Detected Code Changes
Change Type Relevant files
Bug Fix ► rs/consensus/dkg/src/remote.rs
      Fix formatting in error message for dkg tag
► rs/crypto/internal/crypto_service_provider/src/vault/local_csp_vault/idkg/mod.rs
      Correct formatting of oldest_public_key in error messages
► rs/crypto/internal/crypto_service_provider/src/vault/remote_csp_vault/tarpc_csp_vault_server.rs
      Remove unnecessary reference in error context
► rs/canister_client/src/cbor.rs
      Use value directly in error message
► rs/canister_client/src/http_client.rs
      Use value when formatting parsed_body in readable_response
► rs/canister_sandbox/src/replica_controller/sandboxed_execution_controller.rs
      Replace and_then with filter for non-zero delta
► rs/interfaces/src/execution_environment/errors.rs
      Format error string without borrowing for canister_id in several places
► rs/nns/governance/src/governance.rs
      Use moved request in debug formatting
► rs/replay/src/player.rs
      Use moved ingress id in log output
► rs/registry/admin/bin/main.rs
      Use moved value in various string interpolations
► rs/registry/canister/src/invariants/endpoint.rs
      Use value directly in error message construction
► rs/registry/canister/src/mutations/do_add_or_remove_data_centers.rs
      Inline payload printing to avoid borrowing in log statements
► rs/registry/nns_data_provider/src/registry.rs
      Use moved agent in error message construction
► rs/replay/src/backup.rs
      Use moved artifact_path in log statement
► rs/replay/src/player.rs
      Use moved msg.ingress.id() in log output
► rs/rosetta-api/common/rosetta_core/src/identifiers.rs
      Use moved value.address in error formatting
► rs/rosetta-api/icp/src/request_handler.rs
      Use moved address in error formatting
► rs/sns/governance/src/extensions.rs
      Use moved operation_type in name formatting
► rs/sns/governance/src/icrc_ledger_helper.rs
      Use moved value in error message construction
► rs/sns/governance/src/proposal.rs
      Use moved motion_text/new_parameters in string interpolation
► rs/state_layout/src/state_layout.rs
      Use moved checkpoint_name in path construction
► rs/state_manager/src/state_sync/types.rs
      Use moved index in loop over chunk tables
► rs/test_utilities/execution_environment/src/lib.rs
      Use moved paused_subnet_message reference in loop
► rs/registry/canister/src/invariants/endpoint.rs
      Use endpoint.ip_addr/endpoint.port directly in message
► rs/registry/canister/src/mutations/do_add_or_remove_data_centers.rs
      Use moved payload in log and error messages
► rs/prep/src/internet_computer.rs
      Iterate over subnets/membership by value references
► rs/registry/admin/bin/main.rs
      Use moved wasm_module_sha256 in formatting
► rs/registry/admin/bin/main.rs
      Use moved wasm_module_sha256 in formatting
► rs/sns/cli/src/deploy.rs
      Use moved sns_canister_ids and output formatting
► rs/sns/governance/src/extensions.rs
      Use moved operation_type in name() formatting
► rs/embedders/src/wasm_utils/validation.rs
      Use moved module.types.types value in error message
► rs/consensus/dkg/src/remote.rs
      Format string using dkg_tag directly
► rs/crypto/sha2/src/context/mod.rs
      Use moved domain string in Debug implementation
► rs/ic_os/networking/network/src/interfaces.rs
      Format ip address inline in log statement
► rs/ic_os/networking/network/src/systemd.rs
      Format interface name and connectivity error with inline values
► rs/execution_environment/src/canister_manager/types.rs
      Use moved canister_id in error message formatting
► rs/execution_environment/src/execution_environment.rs
      Use moved canister_id in error message formatting
► rs/execution_environment/src/scheduler.rs
      Use filter to replace and_then for non-zero delta
► rs/ic_os/build_tools/dflate/src/main.rs
      Use moved file display value in error message
► rs/consensus/dkg/src/remote.rs
      Format string with dkg_id.dkg_tag without borrow
► rs/ethereum/cketh/minter/src/map.rs
      Iterate keys() instead of by_key.iter() to collect removals
► rs/embedders/src/wasm_utils/validation.rs
      Use moved payload in log statements
► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
      Use moved from/spender in assert messages
► rs/nns/governance/src/neuron_data_validation.rs
      Use known_neuron_data()? to access name
► rs/nns/test_utils/src/gtc_helpers.rs
      Use moved seed in println
► rs/orchestrator/src/catch_up_package_provider.rs
      Use moved cup_file_path in error format
► rs/prep/src/internet_computer.rs
      Use moved node_operator_principal_id in iteration
► rs/replay/src/player.rs
      Use moved ingress id() in log output
► rs/rosetta-api/icp/src/request_handler.rs
      Use moved address in error formatting
► rs/rust_canisters/canister_test/src/canister.rs
      Use moved error strings in logs
► rs/registry/admin/bin/main.rs
      Use moved canister_id and wasm_module_sha256 in titles
► rs/registry/admin/bin/main.rs
      Use moved wasm_module_sha256 in formatting
► rs/registry/nns_data_provider/src/registry.rs
      Use moved agent in error message
► rs/rs/sns/governance/src/icrc_ledger_helper.rs
      Use moved value in Nat decode error

@zeropath-ai

zeropath-ai Bot commented Jul 10, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 58eab26.

Security Overview
Detected Code Changes
Change Type Relevant files
Bug Fix ► rs/consensus/dkg/src/remote.rs
      Fix formatting in error message for dkg tag
► rs/crypto/internal/crypto_service_provider/src/vault/local_csp_vault/idkg/mod.rs
      Correct formatting of oldest_public_key in error messages
► rs/crypto/internal/crypto_service_provider/src/vault/remote_csp_vault/tarpc_csp_vault_server.rs
      Remove unnecessary reference in error context
► rs/canister_client/src/cbor.rs
      Use value directly in error message
► rs/canister_client/src/http_client.rs
      Use value when formatting parsed_body in readable_response
► rs/canister_sandbox/src/replica_controller/sandboxed_execution_controller.rs
      Replace and_then with filter for non-zero delta
► rs/interfaces/src/execution_environment/errors.rs
      Format error string without borrowing for canister_id in several places
► rs/nns/governance/src/governance.rs
      Use moved request in debug formatting
► rs/replay/src/player.rs
      Use moved ingress id in log output
► rs/registry/admin/bin/main.rs
      Use moved value in various string interpolations
► rs/registry/canister/src/invariants/endpoint.rs
      Use value directly in error message construction
► rs/registry/canister/src/mutations/do_add_or_remove_data_centers.rs
      Inline payload printing to avoid borrowing in log statements
► rs/registry/nns_data_provider/src/registry.rs
      Use moved agent in error message construction
► rs/replay/src/backup.rs
      Use moved artifact_path in log statement
► rs/replay/src/player.rs
      Use moved msg.ingress.id() in log output
► rs/rosetta-api/common/rosetta_core/src/identifiers.rs
      Use moved value.address in error formatting
► rs/rosetta-api/icp/src/request_handler.rs
      Use moved address in error formatting
► rs/sns/governance/src/extensions.rs
      Use moved operation_type in name formatting
► rs/sns/governance/src/icrc_ledger_helper.rs
      Use moved value in error message construction
► rs/sns/governance/src/proposal.rs
      Use moved motion_text/new_parameters in string interpolation
► rs/state_layout/src/state_layout.rs
      Use moved checkpoint_name in path construction
► rs/state_manager/src/state_sync/types.rs
      Use moved index in loop over chunk tables
► rs/test_utilities/execution_environment/src/lib.rs
      Use moved paused_subnet_message reference in loop
► rs/registry/canister/src/invariants/endpoint.rs
      Use endpoint.ip_addr/endpoint.port directly in message
► rs/registry/canister/src/mutations/do_add_or_remove_data_centers.rs
      Use moved payload in log and error messages
► rs/prep/src/internet_computer.rs
      Iterate over subnets/membership by value references
► rs/registry/admin/bin/main.rs
      Use moved wasm_module_sha256 in formatting
► rs/registry/admin/bin/main.rs
      Use moved wasm_module_sha256 in formatting
► rs/sns/cli/src/deploy.rs
      Use moved sns_canister_ids and output formatting
► rs/sns/governance/src/extensions.rs
      Use moved operation_type in name() formatting
► rs/embedders/src/wasm_utils/validation.rs
      Use moved module.types.types value in error message
► rs/consensus/dkg/src/remote.rs
      Format string using dkg_tag directly
► rs/crypto/sha2/src/context/mod.rs
      Use moved domain string in Debug implementation
► rs/ic_os/networking/network/src/interfaces.rs
      Format ip address inline in log statement
► rs/ic_os/networking/network/src/systemd.rs
      Format interface name and connectivity error with inline values
► rs/execution_environment/src/canister_manager/types.rs
      Use moved canister_id in error message formatting
► rs/execution_environment/src/execution_environment.rs
      Use moved canister_id in error message formatting
► rs/execution_environment/src/scheduler.rs
      Use filter to replace and_then for non-zero delta
► rs/ic_os/build_tools/dflate/src/main.rs
      Use moved file display value in error message
► rs/consensus/dkg/src/remote.rs
      Format string with dkg_id.dkg_tag without borrow
► rs/ethereum/cketh/minter/src/map.rs
      Iterate keys() instead of by_key.iter() to collect removals
► rs/embedders/src/wasm_utils/validation.rs
      Use moved payload in log statements
► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
      Use moved from/spender in assert messages
► rs/nns/governance/src/neuron_data_validation.rs
      Use known_neuron_data()? to access name
► rs/nns/test_utils/src/gtc_helpers.rs
      Use moved seed in println
► rs/orchestrator/src/catch_up_package_provider.rs
      Use moved cup_file_path in error format
► rs/prep/src/internet_computer.rs
      Use moved node_operator_principal_id in iteration
► rs/replay/src/player.rs
      Use moved ingress id() in log output
► rs/rosetta-api/icp/src/request_handler.rs
      Use moved address in error formatting
► rs/rust_canisters/canister_test/src/canister.rs
      Use moved error strings in logs
► rs/registry/admin/bin/main.rs
      Use moved canister_id and wasm_module_sha256 in titles
► rs/registry/admin/bin/main.rs
      Use moved wasm_module_sha256 in formatting
► rs/registry/nns_data_provider/src/registry.rs
      Use moved agent in error message
► rs/rs/sns/governance/src/icrc_ledger_helper.rs
      Use moved value in Nat decode error

@basvandijk basvandijk dismissed github-actions[bot]’s stale review July 10, 2026 22:06

No canister behavioural changes. Just small refactors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants