[INFO] cloning repository https://github.com/esehata/noktulo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/esehata/noktulo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fesehata%2Fnoktulo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fesehata%2Fnoktulo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1fca5d630709bbeba20c0e5531262cdce2cad94c
[INFO] checking esehata/noktulo against try#22cc29ba5b459fb386c0406b9baf3a49eb0fba39 for pr-146095
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fesehata%2Fnoktulo" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/esehata/noktulo
[INFO] finished tweaking git repo https://github.com/esehata/noktulo
[INFO] tweaked toml for git repo https://github.com/esehata/noktulo written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/esehata/noktulo on toolchain 22cc29ba5b459fb386c0406b9baf3a49eb0fba39
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/esehata/noktulo 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" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-tungstenite v0.17.1
[INFO] [stderr]   Downloaded serde-big-array v0.4.1
[INFO] [stderr]   Downloaded zeroize_derive v1.3.2
[INFO] [stderr]   Downloaded tokio-macros v1.3.0
[INFO] [stderr]   Downloaded ed25519 v1.5.0
[INFO] [stderr]   Downloaded httparse v1.6.0
[INFO] [stderr]   Downloaded tungstenite v0.17.2
[INFO] [stderr]   Downloaded serde_json v1.0.67
[INFO] [stderr]   Downloaded syn v1.0.76
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bf1e4026bd0813e21598c384dd8807e40a72fddc99f967527fa3f5d2850a50ec
[INFO] running `Command { std: "docker" "start" "-a" "bf1e4026bd0813e21598c384dd8807e40a72fddc99f967527fa3f5d2850a50ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf1e4026bd0813e21598c384dd8807e40a72fddc99f967527fa3f5d2850a50ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf1e4026bd0813e21598c384dd8807e40a72fddc99f967527fa3f5d2850a50ec", kill_on_drop: false }`
[INFO] [stdout] bf1e4026bd0813e21598c384dd8807e40a72fddc99f967527fa3f5d2850a50ec
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7b5ba33e66d04a0058169ff943785df39f6d91b6fc9b58e6752177fa81e51dfb
[INFO] running `Command { std: "docker" "start" "-a" "7b5ba33e66d04a0058169ff943785df39f6d91b6fc9b58e6752177fa81e51dfb", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.101
[INFO] [stderr]    Compiling syn v1.0.76
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling futures-task v0.3.21
[INFO] [stderr]    Compiling futures-channel v0.3.21
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling futures-util v0.3.21
[INFO] [stderr]     Checking futures-sink v0.3.21
[INFO] [stderr]    Compiling tokio v1.12.0
[INFO] [stderr]     Checking slab v0.4.6
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]    Compiling httparse v1.6.0
[INFO] [stderr]     Checking futures-io v0.3.21
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]     Checking once_cell v1.9.0
[INFO] [stderr]    Compiling num-bigint v0.4.2
[INFO] [stderr]     Checking signature v1.5.0
[INFO] [stderr]     Checking http v0.2.6
[INFO] [stderr]    Compiling serde_json v1.0.67
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking crypto-common v0.1.3
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.10.2
[INFO] [stderr]     Checking parking_lot_core v0.8.5
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking digest v0.10.3
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking mio v0.7.13
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking sha-1 v0.10.0
[INFO] [stderr]     Checking num-integer v0.1.44
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]     Checking ed25519 v1.5.0
[INFO] [stderr]     Checking keccak v0.1.0
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking anyhow v1.0.44
[INFO] [stderr]     Checking sha3 v0.9.1
[INFO] [stderr]     Checking blake2 v0.9.2
[INFO] [stderr]     Checking sha2 v0.10.2
[INFO] [stderr]     Checking env_logger v0.9.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]    Compiling futures-macro v0.3.21
[INFO] [stderr]    Compiling thiserror-impl v1.0.29
[INFO] [stderr]    Compiling tokio-macros v1.3.0
[INFO] [stderr]    Compiling zeroize_derive v1.3.2
[INFO] [stderr]     Checking zeroize v1.3.0
[INFO] [stderr]     Checking curve25519-dalek v3.2.1
[INFO] [stderr]     Checking thiserror v1.0.29
[INFO] [stderr]     Checking tungstenite v0.17.2
[INFO] [stderr]     Checking serde v1.0.130
[INFO] [stderr]     Checking futures-executor v0.3.21
[INFO] [stderr]     Checking futures v0.3.21
[INFO] [stderr]     Checking tokio-stream v0.1.8
[INFO] [stderr]     Checking tokio-tungstenite v0.17.1
[INFO] [stderr]     Checking ed25519-dalek v1.0.1
[INFO] [stderr]     Checking serde-big-array v0.4.1
[INFO] [stderr]     Checking noktulo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved imports `crate::crypto::Ed25519Error`, `crate::crypto::PublicKey`
[INFO] [stdout]    --> src/user/user.rs:1:21
[INFO] [stdout]     |
[INFO] [stdout]   1 | use crate::crypto::{Ed25519Error, PublicKey};
[INFO] [stdout]     |                     ^^^^^^^^^^^^  ^^^^^^^^^ no `PublicKey` in `crypto`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     no `Ed25519Error` in `crypto`
[INFO] [stdout]     |
[INFO] [stdout] note: enum `crate::crypto::ed25519::Ed25519Error` exists but is inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:307:1
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub enum Ed25519Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout]     = help: consider importing this struct instead:
[INFO] [stdout]             ed25519_dalek::PublicKey
[INFO] [stdout] note: these items exist but are inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct PublicKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ `crate::crypto::ed25519::PublicKey`: not accessible
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/api_server/message.rs:13:5
[INFO] [stdout]     |
[INFO] [stdout]  13 |     PublicKey([u8; 32]),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ `crate::api_server::message::ClientMessage::PublicKey`: not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::crypto::Ed25519Error`, `crate::crypto::PublicKey`
[INFO] [stdout]    --> src/user/user.rs:1:21
[INFO] [stdout]     |
[INFO] [stdout]   1 | use crate::crypto::{Ed25519Error, PublicKey};
[INFO] [stdout]     |                     ^^^^^^^^^^^^  ^^^^^^^^^ no `PublicKey` in `crypto`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     no `Ed25519Error` in `crypto`
[INFO] [stdout]     |
[INFO] [stdout] note: enum `crate::crypto::ed25519::Ed25519Error` exists but is inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:307:1
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub enum Ed25519Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout]     = help: consider importing this struct instead:
[INFO] [stdout]             ed25519_dalek::PublicKey
[INFO] [stdout] note: these items exist but are inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct PublicKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ `crate::crypto::ed25519::PublicKey`: not accessible
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/api_server/message.rs:13:5
[INFO] [stdout]     |
[INFO] [stdout]  13 |     PublicKey([u8; 32]),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ `crate::api_server::message::ClientMessage::PublicKey`: not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::crypto::PublicKey`
[INFO] [stdout]    --> src/service/network.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use crate::crypto::PublicKey;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ no `PublicKey` in `crypto`
[INFO] [stdout]     |
[INFO] [stdout] note: these items exist but are inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct PublicKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ `crate::crypto::ed25519::PublicKey`: not accessible
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/api_server/message.rs:13:5
[INFO] [stdout]     |
[INFO] [stdout]  13 |     PublicKey([u8; 32]),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ `crate::api_server::message::ClientMessage::PublicKey`: not accessible
[INFO] [stdout] help: consider importing this struct instead
[INFO] [stdout]     |
[INFO] [stdout]   1 - use crate::crypto::PublicKey;
[INFO] [stdout]   1 + use ed25519_dalek::PublicKey;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::crypto::PublicKey`
[INFO] [stdout]    --> src/service/network.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use crate::crypto::PublicKey;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ no `PublicKey` in `crypto`
[INFO] [stdout]     |
[INFO] [stdout] note: these items exist but are inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct PublicKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ `crate::crypto::ed25519::PublicKey`: not accessible
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/api_server/message.rs:13:5
[INFO] [stdout]     |
[INFO] [stdout]  13 |     PublicKey([u8; 32]),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ `crate::api_server::message::ClientMessage::PublicKey`: not accessible
[INFO] [stdout] help: consider importing this struct instead
[INFO] [stdout]     |
[INFO] [stdout]   1 - use crate::crypto::PublicKey;
[INFO] [stdout]   1 + use ed25519_dalek::PublicKey;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::crypto::PublicKey`, `crate::crypto::SecretKey`
[INFO] [stdout]    --> src/service/user_handle.rs:3:21
[INFO] [stdout]     |
[INFO] [stdout]   3 | use crate::crypto::{PublicKey,SecretKey};
[INFO] [stdout]     |                     ^^^^^^^^^ ^^^^^^^^^ no `SecretKey` in `crypto`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     no `PublicKey` in `crypto`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider importing this struct instead:
[INFO] [stdout]             ed25519_dalek::PublicKey
[INFO] [stdout] note: these items exist but are inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct PublicKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ `crate::crypto::ed25519::PublicKey`: not accessible
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/api_server/message.rs:13:5
[INFO] [stdout]     |
[INFO] [stdout]  13 |     PublicKey([u8; 32]),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ `crate::api_server::message::ClientMessage::PublicKey`: not accessible
[INFO] [stdout]     = help: consider importing this struct instead:
[INFO] [stdout]             ed25519_dalek::SecretKey
[INFO] [stdout] note: struct `crate::crypto::ed25519::SecretKey` exists but is inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout]  79 | pub struct SecretKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::crypto::PublicKey`, `crate::crypto::SecretKey`
[INFO] [stdout]    --> src/service/user_handle.rs:3:21
[INFO] [stdout]     |
[INFO] [stdout]   3 | use crate::crypto::{PublicKey,SecretKey};
[INFO] [stdout]     |                     ^^^^^^^^^ ^^^^^^^^^ no `SecretKey` in `crypto`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     no `PublicKey` in `crypto`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider importing this struct instead:
[INFO] [stdout]             ed25519_dalek::PublicKey
[INFO] [stdout] note: these items exist but are inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct PublicKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ `crate::crypto::ed25519::PublicKey`: not accessible
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/api_server/message.rs:13:5
[INFO] [stdout]     |
[INFO] [stdout]  13 |     PublicKey([u8; 32]),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ `crate::api_server::message::ClientMessage::PublicKey`: not accessible
[INFO] [stdout]     = help: consider importing this struct instead:
[INFO] [stdout]             ed25519_dalek::SecretKey
[INFO] [stdout] note: struct `crate::crypto::ed25519::SecretKey` exists but is inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout]  79 | pub struct SecretKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::crypto::PublicKey`
[INFO] [stdout]    --> src/api_server/client_info.rs:6:13
[INFO] [stdout]     |
[INFO] [stdout]   6 | use crate::{crypto::PublicKey, user::user::Address};
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ no `PublicKey` in `crypto`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider importing one of these items instead:
[INFO] [stdout]             crate::api_server::message::ClientMessage::PublicKey
[INFO] [stdout]             ed25519_dalek::PublicKey
[INFO] [stdout] note: struct `crate::crypto::ed25519::PublicKey` exists but is inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct PublicKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::crypto::PublicKey`
[INFO] [stdout]    --> src/api_server/server.rs:20:5
[INFO] [stdout]     |
[INFO] [stdout]  20 | use crate::crypto::PublicKey;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ no `PublicKey` in `crypto`
[INFO] [stdout]     |
[INFO] [stdout] note: struct `crate::crypto::ed25519::PublicKey` exists but is inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct PublicKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing one of these items instead
[INFO] [stdout]     |
[INFO] [stdout]  20 - use crate::crypto::PublicKey;
[INFO] [stdout]  20 + use crate::api_server::server::ClientMessage::PublicKey;
[INFO] [stdout]     |
[INFO] [stdout]  20 - use crate::crypto::PublicKey;
[INFO] [stdout]  20 + use ed25519_dalek::PublicKey;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::crypto::PublicKey`
[INFO] [stdout]    --> src/api_server/client_info.rs:6:13
[INFO] [stdout]     |
[INFO] [stdout]   6 | use crate::{crypto::PublicKey, user::user::Address};
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ no `PublicKey` in `crypto`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider importing one of these items instead:
[INFO] [stdout]             crate::api_server::message::ClientMessage::PublicKey
[INFO] [stdout]             ed25519_dalek::PublicKey
[INFO] [stdout] note: struct `crate::crypto::ed25519::PublicKey` exists but is inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct PublicKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::crypto::PublicKey`
[INFO] [stdout]    --> src/api_server/server.rs:20:5
[INFO] [stdout]     |
[INFO] [stdout]  20 | use crate::crypto::PublicKey;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ no `PublicKey` in `crypto`
[INFO] [stdout]     |
[INFO] [stdout] note: struct `crate::crypto::ed25519::PublicKey` exists but is inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct PublicKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing one of these items instead
[INFO] [stdout]     |
[INFO] [stdout]  20 - use crate::crypto::PublicKey;
[INFO] [stdout]  20 + use crate::api_server::server::ClientMessage::PublicKey;
[INFO] [stdout]     |
[INFO] [stdout]  20 - use crate::crypto::PublicKey;
[INFO] [stdout]  20 + use ed25519_dalek::PublicKey;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Ed25519Error` in this scope
[INFO] [stdout]    --> src/user/post.rs:70:15
[INFO] [stdout]     |
[INFO] [stdout]  70 |     Signature(Ed25519Error),
[INFO] [stdout]     |               ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] note: enum `crate::crypto::ed25519::Ed25519Error` exists but is inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:307:1
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub enum Ed25519Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `dst` in this scope
[INFO] [stdout]    --> src/api_server/server.rs:208:60
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...                   publisher.publish(msg, dst)
[INFO] [stdout]     |                                              ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Ed25519Error` in this scope
[INFO] [stdout]    --> src/user/post.rs:70:15
[INFO] [stdout]     |
[INFO] [stdout]  70 |     Signature(Ed25519Error),
[INFO] [stdout]     |               ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] note: enum `crate::crypto::ed25519::Ed25519Error` exists but is inaccessible
[INFO] [stdout]    --> src/crypto/ed25519.rs:307:1
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub enum Ed25519Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `dst` in this scope
[INFO] [stdout]    --> src/api_server/server.rs:208:60
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...                   publisher.publish(msg, dst)
[INFO] [stdout]     |                                              ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Entry`
[INFO] [stdout]  --> src/api_server/subscription_router.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::hash_map::Entry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::broadcast::Receiver`
[INFO] [stdout]  --> src/api_server/subscription_router.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::sync::broadcast::Receiver;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::user::post::SignedPost`
[INFO] [stdout]   --> src/api_server/subscription_router.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::user::post::SignedPost;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Entry`
[INFO] [stdout]  --> src/api_server/subscription_router.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::hash_map::Entry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::broadcast::Receiver`
[INFO] [stdout]  --> src/api_server/subscription_router.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::sync::broadcast::Receiver;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::user::post::SignedPost`
[INFO] [stdout]   --> src/api_server/subscription_router.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::user::post::SignedPost;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/service/controller.rs:61:27
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Address::from(pubkey.clone()),
[INFO] [stdout]    |             ------------- ^^^^^^^^^^^^^^ expected `[u8; 32]`, found `PublicKey`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /rustc/22cc29ba5b459fb386c0406b9baf3a49eb0fba39/library/core/src/convert/mod.rs:592:7
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/service/controller.rs:61:27
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Address::from(pubkey.clone()),
[INFO] [stdout]    |             ------------- ^^^^^^^^^^^^^^ expected `[u8; 32]`, found `PublicKey`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /rustc/22cc29ba5b459fb386c0406b9baf3a49eb0fba39/library/core/src/convert/mod.rs:592:7
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/api_server/server.rs:160:47
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     let addr2 = Address::from(pubkey.clone());
[INFO] [stdout]     |                                               ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/api_server/server.rs:160:47
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     let addr2 = Address::from(pubkey.clone());
[INFO] [stdout]     |                                               ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/api_server/server.rs:208:55
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...                   publisher.publish(msg, dst)
[INFO] [stdout]     |                                 ------- ^^^ expected `&[u8]`, found `ClientMessage`
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/service/network.rs:107:18
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub async fn publish(&self, msg: &[u8], dst: &Address) {
[INFO] [stdout]     |                  ^^^^^^^        ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/api_server/server.rs:208:37
[INFO] [stdout]     |
[INFO] [stdout] 207 | / ...                   if let Some(publisher) =  publishers.get_mut(&post.addr) {
[INFO] [stdout] 208 | | ...                       publisher.publish(msg, dst)
[INFO] [stdout]     | |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found future
[INFO] [stdout] 209 | | ...                   }
[INFO] [stdout]     | |_______________________- `if` expressions without `else` arms expect their inner expression to be `()`
[INFO] [stdout]     |
[INFO] [stdout] note: calling an async function returns a future
[INFO] [stdout]    --> src/api_server/server.rs:208:37
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...                   publisher.publish(msg, dst)
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 208 |                                     publisher.publish(msg, dst).await
[INFO] [stdout]     |                                                                ++++++
[INFO] [stdout] help: consider using a semicolon here
[INFO] [stdout]     |
[INFO] [stdout] 208 |                                     publisher.publish(msg, dst);
[INFO] [stdout]     |                                                                +
[INFO] [stdout] help: consider using a semicolon here
[INFO] [stdout]     |
[INFO] [stdout] 209 |                                 };
[INFO] [stdout]     |                                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/api_server/server.rs:208:55
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...                   publisher.publish(msg, dst)
[INFO] [stdout]     |                                 ------- ^^^ expected `&[u8]`, found `ClientMessage`
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/service/network.rs:107:18
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub async fn publish(&self, msg: &[u8], dst: &Address) {
[INFO] [stdout]     |                  ^^^^^^^        ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/api_server/server.rs:208:37
[INFO] [stdout]     |
[INFO] [stdout] 207 | / ...                   if let Some(publisher) =  publishers.get_mut(&post.addr) {
[INFO] [stdout] 208 | | ...                       publisher.publish(msg, dst)
[INFO] [stdout]     | |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found future
[INFO] [stdout] 209 | | ...                   }
[INFO] [stdout]     | |_______________________- `if` expressions without `else` arms expect their inner expression to be `()`
[INFO] [stdout]     |
[INFO] [stdout] note: calling an async function returns a future
[INFO] [stdout]    --> src/api_server/server.rs:208:37
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...                   publisher.publish(msg, dst)
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 208 |                                     publisher.publish(msg, dst).await
[INFO] [stdout]     |                                                                ++++++
[INFO] [stdout] help: consider using a semicolon here
[INFO] [stdout]     |
[INFO] [stdout] 208 |                                     publisher.publish(msg, dst);
[INFO] [stdout]     |                                                                +
[INFO] [stdout] help: consider using a semicolon here
[INFO] [stdout]     |
[INFO] [stdout] 209 |                                 };
[INFO] [stdout]     |                                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/user/post.rs:23:34
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let addr = Address::from(pubkey.clone());
[INFO] [stdout]    |                    ------------- ^^^^^^^^^^^^^^ expected `[u8; 32]`, found `PublicKey`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /rustc/22cc29ba5b459fb386c0406b9baf3a49eb0fba39/library/core/src/convert/mod.rs:592:7
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/user/post.rs:23:34
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let addr = Address::from(pubkey.clone());
[INFO] [stdout]    |                    ------------- ^^^^^^^^^^^^^^ expected `[u8; 32]`, found `PublicKey`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /rustc/22cc29ba5b459fb386c0406b9baf3a49eb0fba39/library/core/src/convert/mod.rs:592:7
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `verify` found for reference `&ed25519_dalek::PublicKey` in the current scope
[INFO] [stdout]   --> src/user/post.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | /                 pubkey
[INFO] [stdout] 32 | |                     .verify(
[INFO] [stdout]    | |                     -^^^^^^ method not found in `&ed25519_dalek::PublicKey`
[INFO] [stdout]    | |_____________________|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Verifier` which provides `verify` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  1 + use ed25519_dalek::Verifier;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `verify` found for reference `&ed25519_dalek::PublicKey` in the current scope
[INFO] [stdout]   --> src/user/post.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | /                 pubkey
[INFO] [stdout] 32 | |                     .verify(
[INFO] [stdout]    | |                     -^^^^^^ method not found in `&ed25519_dalek::PublicKey`
[INFO] [stdout]    | |_____________________|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Verifier` which provides `verify` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  1 + use ed25519_dalek::Verifier;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/api_server/client_info.rs:87:40
[INFO] [stdout]    |
[INFO] [stdout] 87 |         self.registered.get(addr).map(|pk| pk.clone())
[INFO] [stdout]    |                                        ^^  -- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 87 |         self.registered.get(addr).map(|pk: /* Type */| pk.clone())
[INFO] [stdout]    |                                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/api_server/client_info.rs:87:40
[INFO] [stdout]    |
[INFO] [stdout] 87 |         self.registered.get(addr).map(|pk| pk.clone())
[INFO] [stdout]    |                                        ^^  -- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 87 |         self.registered.get(addr).map(|pk: /* Type */| pk.clone())
[INFO] [stdout]    |                                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/api_server/server.rs:106:77
[INFO] [stdout]     |
[INFO] [stdout] 106 |     async fn handle_connection(self, websocket: WebSocketStream<TcpStream>, addr: SocketAddr) {
[INFO] [stdout]     |                                                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/api_server/server.rs:106:77
[INFO] [stdout]     |
[INFO] [stdout] 106 |     async fn handle_connection(self, websocket: WebSocketStream<TcpStream>, addr: SocketAddr) {
[INFO] [stdout]     |                                                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0308, E0425, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0308, E0425, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `noktulo` (lib) due to 14 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `noktulo` (lib test) due to 14 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "7b5ba33e66d04a0058169ff943785df39f6d91b6fc9b58e6752177fa81e51dfb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b5ba33e66d04a0058169ff943785df39f6d91b6fc9b58e6752177fa81e51dfb", kill_on_drop: false }`
[INFO] [stdout] 7b5ba33e66d04a0058169ff943785df39f6d91b6fc9b58e6752177fa81e51dfb
