[INFO] cloning repository https://github.com/Qimem/QIMEM [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Qimem/QIMEM" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQimem%2FQIMEM", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQimem%2FQIMEM'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d183a76028eafc109288a5fed16b22099f0e4020 [INFO] testing Qimem/QIMEM against try#16fbf98f22730e073c09e7b03f0eafb87a295545 for pr-145628-retry-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQimem%2FQIMEM" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] [stderr] Updating files: 14% (1344/9524) Updating files: 15% (1429/9524) Updating files: 16% (1524/9524) Updating files: 17% (1620/9524) Updating files: 18% (1715/9524) Updating files: 19% (1810/9524) Updating files: 20% (1905/9524) Updating files: 21% (2001/9524) Updating files: 22% (2096/9524) Updating files: 23% (2191/9524) Updating files: 24% (2286/9524) Updating files: 25% (2381/9524) Updating files: 26% (2477/9524) Updating files: 27% (2572/9524) Updating files: 28% (2667/9524) Updating files: 29% (2762/9524) Updating files: 30% (2858/9524) Updating files: 31% (2953/9524) Updating files: 32% (3048/9524) Updating files: 33% (3143/9524) Updating files: 34% (3239/9524) Updating files: 35% (3334/9524) Updating files: 36% (3429/9524) Updating files: 37% (3524/9524) Updating files: 38% (3620/9524) Updating files: 39% (3715/9524) Updating files: 40% (3810/9524) Updating files: 41% (3905/9524) Updating files: 42% (4001/9524) Updating files: 43% (4096/9524) Updating files: 44% (4191/9524) Updating files: 45% (4286/9524) Updating files: 46% (4382/9524) Updating files: 47% (4477/9524) Updating files: 48% (4572/9524) Updating files: 49% (4667/9524) Updating files: 50% (4762/9524) Updating files: 51% (4858/9524) Updating files: 51% (4867/9524) Updating files: 52% (4953/9524) Updating files: 53% (5048/9524) Updating files: 54% (5143/9524) Updating files: 55% (5239/9524) Updating files: 56% (5334/9524) Updating files: 57% (5429/9524) Updating files: 58% (5524/9524) Updating files: 59% (5620/9524) Updating files: 60% (5715/9524) Updating files: 61% (5810/9524) Updating files: 62% (5905/9524) Updating files: 63% (6001/9524) Updating files: 64% (6096/9524) Updating files: 65% (6191/9524) Updating files: 66% (6286/9524) Updating files: 67% (6382/9524) Updating files: 68% (6477/9524) Updating files: 69% (6572/9524) Updating files: 70% (6667/9524) Updating files: 71% (6763/9524) Updating files: 72% (6858/9524) Updating files: 73% (6953/9524) Updating files: 74% (7048/9524) Updating files: 75% (7143/9524) Updating files: 76% (7239/9524) Updating files: 77% (7334/9524) Updating files: 78% (7429/9524) Updating files: 79% (7524/9524) Updating files: 80% (7620/9524) Updating files: 80% (7625/9524) Updating files: 81% (7715/9524) Updating files: 82% (7810/9524) Updating files: 83% (7905/9524) Updating files: 84% (8001/9524) Updating files: 85% (8096/9524) Updating files: 86% (8191/9524) Updating files: 87% (8286/9524) Updating files: 88% (8382/9524) Updating files: 89% (8477/9524) Updating files: 90% (8572/9524) Updating files: 91% (8667/9524) Updating files: 92% (8763/9524) Updating files: 93% (8858/9524) Updating files: 94% (8953/9524) Updating files: 94% (9042/9524) Updating files: 95% (9048/9524) Updating files: 95% (9125/9524) Updating files: 96% (9144/9524) Updating files: 97% (9239/9524) Updating files: 98% (9334/9524) Updating files: 99% (9429/9524) Updating files: 100% (9524/9524) Updating files: 100% (9524/9524), done. [INFO] started tweaking git repo https://github.com/Qimem/QIMEM [INFO] finished tweaking git repo https://github.com/Qimem/QIMEM [INFO] tweaked toml for git repo https://github.com/Qimem/QIMEM written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Qimem/QIMEM on toolchain 16fbf98f22730e073c09e7b03f0eafb87a295545 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Qimem/QIMEM 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" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 161013be6f5ec799ddb0b95597a9422da03cd7d4433b61c64dfdbb884025260c [INFO] running `Command { std: "docker" "start" "-a" "161013be6f5ec799ddb0b95597a9422da03cd7d4433b61c64dfdbb884025260c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "161013be6f5ec799ddb0b95597a9422da03cd7d4433b61c64dfdbb884025260c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "161013be6f5ec799ddb0b95597a9422da03cd7d4433b61c64dfdbb884025260c", kill_on_drop: false }` [INFO] [stdout] 161013be6f5ec799ddb0b95597a9422da03cd7d4433b61c64dfdbb884025260c [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=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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3bbbb6eedc8c9f976a3a8770f93b3435f599787d10018b7cf655e513526e20a1 [INFO] running `Command { std: "docker" "start" "-a" "3bbbb6eedc8c9f976a3a8770f93b3435f599787d10018b7cf655e513526e20a1", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling target-lexicon v0.12.16 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling opaque-debug v0.3.1 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling base64ct v1.8.0 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling unindent v0.2.4 [INFO] [stderr] Compiling indoc v2.0.6 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling base32 v0.5.1 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling pyo3-build-config v0.22.6 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling password-hash v0.5.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling poly1305 v0.8.0 [INFO] [stderr] Compiling chacha20 v0.9.1 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling argon2 v0.5.3 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling totp-rs v5.7.0 [INFO] [stderr] Compiling chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling pyo3-macros-backend v0.22.6 [INFO] [stderr] Compiling pyo3-ffi v0.22.6 [INFO] [stderr] Compiling pyo3 v0.22.6 [INFO] [stderr] Compiling qimem v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling ed25519-dalek v2.1.1 [INFO] [stderr] Compiling pyo3-macros v0.22.6 [INFO] [stdout] warning: unused import: `KeyInit` [INFO] [stdout] --> src/q_core.rs:10:47 [INFO] [stdout] | [INFO] [stdout] 10 | use aes::cipher::{BlockEncrypt, BlockDecrypt, KeyInit as AesKeyInit}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_key` is never used [INFO] [stdout] --> src/q_keygen.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn derive_key<'py>(py: Python<'py>, password: &str, salt_phrase: Option<&str>) -> PyResult<(Bound<'py, PyBytes>, Bound<'py, PyBytes>)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encrypt` is never used [INFO] [stdout] --> src/q_core.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn encrypt<'py>(py: Python<'py>, data: &[u8], key: &[u8]) -> PyResult> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decrypt` is never used [INFO] [stdout] --> src/q_core.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn decrypt<'py>(py: Python<'py>, encrypted: &[u8], key: &[u8]) -> PyResult> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `KeyInit` [INFO] [stdout] --> src/q_core.rs:10:47 [INFO] [stdout] | [INFO] [stdout] 10 | use aes::cipher::{BlockEncrypt, BlockDecrypt, KeyInit as AesKeyInit}; [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 29.29s [INFO] running `Command { std: "docker" "inspect" "3bbbb6eedc8c9f976a3a8770f93b3435f599787d10018b7cf655e513526e20a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3bbbb6eedc8c9f976a3a8770f93b3435f599787d10018b7cf655e513526e20a1", kill_on_drop: false }` [INFO] [stdout] 3bbbb6eedc8c9f976a3a8770f93b3435f599787d10018b7cf655e513526e20a1 [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=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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e623bd69d453e7161490c468462e4e1134377e392aa517e5aed1054af2a15970 [INFO] running `Command { std: "docker" "start" "-a" "e623bd69d453e7161490c468462e4e1134377e392aa517e5aed1054af2a15970", kill_on_drop: false }` [INFO] [stderr] Compiling qimem v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `KeyInit` [INFO] [stdout] --> src/q_core.rs:10:47 [INFO] [stdout] | [INFO] [stdout] 10 | use aes::cipher::{BlockEncrypt, BlockDecrypt, KeyInit as AesKeyInit}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_key` is never used [INFO] [stdout] --> src/q_keygen.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn derive_key<'py>(py: Python<'py>, password: &str, salt_phrase: Option<&str>) -> PyResult<(Bound<'py, PyBytes>, Bound<'py, PyBytes>)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encrypt` is never used [INFO] [stdout] --> src/q_core.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn encrypt<'py>(py: Python<'py>, data: &[u8], key: &[u8]) -> PyResult> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decrypt` is never used [INFO] [stdout] --> src/q_core.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn decrypt<'py>(py: Python<'py>, encrypted: &[u8], key: &[u8]) -> PyResult> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/cipher_test.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | let (key, _) = derive_key("password", None).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ ---------- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/q_keygen.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn derive_key<'py>(py: Python<'py>, password: &str, salt_phrase: Option<&str>) -> PyResult<(Bound<'py, PyBytes>, Bound<'py, PyBytes>)> { [INFO] [stdout] | ^^^^^^^^^^ --------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 6 | let (key, _) = derive_key(/* pyo3::Python<'_> */, "password", None).unwrap(); [INFO] [stdout] | +++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/cipher_test.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | let encrypted = encrypt(data, &key).unwrap(); [INFO] [stdout] | ^^^^^^^------------ [INFO] [stdout] | || | [INFO] [stdout] | || unexpected argument #2 of type `&pyo3::Bound<'_, PyBytes>` [INFO] [stdout] | |argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | argument #3 of type `&[u8]` is missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/q_core.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn encrypt<'py>(py: Python<'py>, data: &[u8], key: &[u8]) -> PyResult> { [INFO] [stdout] | ^^^^^^^ --------------- ---------- [INFO] [stdout] help: did you mean [INFO] [stdout] | [INFO] [stdout] 8 - let encrypted = encrypt(data, &key).unwrap(); [INFO] [stdout] 8 + let encrypted = encrypt(/* pyo3::Python<'_> */, data, /* &[u8] */).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/cipher_test.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | let decrypted = decrypt(&encrypted, &key).unwrap(); [INFO] [stdout] | ^^^^^^^------------------ argument #3 of type `&[u8]` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `Python<'_>`, found `&Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/cipher_test.rs:9:29 [INFO] [stdout] | [INFO] [stdout] 9 | let decrypted = decrypt(&encrypted, &key).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: expected struct `pyo3::Python<'_>` [INFO] [stdout] found reference `&pyo3::Bound<'_, PyBytes>` [INFO] [stdout] note: expected `&[u8]`, found `&Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/cipher_test.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | let decrypted = decrypt(&encrypted, &key).unwrap(); [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: expected reference `&[u8]` [INFO] [stdout] found reference `&pyo3::Bound<'_, PyBytes>` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/q_core.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn decrypt<'py>(py: Python<'py>, encrypted: &[u8], key: &[u8]) -> PyResult> { [INFO] [stdout] | ^^^^^^^ --------------- ---------------- ---------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 9 - let decrypted = decrypt(&encrypted, &key).unwrap(); [INFO] [stdout] 9 + let decrypted = decrypt(/* pyo3::Python<'_> */, /* &[u8] */, /* &[u8] */).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `pyo3::Bound<'_, PyBytes>` in the current scope [INFO] [stdout] --> src/tests/cipher_test.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | assert_eq!(data, decrypted.as_slice()); [INFO] [stdout] | ^^^^^^^^ method not found in `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/cipher_test.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | let (key1, salt1) = derive_key("password", Some("salt")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ ---------- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/q_keygen.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn derive_key<'py>(py: Python<'py>, password: &str, salt_phrase: Option<&str>) -> PyResult<(Bound<'py, PyBytes>, Bound<'py, PyBytes>)> { [INFO] [stdout] | ^^^^^^^^^^ --------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 15 | let (key1, salt1) = derive_key(/* pyo3::Python<'_> */, "password", Some("salt")).unwrap(); [INFO] [stdout] | +++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/cipher_test.rs:16:25 [INFO] [stdout] | [INFO] [stdout] 16 | let (key2, salt2) = derive_key("password", Some("salt")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ ---------- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/q_keygen.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn derive_key<'py>(py: Python<'py>, password: &str, salt_phrase: Option<&str>) -> PyResult<(Bound<'py, PyBytes>, Bound<'py, PyBytes>)> { [INFO] [stdout] | ^^^^^^^^^^ --------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 16 | let (key2, salt2) = derive_key(/* pyo3::Python<'_> */, "password", Some("salt")).unwrap(); [INFO] [stdout] | +++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: can't compare `pyo3::Bound<'_, PyBytes>` with `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/cipher_test.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | assert_eq!(key1, key2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ no implementation for `pyo3::Bound<'_, PyBytes> == pyo3::Bound<'_, PyBytes>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq>` is not implemented for `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] = help: the following other types implement trait `PartialEq`: [INFO] [stdout] `&pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `&pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `&pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq<&bool>` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<&[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq<&str>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: can't compare `pyo3::Bound<'_, PyBytes>` with `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/cipher_test.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | assert_eq!(salt1, salt2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `pyo3::Bound<'_, PyBytes> == pyo3::Bound<'_, PyBytes>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq>` is not implemented for `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] = help: the following other types implement trait `PartialEq`: [INFO] [stdout] `&pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `&pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `&pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq<&bool>` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<&[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq<&str>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/file_encryption_test.rs:8:23 [INFO] [stdout] | [INFO] [stdout] 8 | let (key, salt) = derive_key("password", None).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ ---------- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/q_keygen.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn derive_key<'py>(py: Python<'py>, password: &str, salt_phrase: Option<&str>) -> PyResult<(Bound<'py, PyBytes>, Bound<'py, PyBytes>)> { [INFO] [stdout] | ^^^^^^^^^^ --------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 8 | let (key, salt) = derive_key(/* pyo3::Python<'_> */, "password", None).unwrap(); [INFO] [stdout] | +++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 4 arguments were supplied [INFO] [stdout] --> src/tests/file_encryption_test.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | encrypt_file(input_path, encrypted_path, &key, &salt).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ ---------- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `Vec`, found `&Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/file_encryption_test.rs:15:46 [INFO] [stdout] | [INFO] [stdout] 15 | encrypt_file(input_path, encrypted_path, &key, &salt).unwrap(); [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: expected struct `Vec` [INFO] [stdout] found reference `&pyo3::Bound<'_, PyBytes>` [INFO] [stdout] note: expected `Vec`, found `&Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/file_encryption_test.rs:15:52 [INFO] [stdout] | [INFO] [stdout] 15 | encrypt_file(input_path, encrypted_path, &key, &salt).unwrap(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: expected struct `Vec` [INFO] [stdout] found reference `&pyo3::Bound<'_, PyBytes>` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/file_encryption.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn encrypt_file<'py>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 18 | py: Python<'py>, [INFO] [stdout] | --------------- [INFO] [stdout] ... [INFO] [stdout] 21 | key: Vec, [INFO] [stdout] | ------------ [INFO] [stdout] 22 | salt: Vec [INFO] [stdout] | ------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 15 - encrypt_file(input_path, encrypted_path, &key, &salt).unwrap(); [INFO] [stdout] 15 + encrypt_file(/* pyo3::Python<'_> */, encrypted_path, input_path, /* Vec */, /* Vec */).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/file_encryption_test.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | decrypt_file(encrypted_path, decrypted_path, &key).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ -------------- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `Vec`, found `&Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/file_encryption_test.rs:16:50 [INFO] [stdout] | [INFO] [stdout] 16 | decrypt_file(encrypted_path, decrypted_path, &key).unwrap(); [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: expected struct `Vec` [INFO] [stdout] found reference `&pyo3::Bound<'_, PyBytes>` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/file_encryption.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn decrypt_file<'py>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 36 | py: Python<'py>, [INFO] [stdout] | --------------- [INFO] [stdout] ... [INFO] [stdout] 39 | key: Vec [INFO] [stdout] | ------------ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 16 - decrypt_file(encrypted_path, decrypted_path, &key).unwrap(); [INFO] [stdout] 16 + decrypt_file(/* pyo3::Python<'_> */, decrypted_path, encrypted_path, /* Vec */).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/key_derivation_test.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | let (key1, salt1) = derive_key("password", Some("saltphrase")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ ---------- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/q_keygen.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn derive_key<'py>(py: Python<'py>, password: &str, salt_phrase: Option<&str>) -> PyResult<(Bound<'py, PyBytes>, Bound<'py, PyBytes>)> { [INFO] [stdout] | ^^^^^^^^^^ --------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 5 | let (key1, salt1) = derive_key(/* pyo3::Python<'_> */, "password", Some("saltphrase")).unwrap(); [INFO] [stdout] | +++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/key_derivation_test.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | let (key2, salt2) = derive_key("password", Some("saltphrase")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ ---------- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/q_keygen.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn derive_key<'py>(py: Python<'py>, password: &str, salt_phrase: Option<&str>) -> PyResult<(Bound<'py, PyBytes>, Bound<'py, PyBytes>)> { [INFO] [stdout] | ^^^^^^^^^^ --------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 6 | let (key2, salt2) = derive_key(/* pyo3::Python<'_> */, "password", Some("saltphrase")).unwrap(); [INFO] [stdout] | +++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: can't compare `pyo3::Bound<'_, PyBytes>` with `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/key_derivation_test.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | assert_eq!(key1, key2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ no implementation for `pyo3::Bound<'_, PyBytes> == pyo3::Bound<'_, PyBytes>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq>` is not implemented for `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] = help: the following other types implement trait `PartialEq`: [INFO] [stdout] `&pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `&pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `&pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq<&bool>` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<&[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq<&str>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: can't compare `pyo3::Bound<'_, PyBytes>` with `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/key_derivation_test.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | assert_eq!(salt1, salt2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `pyo3::Bound<'_, PyBytes> == pyo3::Bound<'_, PyBytes>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq>` is not implemented for `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] = help: the following other types implement trait `PartialEq`: [INFO] [stdout] `&pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `&pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `&pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq<&bool>` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<&[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq<&str>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/key_derivation_test.rs:13:25 [INFO] [stdout] | [INFO] [stdout] 13 | let (key1, salt1) = derive_key("password", None).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ ---------- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/q_keygen.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn derive_key<'py>(py: Python<'py>, password: &str, salt_phrase: Option<&str>) -> PyResult<(Bound<'py, PyBytes>, Bound<'py, PyBytes>)> { [INFO] [stdout] | ^^^^^^^^^^ --------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 13 | let (key1, salt1) = derive_key(/* pyo3::Python<'_> */, "password", None).unwrap(); [INFO] [stdout] | +++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/key_derivation_test.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | let (key2, salt2) = derive_key("password", None).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ ---------- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/q_keygen.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn derive_key<'py>(py: Python<'py>, password: &str, salt_phrase: Option<&str>) -> PyResult<(Bound<'py, PyBytes>, Bound<'py, PyBytes>)> { [INFO] [stdout] | ^^^^^^^^^^ --------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 14 | let (key2, salt2) = derive_key(/* pyo3::Python<'_> */, "password", None).unwrap(); [INFO] [stdout] | +++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: can't compare `pyo3::Bound<'_, PyBytes>` with `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/key_derivation_test.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | assert_ne!(key1, key2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ no implementation for `pyo3::Bound<'_, PyBytes> == pyo3::Bound<'_, PyBytes>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq>` is not implemented for `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] = help: the following other types implement trait `PartialEq`: [INFO] [stdout] `&pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `&pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `&pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq<&bool>` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<&[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq<&str>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] = note: this error originates in the macro `assert_ne` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: can't compare `pyo3::Bound<'_, PyBytes>` with `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/key_derivation_test.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | assert_ne!(salt1, salt2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `pyo3::Bound<'_, PyBytes> == pyo3::Bound<'_, PyBytes>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq>` is not implemented for `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] = help: the following other types implement trait `PartialEq`: [INFO] [stdout] `&pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `&pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `&pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq<&bool>` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<&[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq<&str>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] = note: this error originates in the macro `assert_ne` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/key_derivation_test.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 21 | let (key1, salt1) = derive_key("password", Some("saltphrase1")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ ---------- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/q_keygen.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn derive_key<'py>(py: Python<'py>, password: &str, salt_phrase: Option<&str>) -> PyResult<(Bound<'py, PyBytes>, Bound<'py, PyBytes>)> { [INFO] [stdout] | ^^^^^^^^^^ --------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 21 | let (key1, salt1) = derive_key(/* pyo3::Python<'_> */, "password", Some("saltphrase1")).unwrap(); [INFO] [stdout] | +++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/key_derivation_test.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 22 | let (key2, salt2) = derive_key("password", Some("saltphrase2")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ ---------- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/q_keygen.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn derive_key<'py>(py: Python<'py>, password: &str, salt_phrase: Option<&str>) -> PyResult<(Bound<'py, PyBytes>, Bound<'py, PyBytes>)> { [INFO] [stdout] | ^^^^^^^^^^ --------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 22 | let (key2, salt2) = derive_key(/* pyo3::Python<'_> */, "password", Some("saltphrase2")).unwrap(); [INFO] [stdout] | +++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: can't compare `pyo3::Bound<'_, PyBytes>` with `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/key_derivation_test.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | assert_ne!(key1, key2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ no implementation for `pyo3::Bound<'_, PyBytes> == pyo3::Bound<'_, PyBytes>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq>` is not implemented for `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] = help: the following other types implement trait `PartialEq`: [INFO] [stdout] `&pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `&pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `&pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq<&bool>` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<&[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq<&str>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] = note: this error originates in the macro `assert_ne` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: can't compare `pyo3::Bound<'_, PyBytes>` with `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/key_derivation_test.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | assert_ne!(salt1, salt2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `pyo3::Bound<'_, PyBytes> == pyo3::Bound<'_, PyBytes>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq>` is not implemented for `pyo3::Bound<'_, PyBytes>` [INFO] [stdout] = help: the following other types implement trait `PartialEq`: [INFO] [stdout] `&pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `&pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `&pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq<&bool>` [INFO] [stdout] `pyo3::Bound<'_, PyBool>` implements `PartialEq` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<&[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyBytes>` implements `PartialEq<[u8]>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq<&str>` [INFO] [stdout] `pyo3::Bound<'_, PyString>` implements `PartialEq` [INFO] [stdout] = note: this error originates in the macro `assert_ne` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied [INFO] [stdout] --> src/tests/signing_test.rs:5:36 [INFO] [stdout] | [INFO] [stdout] 5 | let (public_key, secret_key) = generate_keypair().expect("Key generation failed"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^-- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/signing.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn generate_keypair<'py>(py: Python<'py>) -> PyResult<(Bound<'py, PyBytes>, Bound<'py, PyBytes>)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ --------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 5 | let (public_key, secret_key) = generate_keypair(/* pyo3::Python<'_> */).expect("Key generation failed"); [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/signing_test.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | let signature_vec = sign_message(&secret_key, message).expect("Signing failed"); [INFO] [stdout] | ^^^^^^^^^^^^---------------------- argument #3 of type `&[u8]` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `Python<'_>`, found `&Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/signing_test.rs:7:38 [INFO] [stdout] | [INFO] [stdout] 7 | let signature_vec = sign_message(&secret_key, message).expect("Signing failed"); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: expected struct `pyo3::Python<'_>` [INFO] [stdout] found reference `&pyo3::Bound<'_, PyBytes>` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/signing.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn sign_message<'py>(py: Python<'py>, secret_key: &[u8], message: &[u8]) -> PyResult> { [INFO] [stdout] | ^^^^^^^^^^^^ --------------- -------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 7 - let signature_vec = sign_message(&secret_key, message).expect("Signing failed"); [INFO] [stdout] 7 + let signature_vec = sign_message(/* pyo3::Python<'_> */, message, /* &[u8] */).expect("Signing failed"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `[u8; 64]: TryFrom>` is not satisfied [INFO] [stdout] --> src/tests/signing_test.rs:9:45 [INFO] [stdout] | [INFO] [stdout] 9 | let signature: [u8; 64] = signature_vec.try_into().expect("Invalid signature length"); [INFO] [stdout] | ^^^^^^^^ the trait `From>` is not implemented for `[u8; 64]` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `&[u32; 4]` implements `From<&ppv_lite86::x86_64::vec128_storage>` [INFO] [stdout] `&[u8]` implements `From>` [INFO] [stdout] `[T; 1000]` implements `From, ...>, ...>, ...>>>` [INFO] [stdout] `[T; 100]` implements `From, ...>, ...>, ...>>>` [INFO] [stdout] `[T; 1024]` implements `From, ...>, ...>, ...>>>` [INFO] [stdout] `[T; 10]` implements `From<(T, T, T, T, T, T, T, T, T, T)>` [INFO] [stdout] `[T; 10]` implements `From, B0>, B1>, B0>>>` [INFO] [stdout] `[T; 11]` implements `From<(T, T, T, T, T, T, T, T, T, T, T)>` [INFO] [stdout] and 108 others [INFO] [stdout] = note: required for `pyo3::Bound<'_, PyBytes>` to implement `Into<[u8; 64]>` [INFO] [stdout] = note: required for `[u8; 64]` to implement `TryFrom>` [INFO] [stdout] = note: required for `pyo3::Bound<'_, PyBytes>` to implement `TryInto<[u8; 64]>` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/qimem-6f37e2f060c72e06.long-type-16008465878435570982.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/signing_test.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | let result = verify_signature(&public_key, message, &signature) [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------------- argument #4 of type `&[u8]` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `Python<'_>`, found `&Bound<'_, PyBytes>` [INFO] [stdout] --> src/tests/signing_test.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | let result = verify_signature(&public_key, message, &signature) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: expected struct `pyo3::Python<'_>` [INFO] [stdout] found reference `&pyo3::Bound<'_, PyBytes>` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/signing.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn verify_signature<'py>(_py: Python<'py>, public_key: &[u8], message: &[u8], signature: &[u8]) -> PyResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ---------------- ---------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 11 - let result = verify_signature(&public_key, message, &signature) [INFO] [stdout] 11 + let result = verify_signature(/* pyo3::Python<'_> */, message, &signature, /* &[u8] */) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/mod.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | let mut keystore = KeyStore::new(path, "very-strong-password").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ ---- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/key_store.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn new(py: Python<'_>, path: &str, master_password: &str) -> PyResult { [INFO] [stdout] | ^^^ -------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 25 - let mut keystore = KeyStore::new(path, "very-strong-password").unwrap(); [INFO] [stdout] 25 + let mut keystore = KeyStore::new(/* pyo3::Python<'_> */, "very-strong-password", path).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/mod.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | keystore.store_key("my-test-key", original_key).unwrap(); [INFO] [stdout] | ^^^^^^^^^ ------------- ------------ expected `&[u8]`, found `[{integer}; 32]` [INFO] [stdout] | | [INFO] [stdout] | argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/key_store.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn store_key(&mut self, py: Python<'_>, id: &str, key: &[u8]) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^ -------------- ---------- [INFO] [stdout] help: consider borrowing here [INFO] [stdout] | [INFO] [stdout] 27 | keystore.store_key("my-test-key", &original_key).unwrap(); [INFO] [stdout] | + [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 27 - keystore.store_key("my-test-key", original_key).unwrap(); [INFO] [stdout] 27 + keystore.store_key(/* pyo3::Python<'_> */, "my-test-key", /* &[u8] */).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/mod.rs:30:31 [INFO] [stdout] | [INFO] [stdout] 30 | let loaded_keystore = KeyStore::new(path, "very-strong-password").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ ---- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/key_store.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn new(py: Python<'_>, path: &str, master_password: &str) -> PyResult { [INFO] [stdout] | ^^^ -------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 30 - let loaded_keystore = KeyStore::new(path, "very-strong-password").unwrap(); [INFO] [stdout] 30 + let loaded_keystore = KeyStore::new(/* pyo3::Python<'_> */, "very-strong-password", path).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied [INFO] [stdout] --> src/tests/mod.rs:31:45 [INFO] [stdout] | [INFO] [stdout] 31 | let retrieved_key = loaded_keystore.retrieve_key("my-test-key").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ ------------- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/key_store.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn retrieve_key(&self, _py: Python<'_>, id: &str) -> PyResult>> { [INFO] [stdout] | ^^^^^^^^^^^^ --------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 31 | let retrieved_key = loaded_keystore.retrieve_key(/* pyo3::Python<'_> */, "my-test-key").unwrap(); [INFO] [stdout] | +++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: can't compare `[{integer}; 32]` with `Option>` [INFO] [stdout] --> src/tests/mod.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | assert_eq!(original_key, retrieved_key); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `[{integer}; 32] == Option>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq>>` is not implemented for `[{integer}; 32]` [INFO] [stdout] = help: the following other types implement trait `PartialEq`: [INFO] [stdout] `&[T]` implements `PartialEq>` [INFO] [stdout] `&[T]` implements `PartialEq<[U; N]>` [INFO] [stdout] `&[u8; N]` implements `PartialEq` [INFO] [stdout] `&[u8; N]` implements `PartialEq` [INFO] [stdout] `&[u8; N]` implements `PartialEq` [INFO] [stdout] `&[u8]` implements `PartialEq` [INFO] [stdout] `&[u8]` implements `PartialEq` [INFO] [stdout] `&[u8]` implements `PartialEq` [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/mod.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | assert!(KeyStore::new(path, "wrong-password").is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^ ---- argument #1 of type `pyo3::Python<'_>` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/key_store.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn new(py: Python<'_>, path: &str, master_password: &str) -> PyResult { [INFO] [stdout] | ^^^ -------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 36 - assert!(KeyStore::new(path, "wrong-password").is_err()); [INFO] [stdout] 36 + assert!(KeyStore::new(/* pyo3::Python<'_> */, "wrong-password", path).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `KeyInit` [INFO] [stdout] --> src/q_core.rs:10:47 [INFO] [stdout] | [INFO] [stdout] 10 | use aes::cipher::{BlockEncrypt, BlockDecrypt, KeyInit as AesKeyInit}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `qimem` (lib test) due to 33 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "e623bd69d453e7161490c468462e4e1134377e392aa517e5aed1054af2a15970", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e623bd69d453e7161490c468462e4e1134377e392aa517e5aed1054af2a15970", kill_on_drop: false }` [INFO] [stdout] e623bd69d453e7161490c468462e4e1134377e392aa517e5aed1054af2a15970