Skip to content

Upgrade to Rust's 2024 edition#498

Merged
dvdplm merged 12 commits intomainfrom
dvdplm/chore/update-to-edition-2024
Apr 2, 2026
Merged

Upgrade to Rust's 2024 edition#498
dvdplm merged 12 commits intomainfrom
dvdplm/chore/update-to-edition-2024

Conversation

@dvdplm
Copy link
Copy Markdown
Contributor

@dvdplm dvdplm commented Mar 31, 2026

Noisy PR, but it all breaks down to a few changes repeated all over:

  • gen is a keyword now, so the rand crate's .gen() method has to be called with .r#gen() which is fugly but will likely go away when upgrading; same for much other grpc related code. We had one struct member named gen which I renamed generator. Example here
  • if let Some(x) = y { if x > z { … … } } is a pretty common pattern but in ed2024 we can do if let Some(x) = y && x > z { … … } instead, avoiding the nested if. Noisy change, but nicer. Example here
  • The only tricky change concerned the changed life time capturing rules for impl Trait. I had great help from the AI on this one because it was a bit of a head scratcher. See here.
  • When matching we sometimes want to avoid moving the matched values, so we use match Some(ref x) or match Some(ref mut x). This is no longer needed and Rust figures out on its own what we want. Example here.
  • std::env::set_var is now unsafe. We set a lot of env-vars, so now we have a lot of unsafe code... Example here.
  • Finally it seems like the formatting rules changed so cargo fmt --all was applied in 81dfe1c – reviewers might want to review this PR commit by commit to avoid eye bleed.

@dvdplm dvdplm requested a review from a team as a code owner March 31, 2026 20:04
@cla-bot cla-bot bot added the cla-signed The CLA has been signed. label Mar 31, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 31, 2026

Consolidated Tests Results 2026-04-02 - 21:49:14

Test Results

passed 578 passed

Details

tests 578 tests
clock not captured
tool junit-to-ctrf
build main arrow-right test-reporter link #3739
pull-request Upgrade to Rust's 2024 edition link #498

test-reporter: Run #3739

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
578 578 0 0 0 0 0 not captured

🎉 All tests passed!

Tests

View All Tests
Test Name Status Flaky Duration
tests::test_parse_hex 7ms
tests::test_parse_previous_key_info 8ms
tests::test_invalid_hex 10ms
tests::test_core_client_config 10ms
crsgen::tests::test_eip712_sigs 1.2s
test_centralized_insecure_compressed_keygen 1.5s
test_centralized_custodian_backup 2.0s
test_threshold_insecure_compressed_keygen 2.7s
test_threshold_custodian_backup 3.8s
test_threshold_mpc_context_switch 3.9s
test_centralized_restore_from_backup 5.6s
test_centralized_crsgen_secure 7.5s
test_threshold_restore_from_backup 7.9s
test_centralized_insecure 49.1s
test_threshold_mpc_context_init 15m 59s
test_threshold_reshare 16m 27s
test_threshold_concurrent_preproc_keygen 18m 35s
nightly_tests_threshold_sequential_preproc_keygen 30m 33s
test_threshold_compressed_preproc_keygen 30m 48s
test_threshold_mpc_context_switch_6 38m 42s
test_threshold_insecure 42m 35s
nightly_full_gen_tests_default_threshold_sequential_crs 3m
nightly_tests_threshold_sequential_crs 2m 37s
test_threshold_concurrent_crs 37.3s
nightly_full_gen_tests_default_threshold_sequential_crs 22m 46s
nightly_tests_threshold_sequential_crs 3m 6s
nightly_tests_threshold_sequential_preproc_keygen 18m 49s
test_centralized_crsgen_secure 54.0s
test_centralized_custodian_backup 53.6s
test_centralized_insecure 5m 9s
test_centralized_insecure_compressed_keygen 10m 53s
test_centralized_restore_from_backup 53.4s
test_threshold_compressed_keygen_from_existing 12m 36s
test_threshold_compressed_preproc_keygen 12m 35s
test_threshold_concurrent_crs 2m 8s
test_threshold_concurrent_preproc_keygen 8m 10s
test_threshold_custodian_backup 1m 13s
test_threshold_insecure 7m 42s
test_threshold_insecure_compressed_keygen 9m 37s
test_threshold_mpc_context_init 6m 42s
test_threshold_mpc_context_switch 57.4s
test_threshold_mpc_context_switch_6 6m 48s
test_threshold_reshare 7m 17s
test_threshold_restore_from_backup 55.9s
test_threshold_custodian_backup 946ms
test_threshold_insecure_compressed_keygen 1.1s
test_threshold_restore_from_backup 1.2s
test_threshold_mpc_context_switch 1.6s
test_threshold_mpc_context_init 8m 9s
test_threshold_reshare 8m 17s
test_threshold_concurrent_preproc_keygen 13m 1s
test_threshold_compressed_preproc_keygen 17m 1s
test_threshold_insecure 19m 55s
test_threshold_mpc_context_switch_6 22m 31s
test_threshold_compressed_keygen_from_existing 28m 51s
test_threshold_compressed_preproc_keygen 11m 21s
test_threshold_concurrent_crs 1m 34s
test_threshold_concurrent_preproc_keygen 7m 40s
test_threshold_custodian_backup 1m 1s
test_threshold_insecure 6m 18s
test_threshold_insecure_compressed_keygen 8m
test_threshold_mpc_context_init 5m 54s
test_threshold_mpc_context_switch 57.8s
test_threshold_mpc_context_switch_6 5m 55s
test_threshold_reshare 6m 22s
test_threshold_restore_from_backup 56.2s
client::tests::threshold::user_decryption_tests::default_user_decryption_threshold::case_1::secure_1_true 8m 38s
client::tests::threshold::user_decryption_tests::default_user_decryption_threshold::case_2::secure_1_true 33.8s
client::tests::threshold::user_decryption_tests::default_user_decryption_threshold_precompute_sns::case_1::secure_1_true 33.0s
client::tests::threshold::user_decryption_tests::default_user_decryption_threshold_with_crash::case_1::secure_1_true 33.4s
client::tests::threshold::user_decryption_tests::default_user_decryption_threshold_with_crash::case_1::secure_2_false 33.5s
test_centralized_insecure_compressed_keygen 895ms
test_centralized_custodian_backup 1.2s
test_centralized_crsgen_secure 1.5s
test_centralized_restore_from_backup 1.6s
test_centralized_insecure 42.1s
test_centralized_crsgen_secure 14m 6s
test_centralized_custodian_backup 54.2s
test_centralized_insecure 4m 22s
test_centralized_insecure_compressed_keygen 10m 2s
test_centralized_restore_from_backup 1m 6s
backup::custodian::tests::internal_custodian_context_duplicate_role_should_fail 6ms
backup::custodian::tests::internal_custodian_context_role_greater_than_nodes_should_fail 6ms
backup::custodian::tests::internal_custodian_context_zero_role_should_fail 6ms
backup::custodian::tests::invalid_threshold_should_fail 5ms
backup::operator::tests::operator_new_fails_with_bad_n_t 5ms
backup::operator::tests::operator_new_fails_with_duplicate_roles 5ms
backup::operator::tests::operator_new_fails_with_insufficient_messages 5ms
backup::operator::tests::operator_new_fails_with_invalid_header 5ms
backup::operator::tests::operator_new_fails_with_invalid_role 5ms
backup::operator::tests::operator_new_fails_with_invalid_timestamp_future 5ms
backup::operator::tests::operator_new_fails_with_invalid_timestamp_past 5ms
backup::operator::tests::operator_new_fails_with_not_enough 5ms
backup::operator::tests::operator_new_fails_with_zero_n 5ms
backup::operator::tests::operator_new_fails_with_zero_t 5ms
backup::operator::tests::operator_timestamp_validation 5ms
backup::operator::tests::validate_recovery_validation_material 6ms
backup::secretsharing::pkcs7::tests::padding_sunshine 6ms
backup::secretsharing::pkcs7::tests::padding_wrong_data 5ms
backup::secretsharing::tests::sharing_missing_shares 111ms
backup::secretsharing::tests::sharing_no_error 176ms
backup::secretsharing::tests::sharing_randomness_test 17.2s
backup::secretsharing::tests::sharing_too_many_missing_shares 14ms
backup::secretsharing::tests::sharing_wrong_params 6ms
backup::secretsharing::tests::sharing_wrong_shares 15ms
backup::seed_phrase::tests::difference 5ms
backup::seed_phrase::tests::mnemonic_robustness 6ms
backup::seed_phrase::tests::sunshine 6ms
backup::tests::custodian_reencrypt 10ms
backup::tests::full_flow::case_1 54ms
backup::tests::full_flow::case_2 36ms
backup::tests::full_flow::case_3 100ms
backup::tests::full_flow_drop_msg 42ms
backup::tests::full_flow_malicious_custodian_init 12ms
backup::tests::full_flow_malicious_custodian_not_enough 140ms
backup::tests::full_flow_malicious_custodian_second 75ms
backup::tests::full_flow_malicious_operator 38ms
backup::tests::operator_setup 9ms
client::crs_gen::tests::process_distributed_crs_result_invalid_signature_does_not_insert_key 10.2s
client::crs_gen::tests::verify_pp_with_tfhers 17.3s
client::tests::centralized::crs_gen_tests::test_crs_gen_centralized 11.2s
client::tests::centralized::crs_gen_tests::test_crs_gen_manual 2.0s
client::tests::centralized::crs_gen_tests::test_insecure_crs_gen_centralized 8.8s
client::tests::centralized::custodian_backup_tests::test_auto_update_backups_central 4.2s
client::tests::centralized::custodian_backup_tests::test_backup_after_crs_central 11.8s
client::tests::centralized::custodian_backup_tests::test_decrypt_after_recovery_central 5.4s
client::tests::centralized::custodian_backup_tests::test_decrypt_after_recovery_centralized_negative 3.9s
client::tests::centralized::custodian_context_tests::test_new_custodian_context_central 3.6s
client::tests::centralized::key_gen_tests::test_decompression_key_gen_centralized 2m 3s
client::tests::centralized::key_gen_tests::test_key_gen_centralized 12.9s
client::tests::centralized::misc_tests::test_central_close_after_drop 11.7s
client::tests::centralized::misc_tests::test_central_health_endpoint_availability 11.7s
client::tests::centralized::misc_tests_isolated::test_central_close_after_drop_isolated 309ms
client::tests::centralized::misc_tests_isolated::test_central_health_endpoint_availability_isolated 777ms
client::tests::centralized::public_decryption_tests::test_decryption_central 12.8s
client::tests::centralized::public_decryption_tests::test_decryption_central_no_decompression 12.8s
client::tests::centralized::public_decryption_tests::test_decryption_central_precompute_sns 12.8s
client::tests::centralized::restore_from_backup_tests_isolated::test_insecure_central_autobackup_after_deletion_isolated 1.5s
client::tests::centralized::restore_from_backup_tests_isolated::test_insecure_central_dkg_backup_isolated 1.6s
client::tests::centralized::user_decryption_tests::test_user_decryption_centralized::secure_1_true 12.8s
client::tests::centralized::user_decryption_tests::test_user_decryption_centralized::secure_2_false 12.8s
client::tests::centralized::user_decryption_tests::test_user_decryption_centralized_precompute_sns::secure_1_true::compression_1_true 12.8s
client::tests::centralized::user_decryption_tests::test_user_decryption_centralized_precompute_sns::secure_1_true::compression_2_false 12.8s
client::tests::centralized::user_decryption_tests::test_user_decryption_centralized_precompute_sns::secure_2_false::compression_1_true 12.8s
client::tests::centralized::user_decryption_tests::test_user_decryption_centralized_precompute_sns::secure_2_false::compression_2_false 12.8s
client::tests::centralized::user_decryption_tests::test_user_decryption_centralized_precompute_sns_legacy::secure_1_true::compression_1_true 12.8s
client::tests::centralized::user_decryption_tests::test_user_decryption_centralized_precompute_sns_legacy::secure_1_true::compression_2_false 12.8s
client::tests::centralized::user_decryption_tests::test_user_decryption_centralized_precompute_sns_legacy::secure_2_false::compression_1_true 12.8s
client::tests::centralized::user_decryption_tests::test_user_decryption_centralized_precompute_sns_legacy::secure_2_false::compression_2_false 12.8s
client::tests::common::num_blocks_sunshine 6ms
client::tests::testing_infra_tests::test_centralized_material_validation 6ms
client::tests::testing_infra_tests::test_threshold_material_validation 6ms
client::tests::testing_infra_tests::tests::test_material_spec_creation 5ms
client::tests::testing_infra_tests::tests::test_material_spec_serialization 5ms
client::tests::threshold::crs_gen_tests::test_insecure_crs_gen_threshold 36.1s
client::tests::threshold::custodian_backup_tests::test_auto_update_backups_threshold::case_1 5.3s
client::tests::threshold::custodian_backup_tests::test_auto_update_backups_threshold::case_2 5.3s
client::tests::threshold::custodian_backup_tests::test_backup_after_crs_threshold::case_1 44.4s
client::tests::threshold::custodian_backup_tests::test_backup_after_crs_threshold::case_2 46.3s
client::tests::threshold::custodian_backup_tests::test_decrypt_after_recovery_threshold::case_1 11.3s
client::tests::threshold::custodian_backup_tests::test_decrypt_after_recovery_threshold::case_2 11.2s
client::tests::threshold::custodian_backup_tests::test_decrypt_after_recovery_threshold_negative 4.6s
client::tests::threshold::custodian_context_tests::test_new_custodian_context_threshold::case_1 7.2s
client::tests::threshold::custodian_context_tests::test_new_custodian_context_threshold::case_2 7.2s
client::tests::threshold::key_gen_tests::default_insecure_dkg::case_1 2m 13s
client::tests::threshold::key_gen_tests::test_insecure_compressed_dkg::case_1 10.1s
client::tests::threshold::key_gen_tests::test_insecure_dkg::case_1 10.2s
client::tests::threshold::key_gen_tests_isolated::test_insecure_dkg_isolated 5.3s
client::tests::threshold::misc_tests::test_threshold_close_after_drop 9.4s
client::tests::threshold::misc_tests::test_threshold_health_endpoint_availability 13.6s
client::tests::threshold::misc_tests::test_threshold_shutdown 10.3s
client::tests::threshold::misc_tests_isolated::test_threshold_close_after_drop_isolated 987ms
client::tests::threshold::misc_tests_isolated::test_threshold_health_endpoint_availability_isolated 4.6s
client::tests::threshold::misc_tests_isolated::test_threshold_shutdown_isolated 1.8s
client::tests::threshold::mpc_context_tests::test_context_switch_4p 13.5s
client::tests::threshold::public_decryption_tests::test_decryption_threshold::case_1 15.8s
client::tests::threshold::public_decryption_tests::test_decryption_threshold::case_2 15.6s
client::tests::threshold::public_decryption_tests::test_decryption_threshold::case_3 15.6s
client::tests::threshold::public_decryption_tests::test_decryption_threshold_no_decompression::case_1 12.7s
client::tests::threshold::public_decryption_tests::test_decryption_threshold_no_decompression::case_2 12.4s
client::tests::threshold::public_decryption_tests::test_decryption_threshold_no_decompression::case_3 12.4s
client::tests::threshold::public_decryption_tests::test_decryption_threshold_precompute_sns::case_1::compression_1_true 15.6s
client::tests::threshold::public_decryption_tests::test_decryption_threshold_precompute_sns::case_1::compression_2_false 15.6s
client::tests::threshold::restore_from_backup_tests_isolated::nightly_test_insecure_threshold_autobackup_after_deletion_isolated 5.0s
client::tests::threshold::restore_from_backup_tests_isolated::nightly_test_insecure_threshold_dkg_backup_isolated 13.2s
client::tests::threshold::restore_from_backup_tests_isolated::test_insecure_threshold_crs_backup_isolated 17.6s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold::case_1 9.3s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold::case_2 10.0s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold::case_3 12.4s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold::case_4 12.3s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold::case_5 15.5s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold::case_6 14.1s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold::case_7 13.5s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold_all_malicious_failure 10.9s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold_malicious::case_1 12.3s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold_malicious::case_2 12.3s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold_malicious_failure 12.5s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold_precompute_sns::case_1 12.4s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold_precompute_sns::case_2 12.4s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold_precompute_sns_legacy::case_1 12.3s
client::tests::threshold::user_decryption_tests::test_user_decryption_threshold_precompute_sns_legacy::case_2 12.4s
conf::tests::test_centralized_config 7ms
conf::tests::test_threshold_config 6ms
conf::tests::test_threshold_config_negative 6ms
conf::threshold::test_pem_serialization 5ms
cryptography::decompression::test::test_1024b 3.8s
cryptography::decompression::test::test_128b 1.9s
cryptography::decompression::test::test_16b 1.8s
cryptography::decompression::test::test_2048b 5.8s
cryptography::decompression::test::test_256b 2.2s
cryptography::decompression::test::test_32b 1.8s
cryptography::decompression::test::test_4b 1.8s
cryptography::decompression::test::test_512b 2.7s
cryptography::decompression::test::test_64b 1.9s
cryptography::decompression::test::test_8b 1.8s
cryptography::decompression::test::test_bad_ciphertext 1.5s
cryptography::decompression::test::test_bad_fhe_type 1.8s
cryptography::decompression::test::test_bool 1.9s
cryptography::decompression::test::test_full_chain_client_copro_kms_uint8::case_1 37ms
cryptography::decompression::test::test_full_chain_client_copro_kms_uint8::case_2 2.0s
cryptography::decompression::test::test_tolerate_non_compressed 626ms
cryptography::encryption::tests::nested_pke_sunshine 7ms
cryptography::encryption::tests::pke_wrong_ct_enc 6ms
cryptography::encryption::tests::pke_wrong_kem_key 6ms
cryptography::hybrid_ml_kem::tests::pke_sunshine 61ms
cryptography::hybrid_ml_kem::tests::pke_wrong_ct_hybrid 56ms
cryptography::hybrid_ml_kem::tests::pke_wrong_kem 56ms
cryptography::hybrid_ml_kem::tests::pke_wrong_key 68ms
cryptography::hybrid_ml_kem::tests::pke_wrong_nonce 55ms
cryptography::hybrid_ml_kem::tests::test_pke_serialize_size 7ms
cryptography::hybrid_ml_kem::tests::validate_consistent_cipher_encoding 6ms
cryptography::signatures::tests::bad_dsep 6ms
cryptography::signatures::tests::bad_signature 6ms
cryptography::signatures::tests::plain_signing 6ms
cryptography::signatures::tests::regression_consistent_enc 6ms
cryptography::signatures::tests::sunshine_verf_key_legacy_serialization 6ms
cryptography::signatures::tests::unnormalized_signature 6ms
cryptography::signatures::tests::validate_zeroize_signing_key 6ms
cryptography::signcryption::tests::bad_signcryption 8ms
cryptography::signcryption::tests::incorrect_server_verf_key 6ms
cryptography::signcryption::tests::signcryption_with_bad_link 7ms
cryptography::signcryption::tests::sunshine 7ms
cryptography::signcryption::tests::sunshine_encoding_decoding 7ms
cryptography::signcryption::tests::test_signcryption_payload_v0_serialization_locked 6ms
engine::backup_operator::tests::test_filter_custodian_data_invalid_custodian_role 7ms
engine::backup_operator::tests::test_filter_custodian_data_invalid_operator_role 7ms
engine::backup_operator::tests::test_filter_custodian_data_invalid_signature 7ms
engine::backup_operator::tests::test_filter_custodian_data_missing_verification_key 7ms
engine::backup_operator::tests::test_filter_custodian_missing_cus_output 7ms
engine::backup_operator::tests::test_update_backup_vault 6ms
engine::backup_operator::tests::test_update_backup_vault_with_overwrite 6ms
engine::backup_operator::tests::test_update_backup_vault_without_overwrite 6ms
engine::backup_operator::tests::test_update_epoch_backup_vault 6ms
engine::backup_operator::tests::test_update_epoch_backup_vault_with_overwrite 6ms
engine::backup_operator::tests::test_update_epoch_backup_vault_without_overwrite 6ms
engine::base::tests::sunshine_plaintext_as_u256 5ms
engine::base::tests::test_abi_encoding_fhevm_ebytes 5ms
engine::base::tests::test_compute_external_signature_preproc 7ms
engine::base::tests::test_compute_info_crs 942ms
engine::base::tests::test_compute_info_standard_keygen 148ms
engine::base::tests::test_compute_pt_message_hash 7ms
engine::base::tests::test_deserialize_ciphertext_missing_decompression_key 106ms
engine::base::tests::test_deserialize_ciphertext_wrong_ct_format 101ms
engine::base::tests::test_deserialize_ciphertext_wrong_type 100ms
engine::centralized::central_kms::tests::decrypt_with_bad_client_key 302ms
engine::centralized::central_kms::tests::multiple_test_keys_access 41ms
engine::centralized::central_kms::tests::multiple_test_keys_decrypt 127ms
engine::centralized::central_kms::tests::multiple_test_keys_user_decrypt 128ms
engine::centralized::central_kms::tests::sanity_check_sns_compression_test_params 68ms
engine::centralized::central_kms::tests::sunshine_test_decrypt 126ms
engine::centralized::central_kms::tests::sunshine_test_user_decrypt 128ms
engine::centralized::central_kms::tests::test_gen_keys 27.2s
engine::centralized::central_kms::tests::test_generate_compressed_fhe_keys 168ms
engine::centralized::central_kms::tests::user_decrypt_with_bad_client_key 138ms
engine::centralized::central_kms::tests::user_decrypt_with_bad_ephemeral_key 131ms
engine::centralized::central_kms::tests::user_decrypt_with_bad_sig_key 131ms
engine::centralized::service::crs_gen::tests::already_exists 8ms
engine::centralized::service::crs_gen::tests::default_epoch_id 774ms
engine::centralized::service::crs_gen::tests::invalid_argument 8ms
engine::centralized::service::crs_gen::tests::not_found 7ms
engine::centralized::service::crs_gen::tests::resource_exhausted 7ms
engine::centralized::service::crs_gen::tests::sunshine 771ms
engine::centralized::service::decryption::test_user_decryption::already_exists 122ms
engine::centralized::service::decryption::test_user_decryption::invalid_argument 122ms
engine::centralized::service::decryption::test_user_decryption::not_found 125ms
engine::centralized::service::decryption::test_user_decryption::resource_exhausted 126ms
engine::centralized::service::decryption::test_user_decryption::sunshine 126ms
engine::centralized::service::decryption::tests_public_decryption::already_exists 127ms
engine::centralized::service::decryption::tests_public_decryption::invalid_argument 124ms
engine::centralized::service::decryption::tests_public_decryption::not_found 123ms
engine::centralized::service::decryption::tests_public_decryption::resource_exhausted 129ms
engine::centralized::service::decryption::tests_public_decryption::sunshine 125ms
engine::centralized::service::initiator::tests::already_exists 8ms
engine::centralized::service::initiator::tests::invalid_argument 8ms
engine::centralized::service::initiator::tests::sunshine 7ms
engine::centralized::service::key_gen::tests::already_exists 114ms
engine::centralized::service::key_gen::tests::invalid_argument 9ms
engine::centralized::service::key_gen::tests::not_found 114ms
engine::centralized::service::key_gen::tests::resource_exhausted 9ms
engine::centralized::service::key_gen::tests::sunshine 114ms
engine::centralized::service::preprocessing::tests::already_exists 9ms
engine::centralized::service::preprocessing::tests::invalid_argument 8ms
engine::centralized::service::preprocessing::tests::not_found 7ms
engine::centralized::service::preprocessing::tests::resource_exhausted 7ms
engine::centralized::service::preprocessing::tests::sunshine 8ms
engine::context::tests::parse_software_semantic_version 5ms
engine::context::tests::test_context_info_duplicate_party_ids 6ms
engine::context::tests::test_software_version_display 5ms
engine::context::tests::test_software_version_equality 5ms
engine::context::tests::test_software_version_major_comparison 5ms
engine::context::tests::test_software_version_minor_comparison 5ms
engine::context::tests::test_software_version_no_tag 5ms
engine::context::tests::test_software_version_patch_comparison 5ms
engine::context::tests::test_software_version_unordered_tag 5ms
engine::context_manager::tests::test_centralized_context_cache 7ms
engine::context_manager::tests::test_centralized_context_exists_and_consistent 6ms
engine::context_manager::tests::test_centralized_multiple_contexts 7ms
engine::context_manager::tests::test_custodian_context 14ms
engine::context_manager::tests::test_gen_recovery_request_payloads 9ms
engine::context_manager::tests::test_kms_context 7ms
engine::context_manager::tests::test_kms_context_load_from_storage 7ms
engine::context_manager::tests::test_kms_context_load_multiple_from_storage 8ms
engine::context_manager::tests::test_kms_context_load_multiple_from_storage_with_error 8ms
engine::context_manager::tests::test_load_mpc_context_without_signing_key 7ms
engine::keyset_configuration::tests::test_internal_keyset_config_decompression_only_missing_added_info 5ms
engine::keyset_configuration::tests::test_internal_keyset_config_decompression_only_with_added_info_missing_ids 5ms
engine::keyset_configuration::tests::test_internal_keyset_config_decompression_only_with_added_info_with_ids 5ms
engine::keyset_configuration::tests::test_internal_keyset_config_none_defaults_to_standard 5ms
engine::keyset_configuration::tests::test_internal_keyset_config_standard_default 5ms
engine::keyset_configuration::tests::test_internal_keyset_config_standard_use_existing_missing_added_info 5ms
engine::keyset_configuration::tests::test_internal_keyset_config_standard_use_existing_with_added_info_missing_ids 5ms
engine::keyset_configuration::tests::test_internal_keyset_config_standard_use_existing_with_added_info_with_ids 5ms
engine::keyset_configuration::tests::test_new_decompression_only_unparseable_from_id 5ms
engine::keyset_configuration::tests::test_new_decompression_only_unparseable_to_id 5ms
engine::keyset_configuration::tests::test_new_use_existing_unparseable_epoch_id 5ms
engine::migration::tests::test_0_13_x_to_0_13_10_centralized_file 7ms
engine::migration::tests::test_0_13_x_to_0_13_10_centralized_ram 6ms
engine::migration::tests::test_0_13_x_to_0_13_10_idempotent_file 7ms
engine::migration::tests::test_0_13_x_to_0_13_10_idempotent_ram 6ms
engine::migration::tests::test_0_13_x_to_0_13_10_no_legacy_file 6ms
engine::migration::tests::test_0_13_x_to_0_13_10_no_legacy_ram 5ms
engine::migration::tests::test_0_13_x_to_0_13_10_skips_existing_file 7ms
engine::migration::tests::test_0_13_x_to_0_13_10_skips_existing_ram 5ms
engine::migration::tests::test_0_13_x_to_0_13_10_threshold_file 7ms
engine::migration::tests::test_0_13_x_to_0_13_10_threshold_ram 5ms
engine::migration::tests::test_after_0_13_x_centralized_file 6ms
engine::migration::tests::test_after_0_13_x_centralized_ram 6ms
engine::migration::tests::test_after_0_13_x_idempotent_file 6ms
engine::migration::tests::test_after_0_13_x_idempotent_ram 5ms
engine::migration::tests::test_after_0_13_x_no_legacy_file 6ms
engine::migration::tests::test_after_0_13_x_no_legacy_ram 5ms
engine::migration::tests::test_after_0_13_x_threshold_file 7ms
engine::migration::tests::test_after_0_13_x_threshold_ram 5ms
engine::migration::tests::test_migrate_centralized_file 7ms
engine::migration::tests::test_migrate_centralized_ram 5ms
engine::migration::tests::test_migrate_combined_prss_no_data_file 6ms
engine::migration::tests::test_migrate_combined_prss_no_data_ram 6ms
engine::migration::tests::test_migrate_combined_prss_sunshine 6ms
engine::migration::tests::test_migrate_context_idempotent 6ms
engine::migration::tests::test_migrate_context_no_legacy 6ms
engine::migration::tests::test_migrate_context_sunshine 5ms
engine::migration::tests::test_migrate_idempotent_file 6ms
engine::migration::tests::test_migrate_idempotent_ram 5ms
engine::migration::tests::test_migrate_legacy_prss_sunshine 6ms
engine::migration::tests::test_migrate_no_legacy_data_file 5ms
engine::migration::tests::test_migrate_no_legacy_data_ram 5ms
engine::migration::tests::test_migrate_prss_already_migrated_skips 5ms
engine::migration::tests::test_migrate_prss_missing_z128_errors 6ms
engine::migration::tests::test_migrate_prss_missing_z64_errors 6ms
engine::migration::tests::test_migrate_prss_no_legacy_data_errors 6ms
engine::migration::tests::test_migrate_skips_existing_file 6ms
engine::migration::tests::test_migrate_skips_existing_ram 5ms
engine::migration::tests::test_migrate_threshold_file 7ms
engine::migration::tests::test_migrate_threshold_ram 5ms
engine::migration::tests::test_migrate_to_0_13_10_centralized 6ms
engine::migration::tests::test_migrate_to_0_13_10_empty_storage 6ms
engine::migration::tests::test_migrate_to_0_13_10_threshold 6ms
engine::migration::tests::test_migrate_to_0_13_x_centralized 5ms
engine::migration::tests::test_migrate_to_0_13_x_empty_storage 6ms
engine::migration::tests::test_migrate_to_0_13_x_threshold 6ms
engine::migration::tests::test_remove_old_keys_centralized_file 6ms
engine::migration::tests::test_remove_old_keys_centralized_ram 5ms
engine::migration::tests::test_remove_old_keys_no_legacy_file 5ms
engine::migration::tests::test_remove_old_keys_no_legacy_ram 5ms
engine::migration::tests::test_remove_old_keys_skips_without_new_epoch_file 6ms
engine::migration::tests::test_remove_old_keys_skips_without_new_epoch_ram 5ms
engine::migration::tests::test_remove_old_keys_threshold_file 7ms
engine::migration::tests::test_remove_old_keys_threshold_ram 5ms
engine::threshold::service::crs_generator::tests::already_exists 7ms
engine::threshold::service::crs_generator::tests::internal_failure 7ms
engine::threshold::service::crs_generator::tests::invalid_argument 6ms
engine::threshold::service::crs_generator::tests::not_found 6ms
engine::threshold::service::crs_generator::tests::resource_exhausted 6ms
engine::threshold::service::crs_generator::tests::sunshine 56ms
engine::threshold::service::crs_generator::tests::unavailable 1m
engine::threshold::service::epoch_manager::tests::already_exists 7ms
engine::threshold::service::epoch_manager::tests::invalid_argument 7ms
engine::threshold::service::epoch_manager::tests::load_all_prss 6ms
engine::threshold::service::epoch_manager::tests::not_found 7ms
engine::threshold::service::epoch_manager::tests::prss_from_storage_test 1m 1s
engine::threshold::service::epoch_manager::tests::sunshine 8ms
engine::threshold::service::epoch_manager::tests::test_destroy_epoch_not_found 7ms
engine::threshold::service::epoch_manager::tests::test_destroy_epoch_success 6ms
engine::threshold::service::epoch_manager::tests::test_resource_exhausted 7ms
engine::threshold::service::epoch_manager::tests::test_verify_epoch_info 6ms
engine::threshold::service::key_generator::tests::aborted 5ms
engine::threshold::service::key_generator::tests::already_exists 7ms
engine::threshold::service::key_generator::tests::internal 8ms
engine::threshold::service::key_generator::tests::invalid_argument 7ms
engine::threshold::service::key_generator::tests::not_found 7ms
engine::threshold::service::key_generator::tests::resource_exhausted 7ms
engine::threshold::service::key_generator::tests::sunshine 110ms
engine::threshold::service::key_generator::tests::use_existing_key_tag_with_wrong_keyset_id 8ms
engine::threshold::service::preprocessor::tests::already_exists 8ms
engine::threshold::service::preprocessor::tests::internal 8ms
engine::threshold::service::preprocessor::tests::invalid_argument 6ms
engine::threshold::service::preprocessor::tests::not_found 7ms
engine::threshold::service::preprocessor::tests::resource_exhausted 7ms
engine::threshold::service::preprocessor::tests::sunshine 945ms
engine::threshold::service::public_decryptor::tests::already_exists 83ms
engine::threshold::service::public_decryptor::tests::invalid_argument 84ms
engine::threshold::service::public_decryptor::tests::not_found 269ms
engine::threshold::service::public_decryptor::tests::sunshine 90ms
engine::threshold::service::public_decryptor::tests::test_resource_exhausted 87ms
engine::threshold::service::reshare_utils::tests::bad_digests_get_verified_public_materials 191ms
engine::threshold::service::reshare_utils::tests::bad_digests_get_verified_public_materials_compressed 274ms
engine::threshold::service::reshare_utils::tests::empty_storage_fetch_public_materials_from_peers 198ms
engine::threshold::service::reshare_utils::tests::sunshine_fetch_public_materials_from_peers 204ms
engine::threshold::service::reshare_utils::tests::sunshine_fetch_public_materials_from_peers_compressed 106ms
engine::threshold::service::reshare_utils::tests::sunshine_get_verified_public_materials 13ms
engine::threshold::service::reshare_utils::tests::sunshine_get_verified_public_materials_compressed 101ms
engine::threshold::service::reshare_utils::tests::test_find_region 6ms
engine::threshold::service::reshare_utils::tests::test_split_devnet_url 6ms
engine::threshold::service::reshare_utils::tests::wrong_digest_fetch_public_materials_from_peers 16ms
engine::threshold::service::reshare_utils::tests::wrong_digest_fetch_public_materials_from_peers_compressed 101ms
engine::threshold::service::user_decryptor::tests::already_exists 86ms
engine::threshold::service::user_decryptor::tests::invalid_argument 85ms
engine::threshold::service::user_decryptor::tests::not_found 269ms
engine::threshold::service::user_decryptor::tests::resource_exhausted 84ms
engine::threshold::service::user_decryptor::tests::sunshine 90ms
engine::utils::tests::sanity_check_crs_invalid_digest 425ms
engine::utils::tests::sanity_check_crs_legacy_readability_only 456ms
engine::utils::tests::sanity_check_crs_valid_digest 440ms
engine::utils::tests::sanity_check_current_compressed_keys_invalid_digest 95ms
engine::utils::tests::sanity_check_current_compressed_keys_valid_digests 94ms
engine::utils::tests::sanity_check_current_standard_keys_invalid_digest 12ms
engine::utils::tests::sanity_check_current_standard_keys_valid_digests 12ms
engine::utils::tests::sanity_check_legacy_metadata_readability_only 12ms
engine::utils::tests::test_metriced_error_creation 6ms
engine::utils::tests::test_metriced_error_drop_logging 6ms
engine::utils::tests::test_metriced_error_no_dropping 6ms
engine::validation_non_wasm::tests::test_max_num_bits_verification 5ms
engine::validation_non_wasm::tests::test_select_most_common_dec 5ms
engine::validation_non_wasm::tests::test_validate_new_mpc_epoch_request 6ms
engine::validation_non_wasm::tests::test_validate_public_decrypt_meta_response 8ms
engine::validation_non_wasm::tests::test_validate_public_decrypt_meta_response_with_eip712 8ms
engine::validation_non_wasm::tests::test_validate_public_decrypt_req 6ms
engine::validation_non_wasm::tests::test_validate_public_decrypt_responses 10ms
engine::validation_non_wasm::tests::test_validate_public_decrypt_responses_against_request 12ms
engine::validation_non_wasm::tests::test_validate_request_id 5ms
engine::validation_non_wasm::tests::test_validate_user_decrypt_req 6ms
engine::validation_non_wasm::tests::test_verify_user_decrypt_eip712 6ms
engine::validation_wasm::tests::test_check_ext_user_decryption_signature 8ms
engine::validation_wasm::tests::test_select_most_common_user_dec 5ms
engine::validation_wasm::tests::test_validate_user_decrypt_meta_data_and_signature 8ms
engine::validation_wasm::tests::test_validate_user_decrypt_responses 152ms
engine::validation_wasm::tests::test_validate_user_decrypt_responses_against_request 10ms
grpc::tests::regression_tests::test_request_id_compile_time_interface_stability 6ms
grpc::tests::regression_tests::test_request_id_core_structure_and_api_consistency 5ms
grpc::tests::regression_tests::test_request_id_validation_and_error_handling 5ms
grpc::tests::unit_tests::test_get_meta_store_info_with_real_stores 6ms
grpc::tests::unit_tests::test_get_meta_store_info_with_unavailable_stores 5ms
grpc::tests::unit_tests::test_list_requests_invalid_store_type 5ms
grpc::tests::unit_tests::test_list_requests_pagination 6ms
grpc::tests::unit_tests::test_list_requests_with_real_stores 5ms
grpc::tests::unit_tests::test_list_requests_with_unavailable_stores 5ms
grpc::tests::unit_tests::test_service_with_mixed_store_availability 5ms
testing::material::manager::tests::test_setup_centralized_material 14ms
testing::material::manager::tests::test_setup_threshold_material 22ms
testing::material::spec::tests::test_centralized_basic_spec 5ms
testing::material::spec::tests::test_comprehensive_spec 5ms
testing::material::spec::tests::test_key_type_covers_all_priv_data_types 5ms
testing::material::spec::tests::test_key_type_covers_all_pub_data_types 5ms
testing::material::spec::tests::test_serialization 6ms
testing::material::spec::tests::test_threshold_basic_spec 5ms
testing::material::spec::tests::test_threshold_default_no_prss_spec 5ms
testing::material::spec::tests::test_threshold_default_spec_requires_prss 5ms
testing::utils::test_purge 8ms
util::file_handling::tests::read_write_element 6ms
util::file_handling::tests::read_write_text 6ms
util::key_setup::tests::test_max_num_bits 4.8s
util::meta_store::tests::auto_remove 6ms
util::meta_store::tests::delete 6ms
util::meta_store::tests::double_insert 6ms
util::meta_store::tests::sunshine 6ms
util::meta_store::tests::test_kickout_of_errors 6ms
util::meta_store::tests::test_subscription 5.0s
util::meta_store::tests::too_many_elements 6ms
util::rate_limiter::tests::test_rate_limiting_1 6ms
util::rate_limiter::tests::test_rate_limiting_more 5ms
util::rate_limiter::tests::test_rate_limiting_refusal 6ms
util::retry::tests::fatal_loop_fails 50ms
util::retry::tests::retry_loop_fails 51ms
util::retry::tests::sunshine_fatal_loop 62ms
util::retry::tests::sunshine_retry_loop 62ms
vault::keychain::secretsharing::tests::test_encrypt_and_decrypt_roundtrip 7ms
vault::keychain::secretsharing::tests::test_new_keychain_without_pub_storage 6ms
vault::keychain::secretsharing::tests::test_operator_public_key_bytes_error 6ms
vault::keychain::secretsharing::tests::test_set_and_get_backup_enc_key 6ms
vault::keychain::secretsharing::tests::test_validate_recovery_material_invalid_signature 8ms
vault::keychain::secretsharing::tests::test_validate_recovery_material_no_material_is_ok 6ms
vault::keychain::secretsharing::tests::test_validate_recovery_material_valid_signature 8ms
vault::keychain::tests::test_verify_root_key_measurements 6ms
vault::storage::crypto_material::tests::read_guarded_crypto_material_from_cache_not_found 6ms
vault::storage::crypto_material::tests::read_guarded_threshold_fhe_keys_not_found 6ms
vault::storage::crypto_material::tests::read_public_key 6ms
vault::storage::crypto_material::tests::write_central_keys 13ms
vault::storage::crypto_material::tests::write_crs 461ms
vault::storage::crypto_material::tests::write_threshold_empty_update 80ms
vault::storage::crypto_material::tests::write_threshold_keys_failed_storage 79ms
vault::storage::crypto_material::tests::write_threshold_keys_meta_update 84ms
vault::storage::file::tests::storage_helper_methods::threshold_1_true 13ms
vault::storage::file::tests::storage_helper_methods::threshold_2_false 12ms
vault::storage::file::tests::test_all_data_ids_from_all_epochs_file 8ms
vault::storage::file::tests::test_data_ids_with_only_epoch_data_file 7ms
vault::storage::file::tests::test_delete_at_epoch_keeps_dir_when_not_empty 7ms
vault::storage::file::tests::test_delete_at_epoch_removes_empty_epoch_dir 6ms
vault::storage::file::tests::test_epoch_ids_with_only_non_epoch_data_file 6ms
vault::storage::file::tests::test_epoch_storage 7ms
vault::storage::file::tests::test_mixed_epoch_and_non_epoch_data_file 8ms
vault::storage::file::tests::test_overwrite_logic_files 6ms
vault::storage::file::tests::test_store_bytes_at_epoch_does_not_overwrite_file 6ms
vault::storage::file::tests::test_store_load_bytes_at_epoch_file 7ms
vault::storage::ram::tests::storage_helper_methods 6ms
vault::storage::ram::tests::test_all_data_ids_from_all_epochs_ram 6ms
vault::storage::ram::tests::test_data_ids_with_only_epoch_data_ram 6ms
vault::storage::ram::tests::test_epoch_ids_with_only_non_epoch_data_ram 5ms
vault::storage::ram::tests::test_mixed_epoch_and_non_epoch_data_ram 6ms
vault::storage::ram::tests::test_overwrite_logic_ram 5ms
vault::storage::ram::tests::test_overwrite_logic_ram_on_epoch 6ms
vault::storage::ram::tests::test_store_load_bytes_at_epoch_ram 5ms
vault::tests::regression_test_vault_data_type_serialization 5ms
test_backward_compatibility_kms_grpc 4ms
test_backward_compatibility_threshold_fhe 59ms
test_backward_compatibility_kms 536ms
tests::test_parse_hex 4ms
tests::test_invalid_hex 4ms
tests::test_parse_previous_key_info 4ms
tests::test_core_client_config 4ms
crsgen::tests::test_eip712_sigs 499ms
conf::party::tests::test_party_conf_with_env 4ms
conf::party::tests::test_party_conf_error_conf 5ms
conf::party::tests::test_party_conf_no_peers 5ms
conf::party::tests::test_party_conf_with_real_file 5ms
tls_certs::tests::test_ca_name_validation 4ms
tls_certs::tests::test_ca_cert_selfsigned_verify 32ms
tls_certs::tests::test_cert_chain 32ms
identifiers::tests::test_invalid_id_all_zeros 4ms
identifiers::tests::test_request_id_random 4ms
rpc_types::tests::test_enum_default 4ms
identifiers::tests::request_id_ordering 4ms
identifiers::tests::test_key_id_protobuf_conversion 4ms
identifiers::tests::test_v1_request_id_with_prefix 4ms
identifiers::tests::test_id_type_conversions 5ms
identifiers::tests::test_key_id_from_str 5ms
rpc_types::tests::test_request_id_raw_string 5ms
rpc_types::tests::idempotent_plaintext 4ms
identifiers::tests::test_v1_request_id_to_u128_conversion 4ms
identifiers::tests::test_invalid_v1_request_id 5ms
rpc_types::tests::test_types_plaintext_ser 5ms
identifiers::tests::test_v1_request_id_with_whitespace 5ms
identifiers::tests::test_invalid_hex_length 5ms
rpc_types::tests::test_abi_encoding_fhevm 5ms
rpc_types::tests::test_old_fhe_type_enum_compatibility 5ms
identifiers::tests::test_v1_request_id_conversion 5ms
identifiers::tests::test_valid_hex_characters 5ms
rpc_types::tests::test_request_id 5ms
rpc_types::tests::test_eip712_verification 5ms

🍂 No flaky tests in this run.

Github Test Reporter by CTRF 💚

🔄 This comment has been updated

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Upgrades the workspace to Rust 2024 edition and applies the mechanical migration changes needed across the KMS codebase (keyword collisions like gen, match ergonomics, if let chains, rustfmt/import order changes, and new unsafe requirements such as std::env::set_var).

Changes:

  • Bump workspace edition to Rust 2024.
  • Apply Rust 2024 migration edits across crates (e.g., rng.r#gen(), if let ... && ..., match ergonomics, one gen field rename).
  • Reformat/rustfmt and import reordering across many modules; introduce unsafe wrappers for environment variable mutation.

Reviewed changes

Copilot reviewed 291 out of 299 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tools/kms-health-check/src/config.rs Import reordering for Rust 2024/rustfmt.
observability/src/metrics.rs Import reordering for Rust 2024/rustfmt.
observability/src/grpc.rs Import reordering for Rust 2024/rustfmt.
observability/src/conf.rs Uses Rust 2024 if let ... && ... chain to flatten validation logic.
core/threshold/tests/integration_redis.rs Import reordering + rustfmt changes in assertions.
core/threshold/src/tls_certs.rs Formatting/import cleanup; tuple-field access spacing normalized.
core/threshold/src/malicious_moby.rs Minor control-flow refactor to return match expression directly.
core/threshold/src/grpc/server.rs Import reordering for Rust 2024/rustfmt.
core/threshold/src/choreography/choreographer.rs Import reordering for Rust 2024/rustfmt.
core/threshold/src/bin/non-threshold/kat.rs Import ordering changes for rustfmt.
core/threshold/src/bin/moby/mobygo.rs Import ordering + rustfmt; match arm formatting; println formatting.
core/threshold/src/bin/benches/gen-experiment.rs Import reordering for Rust 2024/rustfmt.
core/threshold/examples/distributed_decryption.rs Switch .gen() to r#gen() for Rust 2024 keyword; import ordering.
core/threshold/benches/prep.rs Import reordering for Rust 2024/rustfmt.
core/threshold/benches/non-threshold/utilities.rs Import ordering + rustfmt.
core/threshold/benches/non-threshold/tfhe-rs/speed/erc20.rs Switch .gen() to r#gen(); import ordering.
core/threshold/benches/non-threshold/tfhe-rs/speed/basic_ops.rs Switch .gen() to r#gen(); import ordering.
core/threshold/benches/non-threshold/tfhe-rs/memory/keygen.rs Import ordering for rustfmt.
core/threshold/benches/non-threshold/tfhe-rs/memory/erc20.rs Switch .gen() to r#gen(); remove ref mut pattern; import ordering.
core/threshold/benches/non-threshold/tfhe-rs/memory/basic_ops.rs Switch .gen() to r#gen(); import ordering.
core/threshold/benches/ceremony.rs Import ordering for rustfmt.
core/threshold/benches/bit_dec.rs Import ordering for rustfmt.
core/threshold/benches/bench_switch_and_squash.rs Import ordering for rustfmt.
core/threshold/benches/bench_prss.rs Import ordering for rustfmt.
core/threshold-types/src/session_id.rs Import ordering for rustfmt.
core/threshold-networking/src/sending_service.rs Import ordering + rustfmt line wrapping in logs.
core/threshold-networking/src/local.rs Import ordering + rustfmt for assertions.
core/threshold-networking/src/health_check.rs Import ordering for rustfmt.
core/threshold-hashing/src/lib.rs Import ordering for rustfmt.
core/threshold-experimental/src/gen_bits_odd.rs Import ordering for rustfmt.
core/threshold-experimental/src/choreography/grpc.rs Import ordering + tracing import ordering.
core/threshold-experimental/src/choreography/choreographer.rs Import ordering for rustfmt.
core/threshold-experimental/src/bin/stairwayctl.rs Import ordering + rustfmt (println formatting).
core/threshold-experimental/src/bgv/utils.rs Import ordering for rustfmt.
core/threshold-experimental/src/bgv/endpoints.rs Import ordering for rustfmt.
core/threshold-experimental/src/bgv/dkg.rs Import ordering + rustfmt in tests.
core/threshold-experimental/src/bgv/dkg_preproc.rs Import ordering for rustfmt.
core/threshold-experimental/src/bgv/dkg_orchestrator.rs Import ordering for rustfmt.
core/threshold-experimental/src/bgv/ddec.rs Import ordering for rustfmt.
core/threshold-experimental/src/bgv/basics.rs Import ordering + whitespace cleanup.
core/threshold-experimental/src/algebra/integers.rs Minor formatting change + import ordering.
core/threshold-experimental/src/algebra/cyclotomic.rs Import ordering for rustfmt.
core/threshold-experimental/benches/non-threshold/utilities.rs Import ordering for rustfmt.
core/threshold-experimental/benches/decoding.rs Import ordering for rustfmt.
core/threshold-experimental/benches/bgv.rs Import ordering for rustfmt.
core/threshold-experimental/benches/algebra.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/utils.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/switch_and_squash.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/raw_parameters.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/randomness.rs Rename gen field to generator; update call sites; iterator mapping rename.
core/threshold-execution/src/tfhe_internals/public_keysets.rs Import ordering for rustfmt; explicit EncryptionKeyChoice import.
core/threshold-execution/src/tfhe_internals/parameters.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/modulus_switch_noise_reduction_key_generation.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/lwe_packing_keyswitch_key.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/lwe_keyswitch_key.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/lwe_keyswitch_key_generation.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/lwe_key.rs Import ordering + updated MPCMaskRandomGenerator field rename usage.
core/threshold-execution/src/tfhe_internals/lwe_ciphertext.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/lwe_bootstrap_key.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/glwe_key.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/glwe_ciphertext.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/ggsw_ciphertext.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/compression_decompression_key.rs Import ordering for rustfmt.
core/threshold-execution/src/tfhe_internals/compression_decompression_key_generation.rs Import ordering for rustfmt.
core/threshold-execution/src/tests/test_data_setup.rs Import ordering for rustfmt.
core/threshold-execution/src/tests/helper.rs Import ordering for rustfmt.
core/threshold-execution/src/small_execution/prf.rs Import ordering for rustfmt.
core/threshold-execution/src/small_execution/offline.rs Formatting + Rust 2024 if let ... && ... chain simplification.
core/threshold-execution/src/sharing/open.rs Import ordering for rustfmt.
core/threshold-execution/src/sharing/input.rs Formatting fix for error return parentheses.
core/threshold-execution/src/runtime/test_runtime.rs Import ordering for rustfmt.
core/threshold-execution/src/runtime/sessions/small_session.rs Import ordering for rustfmt.
core/threshold-execution/src/runtime/sessions/session_parameters.rs Assertion formatting (rustfmt).
core/threshold-execution/src/random.rs Import ordering for rustfmt.
core/threshold-execution/src/online/triple.rs Import ordering + r#gen changes in tests via type ordering.
core/threshold-execution/src/online/secret_distributions.rs Import ordering for rustfmt.
core/threshold-execution/src/online/preprocessing/redis/noiseflood.rs Import ordering for rustfmt.
core/threshold-execution/src/online/preprocessing/redis/mod.rs Import ordering for rustfmt.
core/threshold-execution/src/online/preprocessing/redis/dkg.rs Import ordering for rustfmt.
core/threshold-execution/src/online/preprocessing/orchestration/producers/triples_producer.rs Import ordering + multiline error formatting.
core/threshold-execution/src/online/preprocessing/orchestration/producers/randoms_producer.rs Import ordering + multiline error formatting.
core/threshold-execution/src/online/preprocessing/orchestration/producers/common.rs Import ordering for rustfmt.
core/threshold-execution/src/online/preprocessing/orchestration/producers/bits_producer.rs Import ordering + multiline error formatting.
core/threshold-execution/src/online/preprocessing/orchestration/dkg_orchestrator.rs Import ordering + tracing import ordering.
core/threshold-execution/src/online/preprocessing/orchestration/consumers/triples_aggregator.rs Import ordering for rustfmt.
core/threshold-execution/src/online/preprocessing/orchestration/consumers/randoms_aggregator.rs Import ordering for rustfmt.
core/threshold-execution/src/online/preprocessing/orchestration/consumers/dkg_bits_processor.rs Import ordering for rustfmt.
core/threshold-execution/src/online/preprocessing/orchestration/consumers/bits_aggregator.rs Import ordering for rustfmt.
core/threshold-execution/src/online/preprocessing/mod.rs Import ordering + signature formatting for factory function.
core/threshold-execution/src/online/preprocessing/memory/mod.rs Import ordering + signature formatting for factory function.
core/threshold-execution/src/online/preprocessing/memory/bit_lift.rs Import ordering for rustfmt.
core/threshold-execution/src/online/preprocessing/dummy.rs Import ordering + generic impl formatting.
core/threshold-execution/src/online/gen_bits.rs Import ordering for rustfmt.
core/threshold-execution/src/online/bit_manipulation.rs Import ordering for rustfmt.
core/threshold-execution/src/online/bit_lift.rs Import ordering + test import ordering.
core/threshold-execution/src/network_value.rs Import ordering for rustfmt.
core/threshold-execution/src/malicious_execution/online/malicious_bit_lift.rs Import ordering for rustfmt.
core/threshold-execution/src/malicious_execution/large_execution/malicious_vss.rs Import ordering for rustfmt.
core/threshold-execution/src/malicious_execution/large_execution/malicious_share_dispute.rs Import ordering for rustfmt.
core/threshold-execution/src/malicious_execution/large_execution/malicious_offline.rs Generic impl formatting + closure simplification.
core/threshold-execution/src/malicious_execution/large_execution/malicious_local_single_share.rs Error formatting (rustfmt).
core/threshold-execution/src/malicious_execution/large_execution/malicious_local_double_share.rs Error formatting (rustfmt).
core/threshold-execution/src/malicious_execution/communication/malicious_broadcast.rs Formatting fix for error return parentheses.
core/threshold-execution/src/large_execution/vss.rs Import ordering for rustfmt.
core/threshold-execution/src/large_execution/single_sharing.rs Import ordering for rustfmt.
core/threshold-execution/src/large_execution/offline.rs Import ordering + generic impl formatting.
core/threshold-execution/src/large_execution/local_single_share.rs Log formatting (rustfmt).
core/threshold-execution/src/large_execution/local_double_share.rs Uses Rust 2024 if let ... && ... chain simplification.
core/threshold-execution/src/large_execution/double_sharing.rs Import ordering for rustfmt.
core/threshold-execution/src/large_execution/coinflip.rs Import ordering for rustfmt.
core/threshold-execution/src/endpoints/reshare_sk.rs Import ordering for rustfmt.
core/threshold-execution/src/endpoints/reconstruct.rs Formatting fix for error return parentheses.
core/threshold-execution/src/endpoints/decryption.rs Import ordering for rustfmt.
core/threshold-execution/src/communication/broadcast.rs Import ordering for rustfmt.
core/threshold-algebra/src/syndrome.rs Test import ordering (cfg-gated).
core/threshold-algebra/src/sharing/shamir.rs Error formatting (multiline) + import ordering.
core/threshold-algebra/src/randomness_check.rs Import ordering for rustfmt.
core/threshold-algebra/src/poly.rs Error formatting (multiline) for clearer rustfmt layout.
core/threshold-algebra/src/galois_rings/utils.rs Import ordering for rustfmt.
core/threshold-algebra/src/galois_rings/degree_8.rs Import ordering + .gen() to r#gen() in tests; panic formatting.
core/threshold-algebra/src/galois_rings/degree_7.rs Import ordering + .gen() to r#gen() in tests; panic formatting.
core/threshold-algebra/src/galois_rings/degree_5.rs Import ordering + .gen() to r#gen() in tests; panic formatting.
core/threshold-algebra/src/galois_rings/degree_3.rs Import ordering + .gen() to r#gen() in tests; panic formatting.
core/threshold-algebra/src/galois_rings/common.rs Import ordering + small iterator closure simplification; panic formatting.
core/threshold-algebra/src/galois_fields/gf8.rs Import ordering for rustfmt.
core/threshold-algebra/src/galois_fields/gf64.rs Import ordering for rustfmt.
core/threshold-algebra/src/galois_fields/gf32.rs Import ordering for rustfmt.
core/threshold-algebra/src/galois_fields/gf256.rs Import ordering for rustfmt.
core/threshold-algebra/src/galois_fields/gf16.rs Import ordering for rustfmt.
core/threshold-algebra/src/galois_fields/gf128.rs Import ordering for rustfmt.
core/threshold-algebra/src/error_correction.rs Import ordering for rustfmt; test import ordering (cfg-gated).
core/threshold-algebra/src/commitment.rs Import ordering for rustfmt.
core/threshold-algebra/src/bivariate.rs Error formatting (multiline) for clarity.
core/threshold-algebra/src/base_ring.rs Switch rng.gen() to rng.r#gen() due to gen keyword in Rust 2024.
core/thread-handles/tests/tests.rs Import ordering for rustfmt.
core/test-utils/src/lib.rs Import ordering for rustfmt.
core/service/tests/common.rs Import ordering for rustfmt.
core/service/tests/backward_compatibility_threshold_fhe.rs Import ordering for rustfmt.
core/service/tests/backward_compatibility_kms_grpc.rs Import ordering for rustfmt.
core/service/test-utils-service/src/lib.rs Mark std::env::set_var calls unsafe for Rust 2024 (test macros).
core/service/src/vault/storage/s3.rs Import ordering for rustfmt.
core/service/src/vault/storage/ram.rs Rust 2024 if let ... && ... chain simplification; formatting fixes.
core/service/src/vault/storage/mod.rs Import ordering + test assertion formatting.
core/service/src/vault/storage/crypto_material/utils.rs Import ordering + log formatting.
core/service/src/vault/storage/crypto_material/traits.rs Import ordering for rustfmt.
core/service/src/vault/storage/crypto_material/threshold.rs Import ordering + log formatting.
core/service/src/vault/storage/crypto_material/tests.rs Import ordering for rustfmt.
core/service/src/vault/storage/crypto_material/readers/wrapped_key.rs Import ordering for rustfmt.
core/service/src/vault/storage/crypto_material/readers/threshold_keys.rs Import ordering for rustfmt.
core/service/src/vault/storage/crypto_material/readers/server_key.rs Import ordering for rustfmt.
core/service/src/vault/storage/crypto_material/readers/fhe_keys.rs Import ordering for rustfmt.
core/service/src/vault/storage/crypto_material/readers/crs.rs Import ordering for rustfmt.
core/service/src/vault/storage/crypto_material/readers/context.rs Import ordering for rustfmt.
core/service/src/vault/storage/crypto_material/centralized.rs Import ordering for rustfmt.
core/service/src/vault/keychain/secretsharing.rs Import ordering + assertion formatting.
core/service/src/vault/keychain/mod.rs Match ergonomics change (ref removal) + import ordering.
core/service/src/vault/aws.rs Import ordering for rustfmt.
core/service/src/util/retry.rs Macro formatting compressed (rustfmt).
core/service/src/util/key_setup/mod.rs Import ordering + log formatting.
core/service/src/util/file_handling.rs Import ordering for rustfmt.
core/service/src/testing/setup/threshold.rs Import ordering for rustfmt.
core/service/src/testing/setup/centralized.rs Import ordering for rustfmt.
core/service/src/testing/mod.rs Import ordering for rustfmt.
core/service/src/testing/helpers.rs Import ordering for rustfmt.
core/service/src/grpc/tests/unit_tests.rs Assertion formatting (rustfmt).
core/service/src/grpc/metastore_status_service.rs Import ordering + log formatting.
core/service/src/engine/utils.rs Import ordering + log formatting.
core/service/src/engine/traits.rs Import ordering for rustfmt.
core/service/src/engine/server.rs Import ordering for rustfmt.
core/service/src/engine/keyset_configuration.rs Import ordering for rustfmt.
core/service/src/engine/context.rs Import ordering + assertion formatting.
core/service/src/engine/centralized/service/preprocessing.rs Import ordering for rustfmt.
core/service/src/engine/centralized/service/mod.rs Import ordering for rustfmt.
core/service/src/engine/centralized/service/key_gen.rs Import ordering for rustfmt.
core/service/src/engine/centralized/service/decryption.rs Import ordering for rustfmt.
core/service/src/engine/centralized/service/crs_gen.rs Import ordering for rustfmt.
core/service/src/engine/centralized/endpoint.rs Generic impl formatting + improved error formatting.
core/service/src/cryptography/signatures.rs Import ordering for rustfmt.
core/service/src/cryptography/mod.rs Minor import order change (cfg-gated).
core/service/src/cryptography/hybrid_ml_kem.rs Import ordering for rustfmt.
core/service/src/cryptography/encryption.rs Import ordering for rustfmt.
core/service/src/cryptography/decompression.rs Import ordering for rustfmt.
core/service/src/cryptography/attestation/nitro_mock.rs Import ordering for rustfmt.
core/service/src/cryptography/attestation/mod.rs Import ordering + ensure formatting.
core/service/src/consts.rs Import ordering for rustfmt.
core/service/src/conf/threshold.rs Rust 2024 if let ... && ... chain simplifications; match ergonomics (ref removal).
core/service/src/conf/mod.rs Import ordering for rustfmt.
core/service/src/client/user_decryption_non_wasm.rs Import ordering for rustfmt.
core/service/src/client/tests/threshold/restore_from_backup_tests_isolated.rs Import ordering for rustfmt.
core/service/src/client/tests/threshold/public_decryption_tests.rs Import ordering for rustfmt.
core/service/src/client/tests/threshold/nightly_tests.rs Import ordering for rustfmt.
core/service/src/client/tests/threshold/mpc_epoch_tests.rs Import ordering + multi-import reordering.
core/service/src/client/tests/threshold/mpc_context_tests.rs Import ordering for rustfmt.
core/service/src/client/tests/threshold/key_gen_tests.rs Import ordering for rustfmt.
core/service/src/client/tests/threshold/key_gen_tests_isolated.rs Import ordering for rustfmt.
core/service/src/client/tests/threshold/custodian_context_tests.rs Import ordering for rustfmt.
core/service/src/client/tests/threshold/custodian_backup_tests.rs Formatting (derive_request_id call) + import ordering.
core/service/src/client/tests/threshold/common.rs Import ordering for rustfmt.
core/service/src/client/tests/common.rs Import ordering for rustfmt.
core/service/src/client/tests/centralized/user_decryption_tests.rs Import ordering for rustfmt.
core/service/src/client/tests/centralized/restore_from_backup_tests_isolated.rs Import ordering for rustfmt.
core/service/src/client/tests/centralized/public_decryption_tests.rs Import ordering for rustfmt.
core/service/src/client/tests/centralized/nightly_tests.rs Import ordering for rustfmt.
core/service/src/client/tests/centralized/misc_tests.rs Import ordering + assertion formatting.
core/service/src/client/tests/centralized/misc_tests_isolated.rs Import ordering for rustfmt.
core/service/src/client/tests/centralized/key_gen_tests.rs Import ordering for rustfmt.
core/service/src/client/tests/centralized/custodian_context_tests.rs Import ordering for rustfmt.
core/service/src/client/tests/centralized/custodian_backup_tests.rs Import ordering for rustfmt.
core/service/src/client/tests/centralized/crs_gen_tests.rs Import ordering for rustfmt.
core/service/src/client/test_tools.rs Import ordering + tonic_health imports reordered.
core/service/src/client/public_decryption.rs Import ordering for rustfmt.
core/service/src/client/key_gen.rs Import ordering + multiline error formatting.
core/service/src/client/js_api.rs Tuple-field access spacing normalized; import ordering.
core/service/src/client/custodian_context.rs Import ordering for rustfmt.
core/service/src/client/crs_gen.rs Import ordering for rustfmt.
core/service/src/client/client_non_wasm.rs Import ordering for rustfmt.
core/service/src/bin/kms-gen-keys.rs Rust 2024 if let ... && ... chain simplifications; import ordering.
core/service/src/bin/kms-custodian.rs Import ordering + log formatting.
core/service/src/backup/tests.rs Import ordering for rustfmt.
core/service/src/backup/seed_phrase.rs Import ordering for rustfmt.
core/service/src/backup/mod.rs Import ordering for rustfmt.
core/grpc/src/identifiers.rs Import ordering for rustfmt.
core-client/tests/kind-testing/kubernetes_test_threshold_isolated.rs Panic formatting (rustfmt).
core-client/tests/kind-testing/kubernetes_test_centralized_isolated.rs Print formatting (rustfmt).
core-client/tests/integration/integration_test.rs Import ordering + assertion formatting.
core-client/tests/integration/integration_test_isolated.rs Import ordering for rustfmt.
core-client/test-utils-cc/src/lib.rs Mark env::set_var calls unsafe for Rust 2024 (test utility).
core-client/src/s3_operations.rs Log formatting and multiline error formatting.
core-client/src/mpc_epoch.rs Import ordering + ensure formatting.
core-client/src/mpc_context.rs Rust 2024 if let ... && ... chain simplification in warnings; import ordering.
core-client/src/keygen.rs Log formatting + import ordering.
core-client/src/decrypt.rs Import ordering for rustfmt.
core-client/src/crsgen.rs Import ordering for rustfmt.
core-client/src/bin.rs Import ordering for rustfmt.
core-client/src/backup.rs Import ordering + error formatting.
Cargo.toml Set workspace package edition to 2024.

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

Copy link
Copy Markdown
Member

@dd23 dd23 left a comment

Choose a reason for hiding this comment

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

LGTM!

@dvdplm dvdplm merged commit 11a500f into main Apr 2, 2026
65 of 67 checks passed
@dvdplm dvdplm deleted the dvdplm/chore/update-to-edition-2024 branch April 2, 2026 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The CLA has been signed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants