[INFO] fetching crate room-protocol 3.6.1...
[INFO] testing room-protocol-3.6.1 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate room-protocol 3.6.1 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate room-protocol 3.6.1
[INFO] finished tweaking crates.io crate room-protocol 3.6.1
[INFO] tweaked toml for crates.io crate room-protocol 3.6.1 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate room-protocol 3.6.1 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate room-protocol 3.6.1 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d6113b6c6a5681a0aa2f161652706fc23115636c59905edd4d8c74fc1bb7c5f9
[INFO] running `Command { std: "docker" "start" "-a" "d6113b6c6a5681a0aa2f161652706fc23115636c59905edd4d8c74fc1bb7c5f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d6113b6c6a5681a0aa2f161652706fc23115636c59905edd4d8c74fc1bb7c5f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d6113b6c6a5681a0aa2f161652706fc23115636c59905edd4d8c74fc1bb7c5f9", kill_on_drop: false }`
[INFO] [stdout] d6113b6c6a5681a0aa2f161652706fc23115636c59905edd4d8c74fc1bb7c5f9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a72ad4b64ed9883f0a9e0d11a92e8fe18eb6a3b11188461f5ff6a5b02a6ba010
[INFO] running `Command { std: "docker" "start" "-a" "a72ad4b64ed9883f0a9e0d11a92e8fe18eb6a3b11188461f5ff6a5b02a6ba010", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling room-protocol v3.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.91s
[INFO] running `Command { std: "docker" "inspect" "a72ad4b64ed9883f0a9e0d11a92e8fe18eb6a3b11188461f5ff6a5b02a6ba010", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a72ad4b64ed9883f0a9e0d11a92e8fe18eb6a3b11188461f5ff6a5b02a6ba010", kill_on_drop: false }`
[INFO] [stdout] a72ad4b64ed9883f0a9e0d11a92e8fe18eb6a3b11188461f5ff6a5b02a6ba010
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3d71e094b01041ef5abbbe4c56bcd3c4a7e76fdccbdf272f19cd2bfd47d69cff
[INFO] running `Command { std: "docker" "start" "-a" "3d71e094b01041ef5abbbe4c56bcd3c4a7e76fdccbdf272f19cd2bfd47d69cff", kill_on_drop: false }`
[INFO] [stderr]    Compiling room-protocol v3.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.48s
[INFO] running `Command { std: "docker" "inspect" "3d71e094b01041ef5abbbe4c56bcd3c4a7e76fdccbdf272f19cd2bfd47d69cff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d71e094b01041ef5abbbe4c56bcd3c4a7e76fdccbdf272f19cd2bfd47d69cff", kill_on_drop: false }`
[INFO] [stdout] 3d71e094b01041ef5abbbe4c56bcd3c4a7e76fdccbdf272f19cd2bfd47d69cff
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a8ec190cc125a485aea2085b6dc4be4fc7d27c3fcdb08eddfed8b6cbdf2fe991
[INFO] running `Command { std: "docker" "start" "-a" "a8ec190cc125a485aea2085b6dc4be4fc7d27c3fcdb08eddfed8b6cbdf2fe991", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/room_protocol-82a4846b2f4c0a83)
[INFO] [stdout] 
[INFO] [stdout] running 136 tests
[INFO] [stdout] test plugin::tests::config_from_raw_null_returns_empty ... ok
[INFO] [stdout] test plugin::tests::create_fn_type_is_c_abi ... ok
[INFO] [stdout] test plugin::tests::config_from_raw_zero_len_returns_empty ... ok
[INFO] [stdout] test plugin::tests::declaration_new_stores_correct_values ... ok
[INFO] [stdout] test plugin::tests::declaration_with_empty_strings ... ok
[INFO] [stdout] test plugin::tests::default_api_version_is_one ... ok
[INFO] [stdout] test plugin::tests::config_from_raw_valid_data ... ok
[INFO] [stdout] test plugin::tests::default_min_protocol_is_zero ... ok
[INFO] [stdout] test plugin::tests::declaration_is_repr_c_sized ... ok
[INFO] [stdout] test plugin::tests::default_version_is_zero ... ok
[INFO] [stdout] test plugin::tests::param_type_choice_equality ... ok
[INFO] [stdout] test plugin::tests::param_type_variants_are_distinct ... ok
[INFO] [stdout] test plugin::tests::protocol_version_const_matches_cargo ... ok
[INFO] [stdout] test plugin::tests::symbol_names_are_null_terminated ... ok
[INFO] [stdout] test tests::accessors_return_correct_fields ... ok
[INFO] [stdout] test tests::deserialize_message_from_literal ... ok
[INFO] [stdout] test tests::deserialize_command_with_empty_params ... ok
[INFO] [stdout] test tests::dm_room_error_display ... ok
[INFO] [stdout] test tests::dm_room_error_is_send_sync ... ok
[INFO] [stdout] test tests::dm_room_id_case_sensitive ... ok
[INFO] [stdout] test tests::dm_room_id_sorts_alphabetically ... ok
[INFO] [stdout] test tests::deserialize_event_from_literal ... ok
[INFO] [stdout] test tests::dm_mentions_works ... ok
[INFO] [stdout] test tests::dm_json_has_type_dm ... ok
[INFO] [stdout] test tests::dm_room_id_with_hyphens_in_usernames ... ok
[INFO] [stdout] test plugin::tests::param_type_number_equality ... ok
[INFO] [stdout] test tests::dm_round_trips ... ok
[INFO] [stdout] test tests::dm_visible_to_host ... ok
[INFO] [stdout] test tests::dm_visible_to_sender ... ok
[INFO] [stdout] test tests::dm_visible_to_recipient ... ok
[INFO] [stdout] test tests::event_accessors_work ... ok
[INFO] [stdout] test tests::event_filter_allows_all ... ok
[INFO] [stdout] test tests::event_filter_display_only ... ok
[INFO] [stdout] test tests::event_filter_display_none ... ok
[INFO] [stdout] test tests::event_filter_display_round_trips_through_from_str ... ok
[INFO] [stdout] test tests::event_filter_from_str_csv_with_spaces ... ok
[INFO] [stdout] test tests::dm_room_id_is_deterministic ... ok
[INFO] [stdout] test tests::event_filter_from_str_csv ... ok
[INFO] [stdout] test tests::event_filter_allows_none ... ok
[INFO] [stdout] test tests::event_filter_allows_only_matching ... ok
[INFO] [stdout] test tests::event_filter_from_str_all ... ok
[INFO] [stdout] test tests::event_filter_default_is_all ... ok
[INFO] [stdout] test tests::event_filter_from_str_empty_is_all ... ok
[INFO] [stdout] test tests::event_filter_from_str_invalid_type ... ok
[INFO] [stdout] test tests::event_filter_from_str_none ... ok
[INFO] [stdout] test tests::event_filter_from_str_single ... ok
[INFO] [stdout] test tests::event_filter_serde_all ... ok
[INFO] [stdout] test tests::event_filter_from_str_trailing_comma ... ok
[INFO] [stdout] test tests::event_filter_serde_none ... ok
[INFO] [stdout] test tests::event_filter_serde_only ... ok
[INFO] [stdout] test tests::event_json_has_type_and_event_type ... ok
[INFO] [stdout] test tests::event_filter_display_all ... ok
[INFO] [stdout] test tests::deserialize_join_from_literal ... ok
[INFO] [stdout] test tests::event_is_visible_to_everyone ... ok
[INFO] [stdout] test tests::command_round_trips ... ok
[INFO] [stdout] test tests::event_round_trips_with_params ... ok
[INFO] [stdout] test tests::event_json_includes_params_when_present ... ok
[INFO] [stdout] test tests::event_set_seq ... ok
[INFO] [stdout] test tests::event_mentions_extracted ... ok
[INFO] [stdout] test tests::dm_hidden_from_non_participant ... ok
[INFO] [stdout] test plugin::tests::plugin_api_version_const_is_one ... ok
[INFO] [stdout] test plugin::tests::custom_version_methods_override_defaults ... ok
[INFO] [stdout] test tests::event_type_from_str_all_variants ... ok
[INFO] [stdout] test tests::event_type_from_str_invalid ... ok
[INFO] [stdout] test tests::join_always_visible ... ok
[INFO] [stdout] test tests::join_content_returns_none ... ok
[INFO] [stdout] test tests::join_json_has_type_field_at_top_level ... ok
[INFO] [stdout] test tests::is_dm_room_rejects_non_dm_rooms ... ok
[INFO] [stdout] test tests::join_mentions_returns_empty ... ok
[INFO] [stdout] test tests::dm_non_participant_not_elevated_by_different_host ... ok
[INFO] [stdout] test tests::event_type_display_round_trips_through_from_str ... ok
[INFO] [stdout] test tests::join_round_trips ... ok
[INFO] [stdout] test tests::event_type_display ... ok
[INFO] [stdout] test tests::leave_round_trips ... ok
[INFO] [stdout] test tests::make_event_constructor ... ok
[INFO] [stdout] test tests::event_type_is_copy ... ok
[INFO] [stdout] test tests::event_round_trips ... ok
[INFO] [stdout] test tests::event_type_ord_is_deterministic ... ok
[INFO] [stdout] test tests::format_message_id_basic ... ok
[INFO] [stdout] test tests::format_message_id_max_seq ... ok
[INFO] [stdout] test tests::format_message_id_seq_zero ... ok
[INFO] [stdout] test tests::is_dm_room_handles_edge_cases ... ok
[INFO] [stdout] test tests::message_content_returns_text ... ok
[INFO] [stdout] test tests::message_json_has_content_at_top_level ... ok
[INFO] [stdout] test tests::message_mentions_extracts_usernames ... ok
[INFO] [stdout] test tests::non_dm_always_visible ... ok
[INFO] [stdout] test tests::message_round_trips ... ok
[INFO] [stdout] test tests::parse_dm_envelope ... ok
[INFO] [stdout] test tests::parse_json_command_envelope ... ok
[INFO] [stdout] test tests::parse_json_message_envelope ... ok
[INFO] [stdout] test tests::parse_invalid_json_errors ... ok
[INFO] [stdout] test tests::parse_mentions_at_end ... ok
[INFO] [stdout] test tests::parse_json_reply_envelope ... ok
[INFO] [stdout] test tests::parse_mentions_at_start ... ok
[INFO] [stdout] test tests::parse_mentions_deduplicates ... ok
[INFO] [stdout] test tests::dm_room_id_same_user_errors ... ok
[INFO] [stdout] test tests::parse_mentions_empty_content ... ok
[INFO] [stdout] test tests::parse_mentions_multiple ... ok
[INFO] [stdout] test tests::parse_mentions_multiple_at_signs ... ok
[INFO] [stdout] test tests::parse_mentions_no_mentions ... ok
[INFO] [stdout] test tests::parse_mentions_punctuation_after_username ... ok
[INFO] [stdout] test tests::parse_mentions_single ... ok
[INFO] [stdout] test tests::event_type_serde_round_trip ... ok
[INFO] [stdout] test tests::event_type_serde_snake_case ... ok
[INFO] [stdout] test tests::is_dm_room_identifies_dm_rooms ... ok
[INFO] [stdout] test tests::parse_mentions_with_hyphens_and_underscores ... ok
[INFO] [stdout] test tests::parse_mentions_skips_bare_at ... ok
[INFO] [stdout] test tests::parse_message_id_basic ... ok
[INFO] [stdout] test tests::parse_message_id_empty_room_ok ... ok
[INFO] [stdout] test tests::parse_message_id_invalid_seq_errors ... ok
[INFO] [stdout] test tests::parse_message_id_negative_seq_errors ... ok
[INFO] [stdout] test tests::parse_mentions_skips_email ... ok
[INFO] [stdout] test tests::parse_message_id_room_with_colon ... ok
[INFO] [stdout] test tests::parse_message_id_round_trips ... ok
[INFO] [stdout] test tests::parse_plain_text_becomes_message ... ok
[INFO] [stdout] test tests::reply_content_returns_text ... ok
[INFO] [stdout] test tests::reply_round_trips ... ok
[INFO] [stdout] test tests::room_config_dm_has_two_users ... ok
[INFO] [stdout] test tests::room_config_public_defaults ... ok
[INFO] [stdout] test tests::room_config_serde_round_trip ... ok
[INFO] [stdout] test tests::room_list_entry_serde_round_trip ... ok
[INFO] [stdout] test tests::room_visibility_rename_all_snake_case ... ok
[INFO] [stdout] test tests::room_visibility_serde_round_trip ... ok
[INFO] [stdout] test tests::subscription_tier_display ... ok
[INFO] [stdout] test tests::subscription_tier_display_round_trips_through_from_str ... ok
[INFO] [stdout] test tests::subscription_tier_from_str_aliases ... ok
[INFO] [stdout] test tests::parse_message_id_no_colon_errors ... ok
[INFO] [stdout] test tests::subscription_tier_from_str_canonical ... ok
[INFO] [stdout] test tests::subscription_tier_from_str_invalid ... ok
[INFO] [stdout] test tests::subscription_tier_is_copy ... ok
[INFO] [stdout] test tests::subscription_tier_serde_round_trip ... ok
[INFO] [stdout] test tests::system_data_backward_compat_no_data_field ... ok
[INFO] [stdout] test tests::system_round_trips ... ok
[INFO] [stdout] test tests::subscription_tier_serde_snake_case ... ok
[INFO] [stdout] test tests::system_with_data_round_trips ... ok
[INFO] [stdout] test tests::system_without_data_omits_field ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 136 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests room_protocol
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/plugin.rs - plugin::declare_plugin (line 300) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a8ec190cc125a485aea2085b6dc4be4fc7d27c3fcdb08eddfed8b6cbdf2fe991", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8ec190cc125a485aea2085b6dc4be4fc7d27c3fcdb08eddfed8b6cbdf2fe991", kill_on_drop: false }`
[INFO] [stdout] a8ec190cc125a485aea2085b6dc4be4fc7d27c3fcdb08eddfed8b6cbdf2fe991
