[INFO] fetching crate rubiks-cube-representation 0.1.0... [INFO] testing rubiks-cube-representation-0.1.0 against beta-2025-10-28 for beta-1.92-2 [INFO] extracting crate rubiks-cube-representation 0.1.0 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate rubiks-cube-representation 0.1.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate rubiks-cube-representation 0.1.0 [INFO] tweaked toml for crates.io crate rubiks-cube-representation 0.1.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate rubiks-cube-representation 0.1.0 on toolchain beta-2025-10-28 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate rubiks-cube-representation 0.1.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" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6c1dfa1fe39311cd3658beba32f6a31dcf008a551e146b27b022348c19637c90 [INFO] running `Command { std: "docker" "start" "-a" "6c1dfa1fe39311cd3658beba32f6a31dcf008a551e146b27b022348c19637c90", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6c1dfa1fe39311cd3658beba32f6a31dcf008a551e146b27b022348c19637c90", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6c1dfa1fe39311cd3658beba32f6a31dcf008a551e146b27b022348c19637c90", kill_on_drop: false }` [INFO] [stdout] 6c1dfa1fe39311cd3658beba32f6a31dcf008a551e146b27b022348c19637c90 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 13c5e21ef49e1ba8571a38711403bf01dc17a503cca0cb2881e37668c202a010 [INFO] running `Command { std: "docker" "start" "-a" "13c5e21ef49e1ba8571a38711403bf01dc17a503cca0cb2881e37668c202a010", kill_on_drop: false }` [INFO] [stderr] Compiling rubiks-cube-representation v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait `Move` is never used [INFO] [stdout] --> src/core/rubiks/moves/mod.rs:565:18 [INFO] [stdout] | [INFO] [stdout] 565 | pub(crate) trait Move : Into> {} [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `inverse` is never used [INFO] [stdout] --> src/core/rubiks/tiles/partial/mod.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 129 | impl PartialTilePerm { [INFO] [stdout] | --------------------------------------- method in this implementation [INFO] [stdout] 130 | pub fn inverse(&self) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `RestrictionToPartial` is never used [INFO] [stdout] --> src/core/rubiks/tiles/partial/mod.rs:165:18 [INFO] [stdout] | [INFO] [stdout] 165 | pub(crate) trait RestrictionToPartial : Restriction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `restriction_domain` is never used [INFO] [stdout] --> src/core/rubiks/tiles/partial/mod.rs:177:19 [INFO] [stdout] | [INFO] [stdout] 176 | impl PartialTilePerm { [INFO] [stdout] | --------------------------------------- method in this implementation [INFO] [stdout] 177 | pub(crate) fn restriction_domain(&self) -> PartialTileSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PartialTileSet` is never constructed [INFO] [stdout] --> src/core/rubiks/tiles/partial/mod.rs:182:19 [INFO] [stdout] | [INFO] [stdout] 182 | pub(crate) struct PartialTileSet(HashSet); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.48s [INFO] running `Command { std: "docker" "inspect" "13c5e21ef49e1ba8571a38711403bf01dc17a503cca0cb2881e37668c202a010", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "13c5e21ef49e1ba8571a38711403bf01dc17a503cca0cb2881e37668c202a010", kill_on_drop: false }` [INFO] [stdout] 13c5e21ef49e1ba8571a38711403bf01dc17a503cca0cb2881e37668c202a010 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e1ca18903f1c65b15a97895a9c9589634d06070dd36a8263d99fba7d4bb69c28 [INFO] running `Command { std: "docker" "start" "-a" "e1ca18903f1c65b15a97895a9c9589634d06070dd36a8263d99fba7d4bb69c28", kill_on_drop: false }` [INFO] [stdout] warning: trait `Move` is never used [INFO] [stdout] --> src/core/rubiks/moves/mod.rs:565:18 [INFO] [stdout] | [INFO] [stdout] 565 | pub(crate) trait Move : Into> {} [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `inverse` is never used [INFO] [stdout] --> src/core/rubiks/tiles/partial/mod.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 129 | impl PartialTilePerm { [INFO] [stdout] | --------------------------------------- method in this implementation [INFO] [stdout] 130 | pub fn inverse(&self) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rubiks-cube-representation v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait `RestrictionToPartial` is never used [INFO] [stdout] --> src/core/rubiks/tiles/partial/mod.rs:165:18 [INFO] [stdout] | [INFO] [stdout] 165 | pub(crate) trait RestrictionToPartial : Restriction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `restriction_domain` is never used [INFO] [stdout] --> src/core/rubiks/tiles/partial/mod.rs:177:19 [INFO] [stdout] | [INFO] [stdout] 176 | impl PartialTilePerm { [INFO] [stdout] | --------------------------------------- method in this implementation [INFO] [stdout] 177 | pub(crate) fn restriction_domain(&self) -> PartialTileSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PartialTileSet` is never constructed [INFO] [stdout] --> src/core/rubiks/tiles/partial/mod.rs:182:19 [INFO] [stdout] | [INFO] [stdout] 182 | pub(crate) struct PartialTileSet(HashSet); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cube_after_u` [INFO] [stdout] --> tests/readme_examples.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let cube_after_u = &cube * &BasicMove::<3>::U; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cube_after_u` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cube_rotated` [INFO] [stdout] --> tests/readme_examples.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let cube_rotated = &cube * &Y * &BasicMove::R * &BasicMove::<3>::U; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cube_rotated` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `after_wide` [INFO] [stdout] --> tests/readme_examples.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let after_wide = &cube_5x5 * &WideMove::<5>::Uw(3); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_after_wide` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `after_middle` [INFO] [stdout] --> tests/readme_examples.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let after_middle = &cube_5x5 * &MiddleMove::<5>::M; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_after_middle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/core/tests.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Move` is never used [INFO] [stdout] --> src/core/rubiks/moves/mod.rs:565:18 [INFO] [stdout] | [INFO] [stdout] 565 | pub(crate) trait Move : Into> {} [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `inverse` is never used [INFO] [stdout] --> src/core/rubiks/tiles/partial/mod.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 129 | impl PartialTilePerm { [INFO] [stdout] | --------------------------------------- method in this implementation [INFO] [stdout] 130 | pub fn inverse(&self) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `RestrictionToPartial` is never used [INFO] [stdout] --> src/core/rubiks/tiles/partial/mod.rs:165:18 [INFO] [stdout] | [INFO] [stdout] 165 | pub(crate) trait RestrictionToPartial : Restriction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `restriction_domain` is never used [INFO] [stdout] --> src/core/rubiks/tiles/partial/mod.rs:177:19 [INFO] [stdout] | [INFO] [stdout] 176 | impl PartialTilePerm { [INFO] [stdout] | --------------------------------------- method in this implementation [INFO] [stdout] 177 | pub(crate) fn restriction_domain(&self) -> PartialTileSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PartialTileSet` is never constructed [INFO] [stdout] --> src/core/rubiks/tiles/partial/mod.rs:182:19 [INFO] [stdout] | [INFO] [stdout] 182 | pub(crate) struct PartialTileSet(HashSet); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.11s [INFO] running `Command { std: "docker" "inspect" "e1ca18903f1c65b15a97895a9c9589634d06070dd36a8263d99fba7d4bb69c28", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e1ca18903f1c65b15a97895a9c9589634d06070dd36a8263d99fba7d4bb69c28", kill_on_drop: false }` [INFO] [stdout] e1ca18903f1c65b15a97895a9c9589634d06070dd36a8263d99fba7d4bb69c28 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] db197a96290f9baef445056ae17fc707bb887e1f40ef45f00cf8e77e347605d7 [INFO] running `Command { std: "docker" "start" "-a" "db197a96290f9baef445056ae17fc707bb887e1f40ef45f00cf8e77e347605d7", kill_on_drop: false }` [INFO] [stderr] warning: trait `Move` is never used [INFO] [stderr] --> src/core/rubiks/moves/mod.rs:565:18 [INFO] [stderr] | [INFO] [stderr] 565 | pub(crate) trait Move : Into> {} [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `inverse` is never used [INFO] [stderr] --> src/core/rubiks/tiles/partial/mod.rs:130:12 [INFO] [stderr] | [INFO] [stderr] 129 | impl PartialTilePerm { [INFO] [stderr] | --------------------------------------- method in this implementation [INFO] [stderr] 130 | pub fn inverse(&self) -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `RestrictionToPartial` is never used [INFO] [stderr] --> src/core/rubiks/tiles/partial/mod.rs:165:18 [INFO] [stderr] | [INFO] [stderr] 165 | pub(crate) trait RestrictionToPartial : Restriction { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `restriction_domain` is never used [INFO] [stderr] --> src/core/rubiks/tiles/partial/mod.rs:177:19 [INFO] [stderr] | [INFO] [stderr] 176 | impl PartialTilePerm { [INFO] [stderr] | --------------------------------------- method in this implementation [INFO] [stderr] 177 | pub(crate) fn restriction_domain(&self) -> PartialTileSet { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `PartialTileSet` is never constructed [INFO] [stderr] --> src/core/rubiks/tiles/partial/mod.rs:182:19 [INFO] [stderr] | [INFO] [stderr] 182 | pub(crate) struct PartialTileSet(HashSet); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rubiks-cube-representation` (lib) generated 5 warnings [INFO] [stderr] warning: unused variable: `cube_after_u` [INFO] [stderr] --> tests/readme_examples.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | let cube_after_u = &cube * &BasicMove::<3>::U; [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cube_after_u` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cube_rotated` [INFO] [stderr] --> tests/readme_examples.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | let cube_rotated = &cube * &Y * &BasicMove::R * &BasicMove::<3>::U; [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cube_rotated` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `after_wide` [INFO] [stderr] --> tests/readme_examples.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let after_wide = &cube_5x5 * &WideMove::<5>::Uw(3); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_after_wide` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `after_middle` [INFO] [stderr] --> tests/readme_examples.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | let after_middle = &cube_5x5 * &MiddleMove::<5>::M; [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_after_middle` [INFO] [stderr] [INFO] [stderr] warning: `rubiks-cube-representation` (test "readme_examples") generated 4 warnings (run `cargo fix --test "readme_examples" -p rubiks-cube-representation` to apply 4 suggestions) [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/core/tests.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `rubiks-cube-representation` (lib test) generated 6 warnings (5 duplicates) (run `cargo fix --lib -p rubiks-cube-representation --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rubiks_cube_representation-c27404cfe701ac44) [INFO] [stdout] [INFO] [stdout] running 50 tests [INFO] [stdout] test core::cube::geometry::tests::test_bidirectional_adjacency ... ok [INFO] [stdout] test core::cube::geometry::tests::test_principal_corner_adjacency ... ok [INFO] [stdout] test core::cube::rotations::tests::test_associativity ... ok [INFO] [stdout] test core::cube::rotations::tests::test_face_perm_conversion ... ok [INFO] [stdout] test core::cube::rotations::tests::test_group_closure ... ok [INFO] [stdout] test core::cube::geometry::tests::test_principal_corner_consistency ... ok [INFO] [stdout] test core::cube::rotations::tests::test_identity_constants ... ok [INFO] [stdout] test core::cube::rotations::tests::test_identity_face_perm ... ok [INFO] [stdout] test core::cube::rotations::tests::test_rotation_inverses ... ok [INFO] [stdout] test core::cube::rotations::tests::test_rotation_orders ... ok [INFO] [stdout] test core::cube::rotations::tests::test_rotation_squares ... ok [INFO] [stdout] test core::cube::rotations::tests::test_xyz_order ... ok [INFO] [stdout] test core::cube::schemes::tests::test_colour_scheme_rotated ... ok [INFO] [stdout] test core::cube::tests::test_face_perm_basic_rotations ... ok [INFO] [stdout] test core::cube::tests::test_face_perm_homomorphism ... ok [INFO] [stdout] test core::cube::tests::test_face_perm_identity ... ok [INFO] [stdout] test core::rubiks::tests::test_1x1_cube_rotations ... ok [INFO] [stdout] test core::rubiks::tests::test_2x2_cube_x_rotation ... ok [INFO] [stdout] test core::rubiks::tiles::implementations::tests::test_y_rotation_face_mapping_3x3 ... ok [INFO] [stdout] test core::rubiks::tests::test_solved_up_to_rotation ... ok [INFO] [stdout] test core::rubiks::tiles::implementations::tests::test_rotation_inverse_3x3 ... ok [INFO] [stdout] test core::rubiks::tiles::implementations::tests::test_x_rotation_face_mapping_3x3 ... ok [INFO] [stdout] test core::rubiks::tests::test_basic_moves_agree_with_rotations_on_slices ... ok [INFO] [stdout] test core::rubiks::tests::test_slice_moves_agree_with_rotations_on_slices ... ok [INFO] [stdout] test core::rubiks::tiles::restrictions::tests::test_combined_restriction_terminates_3x3 ... ok [INFO] [stdout] test core::rubiks::tiles::restrictions::tests::test_slice_0_iterator_terminates_2x2 ... ok [INFO] [stdout] test core::rubiks::tests::test_2x2_cube_z_rotation ... ok [INFO] [stdout] test core::rubiks::tiles::implementations::tests::test_different_cube_dimensions ... ok [INFO] [stdout] test core::rubiks::tiles::restrictions::tests::test_slice_excludes_face_tiles_for_middle_slice_3x3 ... ok [INFO] [stdout] test core::rubiks::tiles::restrictions::tests::test_slice_positions_are_valid_3x3 ... ok [INFO] [stdout] test core::rubiks::tiles::implementations::tests::test_x2_rotation_3x3 ... ok [INFO] [stdout] test core::rubiks::tests::test_middle_moves_agree_with_rotations_on_slices ... ok [INFO] [stdout] test core::rubiks::tests::test_2x2_cube_y_rotation ... ok [INFO] [stdout] test core::rubiks::tiles::implementations::tests::test_z_rotation_face_mapping_3x3 ... ok [INFO] [stdout] test core::rubiks::tiles::implementations::tests::test_identity_rotation_4x4 ... ok [INFO] [stdout] test core::rubiks::tests::test_range_moves_agree_with_rotations_on_slices ... ok [INFO] [stdout] test core::rubiks::tiles::restrictions::tests::test_slice_includes_face_tiles_for_end_slice_3x3 ... ok [INFO] [stdout] test core::rubiks::tiles::restrictions::tests::test_slice_positions_are_unique_3x3 ... ok [INFO] [stdout] test core::rubiks::tiles::restrictions::tests::test_slice_1_iterator_terminates_3x3 ... ok [INFO] [stdout] test core::rubiks::tiles::restrictions::tests::test_slice_0_iterator_terminates_3x3 ... ok [INFO] [stdout] test core::rubiks::tiles::implementations::tests::test_rotation_composition_3x3 ... ok [INFO] [stdout] test core::rubiks::tiles::restrictions::tests::test_slice_range_empty_range_3x3 ... ok [INFO] [stdout] test core::rubiks::tiles::restrictions::tests::test_slice_range_single_slice_3x3 ... ok [INFO] [stdout] test core::rubiks::tiles::implementations::tests::test_identity_rotation_3x3 ... ok [INFO] [stdout] test core::rubiks::tiles::restrictions::tests::test_slice_range_iterator_terminates_3x3 ... ok [INFO] [stdout] test core::rubiks::tiles::tests::test_u_move_affects_only_top_slice ... ok [INFO] [stdout] test core::rubiks::tiles::tests::test_basic_moves_affect_only_their_face_slice ... ok [INFO] [stdout] test core::rubiks::tiles::tests::test_basic_moves_have_order_4 ... ok [INFO] [stdout] test core::rubiks::tiles::tests::test_basic_moves_double_equals_half_turn ... ok [INFO] [stdout] test core::rubiks::tests::test_wide_moves_agree_with_rotations_on_slices ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 50 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/readme_examples.rs (/opt/rustwide/target/debug/deps/readme_examples-0ef485707c140c24) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test tile_permutation_tracking ... ok [INFO] [stdout] test basic_cube_manipulation ... ok [INFO] [stdout] test multi_dimensional_cubes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests rubiks_cube_representation [INFO] [stdout] [INFO] [stdout] running 22 tests [INFO] [stdout] test src/core/rubiks/mod.rs - core::rubiks::RubiksState::index (line 265) ... ignored [INFO] [stdout] test src/core/rubiks/moves/multiplication/mod.rs - core::rubiks::moves::multiplication (line 12) ... ignored [INFO] [stdout] test src/core/rubiks/tiles/implementations/mod.rs - core::rubiks::tiles::implementations (line 38) ... ignored [INFO] [stdout] test src/core/rubiks/tiles/implementations/mod.rs - core::rubiks::tiles::implementations (line 47) ... ignored [INFO] [stdout] test src/core/rubiks/tiles/implementations/mod.rs - core::rubiks::tiles::implementations::TilePerm::from (line 368) ... ignored [INFO] [stdout] test src/core/rubiks/tiles/mod.rs - core::rubiks::tiles::CubeOperation (line 418) ... ignored [INFO] [stdout] test src/core/rubiks/tiles/mod.rs - core::rubiks::tiles::TilePerm (line 131) ... ignored [INFO] [stdout] test src/core/rubiks/tiles/partial/mod.rs - core::rubiks::tiles::partial (line 28) ... ignored [INFO] [stdout] test src/core/rubiks/tiles/partial/mod.rs - core::rubiks::tiles::partial::rotate_face_only (line 271) ... ignored [INFO] [stdout] test src/core/rubiks/tiles/restrictions/mod.rs - core::rubiks::tiles::restrictions::Restriction (line 130) ... ignored [INFO] [stdout] test src/core/mod.rs - core::Angle::sub (line 198) ... ok [INFO] [stdout] test src/core/rubiks/tiles/restrictions/mod.rs - core::rubiks::tiles::restrictions (line 56) ... ok [INFO] [stdout] test src/core/mod.rs - core::COLOURS (line 87) ... ok [INFO] [stdout] test src/core/cube/geometry/mod.rs - core::cube::geometry::Face::diag_orientation_following_ulf (line 216) ... ok [INFO] [stdout] test src/core/mod.rs - core::Angle::add (line 154) ... ok [INFO] [stdout] test src/core/cube/geometry/mod.rs - core::cube::geometry::FaceSide::mul (line 703) ... ok [INFO] [stdout] test src/core/rubiks/tiles/mod.rs - core::rubiks::tiles::TilePerm::agree_on (line 648) ... ok [INFO] [stdout] test src/core/cube/geometry/mod.rs - core::cube::geometry::Face::adjacencies (line 580) ... ok [INFO] [stdout] test src/core/cube/geometry/mod.rs - core::cube::geometry::Face::principal_diag (line 262) ... ok [INFO] [stdout] test src/core/rubiks/tiles/restrictions/mod.rs - core::rubiks::tiles::restrictions::Slice (line 204) ... ok [INFO] [stdout] test src/core/cube/geometry/mod.rs - core::cube::geometry::Face::adjacent (line 657) ... ok [INFO] [stdout] test src/core/rubiks/tiles/mod.rs - core::rubiks::tiles::TilePerm::inverse (line 327) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 10 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] all doctests ran in 0.54s; merged doctests compilation took 0.52s [INFO] running `Command { std: "docker" "inspect" "db197a96290f9baef445056ae17fc707bb887e1f40ef45f00cf8e77e347605d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db197a96290f9baef445056ae17fc707bb887e1f40ef45f00cf8e77e347605d7", kill_on_drop: false }` [INFO] [stdout] db197a96290f9baef445056ae17fc707bb887e1f40ef45f00cf8e77e347605d7