[INFO] cloning repository https://github.com/attenuation/boringvpn [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/attenuation/boringvpn" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fattenuation%2Fboringvpn"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fattenuation%2Fboringvpn'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] cd3a0f0632846011072763099fb2515f2a1e4d2e [INFO] checking attenuation/boringvpn against try#ea663bba38739867a4b75ac820991b4f5d093c3b for pr-62262-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fattenuation%2Fboringvpn" "/workspace/builds/worker-1/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/attenuation/boringvpn on toolchain ea663bba38739867a4b75ac820991b4f5d093c3b [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/attenuation/boringvpn [INFO] finished tweaking git repo https://github.com/attenuation/boringvpn [INFO] tweaked toml for git repo https://github.com/attenuation/boringvpn written to /workspace/builds/worker-1/source/Cargo.toml [INFO] crate git repo https://github.com/attenuation/boringvpn already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] error: the lock file /workspace/builds/worker-1/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] the lockfile is outdated, regenerating it [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 6f30ecdb85116a3e6c8b99e70b64a53d9f7f7cc1d0337f6cfc7860a8b0618ab7 [INFO] running `"docker" "start" "-a" "6f30ecdb85116a3e6c8b99e70b64a53d9f7f7cc1d0337f6cfc7860a8b0618ab7"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Checking transient-hashmap v0.4.1 [INFO] [stderr] Compiling ring v0.14.6 [INFO] [stderr] Compiling boringvpn v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking getrandom v0.1.12 [INFO] [stderr] Checking socket2 v0.3.11 [INFO] [stderr] Compiling syn v1.0.5 [INFO] [stderr] Checking env_logger v0.7.1 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking dns-lookup v1.0.1 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] warning: src/c/tuntap.c: In function 'set_ip': [INFO] [stderr] warning: src/c/tuntap.c:71:5: warning: format not a string literal and no format arguments [-Wformat-security] [INFO] [stderr] warning: printf(ip_addr); [INFO] [stderr] warning: ^~~~~~ [INFO] [stderr] warning: src/c/tuntap.c:72:5: warning: format not a string literal and no format arguments [-Wformat-security] [INFO] [stderr] warning: printf(netmask); [INFO] [stderr] warning: ^~~~~~ [INFO] [stderr] warning: src/c/tuntap.c:86:23: warning: passing argument 2 of 'inet_aton' from incompatible pointer type [-Wincompatible-pointer-types] [INFO] [stderr] warning: inet_aton(ip_addr,&sin.sin_addr.s_addr); [INFO] [stderr] warning: ^ [INFO] [stderr] warning: In file included from src/c/tuntap.c:12:0: [INFO] [stderr] warning: /usr/include/arpa/inet.h:73:12: note: expected 'struct in_addr *' but argument is of type 'in_addr_t * {aka unsigned int *}' [INFO] [stderr] warning: extern int inet_aton (const char *__cp, struct in_addr *__inp) __THROW; [INFO] [stderr] warning: ^~~~~~~~~ [INFO] [stderr] warning: src/c/tuntap.c:91:23: warning: passing argument 2 of 'inet_aton' from incompatible pointer type [-Wincompatible-pointer-types] [INFO] [stderr] warning: inet_aton(netmask,&sin.sin_addr.s_addr); [INFO] [stderr] warning: ^ [INFO] [stderr] warning: In file included from src/c/tuntap.c:12:0: [INFO] [stderr] warning: /usr/include/arpa/inet.h:73:12: note: expected 'struct in_addr *' but argument is of type 'in_addr_t * {aka unsigned int *}' [INFO] [stderr] warning: extern int inet_aton (const char *__cp, struct in_addr *__inp) __THROW; [INFO] [stderr] warning: ^~~~~~~~~ [INFO] [stderr] Checking rand v0.7.2 [INFO] [stderr] Compiling serde_derive v1.0.101 [INFO] [stderr] Checking serde v1.0.101 [INFO] [stderr] Checking bincode v1.2.0 [INFO] [stderr] warning: unused imports: `Deserialize`, `Serialize` [INFO] [stderr] --> src/main.rs:1:13 [INFO] [stderr] | [INFO] [stderr] 1 | use serde::{Serialize, Deserialize}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `libc` [INFO] [stderr] --> src/main.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use libc; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand` [INFO] [stderr] --> src/crypto.rs:1:31 [INFO] [stderr] | [INFO] [stderr] 1 | use ring::{aead,pbkdf2,digest,rand}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ring::rand::SecureRandom` [INFO] [stderr] --> src/crypto.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use ring::rand::SecureRandom; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Deserialize`, `Serialize` [INFO] [stderr] --> src/device.rs:1:13 [INFO] [stderr] | [INFO] [stderr] 1 | use serde::{Serialize, Deserialize}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IpAddr`, `Ipv4Addr`, `Ipv6Addr` [INFO] [stderr] --> src/device.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Ipv6Addr` [INFO] [stderr] --> src/client.rs:2:34 [INFO] [stderr] | [INFO] [stderr] 2 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, UdpSocket}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `CryptoData` [INFO] [stderr] --> src/client.rs:14:28 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::crypto::{Crypto,CryptoData,CryptoMethod}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ipv6Addr`, `UdpSocket` [INFO] [stderr] --> src/server.rs:2:34 [INFO] [stderr] | [INFO] [stderr] 2 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, UdpSocket}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `dns_lookup` [INFO] [stderr] --> src/server.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use dns_lookup; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `CryptoData` [INFO] [stderr] --> src/server.rs:15:28 [INFO] [stderr] | [INFO] [stderr] 15 | use crate::crypto::{Crypto,CryptoData,CryptoMethod}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error` [INFO] [stderr] --> src/cli.rs:1:22 [INFO] [stderr] | [INFO] [stderr] 1 | use clap::{App, Arg, Error,SubCommand}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ffi::OsString`, `path::PathBuf` [INFO] [stderr] --> src/cli.rs:3:11 [INFO] [stderr] | [INFO] [stderr] 3 | use std::{ffi::OsString,path::PathBuf}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IpAddr`, `Ipv4Addr`, `Ipv6Addr` [INFO] [stderr] --> src/cli.rs:4:16 [INFO] [stderr] | [INFO] [stderr] 4 | use std::net::{IpAddr,Ipv4Addr,Ipv6Addr}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right': superseded by `trim_end` [INFO] [stderr] --> src/utils.rs:32:54 [INFO] [stderr] | [INFO] [stderr] 32 | Ok(String::from_utf8(output.stdout).unwrap().trim_right().to_string()) [INFO] [stderr] | ^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Deserialize`, `Serialize` [INFO] [stderr] --> src/main.rs:1:13 [INFO] [stderr] | [INFO] [stderr] 1 | use serde::{Serialize, Deserialize}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `libc` [INFO] [stderr] --> src/main.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use libc; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand` [INFO] [stderr] --> src/crypto.rs:1:31 [INFO] [stderr] | [INFO] [stderr] 1 | use ring::{aead,pbkdf2,digest,rand}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ring::rand::SecureRandom` [INFO] [stderr] --> src/crypto.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use ring::rand::SecureRandom; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Deserialize`, `Serialize` [INFO] [stderr] --> src/device.rs:1:13 [INFO] [stderr] | [INFO] [stderr] 1 | use serde::{Serialize, Deserialize}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IpAddr`, `Ipv4Addr`, `Ipv6Addr` [INFO] [stderr] --> src/device.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `thread`, `time` [INFO] [stderr] --> src/device.rs:116:15 [INFO] [stderr] | [INFO] [stderr] 116 | use std::{thread, time}; [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Ipv6Addr` [INFO] [stderr] --> src/client.rs:2:34 [INFO] [stderr] | [INFO] [stderr] 2 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, UdpSocket}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `CryptoData` [INFO] [stderr] --> src/client.rs:14:28 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::crypto::{Crypto,CryptoData,CryptoMethod}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ipv6Addr`, `UdpSocket` [INFO] [stderr] --> src/server.rs:2:34 [INFO] [stderr] | [INFO] [stderr] 2 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, UdpSocket}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `dns_lookup` [INFO] [stderr] --> src/server.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use dns_lookup; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `CryptoData` [INFO] [stderr] --> src/server.rs:15:28 [INFO] [stderr] | [INFO] [stderr] 15 | use crate::crypto::{Crypto,CryptoData,CryptoMethod}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error` [INFO] [stderr] --> src/cli.rs:1:22 [INFO] [stderr] | [INFO] [stderr] 1 | use clap::{App, Arg, Error,SubCommand}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ffi::OsString`, `path::PathBuf` [INFO] [stderr] --> src/cli.rs:3:11 [INFO] [stderr] | [INFO] [stderr] 3 | use std::{ffi::OsString,path::PathBuf}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IpAddr`, `Ipv4Addr`, `Ipv6Addr` [INFO] [stderr] --> src/cli.rs:4:16 [INFO] [stderr] | [INFO] [stderr] 4 | use std::net::{IpAddr,Ipv4Addr,Ipv6Addr}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right': superseded by `trim_end` [INFO] [stderr] --> src/utils.rs:154:54 [INFO] [stderr] | [INFO] [stderr] 154 | Ok(String::from_utf8(output.stdout).unwrap().trim_right().to_string()) [INFO] [stderr] | ^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end` [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/client.rs:232:9 [INFO] [stderr] | [INFO] [stderr] 184 | / loop { [INFO] [stderr] 185 | | poll.poll(&mut events, None).expect("poll failed"); [INFO] [stderr] 186 | | for event in events.iter() { [INFO] [stderr] 187 | | match event.token() { [INFO] [stderr] ... | [INFO] [stderr] 230 | | } [INFO] [stderr] 231 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 232 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/server.rs:219:9 [INFO] [stderr] | [INFO] [stderr] 116 | / loop { [INFO] [stderr] 117 | | // available_ids.append(&mut client_info.prune()); [INFO] [stderr] 118 | | poll.poll(&mut events, None).expect("poll failed"); [INFO] [stderr] 119 | | for event in events.iter() { [INFO] [stderr] ... | [INFO] [stderr] 217 | | [INFO] [stderr] 218 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 219 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right': superseded by `trim_end` [INFO] [stderr] --> src/utils.rs:32:54 [INFO] [stderr] | [INFO] [stderr] 32 | Ok(String::from_utf8(output.stdout).unwrap().trim_right().to_string()) [INFO] [stderr] | ^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Write` [INFO] [stderr] --> src/types.rs:2:21 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{self, Write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right': superseded by `trim_end` [INFO] [stderr] --> src/utils.rs:154:54 [INFO] [stderr] | [INFO] [stderr] 154 | Ok(String::from_utf8(output.stdout).unwrap().trim_right().to_string()) [INFO] [stderr] | ^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/client.rs:172:126 [INFO] [stderr] | [INFO] [stderr] 172 | let _gw = utils::DefaultGateWay::create(&client_ip.to_string(), &remote_ip.to_string(),self.default_route).map_err(|e| Error::Route("failed to create route or exist"))?; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ipv6` [INFO] [stderr] --> src/client.rs:168:24 [INFO] [stderr] | [INFO] [stderr] 168 | IpAddr::V6(ipv6) => {}, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_ipv6` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ipv6` [INFO] [stderr] --> src/server.rs:134:52 [INFO] [stderr] | [INFO] [stderr] 134 | ... IpAddr::V6(ipv6) => {}, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_ipv6` [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/client.rs:232:9 [INFO] [stderr] | [INFO] [stderr] 184 | / loop { [INFO] [stderr] 185 | | poll.poll(&mut events, None).expect("poll failed"); [INFO] [stderr] 186 | | for event in events.iter() { [INFO] [stderr] 187 | | match event.token() { [INFO] [stderr] ... | [INFO] [stderr] 230 | | } [INFO] [stderr] 231 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 232 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/server.rs:219:9 [INFO] [stderr] | [INFO] [stderr] 116 | / loop { [INFO] [stderr] 117 | | // available_ids.append(&mut client_info.prune()); [INFO] [stderr] 118 | | poll.poll(&mut events, None).expect("poll failed"); [INFO] [stderr] 119 | | for event in events.iter() { [INFO] [stderr] ... | [INFO] [stderr] 217 | | [INFO] [stderr] 218 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 219 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] [INFO] [stderr] warning: method is never used: `create` [INFO] [stderr] --> src/utils.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn create(remote: &str) -> HostRoute { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_route_gateway` [INFO] [stderr] --> src/utils.rs:146:1 [INFO] [stderr] | [INFO] [stderr] 146 | fn get_route_gateway(route: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_public_ip` [INFO] [stderr] --> src/utils.rs:161:1 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn get_public_ip() -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ChaCha20` [INFO] [stderr] --> src/crypto.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | ChaCha20, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `key` [INFO] [stderr] --> src/crypto.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | key: Vec [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `None` [INFO] [stderr] --> src/crypto.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | None, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `inc_nonce` [INFO] [stderr] --> src/crypto.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | fn inc_nonce(nonce: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `method` [INFO] [stderr] --> src/crypto.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn method(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `nonce_byte` [INFO] [stderr] --> src/crypto.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn nonce_byte(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_key` [INFO] [stderr] --> src/crypto.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn get_key(&self) -> &[u8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Tap` [INFO] [stderr] --> src/device.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | Tap [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `type_device` [INFO] [stderr] --> src/device.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | type_device: Type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Socket` [INFO] [stderr] --> src/types.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | Socket(&'static str, io::Error), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Name` [INFO] [stderr] --> src/types.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | Name(String), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TunTapDev` [INFO] [stderr] --> src/types.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | TunTapDev(&'static str, io::Error), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `File` [INFO] [stderr] --> src/types.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | File(&'static str, io::Error), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Beacon` [INFO] [stderr] --> src/types.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | Beacon(&'static str, io::Error), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Token` [INFO] [stderr] --> src/boring.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | type Token = u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `resolve` [INFO] [stderr] --> src/client.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | fn resolve(host: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_ip` [INFO] [stderr] --> src/client.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | fn parse_ip(&mut self,ipaddr: &str) -> Result<(),Error>{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_netmask` [INFO] [stderr] --> src/client.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | fn parse_netmask(&mut self,netmask: &str) -> Result<(),Error>{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_dns` [INFO] [stderr] --> src/client.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | fn parse_dns(&mut self,dns: &str) -> Result<(),Error>{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `shakehand_tcp` [INFO] [stderr] --> src/client.rs:135:5 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn shakehand_tcp() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `connect_tcp` [INFO] [stderr] --> src/client.rs:235:5 [INFO] [stderr] | [INFO] [stderr] 235 | pub fn connect_tcp() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Write` [INFO] [stderr] --> src/types.rs:2:21 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{self, Write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/client.rs:172:126 [INFO] [stderr] | [INFO] [stderr] 172 | let _gw = utils::DefaultGateWay::create(&client_ip.to_string(), &remote_ip.to_string(),self.default_route).map_err(|e| Error::Route("failed to create route or exist"))?; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ipv6` [INFO] [stderr] --> src/client.rs:168:24 [INFO] [stderr] | [INFO] [stderr] 168 | IpAddr::V6(ipv6) => {}, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_ipv6` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ipv6` [INFO] [stderr] --> src/server.rs:134:52 [INFO] [stderr] | [INFO] [stderr] 134 | ... IpAddr::V6(ipv6) => {}, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_ipv6` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `create` [INFO] [stderr] --> src/utils.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn create(remote: &str) -> HostRoute { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_public_ip` [INFO] [stderr] --> src/utils.rs:161:1 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn get_public_ip() -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ChaCha20` [INFO] [stderr] --> src/crypto.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | ChaCha20, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `key` [INFO] [stderr] --> src/crypto.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | key: Vec [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `None` [INFO] [stderr] --> src/crypto.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | None, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `inc_nonce` [INFO] [stderr] --> src/crypto.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | fn inc_nonce(nonce: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `method` [INFO] [stderr] --> src/crypto.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn method(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `nonce_byte` [INFO] [stderr] --> src/crypto.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn nonce_byte(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_key` [INFO] [stderr] --> src/crypto.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn get_key(&self) -> &[u8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Tap` [INFO] [stderr] --> src/device.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | Tap [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `type_device` [INFO] [stderr] --> src/device.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | type_device: Type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Socket` [INFO] [stderr] --> src/types.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | Socket(&'static str, io::Error), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Name` [INFO] [stderr] --> src/types.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | Name(String), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TunTapDev` [INFO] [stderr] --> src/types.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | TunTapDev(&'static str, io::Error), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `File` [INFO] [stderr] --> src/types.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | File(&'static str, io::Error), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Beacon` [INFO] [stderr] --> src/types.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | Beacon(&'static str, io::Error), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Token` [INFO] [stderr] --> src/boring.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | type Token = u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `resolve` [INFO] [stderr] --> src/client.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | fn resolve(host: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_ip` [INFO] [stderr] --> src/client.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | fn parse_ip(&mut self,ipaddr: &str) -> Result<(),Error>{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_netmask` [INFO] [stderr] --> src/client.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | fn parse_netmask(&mut self,netmask: &str) -> Result<(),Error>{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_dns` [INFO] [stderr] --> src/client.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | fn parse_dns(&mut self,dns: &str) -> Result<(),Error>{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `shakehand_tcp` [INFO] [stderr] --> src/client.rs:135:5 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn shakehand_tcp() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `connect_tcp` [INFO] [stderr] --> src/client.rs:235:5 [INFO] [stderr] | [INFO] [stderr] 235 | pub fn connect_tcp() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 45.04s [INFO] running `"docker" "inspect" "6f30ecdb85116a3e6c8b99e70b64a53d9f7f7cc1d0337f6cfc7860a8b0618ab7"` [INFO] running `"docker" "rm" "-f" "6f30ecdb85116a3e6c8b99e70b64a53d9f7f7cc1d0337f6cfc7860a8b0618ab7"` [INFO] [stdout] 6f30ecdb85116a3e6c8b99e70b64a53d9f7f7cc1d0337f6cfc7860a8b0618ab7