[INFO] fetching crate kbd 0.2.0... [INFO] testing kbd-0.2.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate kbd 0.2.0 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate kbd 0.2.0 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate kbd 0.2.0 [INFO] tweaked toml for crates.io crate kbd 0.2.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate kbd 0.2.0 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate kbd 0.2.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded keyboard-types v0.8.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 64f0cca35328688cff9d3aaea0c14912c81e9477a0186d8f615b9af05a3c8081 [INFO] running `Command { std: "docker" "start" "-a" "64f0cca35328688cff9d3aaea0c14912c81e9477a0186d8f615b9af05a3c8081", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "64f0cca35328688cff9d3aaea0c14912c81e9477a0186d8f615b9af05a3c8081", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "64f0cca35328688cff9d3aaea0c14912c81e9477a0186d8f615b9af05a3c8081", kill_on_drop: false }` [INFO] [stdout] 64f0cca35328688cff9d3aaea0c14912c81e9477a0186d8f615b9af05a3c8081 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fd42a62aaa1e54ccb02488ed79635873247108bb99203431debed2137c2a29d2 [INFO] running `Command { std: "docker" "start" "-a" "fd42a62aaa1e54ccb02488ed79635873247108bb99203431debed2137c2a29d2", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling keyboard-types v0.8.3 [INFO] [stderr] Compiling kbd v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.01s [INFO] running `Command { std: "docker" "inspect" "fd42a62aaa1e54ccb02488ed79635873247108bb99203431debed2137c2a29d2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fd42a62aaa1e54ccb02488ed79635873247108bb99203431debed2137c2a29d2", kill_on_drop: false }` [INFO] [stdout] fd42a62aaa1e54ccb02488ed79635873247108bb99203431debed2137c2a29d2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a59816f002925a815df42e324b9ebc04dee0f7cc435a889459c19dadeee7fe08 [INFO] running `Command { std: "docker" "start" "-a" "a59816f002925a815df42e324b9ebc04dee0f7cc435a889459c19dadeee7fe08", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling kbd v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 8.58s [INFO] running `Command { std: "docker" "inspect" "a59816f002925a815df42e324b9ebc04dee0f7cc435a889459c19dadeee7fe08", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a59816f002925a815df42e324b9ebc04dee0f7cc435a889459c19dadeee7fe08", kill_on_drop: false }` [INFO] [stdout] a59816f002925a815df42e324b9ebc04dee0f7cc435a889459c19dadeee7fe08 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 9de3b059184c6be478674230199086568b53a1bc5da57ba8d5b0d4c5bbeb489c [INFO] running `Command { std: "docker" "start" "-a" "9de3b059184c6be478674230199086568b53a1bc5da57ba8d5b0d4c5bbeb489c", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kbd-a5d93e946d18b3cc) [INFO] [stdout] [INFO] [stdout] running 223 tests [INFO] [stdout] test binding::tests::binding_id_produces_unique_ids ... ok [INFO] [stdout] test binding::tests::binding_id_default_calls_new ... ok [INFO] [stdout] test binding::tests::binding_id_monotonically_increases ... ok [INFO] [stdout] test binding::tests::binding_options_builder_chain ... ok [INFO] [stdout] test binding::tests::binding_options_can_track_binding_source ... ok [INFO] [stdout] test binding::tests::binding_options_chains_all_new_options ... ok [INFO] [stdout] test binding::tests::binding_options_defaults ... ok [INFO] [stdout] test binding::tests::binding_options_rate_limit_default_is_none ... ok [INFO] [stdout] test binding::tests::binding_options_repeat_policy_default_is_suppress ... ok [INFO] [stdout] test binding::tests::binding_options_debounce_default_is_none ... ok [INFO] [stdout] test binding::tests::binding_options_device_default_is_none ... ok [INFO] [stdout] test binding::tests::binding_options_with_device ... ok [INFO] [stdout] test binding::tests::binding_options_with_rate_limit ... ok [INFO] [stdout] test binding::tests::binding_source_as_str_normalizes_reserved_labels ... ok [INFO] [stdout] test binding::tests::binding_source_parses_reserved_labels ... ok [INFO] [stdout] test binding::tests::binding_options_with_debounce ... ok [INFO] [stdout] test binding::tests::binding_source_parsing_is_case_insensitive ... ok [INFO] [stdout] test binding::tests::rate_limit_construction ... ok [INFO] [stdout] test binding::tests::registered_binding_stores_fields ... ok [INFO] [stdout] test binding::tests::registered_binding_with_propagation ... ok [INFO] [stdout] test binding::tests::registered_binding_with_options ... ok [INFO] [stdout] test binding::tests::repeat_policy_custom_stores_delay_and_rate ... ok [INFO] [stdout] test binding::tests::repeat_policy_default_is_suppress ... ok [INFO] [stdout] test device::tests::device_filter_name_contains_rejects_non_matching ... ok [INFO] [stdout] test device::tests::device_filter_name_contains_matches_substring ... ok [INFO] [stdout] test device::tests::device_filter_usb_id_matches_exact ... ok [INFO] [stdout] test device::tests::device_filter_usb_id_rejects_wrong_vendor ... ok [INFO] [stdout] test device::tests::device_filter_usb_id_rejects_wrong_product ... ok [INFO] [stdout] test dispatcher::query::tests::bindings_for_key_reports_single_step_sequence_match ... ok [INFO] [stdout] test dispatcher::query::tests::bindings_for_key_respects_swallow_layer ... ok [INFO] [stdout] test dispatcher::query::tests::bindings_for_key_returns_none_when_no_match ... ok [INFO] [stdout] test dispatcher::query::tests::bindings_for_key_returns_none_when_only_device_filtered_bindings_exist ... ok [INFO] [stdout] test dispatcher::query::tests::bindings_for_key_skips_device_filtered_bindings ... ok [INFO] [stdout] test dispatcher::query::tests::bindings_for_key_returns_none_for_pending_sequence_prefix ... ok [INFO] [stdout] test dispatcher::query::tests::conflicts_empty_when_layer_not_active ... ok [INFO] [stdout] test dispatcher::query::tests::global_precedence_restores_in_tier_order ... ok [INFO] [stdout] test dispatcher::query::tests::bindings_for_key_returns_none_for_modifier_key ... ok [INFO] [stdout] test dispatcher::query::tests::list_bindings_marks_global_binding_suppressed_by_swallow_layer ... ok [INFO] [stdout] test dispatcher::query::tests::list_bindings_marks_lower_layer_binding_suppressed_by_swallow_layer ... ok [INFO] [stdout] test dispatcher::query::tests::list_bindings_marks_layer_immediate_shadowed_by_sequence_in_same_layer ... ok [INFO] [stdout] test dispatcher::query::tests::list_bindings_orders_layers_by_name_and_preserves_layer_declaration_order ... ok [INFO] [stdout] test dispatcher::query::tests::list_bindings_marks_inactive_layer_bindings ... ok [INFO] [stdout] test dispatcher::query::tests::user_source_overrides_default_source_for_same_hotkey ... ok [INFO] [stdout] test dispatcher::query::tests::layer_binding_metadata_round_trips_through_introspection ... ok [INFO] [stdout] test dispatcher::query::tests::conflicts_empty_when_no_overlaps ... ok [INFO] [stdout] test dispatcher::registry::tests::is_registered_reflects_state ... ok [INFO] [stdout] test dispatcher::query::tests::list_bindings_marks_global_immediate_shadowed_by_global_sequence_prefix ... ok [INFO] [stdout] test dispatcher::query::tests::list_bindings_device_filtered_and_global_are_both_active ... ok [INFO] [stdout] test dispatcher::registry::tests::register_allows_device_filtered_and_global_for_same_hotkey ... ok [INFO] [stdout] test dispatcher::registry::tests::register_accepts_key_input ... ok [INFO] [stdout] test dispatcher::registry::tests::register_allows_different_device_filters_for_same_hotkey ... ok [INFO] [stdout] test dispatcher::registry::tests::register_reports_parse_error_for_invalid_string ... ok [INFO] [stdout] test dispatcher::registry::tests::register_rejects_duplicate_device_filter_for_same_hotkey ... ok [INFO] [stdout] test dispatcher::registry::tests::register_returns_unique_id ... ok [INFO] [stdout] test dispatcher::registry::tests::register_sequence_accepts_string_input ... ok [INFO] [stdout] test dispatcher::query::tests::list_bindings_marks_global_immediate_shadowed_by_layer_sequence_prefix ... ok [INFO] [stdout] test dispatcher::registry::tests::register_sequence_accepts_vec_hotkeys_input ... ok [INFO] [stdout] test dispatcher::registry::tests::register_sequence_accepts_typed_sequence ... ok [INFO] [stdout] test dispatcher::resolve::tests::layer_immediate_only ... ok [INFO] [stdout] test dispatcher::registry::tests::register_accepts_string_input ... ok [INFO] [stdout] test dispatcher::resolve::tests::layer_immediate_returns_first_match_index ... ok [INFO] [stdout] test dispatcher::registry::tests::register_sequence_reports_parse_error_for_string_input ... ok [INFO] [stdout] test dispatcher::resolve::tests::layer_multi_step_immediate_index_reflects_position ... ok [INFO] [stdout] test dispatcher::resolve::tests::layer_multi_step_with_immediate_records_fallback ... ok [INFO] [stdout] test dispatcher::resolve::tests::layer_multi_step_without_immediate ... ok [INFO] [stdout] test dispatcher::resolve::tests::layer_no_bindings_returns_none ... ok [INFO] [stdout] test dispatcher::resolve::tests::layer_no_match_returns_none ... ok [INFO] [stdout] test dispatcher::resolve::tests::layer_non_matching_bindings_skipped ... ok [INFO] [stdout] test dispatcher::registry::tests::register_with_options_rejects_same_standard_tier_hotkey ... ok [INFO] [stdout] test dispatcher::resolve::tests::layer_single_step_sequence_wins_over_immediate ... ok [INFO] [stdout] test dispatcher::resolve::tests::layer_single_step_sequence ... ok [INFO] [stdout] test dispatcher::registry::tests::register_with_options_returns_id_and_stores_metadata ... ok [INFO] [stdout] test dispatcher::registry::tests::registering_hotkey_with_existing_sequence_id_is_rejected ... ok [INFO] [stdout] test dispatcher::registry::tests::registering_sequence_with_existing_hotkey_id_is_rejected ... ok [INFO] [stdout] test dispatcher::resolve::tests::layer_single_step_sequence_wins_over_multi_step ... ok [INFO] [stdout] test dispatcher::registry::tests::source_priority_from_source_labels ... ok [INFO] [stdout] test dispatcher::registry::tests::source_priority_is_case_insensitive ... ok [INFO] [stdout] test dispatcher::resolve::tests::layer_single_step_sequence_wins_over_multi_step_and_immediate ... ok [INFO] [stdout] test dispatcher::resolve::tests::prefixes_first_single_step_wins_when_multiple_match ... ok [INFO] [stdout] test dispatcher::resolve::tests::prefixes_multi_step_match ... ok [INFO] [stdout] test dispatcher::resolve::tests::prefixes_no_match_returns_none ... ok [INFO] [stdout] test dispatcher::resolve::tests::prefixes_multiple_multi_step_matches_collected ... ok [INFO] [stdout] test dispatcher::resolve::tests::prefixes_single_step_match ... ok [INFO] [stdout] test dispatcher::resolve::tests::prefixes_single_step_wins_over_multi_step ... ok [INFO] [stdout] test dispatcher::sequence::tests::multiple_sequences_with_shared_prefix_progress_independently ... ok [INFO] [stdout] test dispatcher::resolve::tests::prefixes_single_step_returns_first_match_index ... ok [INFO] [stdout] test dispatcher::sequence::tests::popping_one_of_duplicate_layers_keeps_pending_sequence_state ... ok [INFO] [stdout] test dispatcher::sequence::tests::sequence_reports_pending_then_fires_on_completion ... ok [INFO] [stdout] test dispatcher::sequence::tests::abort_key_step_can_still_complete_sequence ... ok [INFO] [stdout] test dispatcher::sequence::tests::sequence_wrong_key_resets_and_current_key_re_matches ... ok [INFO] [stdout] test dispatcher::sequence::tests::abort_key_cancels_pending_sequence ... ok [INFO] [stdout] test binding::tests::binding_source_display ... ok [INFO] [stdout] test dispatcher::query::tests::list_bindings_orders_globals_by_hotkey_then_precedence ... ok [INFO] [stdout] test dispatcher::resolve::tests::prefixes_empty_sequences_returns_none ... ok [INFO] [stdout] test dispatcher::tests::debounce_does_not_affect_repeat_events ... ok [INFO] [stdout] test dispatcher::tests::debounce_is_per_binding ... ok [INFO] [stdout] test dispatcher::tests::debounce_rapid_repress_is_throttled ... ok [INFO] [stdout] test dispatcher::tests::device_and_global_bindings_coexist_for_same_hotkey ... ok [INFO] [stdout] test dispatcher::tests::device_binding_matches_on_correct_device ... ok [INFO] [stdout] test dispatcher::tests::device_binding_misses_on_wrong_device ... ok [INFO] [stdout] test dispatcher::tests::matched_result_carries_repeat_policy ... ok [INFO] [stdout] test dispatcher::tests::global_binding_uses_aggregate_modifiers ... ok [INFO] [stdout] test dispatcher::tests::device_filtered_binding_uses_device_modifiers_only ... ok [INFO] [stdout] test dispatcher::tests::global_binding_falls_through_when_device_filter_misses ... ok [INFO] [stdout] test dispatcher::tests::debounce_first_press_matches ... ok [INFO] [stdout] test dispatcher::sequence::tests::pending_sequence_query_reports_progress ... ok [INFO] [stdout] test dispatcher::sequence::tests::overlapping_prefix_falls_back_to_standalone_on_timeout ... ok [INFO] [stdout] test dispatcher::sequence::tests::sequence_timeout_fires_standalone_binding ... ok [INFO] [stdout] test binding::tests::binding_options_with_repeat_policy ... ok [INFO] [stdout] test dispatcher::tests::per_device_modifier_isolation ... ok [INFO] [stdout] test dispatcher::tests::process_applies_push_layer_action ... ok [INFO] [stdout] test dispatcher::tests::process_ignores_modifier_only_presses ... ok [INFO] [stdout] test dispatcher::tests::tap_hold_can_be_reused_after_tap ... ok [INFO] [stdout] test dispatcher::tests::tap_hold_duplicate_registration_rejected ... ok [INFO] [stdout] test dispatcher::tests::tap_hold_hold_resolves_on_interrupting_keypress ... ok [INFO] [stdout] test dispatcher::sequence::tests::layer_timeout_clears_pending_layer_sequence_state ... ok [INFO] [stdout] test dispatcher::tests::rate_limit_allows_up_to_max_count ... ok [INFO] [stdout] test dispatcher::tests::matched_result_default_repeat_policy_is_suppress ... ok [INFO] [stdout] test dispatcher::tests::multiple_device_filters_same_hotkey_same_tier ... ok [INFO] [stdout] test dispatcher::tests::debounce_after_window_expires_matches_again ... ok [INFO] [stdout] test dispatcher::tests::process_without_device_context_skips_device_filtered_bindings ... ok [INFO] [stdout] test dispatcher::tests::process_requires_exact_modifiers ... ok [INFO] [stdout] test dispatcher::sequence::tests::timeout_fallback_applies_layer_effects ... ok [INFO] [stdout] test dispatcher::sequence::tests::unregistering_standalone_while_sequence_pending_does_not_panic_or_fire_fallback ... ok [INFO] [stdout] test dispatcher::sequence::tests::timeout_after_sequence_progress_does_not_fire_first_step_fallback ... ok [INFO] [stdout] test dispatcher::tests::tap_hold_non_registered_key_passes_through ... ok [INFO] [stdout] test dispatcher::tests::tap_hold_tap_resolves_on_release_before_threshold ... ok [INFO] [stdout] test dispatcher::tests::tap_hold_timeout_deadline_reported ... ok [INFO] [stdout] test dispatcher::tests::tap_hold_unregister_clears_active_state ... ok [INFO] [stdout] test dispatcher::tests::tap_hold_unregister_stops_tap_hold_behavior ... ok [INFO] [stdout] test dispatcher::tests::unmatched_key_falls_through_to_global ... ok [INFO] [stdout] test dispatcher::throttle::tests::fires_up_to_max_are_allowed ... ok [INFO] [stdout] test dispatcher::throttle::tests::first_fire_is_not_rate_limited ... ok [INFO] [stdout] test dispatcher::throttle::tests::first_fire_is_not_debounced ... ok [INFO] [stdout] test dispatcher::throttle::tests::debounce_is_per_binding ... ok [INFO] [stdout] test dispatcher::tests::rate_limit_resets_after_window ... ok [INFO] [stdout] test dispatcher::throttle::tests::remove_clears_state ... ok [INFO] [stdout] test hotkey::tests::collect_active_all_true ... ok [INFO] [stdout] test dispatcher::timeout::tests::oneshot_layer_pushed_via_action_not_immediately_decremented ... ok [INFO] [stdout] test dispatcher::throttle::tests::fire_within_debounce_window_is_suppressed ... ok [INFO] [stdout] test dispatcher::throttle::tests::fire_after_debounce_window_is_allowed ... ok [INFO] [stdout] test dispatcher::throttle::tests::rate_limit_resets_after_window ... ok [INFO] [stdout] test hotkey::tests::collect_active_empty_array ... ok [INFO] [stdout] test dispatcher::tests::tap_hold_repeat_events_are_consumed ... ok [INFO] [stdout] test hotkey::tests::collect_active_none_true ... ok [INFO] [stdout] test dispatcher::tests::tap_hold_can_reregister_after_unregister ... ok [INFO] [stdout] test dispatcher::tests::throttled_result_carries_propagation ... ok [INFO] [stdout] test hotkey::tests::collect_active_returns_only_active_modifiers ... ok [INFO] [stdout] test hotkey::tests::collect_active_single ... ok [INFO] [stdout] test hotkey::tests::hotkey_input_from_hotkey_is_infallible ... ok [INFO] [stdout] test hotkey::tests::hotkey_input_from_key_wraps_in_hotkey ... ok [INFO] [stdout] test hotkey::tests::hotkey_input_from_str_reports_parse_error ... ok [INFO] [stdout] test hotkey::tests::hotkey_input_from_string_parses ... ok [INFO] [stdout] test hotkey::tests::hotkey_input_from_string_reports_parse_error ... ok [INFO] [stdout] test hotkey::tests::modifier_canonicalizes_left_and_right_keys ... ok [INFO] [stdout] test hotkey::tests::parses_aliases_case_insensitive ... ok [INFO] [stdout] test hotkey::tests::parses_all_modifier_combo_with_last_modifier_as_trigger ... ok [INFO] [stdout] test hotkey::tests::parses_extended_key_ranges ... ok [INFO] [stdout] test hotkey::tests::parses_modifier_key_as_trigger_when_no_non_modifier_key_exists ... ok [INFO] [stdout] test hotkey::tests::hotkey_new_dedups_modifiers ... ok [INFO] [stdout] test key::tests::all_new_constants_round_trip_display_parse ... ok [INFO] [stdout] test key::tests::cjk_keys_exist ... ok [INFO] [stdout] test hotkey::tests::hotkey_input_from_str_parses ... ok [INFO] [stdout] test key::tests::browser_keys_exist_and_round_trip ... ok [INFO] [stdout] test key::tests::clipboard_keys_exist_and_round_trip ... ok [INFO] [stdout] test key::tests::extended_media_keys_exist_and_round_trip ... ok [INFO] [stdout] test key::tests::extended_numpad_keys_exist ... ok [INFO] [stdout] test key::tests::extended_function_keys_parse ... ok [INFO] [stdout] test key::tests::key_constants_map_to_expected_codes ... ok [INFO] [stdout] test key::tests::fn_keys_exist ... ok [INFO] [stdout] test key::tests::key_display_for_code_without_constant ... ok [INFO] [stdout] test key::tests::key_display_short_overrides ... ok [INFO] [stdout] test key::tests::key_display_delegates_to_w3c_for_rest ... ok [INFO] [stdout] test key::tests::launch_keys_exist ... ok [INFO] [stdout] test key::tests::international_keys_exist_and_round_trip ... ok [INFO] [stdout] test key::tests::legacy_keys_exist ... ok [INFO] [stdout] test key::tests::system_keys_exist_and_round_trip ... ok [INFO] [stdout] test key::tests::key_from_code_round_trips ... ok [INFO] [stdout] test key_state::tests::active_modifiers_derived_from_pressed_keys ... ok [INFO] [stdout] test key_state::tests::active_modifiers_spans_devices ... ok [INFO] [stdout] test key_state::tests::disconnect_clears_modifiers_for_device ... ok [INFO] [stdout] test key_state::tests::disconnect_clears_pressed_keys_for_removed_device ... ok [INFO] [stdout] test key::tests::key_parse_round_trips_for_known_keys ... ok [INFO] [stdout] test key::tests::parse_aliases_for_new_keys ... ok [INFO] [stdout] test key_state::tests::active_modifiers_for_device_isolates_per_device ... ok [INFO] [stdout] test key_state::tests::is_pressed_on_device_returns_false_for_unknown_device ... ok [INFO] [stdout] test key_state::tests::pressed_keys_are_tracked_per_device ... ok [INFO] [stdout] test key_state::tests::is_pressed_on_device_tracks_per_device ... ok [INFO] [stdout] test key_state::tests::repeat_events_keep_key_pressed ... ok [INFO] [stdout] test layer::tests::layer_bind_accepts_string_input ... ok [INFO] [stdout] test layer::tests::layer_bind_multiple_bindings ... ok [INFO] [stdout] test layer::tests::layer_bind_preserves_hotkey ... ok [INFO] [stdout] test layer::tests::layer_bind_sequence_accepts_string_input ... ok [INFO] [stdout] test layer::tests::layer_bind_reports_parse_error_for_invalid_string ... ok [INFO] [stdout] test layer::tests::layer_bind_sequence_accepts_typed_input ... ok [INFO] [stdout] test layer::tests::layer_bind_sequence_reports_parse_error_for_string_input ... ok [INFO] [stdout] test layer::tests::layer_bind_with_options_preserves_metadata ... ok [INFO] [stdout] test layer::tests::layer_description_preserved_in_into_parts ... ok [INFO] [stdout] test layer::tests::layer_bind_sequence_with_options_accepts_string_input ... ok [INFO] [stdout] test layer::tests::layer_builder_chains_all_options ... ok [INFO] [stdout] test layer::tests::layer_description_sets_label ... ok [INFO] [stdout] test layer::tests::layer_name_from_string ... ok [INFO] [stdout] test layer::tests::layer_new_creates_with_name ... ok [INFO] [stdout] test layer::tests::layer_new_has_default_options ... ok [INFO] [stdout] test layer::tests::layer_into_parts_decomposes ... ok [INFO] [stdout] test layer::tests::layer_oneshot_sets_depth ... ok [INFO] [stdout] test layer::tests::layer_options_default_is_fallthrough_no_oneshot_no_timeout_no_description ... ok [INFO] [stdout] test layer::tests::layer_new_has_empty_bindings ... ok [INFO] [stdout] test layer::tests::layer_swallow_sets_option ... ok [INFO] [stdout] test layer::tests::layer_timeout_sets_duration ... ok [INFO] [stdout] test layer::tests::layer_bind_adds_binding ... ok [INFO] [stdout] test dispatcher::tests::tap_hold_hold_resolves_on_threshold_expiry ... ok [INFO] [stdout] test sequence::tests::str_sequence_input_parses ... ok [INFO] [stdout] test sequence::tests::string_sequence_input_parses ... ok [INFO] [stdout] test sequence::tests::typed_sequence_input_round_trips ... ok [INFO] [stdout] test sequence::tests::vec_hotkey_sequence_input_builds_sequence ... ok [INFO] [stdout] test sequence::tests::vec_hotkey_sequence_input_rejects_empty_sequence ... ok [INFO] [stdout] test sequence::tests::str_sequence_input_reports_parse_error ... ok [INFO] [stdout] test layer::tests::layer_bind_accepts_closure ... ok [INFO] [stdout] test layer::tests::layer_bind_accepts_key_input ... ok [INFO] [stdout] test layer::tests::layer_bind_chain_with_results ... ok [INFO] [stdout] test key_state::tests::active_modifiers_canonicalizes_left_and_right ... ok [INFO] [stdout] test key::tests::extended_function_keys_exist ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 223 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s [INFO] [stdout] [INFO] [stderr] Running tests/public_api.rs (/opt/rustwide/target/debug/deps/public_api-568cc7c68ac918a6) [INFO] [stdout] [INFO] [stdout] running 23 tests [INFO] [stdout] test hotkey_display_parse_round_trip ... ok [INFO] [stdout] test dispatcher_default_equals_new ... ok [INFO] [stdout] test error_variants_accessible ... ok [INFO] [stdout] test collect_active_builds_dispatchable_hotkey ... ok [INFO] [stdout] test key_as_str ... ok [INFO] [stdout] test key_state_feeds_dispatcher ... ok [INFO] [stdout] test layer_shadows_global_and_falls_through ... ok [INFO] [stdout] test hotkey_sequence_round_trip ... ok [INFO] [stdout] test oneshot_auto_pops ... ok [INFO] [stdout] test propagation_continue_returned_in_match ... ok [INFO] [stdout] test parse_hotkey_errors ... ok [INFO] [stdout] test register_with_options_standard_tier_sources_still_conflict ... ok [INFO] [stdout] test release_and_repeat_ignored ... ok [INFO] [stdout] test string_parsed_hotkey_matches ... ok [INFO] [stdout] test topmost_layer_wins ... ok [INFO] [stdout] test swallow_layer_blocks_globals ... ok [INFO] [stdout] test unregister_stops_matching ... ok [INFO] [stdout] test toggle_layer_via_action ... ok [INFO] [stdout] test layer_lifecycle ... ok [INFO] [stdout] test register_and_fire_callback ... ok [INFO] [stdout] test timeout_auto_pops ... ok [INFO] [stdout] test introspection_full_picture ... ok [INFO] [stdout] test register_binding_duplicate_returns_error ... ok [INFO] [stderr] Running tests/serde.rs (/opt/rustwide/target/debug/deps/serde-4d25a49719bf6b3b) [INFO] [stdout] [INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s [INFO] [stdout] [INFO] [stderr] Doc-tests kbd [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test src/binding.rs - binding::OverlayVisibility (line 147) ... ok [INFO] [stdout] test src/dispatcher.rs - dispatcher::Dispatcher (line 118) ... ok [INFO] [stdout] test src/device.rs - device::DeviceInfo (line 18) ... ok [INFO] [stdout] test src/device.rs - device::DeviceFilter (line 76) ... ok [INFO] [stdout] test src/device.rs - device::DeviceContext (line 150) ... ok [INFO] [stdout] test src/hotkey.rs - hotkey::Hotkey (line 391) ... ok [INFO] [stdout] test src/dispatcher.rs - dispatcher::Dispatcher (line 143) ... ok [INFO] [stdout] test src/hotkey.rs - hotkey (line 9) ... ok [INFO] [stdout] test src/introspection.rs - introspection (line 13) ... ok [INFO] [stdout] test src/introspection.rs - introspection::ShadowedStatus (line 63) ... ok [INFO] [stdout] test src/key.rs - key::Key (line 28) ... ok [INFO] [stdout] test src/lib.rs - (line 15) ... ok [INFO] [stdout] test src/hotkey.rs - hotkey::ModifierSet (line 187) ... ok [INFO] [stdout] test src/layer.rs - layer::UnmatchedKeys (line 75) ... ok [INFO] [stdout] test src/layer.rs - layer::Layer (line 219) ... ok [INFO] [stdout] test src/lib.rs - (line 54) ... ok [INFO] [stdout] test src/layer.rs - layer::Layer (line 181) ... ok [INFO] [stdout] test src/introspection.rs - introspection::ActiveLayerInfo (line 134) ... ok [INFO] [stdout] test src/layer.rs - layer::Layer (line 203) ... ok [INFO] [stdout] test src/policy.rs - policy::RateLimit (line 128) ... ok [INFO] [stdout] test src/policy.rs - policy::KeyPropagation (line 21) ... ok [INFO] [stdout] test src/hotkey.rs - hotkey::Modifier::collect_active (line 95) ... ok [INFO] [stdout] test src/hotkey.rs - hotkey::HotkeyInput (line 649) ... ok [INFO] [stdout] test src/hotkey.rs - hotkey::HotkeySequence (line 553) ... ok [INFO] [stdout] test src/lib.rs - (line 80) ... ok [INFO] [stdout] test src/policy.rs - policy::RepeatPolicy (line 58) ... ok [INFO] [stdout] test src/introspection.rs - introspection::ConflictInfo (line 174) ... ok [INFO] [stdout] test src/binding.rs - binding::BindingOptions (line 177) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] all doctests ran in 0.86s; merged doctests compilation took 0.83s [INFO] running `Command { std: "docker" "inspect" "9de3b059184c6be478674230199086568b53a1bc5da57ba8d5b0d4c5bbeb489c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9de3b059184c6be478674230199086568b53a1bc5da57ba8d5b0d4c5bbeb489c", kill_on_drop: false }` [INFO] [stdout] 9de3b059184c6be478674230199086568b53a1bc5da57ba8d5b0d4c5bbeb489c