[INFO] cloning repository https://github.com/benjvmin93/mbqc-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/benjvmin93/mbqc-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbenjvmin93%2Fmbqc-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbenjvmin93%2Fmbqc-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b10e67345c904f2e9f16791cb4565884f15a0e21
[INFO] checking benjvmin93/mbqc-rust against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbenjvmin93%2Fmbqc-rust" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/benjvmin93/mbqc-rust
[INFO] finished tweaking git repo https://github.com/benjvmin93/mbqc-rust
[INFO] tweaked toml for git repo https://github.com/benjvmin93/mbqc-rust written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/benjvmin93/mbqc-rust on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 50 packages to latest compatible versions
[INFO] [stderr]       Adding numpy v0.21.0 (available: v0.27.0)
[INFO] [stderr]       Adding pyo3 v0.21.2 (available: v0.27.1)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded numpy v0.21.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d1728ea22a1fc319f4a6bea221936bdbe69faee6837cce43c1a8684be002d07b
[INFO] running `Command { std: "docker" "start" "-a" "d1728ea22a1fc319f4a6bea221936bdbe69faee6837cce43c1a8684be002d07b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d1728ea22a1fc319f4a6bea221936bdbe69faee6837cce43c1a8684be002d07b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d1728ea22a1fc319f4a6bea221936bdbe69faee6837cce43c1a8684be002d07b", kill_on_drop: false }`
[INFO] [stdout] d1728ea22a1fc319f4a6bea221936bdbe69faee6837cce43c1a8684be002d07b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ca99df9017d35cf8eaefad5a843153a65745ed74fc42701bed25d81918b30bf0
[INFO] running `Command { std: "docker" "start" "-a" "ca99df9017d35cf8eaefad5a843153a65745ed74fc42701bed25d81918b30bf0", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]     Checking unindent v0.2.4
[INFO] [stderr]    Compiling pyo3-build-config v0.21.2
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling pyo3-ffi v0.21.2
[INFO] [stderr]    Compiling pyo3 v0.21.2
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling pyo3-macros-backend v0.21.2
[INFO] [stderr]    Compiling pyo3-macros v0.21.2
[INFO] [stderr]     Checking numpy v0.21.0
[INFO] [stderr]     Checking dm-simu-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `re_diff`
[INFO] [stdout]   --> src/tools.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let re_diff = (a.re - b.re).abs();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_re_diff`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im_diff`
[INFO] [stdout]   --> src/tools.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let im_diff = (a.im - b.im).abs();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_im_diff`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `re_diff`
[INFO] [stdout]   --> src/tools.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let re_diff = (a.re - b.re).abs();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_re_diff`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im_diff`
[INFO] [stdout]   --> src/tools.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let im_diff = (a.im - b.im).abs();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_im_diff`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `py`
[INFO] [stdout]    --> src/lib.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         py: pyo3::prelude::Python<'py>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_py`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `py`
[INFO] [stdout]    --> src/lib.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         py: pyo3::prelude::Python<'py>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_py`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `py`
[INFO] [stdout]    --> src/lib.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |         py: Python<'py>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_py`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_krauss_channel` is never used
[INFO] [stdout]    --> src/lib.rs:377:8
[INFO] [stdout]     |
[INFO] [stdout] 377 |     fn parse_krauss_channel<'py>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `py`
[INFO] [stdout]    --> src/lib.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |         py: Python<'py>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_py`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     m.add("Zero", State::ZERO);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let _ = m.add("Zero", State::ZERO);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_krauss_channel` is never used
[INFO] [stdout]    --> src/lib.rs:377:8
[INFO] [stdout]     |
[INFO] [stdout] 377 |     fn parse_krauss_channel<'py>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lib.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     m.add("Plus", State::PLUS);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let _ = m.add("Plus", State::PLUS);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lib.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     m.add("One", State::ONE);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let _ = m.add("One", State::ONE);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lib.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     m.add("Minus", State::MINUS);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let _ = m.add("Minus", State::MINUS);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:43:43
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn get_op_ref<'py>(op: PyVec<'py>) -> &Operator {
[INFO] [stdout]    |                                  ---      ^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'py`
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn get_op_ref<'py>(op: PyVec<'py>) -> &'py Operator {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:47:43
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn get_dm_ref<'py>(dm: PyVec<'py>) -> &DensityMatrix {
[INFO] [stdout]    |                                  ---      ^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'py`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn get_dm_ref<'py>(dm: PyVec<'py>) -> &'py DensityMatrix {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:51:47
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn get_dm_mut_ref<'py>(dm: PyVec<'py>) -> &mut DensityMatrix {
[INFO] [stdout]    |                                      ---      ^^^^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]    |                                      |
[INFO] [stdout]    |                                      the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'py`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn get_dm_mut_ref<'py>(dm: PyVec<'py>) -> &'py mut DensityMatrix {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     m.add("Zero", State::ZERO);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let _ = m.add("Zero", State::ZERO);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lib.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     m.add("Plus", State::PLUS);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let _ = m.add("Plus", State::PLUS);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lib.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     m.add("One", State::ONE);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let _ = m.add("One", State::ONE);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lib.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     m.add("Minus", State::MINUS);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let _ = m.add("Minus", State::MINUS);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:43:43
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn get_op_ref<'py>(op: PyVec<'py>) -> &Operator {
[INFO] [stdout]    |                                  ---      ^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'py`
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn get_op_ref<'py>(op: PyVec<'py>) -> &'py Operator {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:47:43
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn get_dm_ref<'py>(dm: PyVec<'py>) -> &DensityMatrix {
[INFO] [stdout]    |                                  ---      ^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'py`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn get_dm_ref<'py>(dm: PyVec<'py>) -> &'py DensityMatrix {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:51:47
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn get_dm_mut_ref<'py>(dm: PyVec<'py>) -> &mut DensityMatrix {
[INFO] [stdout]    |                                      ---      ^^^^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]    |                                      |
[INFO] [stdout]    |                                      the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'py`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn get_dm_mut_ref<'py>(dm: PyVec<'py>) -> &'py mut DensityMatrix {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `re_diff`
[INFO] [stdout]   --> src/tools.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let re_diff = (a.re - b.re).abs();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_re_diff`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im_diff`
[INFO] [stdout]   --> src/tools.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let im_diff = (a.im - b.im).abs();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_im_diff`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `re_diff`
[INFO] [stdout]   --> src/tools.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let re_diff = (a.re - b.re).abs();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_re_diff`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DensityMatrix` is never constructed
[INFO] [stdout]   --> src/density_matrix.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct DensityMatrix {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/density_matrix.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl DensityMatrix {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  34 |     pub fn empty() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  41 |     pub fn new(nqubits: usize, initial_state: State) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn from_statevec(statevec: &[Complex<f64>]) -> Result<Self, &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn from_vec(vec: &[Complex<f64>]) -> Result<Self, &'static str> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn print(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn get(&self, i: usize, j: usize) -> Complex<f64> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn set(&mut self, i: usize, j: usize, value: Complex<f64>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn expectation_single(&self, op: &Operator, index: usize) -> Result<Complex<f64>, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn trace(&self) -> Complex<f64> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn normalize(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn evolve_single_new(&mut self, op: &Operator, index: usize) -> () {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn evolve_single(&self, op: &Operator, index: usize) -> Result<Vec<Complex<f64>>, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub fn evolve_new(&mut self, op: &Operator, indices: &[usize]) -> () {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn evolve(&self, op: &Operator, indices: &[usize]) -> Result<Vec<Complex<f64>>, String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     pub fn equals(&self, other: &DensityMatrix, tol: f64) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn tensor(&mut self, other: &DensityMatrix) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     pub fn ptrace(&mut self, qargs: &[usize]) -> Result<(), &str> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 470 |     pub fn cz(&self, edge: &(usize, usize)) -> Result<Vec<Complex<f64>>, String> {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 514 |     pub fn swap(&self, edge: &(usize, usize)) -> Result<Vec<Complex<f64>>, String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 558 |     pub fn cnot(&self, edge: &(usize, usize)) -> Result<Vec<Complex<f64>>, String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 562 |     pub fn apply_channel(&self, krauss_channel: &Vec<(Complex<f64>, Vec<Complex<f64>>)>, qargs: &[usize]) -> Result<Vec<Complex<f64>>, St...
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OneQubitOp` is never used
[INFO] [stdout]  --> src/operators.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum OneQubitOp {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TwoQubitsOp` is never used
[INFO] [stdout]   --> src/operators.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum TwoQubitsOp {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Operator` is never constructed
[INFO] [stdout]   --> src/operators.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Operator {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `one_qubit`, `two_qubits`, `conj`, `transpose`, and `transconj` are never used
[INFO] [stdout]    --> src/operators.rs:49:12
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl Operator {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  49 |     pub fn new(data: &[Complex<f64>]) -> Result<Self, String> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn one_qubit(gate: OneQubitOp) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn two_qubits(gate: TwoQubitsOp) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn conj(&self) -> Operator {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn transpose(&self) -> Operator {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn transconj(&self) -> Operator {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisplayComplex` is never constructed
[INFO] [stdout]  --> src/tools.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DisplayComplex(pub Complex<f64>);
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complex_approx_eq` is never used
[INFO] [stdout]   --> src/tools.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn complex_approx_eq(a: Complex<f64>, b: Complex<f64>, tol: f64) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `are_elements_unique` is never used
[INFO] [stdout]   --> src/tools.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn are_elements_unique<T: Eq + std::hash::Hash>(slice: &[T]) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im_diff`
[INFO] [stdout]   --> src/tools.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let im_diff = (a.im - b.im).abs();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_im_diff`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DensityMatrix` is never constructed
[INFO] [stdout]   --> src/density_matrix.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct DensityMatrix {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/density_matrix.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl DensityMatrix {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  34 |     pub fn empty() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  41 |     pub fn new(nqubits: usize, initial_state: State) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn from_statevec(statevec: &[Complex<f64>]) -> Result<Self, &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn from_vec(vec: &[Complex<f64>]) -> Result<Self, &'static str> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn print(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn get(&self, i: usize, j: usize) -> Complex<f64> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn set(&mut self, i: usize, j: usize, value: Complex<f64>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn expectation_single(&self, op: &Operator, index: usize) -> Result<Complex<f64>, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn trace(&self) -> Complex<f64> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn normalize(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn evolve_single_new(&mut self, op: &Operator, index: usize) -> () {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn evolve_single(&self, op: &Operator, index: usize) -> Result<Vec<Complex<f64>>, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub fn evolve_new(&mut self, op: &Operator, indices: &[usize]) -> () {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn evolve(&self, op: &Operator, indices: &[usize]) -> Result<Vec<Complex<f64>>, String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     pub fn equals(&self, other: &DensityMatrix, tol: f64) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn tensor(&mut self, other: &DensityMatrix) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     pub fn ptrace(&mut self, qargs: &[usize]) -> Result<(), &str> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 470 |     pub fn cz(&self, edge: &(usize, usize)) -> Result<Vec<Complex<f64>>, String> {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 514 |     pub fn swap(&self, edge: &(usize, usize)) -> Result<Vec<Complex<f64>>, String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 558 |     pub fn cnot(&self, edge: &(usize, usize)) -> Result<Vec<Complex<f64>>, String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 562 |     pub fn apply_channel(&self, krauss_channel: &Vec<(Complex<f64>, Vec<Complex<f64>>)>, qargs: &[usize]) -> Result<Vec<Complex<f64>>, St...
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OneQubitOp` is never used
[INFO] [stdout]  --> src/operators.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum OneQubitOp {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TwoQubitsOp` is never used
[INFO] [stdout]   --> src/operators.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum TwoQubitsOp {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Operator` is never constructed
[INFO] [stdout]   --> src/operators.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Operator {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `one_qubit`, `two_qubits`, `conj`, `transpose`, and `transconj` are never used
[INFO] [stdout]    --> src/operators.rs:49:12
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl Operator {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  49 |     pub fn new(data: &[Complex<f64>]) -> Result<Self, String> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn one_qubit(gate: OneQubitOp) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn two_qubits(gate: TwoQubitsOp) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn conj(&self) -> Operator {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn transpose(&self) -> Operator {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn transconj(&self) -> Operator {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisplayComplex` is never constructed
[INFO] [stdout]  --> src/tools.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DisplayComplex(pub Complex<f64>);
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complex_approx_eq` is never used
[INFO] [stdout]   --> src/tools.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn complex_approx_eq(a: Complex<f64>, b: Complex<f64>, tol: f64) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `are_elements_unique` is never used
[INFO] [stdout]   --> src/tools.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn are_elements_unique<T: Eq + std::hash::Hash>(slice: &[T]) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/tests_density_matrix.rs:1365:13
[INFO] [stdout]      |
[INFO] [stdout] 1365 |         let mut rho = DensityMatrix::new(1, State::ZERO);
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/tests_density_matrix.rs:1375:13
[INFO] [stdout]      |
[INFO] [stdout] 1375 |         let mut rho = DensityMatrix::new(2, State::ZERO);
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/tests_density_matrix.rs:1386:13
[INFO] [stdout]      |
[INFO] [stdout] 1386 |         let mut rho = DensityMatrix::new(3, State::ZERO);
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/tests_density_matrix.rs:1397:13
[INFO] [stdout]      |
[INFO] [stdout] 1397 |         let mut rho = DensityMatrix::new(1, State::PLUS);
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/tests_density_matrix.rs:1408:13
[INFO] [stdout]      |
[INFO] [stdout] 1408 |         let mut rho = DensityMatrix::new(2, State::PLUS);
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/tests_density_matrix.rs:1419:13
[INFO] [stdout]      |
[INFO] [stdout] 1419 |         let mut rho = DensityMatrix::new(4, State::PLUS);
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/tests_density_matrix.rs:1430:13
[INFO] [stdout]      |
[INFO] [stdout] 1430 |         let mut rho = DensityMatrix::new(8, State::PLUS);
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/tests_density_matrix.rs:1441:13
[INFO] [stdout]      |
[INFO] [stdout] 1441 |         let mut rho = DensityMatrix::new(2, State::PLUS);
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/tests_density_matrix.rs:1452:13
[INFO] [stdout]      |
[INFO] [stdout] 1452 |         let mut rho = DensityMatrix::new(2, State::PLUS);
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/tests_density_matrix.rs:1463:13
[INFO] [stdout]      |
[INFO] [stdout] 1463 |         let mut rho = DensityMatrix::new(1, State::ONE);
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_matrices` is never used
[INFO] [stdout]    --> tests/tests_density_matrix.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn compare_matrices(m1: &[Complex<f64>], m2: &[Complex<f64>], tol: f64) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.00s
[INFO] running `Command { std: "docker" "inspect" "ca99df9017d35cf8eaefad5a843153a65745ed74fc42701bed25d81918b30bf0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca99df9017d35cf8eaefad5a843153a65745ed74fc42701bed25d81918b30bf0", kill_on_drop: false }`
[INFO] [stdout] ca99df9017d35cf8eaefad5a843153a65745ed74fc42701bed25d81918b30bf0
