[INFO] cloning repository https://github.com/pauldoo/qc [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pauldoo/qc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpauldoo%2Fqc", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpauldoo%2Fqc'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] da965790e7832d104ff87faad5812ec99913d0f7 [INFO] checking pauldoo/qc against master#61cc47e367d7be91e13bcd01e4e96e0e233d4f6d for 2025-12-16-next-solver-global [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpauldoo%2Fqc" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-3-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/pauldoo/qc [INFO] finished tweaking git repo https://github.com/pauldoo/qc [INFO] tweaked toml for git repo https://github.com/pauldoo/qc written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/pauldoo/qc on toolchain 61cc47e367d7be91e13bcd01e4e96e0e233d4f6d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/pauldoo/qc 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" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3a6643791ad9a439a5fc34eedbd14c01060edeec6e5faa897ad3a7d1045d1648 [INFO] running `Command { std: "docker" "start" "-a" "3a6643791ad9a439a5fc34eedbd14c01060edeec6e5faa897ad3a7d1045d1648", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3a6643791ad9a439a5fc34eedbd14c01060edeec6e5faa897ad3a7d1045d1648", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3a6643791ad9a439a5fc34eedbd14c01060edeec6e5faa897ad3a7d1045d1648", kill_on_drop: false }` [INFO] [stdout] 3a6643791ad9a439a5fc34eedbd14c01060edeec6e5faa897ad3a7d1045d1648 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b879282321e51d0fc2bbf1d771d81f32c31a5c6b38d5e5767d2eeb17d0fe4b30 [INFO] running `Command { std: "docker" "start" "-a" "b879282321e51d0fc2bbf1d771d81f32c31a5c6b38d5e5767d2eeb17d0fe4b30", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.20 [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Checking thiserror v2.0.17 [INFO] [stderr] Checking qc v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `One` and `Zero` [INFO] [stdout] --> src/lib.rs:7:18 [INFO] [stdout] | [INFO] [stdout] 7 | use num_traits::{One, Zero}; [INFO] [stdout] | ^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ColumnVector`, `Matrix`, `braket::Ket`, `complex::Complex`, and `vector_ops::magnitude_squared` [INFO] [stdout] --> src/lib.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::{braket::Ket, complex::Complex, error::QcError, matrix::{ColumnVector, Matrix}, vector_ops::magnitude_squared}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Zero` [INFO] [stdout] --> src/complex.rs:128:27 [INFO] [stdout] | [INFO] [stdout] 128 | use num_traits::{One, Zero}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rc::Rc` [INFO] [stdout] --> src/matrix.rs:2:47 [INFO] [stdout] | [INFO] [stdout] 2 | fmt::Display, iter::Sum, ops::{Add, Mul}, rc::Rc, usize [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Euclid` [INFO] [stdout] --> src/matrix.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use num_traits::{Euclid, One, Zero}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `braket::Ket` [INFO] [stdout] --> src/measurement.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{ApproxEq, SMALL, braket::Ket, complex::Complex, matrix::Matrix, quantum_state::QuantumState}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/measurement.rs:48:27 [INFO] [stdout] | [INFO] [stdout] 48 | let result: Complex = ((state.as_ref().as_bra() * (measurement.as_ref() * state.as_ref())).only_element()); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 48 - let result: Complex = ((state.as_ref().as_bra() * (measurement.as_ref() * state.as_ref())).only_element()); [INFO] [stdout] 48 + let result: Complex = (state.as_ref().as_bra() * (measurement.as_ref() * state.as_ref())).only_element() ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> src/quantum_state.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ApproxEq` [INFO] [stdout] --> src/quantum_state.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | use crate::{ApproxEq, complex::Complex, error::QcError, matrix::ColumnVector, quantum_state::QuantumState}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `One` and `Zero` [INFO] [stdout] --> src/lib.rs:7:18 [INFO] [stdout] | [INFO] [stdout] 7 | use num_traits::{One, Zero}; [INFO] [stdout] | ^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ColumnVector`, `Matrix`, `braket::Ket`, `complex::Complex`, and `vector_ops::magnitude_squared` [INFO] [stdout] --> src/lib.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::{braket::Ket, complex::Complex, error::QcError, matrix::{ColumnVector, Matrix}, vector_ops::magnitude_squared}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rc::Rc` [INFO] [stdout] --> src/matrix.rs:2:47 [INFO] [stdout] | [INFO] [stdout] 2 | fmt::Display, iter::Sum, ops::{Add, Mul}, rc::Rc, usize [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Euclid` [INFO] [stdout] --> src/matrix.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use num_traits::{Euclid, One, Zero}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `braket::Ket` [INFO] [stdout] --> src/measurement.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{ApproxEq, SMALL, braket::Ket, complex::Complex, matrix::Matrix, quantum_state::QuantumState}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/measurement.rs:48:27 [INFO] [stdout] | [INFO] [stdout] 48 | let result: Complex = ((state.as_ref().as_bra() * (measurement.as_ref() * state.as_ref())).only_element()); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 48 - let result: Complex = ((state.as_ref().as_bra() * (measurement.as_ref() * state.as_ref())).only_element()); [INFO] [stdout] 48 + let result: Complex = (state.as_ref().as_bra() * (measurement.as_ref() * state.as_ref())).only_element() ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Float` [INFO] [stdout] --> src/operators.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use num_traits::{Float, One, Zero}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Float` [INFO] [stdout] --> src/operators.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use num_traits::{Float, One, Zero}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Conjugate` is more private than the item `Matrix` [INFO] [stdout] --> src/matrix.rs:117:1 [INFO] [stdout] | [INFO] [stdout] 117 | impl Matrix { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `Matrix` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `Conjugate` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/lib.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | trait Conjugate { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_bounds)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `elems_mut` is never used [INFO] [stdout] --> src/matrix.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl Matrix { [INFO] [stdout] | ------------------------------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 40 | fn elems_mut(&mut self) -> &mut [[T; COLS]; ROWS] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/measurement.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | assert!(s >= 0 && s <= 1); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/measurement.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | assert!(s >= 0 && s < N); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Conjugate` is more private than the item `Matrix` [INFO] [stdout] --> src/matrix.rs:117:1 [INFO] [stdout] | [INFO] [stdout] 117 | impl Matrix { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `Matrix` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `Conjugate` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/lib.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | trait Conjugate { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_bounds)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `elems_mut` is never used [INFO] [stdout] --> src/matrix.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl Matrix { [INFO] [stdout] | ------------------------------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 40 | fn elems_mut(&mut self) -> &mut [[T; COLS]; ROWS] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/measurement.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | assert!(s >= 0 && s <= 1); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/measurement.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | assert!(s >= 0 && s < N); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `complex::Complex` and `matrix::Matrix` [INFO] [stdout] --> tests/deutsch.rs:1:35 [INFO] [stdout] | [INFO] [stdout] 1 | use qc::{assert_aeq, braket::Ket, complex::Complex, matrix::Matrix, measurement::{Measurement, likihood, one_bit_ignore, one_bit_proj... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.70s [INFO] running `Command { std: "docker" "inspect" "b879282321e51d0fc2bbf1d771d81f32c31a5c6b38d5e5767d2eeb17d0fe4b30", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b879282321e51d0fc2bbf1d771d81f32c31a5c6b38d5e5767d2eeb17d0fe4b30", kill_on_drop: false }` [INFO] [stdout] b879282321e51d0fc2bbf1d771d81f32c31a5c6b38d5e5767d2eeb17d0fe4b30