[INFO] cloning repository https://github.com/F-M-Franco/tcp_diffuser
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/F-M-Franco/tcp_diffuser" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FF-M-Franco%2Ftcp_diffuser", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FF-M-Franco%2Ftcp_diffuser'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 69e1665d2acfb57db44f770356ffaeb31689dff1
[INFO] checking F-M-Franco/tcp_diffuser against master#8f21a5c92ea55c348c275a1bc4fedbdf181e0d64 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FF-M-Franco%2Ftcp_diffuser" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  48% (978/1996)
Updating files:  49% (979/1996)
Updating files:  50% (998/1996)
Updating files:  51% (1018/1996)
Updating files:  52% (1038/1996)
Updating files:  53% (1058/1996)
Updating files:  54% (1078/1996)
Updating files:  55% (1098/1996)
Updating files:  56% (1118/1996)
Updating files:  57% (1138/1996)
Updating files:  58% (1158/1996)
Updating files:  59% (1178/1996)
Updating files:  60% (1198/1996)
Updating files:  61% (1218/1996)
Updating files:  62% (1238/1996)
Updating files:  63% (1258/1996)
Updating files:  64% (1278/1996)
Updating files:  65% (1298/1996)
Updating files:  66% (1318/1996)
Updating files:  67% (1338/1996)
Updating files:  68% (1358/1996)
Updating files:  69% (1378/1996)
Updating files:  70% (1398/1996)
Updating files:  71% (1418/1996)
Updating files:  72% (1438/1996)
Updating files:  73% (1458/1996)
Updating files:  74% (1478/1996)
Updating files:  75% (1497/1996)
Updating files:  76% (1517/1996)
Updating files:  77% (1537/1996)
Updating files:  78% (1557/1996)
Updating files:  79% (1577/1996)
Updating files:  80% (1597/1996)
Updating files:  81% (1617/1996)
Updating files:  82% (1637/1996)
Updating files:  83% (1657/1996)
Updating files:  84% (1677/1996)
Updating files:  85% (1697/1996)
Updating files:  86% (1717/1996)
Updating files:  87% (1737/1996)
Updating files:  88% (1757/1996)
Updating files:  89% (1777/1996)
Updating files:  90% (1797/1996)
Updating files:  91% (1817/1996)
Updating files:  92% (1837/1996)
Updating files:  93% (1857/1996)
Updating files:  94% (1877/1996)
Updating files:  95% (1897/1996)
Updating files:  96% (1917/1996)
Updating files:  97% (1937/1996)
Updating files:  97% (1951/1996)
Updating files:  98% (1957/1996)
Updating files:  99% (1977/1996)
Updating files: 100% (1996/1996)
Updating files: 100% (1996/1996), done.
[INFO] started tweaking git repo https://github.com/F-M-Franco/tcp_diffuser
[INFO] finished tweaking git repo https://github.com/F-M-Franco/tcp_diffuser
[INFO] tweaked toml for git repo https://github.com/F-M-Franco/tcp_diffuser written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/F-M-Franco/tcp_diffuser on toolchain 8f21a5c92ea55c348c275a1bc4fedbdf181e0d64
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/F-M-Franco/tcp_diffuser 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" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bc6586f703ca409973fbfeebbb1aac5180a0fd99a9da38dfd0468229899c0cc1
[INFO] running `Command { std: "docker" "start" "-a" "bc6586f703ca409973fbfeebbb1aac5180a0fd99a9da38dfd0468229899c0cc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc6586f703ca409973fbfeebbb1aac5180a0fd99a9da38dfd0468229899c0cc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc6586f703ca409973fbfeebbb1aac5180a0fd99a9da38dfd0468229899c0cc1", kill_on_drop: false }`
[INFO] [stdout] bc6586f703ca409973fbfeebbb1aac5180a0fd99a9da38dfd0468229899c0cc1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 19f3755acd8410f97319b7c2e7dab570a623e4d6ee9f11f985dc88745b078a60
[INFO] running `Command { std: "docker" "start" "-a" "19f3755acd8410f97319b7c2e7dab570a623e4d6ee9f11f985dc88745b078a60", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]     Checking const-oid v0.9.5
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]    Compiling libm v0.2.7
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]     Checking base64ct v1.6.0
[INFO] [stderr]     Checking zeroize v1.6.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling num-bigint-dig v0.8.4
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]    Compiling serde v1.0.188
[INFO] [stderr]     Checking smallvec v1.11.0
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]     Checking der v0.7.8
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking spki v0.7.2
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking signature v2.1.0
[INFO] [stderr]     Checking pkcs1 v0.7.5
[INFO] [stderr]     Checking rsa v0.9.2
[INFO] [stderr]     Checking tcp_diff v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `rsa::sha2`
[INFO] [stdout]    --> src/user/writer.rs:8:10
[INFO] [stdout]     |
[INFO] [stdout] 8   | use rsa::sha2::{Digest, Sha256};
[INFO] [stdout]     |          ^^^^ could not find `sha2` in `rsa`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rsa-0.9.2/src/lib.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub use sha2;
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] note: the item is gated behind the `sha2` feature
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rsa-0.9.2/src/lib.rs:238:7
[INFO] [stdout]     |
[INFO] [stdout] 238 | #[cfg(feature = "sha2")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rsa::sha2`
[INFO] [stdout]    --> src/user/writer.rs:8:10
[INFO] [stdout]     |
[INFO] [stdout] 8   | use rsa::sha2::{Digest, Sha256};
[INFO] [stdout]     |          ^^^^ could not find `sha2` in `rsa`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rsa-0.9.2/src/lib.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub use sha2;
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] note: the item is gated behind the `sha2` feature
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rsa-0.9.2/src/lib.rs:238:7
[INFO] [stdout]     |
[INFO] [stdout] 238 | #[cfg(feature = "sha2")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `check_validity` in this scope
[INFO] [stdout]   --> src/server/diffuser.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |             if !check_validity(tx_id, &keys, msg){
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: function `crate::user::reader::check_validity` exists but is inaccessible
[INFO] [stdout]   --> src/user/reader.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn check_validity(msg: &[u8], server_pub_key: RsaPublicKey) -> bool{
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `scheme` in this scope
[INFO] [stdout]   --> src/user/reader.rs:64:33
[INFO] [stdout]    |
[INFO] [stdout] 64 |     match server_pub_key.verify(scheme, hashed, sig){
[INFO] [stdout]    |                                 ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `hashed` in this scope
[INFO] [stdout]   --> src/user/reader.rs:64:41
[INFO] [stdout]    |
[INFO] [stdout] 64 |     match server_pub_key.verify(scheme, hashed, sig){
[INFO] [stdout]    |                                         ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `sig` in this scope
[INFO] [stdout]   --> src/user/reader.rs:64:49
[INFO] [stdout]    |
[INFO] [stdout] 64 |     match server_pub_key.verify(scheme, hashed, sig){
[INFO] [stdout]    |                                                 ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pkcs1v15Encrypt`
[INFO] [stdout]  --> src/server/spawner.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rsa::{Pkcs1v15Encrypt, RsaPrivateKey, RsaPublicKey};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/server/spawner.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::{Serialize, Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Pkcs1v15Sign`, `Pss`, and `pss`
[INFO] [stdout]  --> src/user/writer.rs:4:57
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rsa::{RsaPrivateKey, RsaPublicKey, Pkcs1v15Encrypt, Pkcs1v15Sign, Pss, pss};
[INFO] [stdout]   |                                                         ^^^^^^^^^^^^  ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerifyingKey`
[INFO] [stdout]  --> src/user/writer.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rsa::pss::{BlindedSigningKey, VerifyingKey};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SignatureEncoding` and `Verifier`
[INFO] [stdout]  --> src/user/writer.rs:7:48
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rsa::signature::{Keypair,RandomizedSigner, SignatureEncoding, Verifier};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `check_validity` in this scope
[INFO] [stdout]   --> src/server/diffuser.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |             if !check_validity(tx_id, &keys, msg){
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: function `crate::user::reader::check_validity` exists but is inaccessible
[INFO] [stdout]   --> src/user/reader.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn check_validity(msg: &[u8], server_pub_key: RsaPublicKey) -> bool{
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `scheme` in this scope
[INFO] [stdout]   --> src/user/reader.rs:64:33
[INFO] [stdout]    |
[INFO] [stdout] 64 |     match server_pub_key.verify(scheme, hashed, sig){
[INFO] [stdout]    |                                 ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `hashed` in this scope
[INFO] [stdout]   --> src/user/reader.rs:64:41
[INFO] [stdout]    |
[INFO] [stdout] 64 |     match server_pub_key.verify(scheme, hashed, sig){
[INFO] [stdout]    |                                         ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `sig` in this scope
[INFO] [stdout]   --> src/user/reader.rs:64:49
[INFO] [stdout]    |
[INFO] [stdout] 64 |     match server_pub_key.verify(scheme, hashed, sig){
[INFO] [stdout]    |                                                 ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pkcs1v15Encrypt`
[INFO] [stdout]  --> src/server/spawner.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rsa::{Pkcs1v15Encrypt, RsaPrivateKey, RsaPublicKey};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/server/spawner.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::{Serialize, Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Pkcs1v15Sign`, `Pss`, and `pss`
[INFO] [stdout]  --> src/user/writer.rs:4:57
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rsa::{RsaPrivateKey, RsaPublicKey, Pkcs1v15Encrypt, Pkcs1v15Sign, Pss, pss};
[INFO] [stdout]   |                                                         ^^^^^^^^^^^^  ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerifyingKey`
[INFO] [stdout]  --> src/user/writer.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rsa::pss::{BlindedSigningKey, VerifyingKey};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SignatureEncoding` and `Verifier`
[INFO] [stdout]  --> src/user/writer.rs:7:48
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rsa::signature::{Keypair,RandomizedSigner, SignatureEncoding, Verifier};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/server/spawner.rs:55:34
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 new_stream.write(&*pub_key.lock().unwrap());
[INFO] [stdout]    |                            ----- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&[u8]`, found `&RsaPublicKey`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&[u8]`
[INFO] [stdout]               found reference `&rsa::RsaPublicKey`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/8f21a5c92ea55c348c275a1bc4fedbdf181e0d64/library/std/src/io/mod.rs:1724:8
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/server/spawner.rs:55:34
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 new_stream.write(&*pub_key.lock().unwrap());
[INFO] [stdout]    |                            ----- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&[u8]`, found `&RsaPublicKey`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&[u8]`
[INFO] [stdout]               found reference `&rsa::RsaPublicKey`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/8f21a5c92ea55c348c275a1bc4fedbdf181e0d64/library/std/src/io/mod.rs:1724:8
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/server/spawner.rs:57:60
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 (*keys.lock().unwrap()).insert(id_counter, user_pub_key);
[INFO] [stdout]    |                                         ------             ^^^^^^^^^^^^ expected `RsaPublicKey`, found `[u8; 2048]`
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] help: the return type of this call is `[u8; 2048]` due to the type of the argument passed
[INFO] [stdout]   --> src/server/spawner.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 (*keys.lock().unwrap()).insert(id_counter, user_pub_key);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------^
[INFO] [stdout]    |                                                            |
[INFO] [stdout]    |                                                            this argument influences the return type of `insert`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/8f21a5c92ea55c348c275a1bc4fedbdf181e0d64/library/std/src/collections/hash/map.rs:1203:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `thread_rng` in constants
[INFO] [stdout]   --> src/server/diffuser.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | const RNG: ThreadRng = rand::thread_rng();
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/server/spawner.rs:57:60
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 (*keys.lock().unwrap()).insert(id_counter, user_pub_key);
[INFO] [stdout]    |                                         ------             ^^^^^^^^^^^^ expected `RsaPublicKey`, found `[u8; 2048]`
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] help: the return type of this call is `[u8; 2048]` due to the type of the argument passed
[INFO] [stdout]   --> src/server/spawner.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 (*keys.lock().unwrap()).insert(id_counter, user_pub_key);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------^
[INFO] [stdout]    |                                                            |
[INFO] [stdout]    |                                                            this argument influences the return type of `insert`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/8f21a5c92ea55c348c275a1bc4fedbdf181e0d64/library/std/src/collections/hash/map.rs:1203:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `thread_rng` in constants
[INFO] [stdout]   --> src/server/diffuser.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | const RNG: ThreadRng = rand::thread_rng();
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]   --> src/server/diffuser.rs:61:91
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 let msg_encrypted = (*priv_key.lock().unwrap()).sign(Pss::new_with_salt::<_>(8), &msg_encrypted).unwrap();
[INFO] [stdout]    |                                                                                           ^ cannot infer type
[INFO] [stdout]    |
[INFO] [stdout]    = note: cannot satisfy `_: Digest`
[INFO] [stdout] note: required by a bound in `Pss::new_with_salt`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rsa-0.9.2/src/pss.rs:60:39
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn new_with_salt<T: 'static + Digest + DynDigest + Send + Sync>(len: usize) -> Self {
[INFO] [stdout]    |                                       ^^^^^^ required by this bound in `Pss::new_with_salt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]   --> src/server/diffuser.rs:61:91
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 let msg_encrypted = (*priv_key.lock().unwrap()).sign(Pss::new_with_salt::<_>(8), &msg_encrypted).unwrap();
[INFO] [stdout]    |                                                                                           ^ cannot infer type
[INFO] [stdout]    |
[INFO] [stdout]    = note: cannot satisfy `_: Digest`
[INFO] [stdout] note: required by a bound in `Pss::new_with_salt`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rsa-0.9.2/src/pss.rs:60:39
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn new_with_salt<T: 'static + Digest + DynDigest + Send + Sync>(len: usize) -> Self {
[INFO] [stdout]    |                                       ^^^^^^ required by this bound in `Pss::new_with_salt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/server/diffuser.rs:106:91
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 let msg_encrypted = (*priv_key.lock().unwrap()).sign(Pss::new_with_salt::<_>(8), &msg_encrypted).unwrap();
[INFO] [stdout]     |                                                                                           ^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Digest`
[INFO] [stdout] note: required by a bound in `Pss::new_with_salt`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rsa-0.9.2/src/pss.rs:60:39
[INFO] [stdout]     |
[INFO] [stdout] 60  |     pub fn new_with_salt<T: 'static + Digest + DynDigest + Send + Sync>(len: usize) -> Self {
[INFO] [stdout]     |                                       ^^^^^^ required by this bound in `Pss::new_with_salt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/server/diffuser.rs:106:91
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 let msg_encrypted = (*priv_key.lock().unwrap()).sign(Pss::new_with_salt::<_>(8), &msg_encrypted).unwrap();
[INFO] [stdout]     |                                                                                           ^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Digest`
[INFO] [stdout] note: required by a bound in `Pss::new_with_salt`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rsa-0.9.2/src/pss.rs:60:39
[INFO] [stdout]     |
[INFO] [stdout] 60  |     pub fn new_with_salt<T: 'static + Digest + DynDigest + Send + Sync>(len: usize) -> Self {
[INFO] [stdout]     |                                       ^^^^^^ required by this bound in `Pss::new_with_salt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Pkcs1v15Encrypt: SignatureScheme` is not satisfied
[INFO] [stdout]    --> src/user/reader.rs:48:37
[INFO] [stdout]     |
[INFO] [stdout] 48  |             let ack = priv_key.sign(Pkcs1v15Encrypt, ack).unwrap();
[INFO] [stdout]     |                                ---- ^^^^^^^^^^^^^^^ the trait `SignatureScheme` is not implemented for `Pkcs1v15Encrypt`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `SignatureScheme`:
[INFO] [stdout]               Pkcs1v15Sign
[INFO] [stdout]               Pss
[INFO] [stdout] note: required by a bound in `rsa::RsaPrivateKey::sign`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rsa-0.9.2/src/key.rs:373:20
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub fn sign<S: SignatureScheme>(&self, padding: S, digest_in: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^ required by this bound in `RsaPrivateKey::sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Pkcs1v15Encrypt: SignatureScheme` is not satisfied
[INFO] [stdout]    --> src/user/reader.rs:48:37
[INFO] [stdout]     |
[INFO] [stdout] 48  |             let ack = priv_key.sign(Pkcs1v15Encrypt, ack).unwrap();
[INFO] [stdout]     |                                ---- ^^^^^^^^^^^^^^^ the trait `SignatureScheme` is not implemented for `Pkcs1v15Encrypt`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `SignatureScheme`:
[INFO] [stdout]               Pkcs1v15Sign
[INFO] [stdout]               Pss
[INFO] [stdout] note: required by a bound in `rsa::RsaPrivateKey::sign`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rsa-0.9.2/src/key.rs:373:20
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub fn sign<S: SignatureScheme>(&self, padding: S, digest_in: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^ required by this bound in `RsaPrivateKey::sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/user/reader.rs:48:54
[INFO] [stdout]     |
[INFO] [stdout] 48  |             let ack = priv_key.sign(Pkcs1v15Encrypt, ack).unwrap();
[INFO] [stdout]     |                                ----                  ^^^ expected `&[u8]`, found `Vec<u8>`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&[u8]`
[INFO] [stdout]                   found struct `Vec<u8>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rsa-0.9.2/src/key.rs:373:12
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub fn sign<S: SignatureScheme>(&self, padding: S, digest_in: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 48  |             let ack = priv_key.sign(Pkcs1v15Encrypt, &ack).unwrap();
[INFO] [stdout]     |                                                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/user/reader.rs:48:54
[INFO] [stdout]     |
[INFO] [stdout] 48  |             let ack = priv_key.sign(Pkcs1v15Encrypt, ack).unwrap();
[INFO] [stdout]     |                                ----                  ^^^ expected `&[u8]`, found `Vec<u8>`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&[u8]`
[INFO] [stdout]                   found struct `Vec<u8>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rsa-0.9.2/src/key.rs:373:12
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub fn sign<S: SignatureScheme>(&self, padding: S, digest_in: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 48  |             let ack = priv_key.sign(Pkcs1v15Encrypt, &ack).unwrap();
[INFO] [stdout]     |                                                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/user/writer.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |     stream.write(pub_key);
[INFO] [stdout]    |            ----- ^^^^^^^ expected `&[u8]`, found `RsaPublicKey`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/8f21a5c92ea55c348c275a1bc4fedbdf181e0d64/library/std/src/io/mod.rs:1724:8
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/user/writer.rs:30:90
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let reader = reader::gen_reader(stream.try_clone().unwrap(), stop.clone(), priv_key, server_pub_key); //try_clone => The returned Tcp...
[INFO] [stdout]    |                  ------------------ arguments to this function are incorrect             ^^^^^^^^^^^^^^ expected `RsaPublicKey`, found `[u8; 2048]`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/user/reader.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub fn gen_reader(mut stream: TcpStream, stop: Arc<Mutex<bool>>, priv_key: RsaPrivateKey, server_pub_key: RsaPublicKey) -> JoinHandle<()>{
[INFO] [stdout]    |        ^^^^^^^^^^                                                                         ----------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/user/writer.rs:32:40
[INFO] [stdout]    |
[INFO] [stdout] 32 |     handle_input(stream, stop.clone(), server_pub_key, priv_key);
[INFO] [stdout]    |     ------------                       ^^^^^^^^^^^^^^ expected `RsaPublicKey`, found `[u8; 2048]`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/user/writer.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn handle_input(mut stream: TcpStream, stop: Arc<Mutex<bool>>, server_pub_key: RsaPublicKey, priv_key: RsaPrivateKey){    
[INFO] [stdout]    |    ^^^^^^^^^^^^                                                ----------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/user/writer.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |     stream.write(pub_key);
[INFO] [stdout]    |            ----- ^^^^^^^ expected `&[u8]`, found `RsaPublicKey`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/8f21a5c92ea55c348c275a1bc4fedbdf181e0d64/library/std/src/io/mod.rs:1724:8
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/user/writer.rs:30:90
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let reader = reader::gen_reader(stream.try_clone().unwrap(), stop.clone(), priv_key, server_pub_key); //try_clone => The returned Tcp...
[INFO] [stdout]    |                  ------------------ arguments to this function are incorrect             ^^^^^^^^^^^^^^ expected `RsaPublicKey`, found `[u8; 2048]`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/user/reader.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub fn gen_reader(mut stream: TcpStream, stop: Arc<Mutex<bool>>, priv_key: RsaPrivateKey, server_pub_key: RsaPublicKey) -> JoinHandle<()>{
[INFO] [stdout]    |        ^^^^^^^^^^                                                                         ----------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/user/writer.rs:32:40
[INFO] [stdout]    |
[INFO] [stdout] 32 |     handle_input(stream, stop.clone(), server_pub_key, priv_key);
[INFO] [stdout]    |     ------------                       ^^^^^^^^^^^^^^ expected `RsaPublicKey`, found `[u8; 2048]`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/user/writer.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn handle_input(mut stream: TcpStream, stop: Arc<Mutex<bool>>, server_pub_key: RsaPublicKey, priv_key: RsaPrivateKey){    
[INFO] [stdout]    |    ^^^^^^^^^^^^                                                ----------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/user/writer.rs:72:84
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn encrypt(msg: &[u8], server_pub_key: &RsaPublicKey, priv_key: &RsaPrivateKey) -> Vec<u8>{
[INFO] [stdout]    |    ------- implicitly returns `()` as its body has no tail or `return` expression  ^^^^^^^ expected `Vec<u8>`, found `()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Vec<u8>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] help: consider returning the local binding `msg_encrypted`
[INFO] [stdout]    |
[INFO] [stdout] 80 ~     let signature = signing_key.sign_with_rng(&mut rng, msg);
[INFO] [stdout] 81 +     msg_encrypted
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/user/writer.rs:72:84
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn encrypt(msg: &[u8], server_pub_key: &RsaPublicKey, priv_key: &RsaPrivateKey) -> Vec<u8>{
[INFO] [stdout]    |    ------- implicitly returns `()` as its body has no tail or `return` expression  ^^^^^^^ expected `Vec<u8>`, found `()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Vec<u8>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] help: consider returning the local binding `msg_encrypted`
[INFO] [stdout]    |
[INFO] [stdout] 80 ~     let signature = signing_key.sign_with_rng(&mut rng, msg);
[INFO] [stdout] 81 +     msg_encrypted
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `buf` does not live long enough
[INFO] [stdout]   --> src/server/user_listener.rs:25:51
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub fn gen_usr_handler(mut stream: TcpStream, t_usr_handler: Sender<(usize, &[u8])>, stop: Arc<Mutex<bool>>, id: usize) -> JoinHandle<()>{
[INFO] [stdout]    |                                               ------------- lifetime `'1` appears in the type of `t_usr_handler`
[INFO] [stdout] ...
[INFO] [stdout] 21 |             let mut buf = [0; 2048];
[INFO] [stdout]    |                 ------- binding `buf` declared here
[INFO] [stdout] ...
[INFO] [stdout] 25 |                     match t_usr_handler.send((id, &buf)){
[INFO] [stdout]    |                           ------------------------^^^^--
[INFO] [stdout]    |                           |                       |
[INFO] [stdout]    |                           |                       borrowed value does not live long enough
[INFO] [stdout]    |                           argument requires that `buf` is borrowed for `'1`
[INFO] [stdout] ...
[INFO] [stdout] 37 |         }
[INFO] [stdout]    |         - `buf` dropped here while still borrowed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `buf` does not live long enough
[INFO] [stdout]   --> src/server/user_listener.rs:25:51
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub fn gen_usr_handler(mut stream: TcpStream, t_usr_handler: Sender<(usize, &[u8])>, stop: Arc<Mutex<bool>>, id: usize) -> JoinHandle<()>{
[INFO] [stdout]    |                                               ------------- lifetime `'1` appears in the type of `t_usr_handler`
[INFO] [stdout] ...
[INFO] [stdout] 21 |             let mut buf = [0; 2048];
[INFO] [stdout]    |                 ------- binding `buf` declared here
[INFO] [stdout] ...
[INFO] [stdout] 25 |                     match t_usr_handler.send((id, &buf)){
[INFO] [stdout]    |                           ------------------------^^^^--
[INFO] [stdout]    |                           |                       |
[INFO] [stdout]    |                           |                       borrowed value does not live long enough
[INFO] [stdout]    |                           argument requires that `buf` is borrowed for `'1`
[INFO] [stdout] ...
[INFO] [stdout] 37 |         }
[INFO] [stdout]    |         - `buf` dropped here while still borrowed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of function
[INFO] [stdout]   --> src/server/user_listener.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  |   pub fn gen_usr_handler(mut stream: TcpStream, t_usr_handler: Sender<(usize, &[u8])>, stop: Arc<Mutex<bool>>, id: usize) -> JoinHandle<()>{
[INFO] [stdout]    |                                                 -------------                 - let's call the lifetime of this reference `'1`
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 `t_usr_handler` is a reference that is only valid in the function body
[INFO] [stdout] 10 | /     thread::spawn(move || {
[INFO] [stdout] 11 | |         'outer: loop{
[INFO] [stdout] 12 | |             //Sleep here prevents thread from getting ahead of diffuser thread when it handles the STOP command
[INFO] [stdout] 13 | |             thread::sleep(time::Duration::from_millis(375));
[INFO] [stdout] ...  |
[INFO] [stdout] 38 | |     })
[INFO] [stdout]    | |      ^
[INFO] [stdout]    | |      |
[INFO] [stdout]    | |______`t_usr_handler` escapes the function body here
[INFO] [stdout]    |        argument requires that `'1` must outlive `'static`
[INFO] [stdout]    |
[INFO] [stdout]    = note: requirement occurs because of the type `std::sync::mpsc::Sender<(usize, &[u8])>`, which makes the generic argument `(usize, &[u8])` invariant
[INFO] [stdout]    = note: the struct `std::sync::mpsc::Sender<T>` is invariant over the parameter `T`
[INFO] [stdout]    = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of function
[INFO] [stdout]   --> src/server/user_listener.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  |   pub fn gen_usr_handler(mut stream: TcpStream, t_usr_handler: Sender<(usize, &[u8])>, stop: Arc<Mutex<bool>>, id: usize) -> JoinHandle<()>{
[INFO] [stdout]    |                                                 -------------                 - let's call the lifetime of this reference `'1`
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 `t_usr_handler` is a reference that is only valid in the function body
[INFO] [stdout] 10 | /     thread::spawn(move || {
[INFO] [stdout] 11 | |         'outer: loop{
[INFO] [stdout] 12 | |             //Sleep here prevents thread from getting ahead of diffuser thread when it handles the STOP command
[INFO] [stdout] 13 | |             thread::sleep(time::Duration::from_millis(375));
[INFO] [stdout] ...  |
[INFO] [stdout] 38 | |     })
[INFO] [stdout]    | |      ^
[INFO] [stdout]    | |      |
[INFO] [stdout]    | |______`t_usr_handler` escapes the function body here
[INFO] [stdout]    |        argument requires that `'1` must outlive `'static`
[INFO] [stdout]    |
[INFO] [stdout]    = note: requirement occurs because of the type `std::sync::mpsc::Sender<(usize, &[u8])>`, which makes the generic argument `(usize, &[u8])` invariant
[INFO] [stdout]    = note: the struct `std::sync::mpsc::Sender<T>` is invariant over the parameter `T`
[INFO] [stdout]    = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0015, E0277, E0283, E0308, E0425, E0432, E0521, E0597.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0015, E0277, E0283, E0308, E0425, E0432, E0521, E0597.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0015`.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0015`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tcp_diff` (lib) due to 18 previous errors; 5 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `tcp_diff` (lib test) due to 18 previous errors; 5 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "19f3755acd8410f97319b7c2e7dab570a623e4d6ee9f11f985dc88745b078a60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "19f3755acd8410f97319b7c2e7dab570a623e4d6ee9f11f985dc88745b078a60", kill_on_drop: false }`
[INFO] [stdout] 19f3755acd8410f97319b7c2e7dab570a623e4d6ee9f11f985dc88745b078a60
