[INFO] fetching crate shuftlib 0.3.1...
[INFO] testing shuftlib-0.3.1 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate shuftlib 0.3.1 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate shuftlib 0.3.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate shuftlib 0.3.1
[INFO] tweaked toml for crates.io crate shuftlib 0.3.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate shuftlib 0.3.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 shuftlib 0.3.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] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] a6567bd0a0d38cdac7fda9060c421497b59b24eac15ebbc8fed829884b7544f6
[INFO] running `Command { std: "docker" "start" "-a" "a6567bd0a0d38cdac7fda9060c421497b59b24eac15ebbc8fed829884b7544f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a6567bd0a0d38cdac7fda9060c421497b59b24eac15ebbc8fed829884b7544f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6567bd0a0d38cdac7fda9060c421497b59b24eac15ebbc8fed829884b7544f6", kill_on_drop: false }`
[INFO] [stdout] a6567bd0a0d38cdac7fda9060c421497b59b24eac15ebbc8fed829884b7544f6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 04eaf37e4b3c0435bd9762a4c382d7f82f9696af6e628193eeaf5d89f6083073
[INFO] running `Command { std: "docker" "start" "-a" "04eaf37e4b3c0435bd9762a4c382d7f82f9696af6e628193eeaf5d89f6083073", kill_on_drop: false }`
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rand v0.10.1
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling bon-macros v3.9.1
[INFO] [stderr]    Compiling bon v3.9.1
[INFO] [stderr]    Compiling shuftlib v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.45s
[INFO] running `Command { std: "docker" "inspect" "04eaf37e4b3c0435bd9762a4c382d7f82f9696af6e628193eeaf5d89f6083073", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "04eaf37e4b3c0435bd9762a4c382d7f82f9696af6e628193eeaf5d89f6083073", kill_on_drop: false }`
[INFO] [stdout] 04eaf37e4b3c0435bd9762a4c382d7f82f9696af6e628193eeaf5d89f6083073
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 5d6cacffd8f3d531b671e660c5837113feeadc54fbf49a1eba81bf9c19844e1a
[INFO] running `Command { std: "docker" "start" "-a" "5d6cacffd8f3d531b671e660c5837113feeadc54fbf49a1eba81bf9c19844e1a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand v0.10.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling shuftlib v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 17.42s
[INFO] running `Command { std: "docker" "inspect" "5d6cacffd8f3d531b671e660c5837113feeadc54fbf49a1eba81bf9c19844e1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d6cacffd8f3d531b671e660c5837113feeadc54fbf49a1eba81bf9c19844e1a", kill_on_drop: false }`
[INFO] [stdout] 5d6cacffd8f3d531b671e660c5837113feeadc54fbf49a1eba81bf9c19844e1a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] cebdc9015fbab04161940660d959ba6f707a34809573bdf7923a3fd4fb545921
[INFO] running `Command { std: "docker" "start" "-a" "cebdc9015fbab04161940660d959ba6f707a34809573bdf7923a3fd4fb545921", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/shuftlib-420ee4bc08d88424)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test core::deck::tests::draw_n_basic ... ok
[INFO] [stdout] test core::deck::tests::shuffle_changes_order ... ok
[INFO] [stdout] test core::deck::tests::push_and_draw_returns_same_card ... ok
[INFO] [stdout] test core::deck::tests::shuffle_empty_deck ... ok
[INFO] [stdout] test tressette::game::tests::cannot_make_illegal_move ... ok
[INFO] [stdout] test core::deck::tests::shuffle_preserves_cards ... ok
[INFO] [stdout] test tressette::game::tests::can_make_legal_move ... ok
[INFO] [stdout] test tressette::rules::tests::a_team_won_with_both_above_and_same ... ok
[INFO] [stdout] test tressette::rules::tests::a_team_won_with_team2_above ... ok
[INFO] [stdout] test trick_taking::player::tests::sum_always_gives_valid_playerid ... ok
[INFO] [stdout] test tressette::rules::tests::a_team_won_with_both_above_and_different ... ok
[INFO] [stdout] test tressette::rules::tests::a_team_won_with_team1_above ... ok
[INFO] [stdout] test tressette::rules::tests::a_team_won_with_both_below ... ok
[INFO] [stdout] test tressette::game::tests::game_records_history ... ok
[INFO] [stdout] test tressette::game::tests::new_game_starts_dealt ... ok
[INFO] [stdout] test core::deck::tests::shuffle_card_inserts_card ... ok
[INFO] [stdout] test trick_taking::trick::tests::play_method_works ... ok
[INFO] [stdout] test tressette::rules::tests::playable_returns_correct_indices ... ok
[INFO] [stdout] test trick_taking::trick::tests::finish_method_works ... ok
[INFO] [stdout] test tressette::rules::tests::remove_card_at_valid_index_removes_correct_card ... ok
[INFO] [stdout] test tressette::rules::tests::play_with_no_suit_constraint_allows_any_card ... ok
[INFO] [stdout] test tressette::rules::tests::play_validates_playability ... ok
[INFO] [stdout] test core::deck::tests::draw_all_cards_yields_unique ... ok
[INFO] [stdout] test core::deck::tests::shuffle_card_never_inserts_at_top_or_bottom_for_large_deck ... ok
[INFO] [stderr]      Running tests/tressette.rs (/opt/rustwide/target/debug/deps/tressette-cd2513c1368ff136)
[INFO] [stdout] test tressette::game::tests::legal_cards_lead_to_valid_game ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tressette_works ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests shuftlib
[INFO] [stdout] 
[INFO] [stdout] running 70 tests
[INFO] [stdout] test src/../README.md - (line 7) ... ok
[INFO] [stdout] test src/core.rs - core::Suit (line 35) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<FrenchCard>::french_with_jokers (line 107) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck (line 16) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck (line 27) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck (line 38) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<FrenchCard>::french (line 85) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<T>::as_mut_slice (line 322) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<T>::len (line 338) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<ItalianCard>::italian (line 61) ... ok
[INFO] [stdout] test src/tressette/card.rs - tressette::card::TressetteCard (line 19) ... ok
[INFO] [stdout] test src/tressette/card.rs - tressette::card::TressetteCard::fmt (line 101) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<T>::shuffle_card (line 151) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<T>::push (line 176) ... ok
[INFO] [stdout] test src/tressette/card.rs - tressette::card::TressetteCard::new (line 184) ... ok
[INFO] [stdout] test src/tressette/card.rs - tressette::card::TressetteCard::from (line 121) ... ok
[INFO] [stdout] test src/tressette/card.rs - tressette::card::TressetteCard::value (line 152) ... ok
[INFO] [stdout] test src/core/italian.rs - core::italian::ItalianCard::new (line 18) ... ok
[INFO] [stdout] test src/tressette/card.rs - tressette::card::TressetteCard::cmp (line 49) ... ok
[INFO] [stdout] test src/tressette/game.rs - tressette::game::Game::hands_completed (line 285) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<T>::as_slice (line 307) ... ok
[INFO] [stdout] test src/tressette/game.rs - tressette::game::Game::hand (line 207) ... ok
[INFO] [stdout] test src/tressette/game.rs - tressette::game::Game::history (line 452) ... ok
[INFO] [stdout] test src/tressette/game.rs - tressette::game::Game::is_legal_card (line 342) ... ok
[INFO] [stdout] test src/tressette/game.rs - tressette::game::Game::current_trick (line 225) ... ok
[INFO] [stdout] test src/tressette/game.rs - tressette::game::Game::new (line 101) ... ok
[INFO] [stdout] test src/tressette/game.rs - tressette::game::Game::score (line 161) ... ok
[INFO] [stdout] test src/tressette/game.rs - tressette::game::Game::legal_cards (line 301) ... ok
[INFO] [stdout] test src/tressette/game.rs - tressette::game::Game::status (line 179) ... ok
[INFO] [stdout] test src/tressette/rules.rs - tressette::rules::TressetteRules::determine_taker (line 58) ... ok
[INFO] [stdout] test src/tressette/game.rs - tressette::game::Game::tricks_this_hand (line 267) ... ok
[INFO] [stdout] test src/tressette/game.rs - tressette::game::Game::state_after_card (line 470) ... ok
[INFO] [stdout] test src/tressette/game.rs - tressette::game::Game::trick_leader (line 244) ... ok
[INFO] [stdout] test src/trick_taking/hand.rs - trick_taking::hand::Hand<G>::tricks (line 50) ... ok
[INFO] [stdout] test src/trick_taking/hand.rs - trick_taking::hand::Hand<G>::new (line 26) ... ok
[INFO] [stdout] test src/tressette/rules.rs - tressette::rules::TressetteRules::playable (line 142) ... ok
[INFO] [stdout] test src/trick_taking/hand.rs - trick_taking::hand::OngoingHand<G>::add (line 169) ... ok
[INFO] [stdout] test src/tressette/rules.rs - tressette::rules::TressetteRules::play (line 197) ... ok
[INFO] [stdout] test src/trick_taking/player.rs - trick_taking::player::Player<G>::give (line 30) ... ok
[INFO] [stdout] test src/trick_taking/hand.rs - trick_taking::hand::OngoingHand<G>::tricks (line 106) ... ok
[INFO] [stdout] test src/trick_taking/player.rs - trick_taking::player::Player<G>::hand (line 91) ... ok
[INFO] [stdout] test src/trick_taking/hand.rs - trick_taking::hand::OngoingHand<G>::new (line 149) ... ok
[INFO] [stdout] test src/trick_taking/player.rs - trick_taking::player::Player<G>::new (line 122) ... ok
[INFO] [stdout] test src/trick_taking/player.rs - trick_taking::player::Player<G>::remove_card (line 55) ... ok
[INFO] [stdout] test src/trick_taking/player.rs - trick_taking::player::Player<G>::id (line 106) ... ok
[INFO] [stdout] test src/trick_taking/player.rs - trick_taking::player::PlayerId::as_usize (line 200) ... ok
[INFO] [stdout] test src/trick_taking/player.rs - trick_taking::player::PlayerId::inc (line 160) ... ok
[INFO] [stdout] test src/trick_taking/trick.rs - trick_taking::trick::OngoingTrick<G>::cards (line 234) ... ok
[INFO] [stdout] test src/trick_taking/player.rs - trick_taking::player::PlayerId::next (line 183) ... ok
[INFO] [stdout] test src/trick_taking/trick.rs - trick_taking::trick::OngoingTrick<G>::finish (line 176) ... ok
[INFO] [stdout] test src/tressette/game.rs - tressette::game::Game::current_player (line 139) ... ok
[INFO] [stdout] test src/trick_taking/trick.rs - trick_taking::trick::OngoingTrick<G>::first_to_play (line 249) ... ok
[INFO] [stdout] test src/trick_taking/hand.rs - trick_taking::hand::OngoingHand<G>::current_trick (line 91) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<T>::iter_mut (line 286) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<T>::with_capacity (line 249) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<T>::iter (line 265) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<T>::shuffle (line 135) ... ok
[INFO] [stdout] test src/trick_taking/trick.rs - trick_taking::trick::Trick<G>::cards (line 88) ... ok
[INFO] [stdout] test src/core/french.rs - core::french::FrenchCard::new (line 18) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<T>::is_empty (line 358) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<T>::draw_n (line 211) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<T>::draw (line 193) ... ok
[INFO] [stdout] test src/trick_taking/hand.rs - trick_taking::hand::OngoingHand<G>::finish (line 124) ... ok
[INFO] [stdout] test src/trick_taking/trick.rs - trick_taking::trick::OngoingTrick<G>::next_to_play (line 264) ... ok
[INFO] [stdout] test src/trick_taking/trick.rs - trick_taking::trick::Trick<G>::taker (line 65) ... ok
[INFO] [stdout] test src/trick_taking/trick.rs - trick_taking::trick::OngoingTrick<G>::new (line 280) ... ok
[INFO] [stdout] test src/tressette/game.rs - tressette::game::Game::play_card (line 362) ... ok
[INFO] [stdout] test src/trick_taking/trick.rs - trick_taking::trick::OngoingTrick<G>::play (line 141) ... ok
[INFO] [stdout] test src/core/deck.rs - core::deck::Deck<T>::new (line 235) ... ok
[INFO] [stdout] test src/trick_taking/trick.rs - trick_taking::trick::Trick<G>::taken_with (line 42) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 70 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.97s; merged doctests compilation took 0.87s
[INFO] running `Command { std: "docker" "inspect" "cebdc9015fbab04161940660d959ba6f707a34809573bdf7923a3fd4fb545921", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cebdc9015fbab04161940660d959ba6f707a34809573bdf7923a3fd4fb545921", kill_on_drop: false }`
[INFO] [stdout] cebdc9015fbab04161940660d959ba6f707a34809573bdf7923a3fd4fb545921
