Dec 04 12:49:32.816 INFO checking optimizely/optimizelyd-maildir against try#1df97983eb2057dc6a8f7eb364e263b51ae23230 for pr-56481 Dec 04 12:49:32.816 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56481/worker-6/try#1df97983eb2057dc6a8f7eb364e263b51ae23230:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-6/pr-56481/try#1df97983eb2057dc6a8f7eb364e263b51ae23230:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +1df97983eb2057dc6a8f7eb364e263b51ae23230-alt check --frozen --all --all-targets" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Dec 04 12:49:33.063 INFO [stdout] 16eee0e98dae2acd302ed2edd75e9d92bcb945b1af8aee81870d37f1214f56cf Dec 04 12:49:33.065 INFO running `"docker" "start" "-a" "16eee0e98dae2acd302ed2edd75e9d92bcb945b1af8aee81870d37f1214f56cf"` Dec 04 12:49:33.726 INFO [stderr] usermod: no changes Dec 04 12:49:33.927 INFO [stderr] Checking cfg-if v0.1.1 Dec 04 12:49:33.927 INFO [stderr] Compiling openssl v0.9.14 Dec 04 12:49:33.927 INFO [stderr] Checking serde v1.0.9 Dec 04 12:49:33.927 INFO [stderr] Checking iovec v0.1.0 Dec 04 12:49:33.927 INFO [stderr] Checking time v0.1.37 Dec 04 12:49:33.927 INFO [stderr] Compiling openssl-sys v0.9.14 Dec 04 12:49:33.927 INFO [stderr] Checking base64 v0.6.0 Dec 04 12:49:33.927 INFO [stderr] Checking unicode-bidi v0.3.3 Dec 04 12:49:34.391 INFO [stderr] Checking uuid v0.4.0 Dec 04 12:49:34.595 INFO [stderr] Checking futures-cpupool v0.1.5 Dec 04 12:49:35.451 INFO [stderr] Checking net2 v0.2.29 Dec 04 12:49:35.455 INFO [stderr] Checking bytes v0.4.4 Dec 04 12:49:35.467 INFO [stderr] Checking idna v0.1.2 Dec 04 12:49:36.748 INFO [stderr] Checking mio v0.6.9 Dec 04 12:49:37.634 INFO [stderr] Checking tokio-io v0.1.2 Dec 04 12:49:40.415 INFO [stderr] Checking url v1.5.1 Dec 04 12:49:41.815 INFO [stderr] Checking tokio-core v0.1.8 Dec 04 12:49:44.451 INFO [stderr] Checking native-tls v0.1.4 Dec 04 12:49:45.596 INFO [stderr] Checking tokio-proto v0.1.1 Dec 04 12:49:45.596 INFO [stderr] Checking tokio-tls v0.1.3 Dec 04 12:49:49.512 INFO [stderr] Checking hyper v0.11.0 Dec 04 12:49:53.095 INFO [stderr] Checking serde_json v1.0.2 Dec 04 12:49:56.591 INFO [stderr] Checking hyper-tls v0.1.2 Dec 04 12:49:57.621 INFO [stderr] Checking optimizelyd-maildir v0.1.0 (/source) Dec 04 12:49:59.007 INFO [stderr] warning: unused import: `std::time::SystemTime` Dec 04 12:49:59.007 INFO [stderr] --> src/maildirqueue.rs:7:5 Dec 04 12:49:59.007 INFO [stderr] | Dec 04 12:49:59.007 INFO [stderr] 7 | use std::time::SystemTime; Dec 04 12:49:59.007 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.007 INFO [stderr] | Dec 04 12:49:59.007 INFO [stderr] = note: #[warn(unused_imports)] on by default Dec 04 12:49:59.007 INFO [stderr] Dec 04 12:49:59.007 INFO [stderr] warning: unused import: `std::os::raw::c_char` Dec 04 12:49:59.007 INFO [stderr] --> src/jsonsender.rs:10:5 Dec 04 12:49:59.007 INFO [stderr] | Dec 04 12:49:59.007 INFO [stderr] 10 | use std::os::raw::c_char; Dec 04 12:49:59.007 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.007 INFO [stderr] Dec 04 12:49:59.007 INFO [stderr] warning: unused import: `std::io::BufReader` Dec 04 12:49:59.007 INFO [stderr] --> src/jsonsender.rs:13:5 Dec 04 12:49:59.007 INFO [stderr] | Dec 04 12:49:59.007 INFO [stderr] 13 | use std::io::BufReader; Dec 04 12:49:59.007 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.007 INFO [stderr] Dec 04 12:49:59.007 INFO [stderr] warning: unused import: `std::io::prelude::*` Dec 04 12:49:59.007 INFO [stderr] --> src/jsonsender.rs:14:5 Dec 04 12:49:59.007 INFO [stderr] | Dec 04 12:49:59.007 INFO [stderr] 14 | use std::io::prelude::*; Dec 04 12:49:59.007 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.007 INFO [stderr] Dec 04 12:49:59.007 INFO [stderr] warning: unused import: `jsonsender::hyper::Body` Dec 04 12:49:59.007 INFO [stderr] --> src/jsonsender.rs:16:5 Dec 04 12:49:59.007 INFO [stderr] | Dec 04 12:49:59.007 INFO [stderr] 16 | use jsonsender::hyper::Body; Dec 04 12:49:59.007 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.007 INFO [stderr] Dec 04 12:49:59.007 INFO [stderr] warning: unused import: `jsonsender::hyper::Chunk` Dec 04 12:49:59.007 INFO [stderr] --> src/jsonsender.rs:17:5 Dec 04 12:49:59.007 INFO [stderr] | Dec 04 12:49:59.007 INFO [stderr] 17 | use jsonsender::hyper::Chunk; Dec 04 12:49:59.007 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.007 INFO [stderr] Dec 04 12:49:59.007 INFO [stderr] warning: unused import: `self` Dec 04 12:49:59.007 INFO [stderr] --> src/jsonsender.rs:21:15 Dec 04 12:49:59.007 INFO [stderr] | Dec 04 12:49:59.007 INFO [stderr] 21 | use std::io::{self, Write}; Dec 04 12:49:59.007 INFO [stderr] | ^^^^ Dec 04 12:49:59.007 INFO [stderr] Dec 04 12:49:59.007 INFO [stderr] warning: unused import: `self::hyper::client::Response` Dec 04 12:49:59.007 INFO [stderr] --> src/jsonsender.rs:25:5 Dec 04 12:49:59.007 INFO [stderr] | Dec 04 12:49:59.007 INFO [stderr] 25 | use self::hyper::client::Response; Dec 04 12:49:59.007 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.007 INFO [stderr] Dec 04 12:49:59.007 INFO [stderr] warning: unused import: `self::hyper::header::Headers` Dec 04 12:49:59.007 INFO [stderr] --> src/jsonsender.rs:26:5 Dec 04 12:49:59.007 INFO [stderr] | Dec 04 12:49:59.007 INFO [stderr] 26 | use self::hyper::header::Headers; Dec 04 12:49:59.007 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.007 INFO [stderr] Dec 04 12:49:59.007 INFO [stderr] warning: unused import: `self::url::Url` Dec 04 12:49:59.007 INFO [stderr] --> src/jsonsender.rs:27:5 Dec 04 12:49:59.007 INFO [stderr] | Dec 04 12:49:59.007 INFO [stderr] 27 | use self::url::Url; Dec 04 12:49:59.007 INFO [stderr] | ^^^^^^^^^^^^^^ Dec 04 12:49:59.007 INFO [stderr] Dec 04 12:49:59.007 INFO [stderr] warning: unused import: `self::hyper::Uri` Dec 04 12:49:59.007 INFO [stderr] --> src/jsonsender.rs:29:5 Dec 04 12:49:59.007 INFO [stderr] | Dec 04 12:49:59.007 INFO [stderr] 29 | use self::hyper::Uri; Dec 04 12:49:59.007 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 04 12:49:59.007 INFO [stderr] Dec 04 12:49:59.007 INFO [stderr] warning: unused import: `Error` Dec 04 12:49:59.007 INFO [stderr] --> src/jsonsender.rs:32:31 Dec 04 12:49:59.007 INFO [stderr] | Dec 04 12:49:59.007 INFO [stderr] 32 | use self::serde_json::{Value, Error}; Dec 04 12:49:59.007 INFO [stderr] | ^^^^^ Dec 04 12:49:59.007 INFO [stderr] Dec 04 12:49:59.123 INFO [stderr] warning: unreachable statement Dec 04 12:49:59.123 INFO [stderr] --> src/main.rs:72:9 Dec 04 12:49:59.123 INFO [stderr] | Dec 04 12:49:59.123 INFO [stderr] 72 | println!("Decided to give up... no more in the queue"); Dec 04 12:49:59.123 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.123 INFO [stderr] | Dec 04 12:49:59.123 INFO [stderr] = note: #[warn(unreachable_code)] on by default Dec 04 12:49:59.123 INFO [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Dec 04 12:49:59.123 INFO [stderr] Dec 04 12:49:59.307 INFO [stderr] warning: variable does not need to be mutable Dec 04 12:49:59.307 INFO [stderr] --> src/maildirqueue.rs:99:20 Dec 04 12:49:59.307 INFO [stderr] | Dec 04 12:49:59.307 INFO [stderr] 99 | if let Ok(mut entries) = fs::read_dir(new_path) { Dec 04 12:49:59.307 INFO [stderr] | ----^^^^^^^ Dec 04 12:49:59.307 INFO [stderr] | | Dec 04 12:49:59.307 INFO [stderr] | help: remove this `mut` Dec 04 12:49:59.307 INFO [stderr] | Dec 04 12:49:59.307 INFO [stderr] = note: #[warn(unused_mut)] on by default Dec 04 12:49:59.307 INFO [stderr] Dec 04 12:49:59.323 INFO [stderr] warning: static item is never used: `RES` Dec 04 12:49:59.323 INFO [stderr] --> src/maildirqueue.rs:17:1 Dec 04 12:49:59.323 INFO [stderr] | Dec 04 12:49:59.323 INFO [stderr] 17 | static RES: &'static str = "res"; // using the queue for a request/response area, give the user a place to move responses. Dec 04 12:49:59.323 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.323 INFO [stderr] | Dec 04 12:49:59.323 INFO [stderr] = note: #[warn(dead_code)] on by default Dec 04 12:49:59.323 INFO [stderr] Dec 04 12:49:59.323 INFO [stderr] warning: method is never used: `push` Dec 04 12:49:59.323 INFO [stderr] --> src/maildirqueue.rs:84:5 Dec 04 12:49:59.323 INFO [stderr] | Dec 04 12:49:59.323 INFO [stderr] 84 | pub fn push(&self, request_body:&str) -> bool { Dec 04 12:49:59.323 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.323 INFO [stderr] Dec 04 12:49:59.323 INFO [stderr] warning: method is never used: `res` Dec 04 12:49:59.323 INFO [stderr] --> src/maildirqueue.rs:93:5 Dec 04 12:49:59.323 INFO [stderr] | Dec 04 12:49:59.323 INFO [stderr] 93 | pub fn res(&self, request_body:&str) -> bool { Dec 04 12:49:59.323 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.323 INFO [stderr] Dec 04 12:49:59.324 INFO [stderr] warning: method `moveFile` should have a snake case name such as `move_file` Dec 04 12:49:59.324 INFO [stderr] --> src/maildirqueue.rs:70:5 Dec 04 12:49:59.324 INFO [stderr] | Dec 04 12:49:59.324 INFO [stderr] 70 | / fn moveFile(&self, request_body:&str, from:&str, to:&str, suffix:Option<&str>) -> bool { Dec 04 12:49:59.324 INFO [stderr] 71 | | let filename = format!("{}", Uuid::new_v4()) + if let Some(suf) = suffix { suf } else { "" }; Dec 04 12:49:59.324 INFO [stderr] 72 | | let tmp_path = self.base_dir.clone().as_str().to_owned() + "/" + from + "/" + filename.as_str(); Dec 04 12:49:59.324 INFO [stderr] 73 | | let new_path = self.base_dir.clone().as_str().to_owned() + "/" + to + "/" + filename.as_str(); Dec 04 12:49:59.324 INFO [stderr] ... | Dec 04 12:49:59.324 INFO [stderr] 82 | | true Dec 04 12:49:59.324 INFO [stderr] 83 | | } Dec 04 12:49:59.324 INFO [stderr] | |_____^ Dec 04 12:49:59.324 INFO [stderr] | Dec 04 12:49:59.324 INFO [stderr] = note: #[warn(non_snake_case)] on by default Dec 04 12:49:59.324 INFO [stderr] Dec 04 12:49:59.324 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.324 INFO [stderr] --> src/maildirqueue.rs:75:13 Dec 04 12:49:59.324 INFO [stderr] | Dec 04 12:49:59.324 INFO [stderr] 75 | f.write_all(request_body.as_bytes()); Dec 04 12:49:59.324 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.324 INFO [stderr] | Dec 04 12:49:59.324 INFO [stderr] = note: #[warn(unused_must_use)] on by default Dec 04 12:49:59.324 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.324 INFO [stderr] Dec 04 12:49:59.324 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.324 INFO [stderr] --> src/maildirqueue.rs:77:13 Dec 04 12:49:59.324 INFO [stderr] | Dec 04 12:49:59.324 INFO [stderr] 77 | f.sync_data(); Dec 04 12:49:59.324 INFO [stderr] | ^^^^^^^^^^^^^^ Dec 04 12:49:59.325 INFO [stderr] | Dec 04 12:49:59.325 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.325 INFO [stderr] Dec 04 12:49:59.325 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.325 INFO [stderr] --> src/maildirqueue.rs:80:9 Dec 04 12:49:59.325 INFO [stderr] | Dec 04 12:49:59.325 INFO [stderr] 80 | fs::rename(Path::new(&tmp_path), Path::new(&new_path)); // Rename from tmp to new Dec 04 12:49:59.325 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.325 INFO [stderr] | Dec 04 12:49:59.325 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.325 INFO [stderr] Dec 04 12:49:59.325 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.325 INFO [stderr] --> src/maildirqueue.rs:121:20 Dec 04 12:49:59.325 INFO [stderr] | Dec 04 12:49:59.325 INFO [stderr] 121 | fs::rename(entry.path(), Path::new(&cur_path)); // Rename from new to cur directory Dec 04 12:49:59.325 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.325 INFO [stderr] | Dec 04 12:49:59.325 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.325 INFO [stderr] Dec 04 12:49:59.325 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.325 INFO [stderr] --> src/maildirqueue.rs:126:25 Dec 04 12:49:59.325 INFO [stderr] | Dec 04 12:49:59.325 INFO [stderr] 126 | buf_reader.read_to_string(&mut contents); Dec 04 12:49:59.325 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.325 INFO [stderr] | Dec 04 12:49:59.325 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.325 INFO [stderr] Dec 04 12:49:59.325 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.325 INFO [stderr] --> src/maildirqueue.rs:128:29 Dec 04 12:49:59.325 INFO [stderr] | Dec 04 12:49:59.325 INFO [stderr] 128 | fs::remove_file(&cur_path); Dec 04 12:49:59.325 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.325 INFO [stderr] | Dec 04 12:49:59.325 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.325 INFO [stderr] Dec 04 12:49:59.325 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.325 INFO [stderr] --> src/maildirqueue.rs:132:29 Dec 04 12:49:59.325 INFO [stderr] | Dec 04 12:49:59.325 INFO [stderr] 132 | fs::remove_file(&cur_path); Dec 04 12:49:59.325 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.325 INFO [stderr] | Dec 04 12:49:59.325 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.325 INFO [stderr] Dec 04 12:49:59.325 INFO [stderr] warning: method `sendJson` should have a snake case name such as `send_json` Dec 04 12:49:59.325 INFO [stderr] --> src/jsonsender.rs:45:5 Dec 04 12:49:59.325 INFO [stderr] | Dec 04 12:49:59.325 INFO [stderr] 45 | / pub fn sendJson(&self, jsonString:&str, res_path:&str) -> Result { Dec 04 12:49:59.325 INFO [stderr] 46 | | Dec 04 12:49:59.325 INFO [stderr] 47 | | let mut core = Core::new().unwrap(); Dec 04 12:49:59.325 INFO [stderr] 48 | | let handle = core.handle(); Dec 04 12:49:59.325 INFO [stderr] ... | Dec 04 12:49:59.325 INFO [stderr] 101 | | return Err("Problem sending request"); Dec 04 12:49:59.325 INFO [stderr] 102 | | } Dec 04 12:49:59.326 INFO [stderr] | |_____^ Dec 04 12:49:59.326 INFO [stderr] Dec 04 12:49:59.326 INFO [stderr] warning: variable `jsonString` should have a snake case name such as `json_string` Dec 04 12:49:59.326 INFO [stderr] --> src/jsonsender.rs:45:28 Dec 04 12:49:59.326 INFO [stderr] | Dec 04 12:49:59.326 INFO [stderr] 45 | pub fn sendJson(&self, jsonString:&str, res_path:&str) -> Result { Dec 04 12:49:59.326 INFO [stderr] | ^^^^^^^^^^ Dec 04 12:49:59.326 INFO [stderr] Dec 04 12:49:59.326 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.326 INFO [stderr] --> src/jsonsender.rs:82:33 Dec 04 12:49:59.326 INFO [stderr] | Dec 04 12:49:59.326 INFO [stderr] 82 | f.write_all(&bodyiter); Dec 04 12:49:59.326 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.326 INFO [stderr] | Dec 04 12:49:59.326 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.326 INFO [stderr] Dec 04 12:49:59.326 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.326 INFO [stderr] --> src/jsonsender.rs:83:33 Dec 04 12:49:59.326 INFO [stderr] | Dec 04 12:49:59.326 INFO [stderr] 83 | f.sync_data(); Dec 04 12:49:59.326 INFO [stderr] | ^^^^^^^^^^^^^^ Dec 04 12:49:59.326 INFO [stderr] | Dec 04 12:49:59.326 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.326 INFO [stderr] Dec 04 12:49:59.326 INFO [stderr] warning: function `startServer` should have a snake case name such as `start_server` Dec 04 12:49:59.326 INFO [stderr] --> src/main.rs:51:1 Dec 04 12:49:59.326 INFO [stderr] | Dec 04 12:49:59.326 INFO [stderr] 51 | / fn startServer(baseDir:&str) { Dec 04 12:49:59.326 INFO [stderr] 52 | | let sender = Box::new(JsonSender::new()); Dec 04 12:49:59.326 INFO [stderr] 53 | | let mail_dir_que = Box::new(MaildirQueue::new(baseDir.to_string())); Dec 04 12:49:59.326 INFO [stderr] 54 | | if let Some(ref mail_dir_que) = mail_dir_que.init() { Dec 04 12:49:59.326 INFO [stderr] ... | Dec 04 12:49:59.326 INFO [stderr] 73 | | } Dec 04 12:49:59.326 INFO [stderr] 74 | | } Dec 04 12:49:59.326 INFO [stderr] | |_^ Dec 04 12:49:59.331 INFO [stderr] Dec 04 12:49:59.331 INFO [stderr] warning: variable `baseDir` should have a snake case name such as `base_dir` Dec 04 12:49:59.331 INFO [stderr] --> src/main.rs:51:16 Dec 04 12:49:59.331 INFO [stderr] | Dec 04 12:49:59.331 INFO [stderr] 51 | fn startServer(baseDir:&str) { Dec 04 12:49:59.331 INFO [stderr] | ^^^^^^^ Dec 04 12:49:59.331 INFO [stderr] Dec 04 12:49:59.483 INFO [stderr] warning: unused import: `std::time::SystemTime` Dec 04 12:49:59.483 INFO [stderr] --> src/maildirqueue.rs:7:5 Dec 04 12:49:59.483 INFO [stderr] | Dec 04 12:49:59.483 INFO [stderr] 7 | use std::time::SystemTime; Dec 04 12:49:59.483 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.483 INFO [stderr] | Dec 04 12:49:59.483 INFO [stderr] = note: #[warn(unused_imports)] on by default Dec 04 12:49:59.483 INFO [stderr] Dec 04 12:49:59.483 INFO [stderr] warning: unused import: `std::os::raw::c_char` Dec 04 12:49:59.483 INFO [stderr] --> src/jsonsender.rs:10:5 Dec 04 12:49:59.483 INFO [stderr] | Dec 04 12:49:59.483 INFO [stderr] 10 | use std::os::raw::c_char; Dec 04 12:49:59.483 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.483 INFO [stderr] Dec 04 12:49:59.483 INFO [stderr] warning: unused import: `std::io::BufReader` Dec 04 12:49:59.483 INFO [stderr] --> src/jsonsender.rs:13:5 Dec 04 12:49:59.483 INFO [stderr] | Dec 04 12:49:59.483 INFO [stderr] 13 | use std::io::BufReader; Dec 04 12:49:59.483 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.483 INFO [stderr] Dec 04 12:49:59.483 INFO [stderr] warning: unused import: `std::io::prelude::*` Dec 04 12:49:59.483 INFO [stderr] --> src/jsonsender.rs:14:5 Dec 04 12:49:59.483 INFO [stderr] | Dec 04 12:49:59.483 INFO [stderr] 14 | use std::io::prelude::*; Dec 04 12:49:59.483 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.483 INFO [stderr] Dec 04 12:49:59.483 INFO [stderr] warning: unused import: `jsonsender::hyper::Body` Dec 04 12:49:59.483 INFO [stderr] --> src/jsonsender.rs:16:5 Dec 04 12:49:59.483 INFO [stderr] | Dec 04 12:49:59.483 INFO [stderr] 16 | use jsonsender::hyper::Body; Dec 04 12:49:59.483 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.483 INFO [stderr] Dec 04 12:49:59.483 INFO [stderr] warning: unused import: `jsonsender::hyper::Chunk` Dec 04 12:49:59.483 INFO [stderr] --> src/jsonsender.rs:17:5 Dec 04 12:49:59.483 INFO [stderr] | Dec 04 12:49:59.483 INFO [stderr] 17 | use jsonsender::hyper::Chunk; Dec 04 12:49:59.483 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.483 INFO [stderr] Dec 04 12:49:59.483 INFO [stderr] warning: unused import: `self` Dec 04 12:49:59.483 INFO [stderr] --> src/jsonsender.rs:21:15 Dec 04 12:49:59.483 INFO [stderr] | Dec 04 12:49:59.483 INFO [stderr] 21 | use std::io::{self, Write}; Dec 04 12:49:59.483 INFO [stderr] | ^^^^ Dec 04 12:49:59.483 INFO [stderr] Dec 04 12:49:59.483 INFO [stderr] warning: unused import: `self::hyper::client::Response` Dec 04 12:49:59.484 INFO [stderr] --> src/jsonsender.rs:25:5 Dec 04 12:49:59.484 INFO [stderr] | Dec 04 12:49:59.484 INFO [stderr] 25 | use self::hyper::client::Response; Dec 04 12:49:59.484 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.484 INFO [stderr] Dec 04 12:49:59.484 INFO [stderr] warning: unused import: `self::hyper::header::Headers` Dec 04 12:49:59.484 INFO [stderr] --> src/jsonsender.rs:26:5 Dec 04 12:49:59.484 INFO [stderr] | Dec 04 12:49:59.484 INFO [stderr] 26 | use self::hyper::header::Headers; Dec 04 12:49:59.484 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.484 INFO [stderr] Dec 04 12:49:59.484 INFO [stderr] warning: unused import: `self::url::Url` Dec 04 12:49:59.484 INFO [stderr] --> src/jsonsender.rs:27:5 Dec 04 12:49:59.484 INFO [stderr] | Dec 04 12:49:59.484 INFO [stderr] 27 | use self::url::Url; Dec 04 12:49:59.484 INFO [stderr] | ^^^^^^^^^^^^^^ Dec 04 12:49:59.484 INFO [stderr] Dec 04 12:49:59.484 INFO [stderr] warning: unused import: `self::hyper::Uri` Dec 04 12:49:59.484 INFO [stderr] --> src/jsonsender.rs:29:5 Dec 04 12:49:59.484 INFO [stderr] | Dec 04 12:49:59.484 INFO [stderr] 29 | use self::hyper::Uri; Dec 04 12:49:59.484 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 04 12:49:59.484 INFO [stderr] Dec 04 12:49:59.484 INFO [stderr] warning: unused import: `Error` Dec 04 12:49:59.484 INFO [stderr] --> src/jsonsender.rs:32:31 Dec 04 12:49:59.484 INFO [stderr] | Dec 04 12:49:59.484 INFO [stderr] 32 | use self::serde_json::{Value, Error}; Dec 04 12:49:59.484 INFO [stderr] | ^^^^^ Dec 04 12:49:59.484 INFO [stderr] Dec 04 12:49:59.563 INFO [stderr] warning: unreachable statement Dec 04 12:49:59.563 INFO [stderr] --> src/main.rs:72:9 Dec 04 12:49:59.563 INFO [stderr] | Dec 04 12:49:59.563 INFO [stderr] 72 | println!("Decided to give up... no more in the queue"); Dec 04 12:49:59.563 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.563 INFO [stderr] | Dec 04 12:49:59.563 INFO [stderr] = note: #[warn(unreachable_code)] on by default Dec 04 12:49:59.563 INFO [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Dec 04 12:49:59.563 INFO [stderr] Dec 04 12:49:59.673 INFO [stderr] warning: variable does not need to be mutable Dec 04 12:49:59.673 INFO [stderr] --> src/maildirqueue.rs:99:20 Dec 04 12:49:59.673 INFO [stderr] | Dec 04 12:49:59.673 INFO [stderr] 99 | if let Ok(mut entries) = fs::read_dir(new_path) { Dec 04 12:49:59.673 INFO [stderr] | ----^^^^^^^ Dec 04 12:49:59.673 INFO [stderr] | | Dec 04 12:49:59.673 INFO [stderr] | help: remove this `mut` Dec 04 12:49:59.673 INFO [stderr] | Dec 04 12:49:59.673 INFO [stderr] = note: #[warn(unused_mut)] on by default Dec 04 12:49:59.673 INFO [stderr] Dec 04 12:49:59.683 INFO [stderr] warning: static item is never used: `RES` Dec 04 12:49:59.683 INFO [stderr] --> src/maildirqueue.rs:17:1 Dec 04 12:49:59.683 INFO [stderr] | Dec 04 12:49:59.683 INFO [stderr] 17 | static RES: &'static str = "res"; // using the queue for a request/response area, give the user a place to move responses. Dec 04 12:49:59.683 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.683 INFO [stderr] | Dec 04 12:49:59.683 INFO [stderr] = note: #[warn(dead_code)] on by default Dec 04 12:49:59.683 INFO [stderr] Dec 04 12:49:59.683 INFO [stderr] warning: method is never used: `push` Dec 04 12:49:59.683 INFO [stderr] --> src/maildirqueue.rs:84:5 Dec 04 12:49:59.683 INFO [stderr] | Dec 04 12:49:59.683 INFO [stderr] 84 | pub fn push(&self, request_body:&str) -> bool { Dec 04 12:49:59.683 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.683 INFO [stderr] Dec 04 12:49:59.683 INFO [stderr] warning: method is never used: `res` Dec 04 12:49:59.683 INFO [stderr] --> src/maildirqueue.rs:93:5 Dec 04 12:49:59.683 INFO [stderr] | Dec 04 12:49:59.683 INFO [stderr] 93 | pub fn res(&self, request_body:&str) -> bool { Dec 04 12:49:59.683 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.683 INFO [stderr] Dec 04 12:49:59.684 INFO [stderr] warning: method `moveFile` should have a snake case name such as `move_file` Dec 04 12:49:59.684 INFO [stderr] --> src/maildirqueue.rs:70:5 Dec 04 12:49:59.684 INFO [stderr] | Dec 04 12:49:59.684 INFO [stderr] 70 | / fn moveFile(&self, request_body:&str, from:&str, to:&str, suffix:Option<&str>) -> bool { Dec 04 12:49:59.684 INFO [stderr] 71 | | let filename = format!("{}", Uuid::new_v4()) + if let Some(suf) = suffix { suf } else { "" }; Dec 04 12:49:59.684 INFO [stderr] 72 | | let tmp_path = self.base_dir.clone().as_str().to_owned() + "/" + from + "/" + filename.as_str(); Dec 04 12:49:59.684 INFO [stderr] 73 | | let new_path = self.base_dir.clone().as_str().to_owned() + "/" + to + "/" + filename.as_str(); Dec 04 12:49:59.684 INFO [stderr] ... | Dec 04 12:49:59.684 INFO [stderr] 82 | | true Dec 04 12:49:59.684 INFO [stderr] 83 | | } Dec 04 12:49:59.684 INFO [stderr] | |_____^ Dec 04 12:49:59.684 INFO [stderr] | Dec 04 12:49:59.684 INFO [stderr] = note: #[warn(non_snake_case)] on by default Dec 04 12:49:59.685 INFO [stderr] Dec 04 12:49:59.685 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.685 INFO [stderr] --> src/maildirqueue.rs:75:13 Dec 04 12:49:59.685 INFO [stderr] | Dec 04 12:49:59.685 INFO [stderr] 75 | f.write_all(request_body.as_bytes()); Dec 04 12:49:59.685 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.685 INFO [stderr] | Dec 04 12:49:59.685 INFO [stderr] = note: #[warn(unused_must_use)] on by default Dec 04 12:49:59.685 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.685 INFO [stderr] Dec 04 12:49:59.686 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.686 INFO [stderr] --> src/maildirqueue.rs:77:13 Dec 04 12:49:59.686 INFO [stderr] | Dec 04 12:49:59.686 INFO [stderr] 77 | f.sync_data(); Dec 04 12:49:59.686 INFO [stderr] | ^^^^^^^^^^^^^^ Dec 04 12:49:59.686 INFO [stderr] | Dec 04 12:49:59.686 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.686 INFO [stderr] Dec 04 12:49:59.686 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.686 INFO [stderr] --> src/maildirqueue.rs:80:9 Dec 04 12:49:59.686 INFO [stderr] | Dec 04 12:49:59.686 INFO [stderr] 80 | fs::rename(Path::new(&tmp_path), Path::new(&new_path)); // Rename from tmp to new Dec 04 12:49:59.686 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.686 INFO [stderr] | Dec 04 12:49:59.686 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.687 INFO [stderr] Dec 04 12:49:59.687 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.687 INFO [stderr] --> src/maildirqueue.rs:121:20 Dec 04 12:49:59.688 INFO [stderr] | Dec 04 12:49:59.688 INFO [stderr] 121 | fs::rename(entry.path(), Path::new(&cur_path)); // Rename from new to cur directory Dec 04 12:49:59.688 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.688 INFO [stderr] | Dec 04 12:49:59.688 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.688 INFO [stderr] Dec 04 12:49:59.688 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.688 INFO [stderr] --> src/maildirqueue.rs:126:25 Dec 04 12:49:59.688 INFO [stderr] | Dec 04 12:49:59.688 INFO [stderr] 126 | buf_reader.read_to_string(&mut contents); Dec 04 12:49:59.688 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.688 INFO [stderr] | Dec 04 12:49:59.688 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.688 INFO [stderr] Dec 04 12:49:59.688 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.688 INFO [stderr] --> src/maildirqueue.rs:128:29 Dec 04 12:49:59.688 INFO [stderr] | Dec 04 12:49:59.688 INFO [stderr] 128 | fs::remove_file(&cur_path); Dec 04 12:49:59.688 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.688 INFO [stderr] | Dec 04 12:49:59.688 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.688 INFO [stderr] Dec 04 12:49:59.688 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.688 INFO [stderr] --> src/maildirqueue.rs:132:29 Dec 04 12:49:59.688 INFO [stderr] | Dec 04 12:49:59.688 INFO [stderr] 132 | fs::remove_file(&cur_path); Dec 04 12:49:59.688 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.688 INFO [stderr] | Dec 04 12:49:59.688 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.688 INFO [stderr] Dec 04 12:49:59.690 INFO [stderr] warning: method `sendJson` should have a snake case name such as `send_json` Dec 04 12:49:59.691 INFO [stderr] --> src/jsonsender.rs:45:5 Dec 04 12:49:59.691 INFO [stderr] | Dec 04 12:49:59.691 INFO [stderr] 45 | / pub fn sendJson(&self, jsonString:&str, res_path:&str) -> Result { Dec 04 12:49:59.691 INFO [stderr] 46 | | Dec 04 12:49:59.691 INFO [stderr] 47 | | let mut core = Core::new().unwrap(); Dec 04 12:49:59.691 INFO [stderr] 48 | | let handle = core.handle(); Dec 04 12:49:59.691 INFO [stderr] ... | Dec 04 12:49:59.691 INFO [stderr] 101 | | return Err("Problem sending request"); Dec 04 12:49:59.691 INFO [stderr] 102 | | } Dec 04 12:49:59.691 INFO [stderr] | |_____^ Dec 04 12:49:59.691 INFO [stderr] Dec 04 12:49:59.691 INFO [stderr] warning: variable `jsonString` should have a snake case name such as `json_string` Dec 04 12:49:59.691 INFO [stderr] --> src/jsonsender.rs:45:28 Dec 04 12:49:59.691 INFO [stderr] | Dec 04 12:49:59.691 INFO [stderr] 45 | pub fn sendJson(&self, jsonString:&str, res_path:&str) -> Result { Dec 04 12:49:59.691 INFO [stderr] | ^^^^^^^^^^ Dec 04 12:49:59.691 INFO [stderr] Dec 04 12:49:59.691 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.691 INFO [stderr] --> src/jsonsender.rs:82:33 Dec 04 12:49:59.691 INFO [stderr] | Dec 04 12:49:59.691 INFO [stderr] 82 | f.write_all(&bodyiter); Dec 04 12:49:59.691 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ Dec 04 12:49:59.691 INFO [stderr] | Dec 04 12:49:59.691 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.691 INFO [stderr] Dec 04 12:49:59.691 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 04 12:49:59.691 INFO [stderr] --> src/jsonsender.rs:83:33 Dec 04 12:49:59.691 INFO [stderr] | Dec 04 12:49:59.691 INFO [stderr] 83 | f.sync_data(); Dec 04 12:49:59.691 INFO [stderr] | ^^^^^^^^^^^^^^ Dec 04 12:49:59.691 INFO [stderr] | Dec 04 12:49:59.691 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 04 12:49:59.691 INFO [stderr] Dec 04 12:49:59.694 INFO [stderr] warning: function `startServer` should have a snake case name such as `start_server` Dec 04 12:49:59.695 INFO [stderr] --> src/main.rs:51:1 Dec 04 12:49:59.695 INFO [stderr] | Dec 04 12:49:59.695 INFO [stderr] 51 | / fn startServer(baseDir:&str) { Dec 04 12:49:59.695 INFO [stderr] 52 | | let sender = Box::new(JsonSender::new()); Dec 04 12:49:59.695 INFO [stderr] 53 | | let mail_dir_que = Box::new(MaildirQueue::new(baseDir.to_string())); Dec 04 12:49:59.695 INFO [stderr] 54 | | if let Some(ref mail_dir_que) = mail_dir_que.init() { Dec 04 12:49:59.695 INFO [stderr] ... | Dec 04 12:49:59.695 INFO [stderr] 73 | | } Dec 04 12:49:59.695 INFO [stderr] 74 | | } Dec 04 12:49:59.695 INFO [stderr] | |_^ Dec 04 12:49:59.695 INFO [stderr] Dec 04 12:49:59.695 INFO [stderr] warning: variable `baseDir` should have a snake case name such as `base_dir` Dec 04 12:49:59.695 INFO [stderr] --> src/main.rs:51:16 Dec 04 12:49:59.695 INFO [stderr] | Dec 04 12:49:59.695 INFO [stderr] 51 | fn startServer(baseDir:&str) { Dec 04 12:49:59.695 INFO [stderr] | ^^^^^^^ Dec 04 12:49:59.695 INFO [stderr] Dec 04 12:49:59.739 INFO [stderr] Finished dev [unoptimized + debuginfo] target(s) in 25.98s Dec 04 12:49:59.760 INFO [stderr] su: No module specific data is present Dec 04 12:50:00.509 INFO running `"docker" "inspect" "16eee0e98dae2acd302ed2edd75e9d92bcb945b1af8aee81870d37f1214f56cf"` Dec 04 12:50:00.830 INFO running `"docker" "rm" "-f" "16eee0e98dae2acd302ed2edd75e9d92bcb945b1af8aee81870d37f1214f56cf"` Dec 04 12:50:01.123 INFO [stdout] 16eee0e98dae2acd302ed2edd75e9d92bcb945b1af8aee81870d37f1214f56cf