[INFO] fetching crate ray 0.2.0...
[INFO] testing ray-0.2.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate ray 0.2.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate ray 0.2.0
[INFO] finished tweaking crates.io crate ray 0.2.0
[INFO] tweaked toml for crates.io crate ray 0.2.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ray 0.2.0 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 ray 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" "+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-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 20ee11c7eb183822dcf9a00accbe6fc6aac35f896c9a61afe4068a7eab448cb6
[INFO] running `Command { std: "docker" "start" "-a" "20ee11c7eb183822dcf9a00accbe6fc6aac35f896c9a61afe4068a7eab448cb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "20ee11c7eb183822dcf9a00accbe6fc6aac35f896c9a61afe4068a7eab448cb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20ee11c7eb183822dcf9a00accbe6fc6aac35f896c9a61afe4068a7eab448cb6", kill_on_drop: false }`
[INFO] [stdout] 20ee11c7eb183822dcf9a00accbe6fc6aac35f896c9a61afe4068a7eab448cb6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] e72a3d00d96a9922f1f719192899c535ccefbda222a756134fe45ad5a8d9583c
[INFO] running `Command { std: "docker" "start" "-a" "e72a3d00d96a9922f1f719192899c535ccefbda222a756134fe45ad5a8d9583c", kill_on_drop: false }`
[INFO] [stderr]    Compiling ray v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/image.rs:4:45
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn image_to_file(image: &Image, w: &mut Write) {
[INFO] [stdout]   |                                             ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn image_to_file(image: &Image, w: &mut dyn Write) {
[INFO] [stdout]   |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut file: Box<Write> = match filename.as_ref() {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut file: Box<dyn Write> = match filename.as_ref() {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.73s
[INFO] running `Command { std: "docker" "inspect" "e72a3d00d96a9922f1f719192899c535ccefbda222a756134fe45ad5a8d9583c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e72a3d00d96a9922f1f719192899c535ccefbda222a756134fe45ad5a8d9583c", kill_on_drop: false }`
[INFO] [stdout] e72a3d00d96a9922f1f719192899c535ccefbda222a756134fe45ad5a8d9583c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] bd52a4bc461de18b4e4d7b5d02a697d59da6a732ca9fbbb46a0be305f5ec9d32
[INFO] running `Command { std: "docker" "start" "-a" "bd52a4bc461de18b4e4d7b5d02a697d59da6a732ca9fbbb46a0be305f5ec9d32", kill_on_drop: false }`
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/image.rs:4:45
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn image_to_file(image: &Image, w: &mut Write) {
[INFO] [stdout]   |                                             ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn image_to_file(image: &Image, w: &mut dyn Write) {
[INFO] [stdout]   |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ray v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut file: Box<Write> = match filename.as_ref() {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut file: Box<dyn Write> = match filename.as_ref() {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/image.rs:4:45
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn image_to_file(image: &Image, w: &mut Write) {
[INFO] [stdout]   |                                             ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn image_to_file(image: &Image, w: &mut dyn Write) {
[INFO] [stdout]   |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.70s
[INFO] running `Command { std: "docker" "inspect" "bd52a4bc461de18b4e4d7b5d02a697d59da6a732ca9fbbb46a0be305f5ec9d32", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd52a4bc461de18b4e4d7b5d02a697d59da6a732ca9fbbb46a0be305f5ec9d32", kill_on_drop: false }`
[INFO] [stdout] bd52a4bc461de18b4e4d7b5d02a697d59da6a732ca9fbbb46a0be305f5ec9d32
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] c33ffb79b31689a52983458d8d08d7a02690f00e62ff2b60360fd0ada59accfe
[INFO] running `Command { std: "docker" "start" "-a" "c33ffb79b31689a52983458d8d08d7a02690f00e62ff2b60360fd0ada59accfe", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/image.rs:4:45
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn image_to_file(image: &Image, w: &mut Write) {
[INFO] [stderr]   |                                             ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn image_to_file(image: &Image, w: &mut dyn Write) {
[INFO] [stderr]   |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: `ray` (lib) generated 1 warning (run `cargo fix --lib -p ray` to apply 1 suggestion)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:18:23
[INFO] [stderr]    |
[INFO] [stderr] 18 |     let mut file: Box<Write> = match filename.as_ref() {
[INFO] [stderr]    |                       ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 18 |     let mut file: Box<dyn Write> = match filename.as_ref() {
[INFO] [stderr]    |                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: `ray` (bin "ray" test) generated 1 warning (run `cargo fix --bin "ray" -p ray --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `ray` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ray-fe341ba9f17e1a20)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test scene::tests::test_camera_screen_ray ... ok
[INFO] [stdout] test scene::tests::test_trace_ray ... ok
[INFO] [stdout] test scene::tests::test_closest_intersection ... ok
[INFO] [stdout] test scene::tests::test_sphere_ray_intersection ... ok
[INFO] [stdout] test image::tests::test_image_to_file ... ok
[INFO] [stdout] test scene::tests::test_vector_addition ... ok
[INFO] [stdout] test scene::tests::test_vector_normalization ... ok
[INFO] [stdout] test scene::tests::test_vector_cross_product ... ok
[INFO] [stdout] test scene::tests::test_vector_subtraction ... ok
[INFO] [stdout] test scene::tests::test_vector_scalar_division ... ok
[INFO] [stdout] test scene::tests::test_vector_scalar_multiplication ... ok
[INFO] [stdout] test scene::tests::test_vector_dot_product ... ok
[INFO] [stdout] test scene::tests::test_unitvector_reflection ... ok
[INFO] [stdout] test material::tests::test_color_scalar_multiplication ... ok
[INFO] [stdout] test material::tests::test_color_addition ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ray-a106a62192dca39f)
[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] [stderr]    Doc-tests ray
[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] running `Command { std: "docker" "inspect" "c33ffb79b31689a52983458d8d08d7a02690f00e62ff2b60360fd0ada59accfe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c33ffb79b31689a52983458d8d08d7a02690f00e62ff2b60360fd0ada59accfe", kill_on_drop: false }`
[INFO] [stdout] c33ffb79b31689a52983458d8d08d7a02690f00e62ff2b60360fd0ada59accfe
