Dec 11 12:18:10.589 INFO checking optimizely/optimizelyd-maildir against master#3a75e80557a103497cffbcab395a2f37061a77ea for pr-56677 Dec 11 12:18:10.589 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56677/worker-2/master#3a75e80557a103497cffbcab395a2f37061a77ea:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-2/pr-56677/master#3a75e80557a103497cffbcab395a2f37061a77ea:/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 +3a75e80557a103497cffbcab395a2f37061a77ea-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 11 12:18:10.828 INFO [stdout] e98cdfeb0b5997f7375cdacdb97f92044f9991641af5f34aaf3a2942b5f4fbeb Dec 11 12:18:10.834 INFO running `"docker" "start" "-a" "e98cdfeb0b5997f7375cdacdb97f92044f9991641af5f34aaf3a2942b5f4fbeb"` Dec 11 12:18:11.496 INFO [stderr] usermod: no changes Dec 11 12:18:11.720 INFO [stderr] Checking cfg-if v0.1.1 Dec 11 12:18:11.720 INFO [stderr] Compiling openssl v0.9.14 Dec 11 12:18:11.721 INFO [stderr] Checking serde v1.0.9 Dec 11 12:18:11.723 INFO [stderr] Checking iovec v0.1.0 Dec 11 12:18:11.724 INFO [stderr] Checking num_cpus v1.6.2 Dec 11 12:18:11.724 INFO [stderr] Checking rand v0.3.15 Dec 11 12:18:11.724 INFO [stderr] Checking time v0.1.37 Dec 11 12:18:11.725 INFO [stderr] Compiling openssl-sys v0.9.14 Dec 11 12:18:11.856 INFO [stderr] Checking base64 v0.6.0 Dec 11 12:18:12.085 INFO [stderr] Checking net2 v0.2.29 Dec 11 12:18:13.185 INFO [stderr] Checking bytes v0.4.4 Dec 11 12:18:13.188 INFO [stderr] Checking idna v0.1.2 Dec 11 12:18:13.198 INFO [stderr] Checking futures-cpupool v0.1.5 Dec 11 12:18:13.203 INFO [stderr] Checking mio v0.6.9 Dec 11 12:18:14.025 INFO [stderr] Checking uuid v0.4.0 Dec 11 12:18:14.279 INFO [stderr] Checking tokio-io v0.1.2 Dec 11 12:18:16.226 INFO [stderr] Checking tokio-core v0.1.8 Dec 11 12:18:16.948 INFO [stderr] Checking url v1.5.1 Dec 11 12:18:19.324 INFO [stderr] Checking tokio-proto v0.1.1 Dec 11 12:18:22.566 INFO [stderr] Checking native-tls v0.1.4 Dec 11 12:18:23.628 INFO [stderr] Checking tokio-tls v0.1.3 Dec 11 12:18:24.476 INFO [stderr] Checking hyper v0.11.0 Dec 11 12:18:28.604 INFO [stderr] Checking serde_json v1.0.2 Dec 11 12:18:30.393 INFO [stderr] Checking hyper-tls v0.1.2 Dec 11 12:18:32.132 INFO [stderr] Checking optimizelyd-maildir v0.1.0 (/source) Dec 11 12:18:33.669 INFO [stderr] warning: unused import: `std::time::SystemTime` Dec 11 12:18:33.682 INFO [stderr] --> src/maildirqueue.rs:7:5 Dec 11 12:18:33.682 INFO [stderr] | Dec 11 12:18:33.682 INFO [stderr] 7 | use std::time::SystemTime; Dec 11 12:18:33.682 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.682 INFO [stderr] | Dec 11 12:18:33.682 INFO [stderr] = note: #[warn(unused_imports)] on by default Dec 11 12:18:33.682 INFO [stderr] Dec 11 12:18:33.682 INFO [stderr] warning: unused import: `std::os::raw::c_char` Dec 11 12:18:33.682 INFO [stderr] --> src/jsonsender.rs:10:5 Dec 11 12:18:33.682 INFO [stderr] | Dec 11 12:18:33.682 INFO [stderr] 10 | use std::os::raw::c_char; Dec 11 12:18:33.682 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.682 INFO [stderr] Dec 11 12:18:33.682 INFO [stderr] warning: unused import: `std::io::BufReader` Dec 11 12:18:33.682 INFO [stderr] --> src/jsonsender.rs:13:5 Dec 11 12:18:33.682 INFO [stderr] | Dec 11 12:18:33.682 INFO [stderr] 13 | use std::io::BufReader; Dec 11 12:18:33.682 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.682 INFO [stderr] Dec 11 12:18:33.682 INFO [stderr] warning: unused import: `std::io::prelude::*` Dec 11 12:18:33.682 INFO [stderr] --> src/jsonsender.rs:14:5 Dec 11 12:18:33.682 INFO [stderr] | Dec 11 12:18:33.682 INFO [stderr] 14 | use std::io::prelude::*; Dec 11 12:18:33.682 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.682 INFO [stderr] Dec 11 12:18:33.682 INFO [stderr] warning: unused import: `jsonsender::hyper::Body` Dec 11 12:18:33.682 INFO [stderr] --> src/jsonsender.rs:16:5 Dec 11 12:18:33.682 INFO [stderr] | Dec 11 12:18:33.682 INFO [stderr] 16 | use jsonsender::hyper::Body; Dec 11 12:18:33.682 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.682 INFO [stderr] Dec 11 12:18:33.682 INFO [stderr] warning: unused import: `jsonsender::hyper::Chunk` Dec 11 12:18:33.682 INFO [stderr] --> src/jsonsender.rs:17:5 Dec 11 12:18:33.682 INFO [stderr] | Dec 11 12:18:33.682 INFO [stderr] 17 | use jsonsender::hyper::Chunk; Dec 11 12:18:33.682 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.682 INFO [stderr] Dec 11 12:18:33.682 INFO [stderr] warning: unused import: `self` Dec 11 12:18:33.682 INFO [stderr] --> src/jsonsender.rs:21:15 Dec 11 12:18:33.682 INFO [stderr] | Dec 11 12:18:33.682 INFO [stderr] 21 | use std::io::{self, Write}; Dec 11 12:18:33.682 INFO [stderr] | ^^^^ Dec 11 12:18:33.682 INFO [stderr] Dec 11 12:18:33.682 INFO [stderr] warning: unused import: `self::hyper::client::Response` Dec 11 12:18:33.682 INFO [stderr] --> src/jsonsender.rs:25:5 Dec 11 12:18:33.682 INFO [stderr] | Dec 11 12:18:33.682 INFO [stderr] 25 | use self::hyper::client::Response; Dec 11 12:18:33.682 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.682 INFO [stderr] Dec 11 12:18:33.682 INFO [stderr] warning: unused import: `self::hyper::header::Headers` Dec 11 12:18:33.682 INFO [stderr] --> src/jsonsender.rs:26:5 Dec 11 12:18:33.682 INFO [stderr] | Dec 11 12:18:33.682 INFO [stderr] 26 | use self::hyper::header::Headers; Dec 11 12:18:33.682 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.682 INFO [stderr] Dec 11 12:18:33.682 INFO [stderr] warning: unused import: `self::url::Url` Dec 11 12:18:33.682 INFO [stderr] --> src/jsonsender.rs:27:5 Dec 11 12:18:33.682 INFO [stderr] | Dec 11 12:18:33.682 INFO [stderr] 27 | use self::url::Url; Dec 11 12:18:33.682 INFO [stderr] | ^^^^^^^^^^^^^^ Dec 11 12:18:33.682 INFO [stderr] Dec 11 12:18:33.682 INFO [stderr] warning: unused import: `self::hyper::Uri` Dec 11 12:18:33.682 INFO [stderr] --> src/jsonsender.rs:29:5 Dec 11 12:18:33.682 INFO [stderr] | Dec 11 12:18:33.682 INFO [stderr] 29 | use self::hyper::Uri; Dec 11 12:18:33.682 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 11 12:18:33.682 INFO [stderr] Dec 11 12:18:33.682 INFO [stderr] warning: unused import: `Error` Dec 11 12:18:33.682 INFO [stderr] --> src/jsonsender.rs:32:31 Dec 11 12:18:33.682 INFO [stderr] | Dec 11 12:18:33.682 INFO [stderr] 32 | use self::serde_json::{Value, Error}; Dec 11 12:18:33.682 INFO [stderr] | ^^^^^ Dec 11 12:18:33.682 INFO [stderr] Dec 11 12:18:33.764 INFO [stderr] warning: unreachable statement Dec 11 12:18:33.764 INFO [stderr] --> src/main.rs:72:9 Dec 11 12:18:33.764 INFO [stderr] | Dec 11 12:18:33.764 INFO [stderr] 72 | println!("Decided to give up... no more in the queue"); Dec 11 12:18:33.764 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.764 INFO [stderr] | Dec 11 12:18:33.764 INFO [stderr] = note: #[warn(unreachable_code)] on by default Dec 11 12:18:33.764 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 11 12:18:33.764 INFO [stderr] Dec 11 12:18:33.908 INFO [stderr] warning: variable does not need to be mutable Dec 11 12:18:33.908 INFO [stderr] --> src/maildirqueue.rs:99:20 Dec 11 12:18:33.908 INFO [stderr] | Dec 11 12:18:33.908 INFO [stderr] 99 | if let Ok(mut entries) = fs::read_dir(new_path) { Dec 11 12:18:33.908 INFO [stderr] | ----^^^^^^^ Dec 11 12:18:33.908 INFO [stderr] | | Dec 11 12:18:33.908 INFO [stderr] | help: remove this `mut` Dec 11 12:18:33.908 INFO [stderr] | Dec 11 12:18:33.908 INFO [stderr] = note: #[warn(unused_mut)] on by default Dec 11 12:18:33.908 INFO [stderr] Dec 11 12:18:33.912 INFO [stderr] warning: static item is never used: `RES` Dec 11 12:18:33.912 INFO [stderr] --> src/maildirqueue.rs:17:1 Dec 11 12:18:33.912 INFO [stderr] | Dec 11 12:18:33.912 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 11 12:18:33.912 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.912 INFO [stderr] | Dec 11 12:18:33.912 INFO [stderr] = note: #[warn(dead_code)] on by default Dec 11 12:18:33.912 INFO [stderr] Dec 11 12:18:33.912 INFO [stderr] warning: method is never used: `push` Dec 11 12:18:33.912 INFO [stderr] --> src/maildirqueue.rs:84:5 Dec 11 12:18:33.912 INFO [stderr] | Dec 11 12:18:33.912 INFO [stderr] 84 | pub fn push(&self, request_body:&str) -> bool { Dec 11 12:18:33.912 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.912 INFO [stderr] Dec 11 12:18:33.912 INFO [stderr] warning: method is never used: `res` Dec 11 12:18:33.912 INFO [stderr] --> src/maildirqueue.rs:93:5 Dec 11 12:18:33.912 INFO [stderr] | Dec 11 12:18:33.912 INFO [stderr] 93 | pub fn res(&self, request_body:&str) -> bool { Dec 11 12:18:33.912 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.912 INFO [stderr] Dec 11 12:18:33.912 INFO [stderr] warning: method `moveFile` should have a snake case name such as `move_file` Dec 11 12:18:33.912 INFO [stderr] --> src/maildirqueue.rs:70:5 Dec 11 12:18:33.912 INFO [stderr] | Dec 11 12:18:33.912 INFO [stderr] 70 | / fn moveFile(&self, request_body:&str, from:&str, to:&str, suffix:Option<&str>) -> bool { Dec 11 12:18:33.912 INFO [stderr] 71 | | let filename = format!("{}", Uuid::new_v4()) + if let Some(suf) = suffix { suf } else { "" }; Dec 11 12:18:33.912 INFO [stderr] 72 | | let tmp_path = self.base_dir.clone().as_str().to_owned() + "/" + from + "/" + filename.as_str(); Dec 11 12:18:33.913 INFO [stderr] 73 | | let new_path = self.base_dir.clone().as_str().to_owned() + "/" + to + "/" + filename.as_str(); Dec 11 12:18:33.913 INFO [stderr] ... | Dec 11 12:18:33.913 INFO [stderr] 82 | | true Dec 11 12:18:33.913 INFO [stderr] 83 | | } Dec 11 12:18:33.913 INFO [stderr] | |_____^ Dec 11 12:18:33.913 INFO [stderr] | Dec 11 12:18:33.913 INFO [stderr] = note: #[warn(non_snake_case)] on by default Dec 11 12:18:33.913 INFO [stderr] Dec 11 12:18:33.913 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:33.913 INFO [stderr] --> src/maildirqueue.rs:75:13 Dec 11 12:18:33.913 INFO [stderr] | Dec 11 12:18:33.913 INFO [stderr] 75 | f.write_all(request_body.as_bytes()); Dec 11 12:18:33.913 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.913 INFO [stderr] | Dec 11 12:18:33.913 INFO [stderr] = note: #[warn(unused_must_use)] on by default Dec 11 12:18:33.913 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:33.913 INFO [stderr] Dec 11 12:18:33.920 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:33.920 INFO [stderr] --> src/maildirqueue.rs:77:13 Dec 11 12:18:33.920 INFO [stderr] | Dec 11 12:18:33.920 INFO [stderr] 77 | f.sync_data(); Dec 11 12:18:33.920 INFO [stderr] | ^^^^^^^^^^^^^^ Dec 11 12:18:33.920 INFO [stderr] | Dec 11 12:18:33.920 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:33.920 INFO [stderr] Dec 11 12:18:33.920 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:33.921 INFO [stderr] --> src/maildirqueue.rs:80:9 Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] 80 | fs::rename(Path::new(&tmp_path), Path::new(&new_path)); // Rename from tmp to new Dec 11 12:18:33.921 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:33.921 INFO [stderr] Dec 11 12:18:33.921 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:33.921 INFO [stderr] --> src/maildirqueue.rs:121:20 Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] 121 | fs::rename(entry.path(), Path::new(&cur_path)); // Rename from new to cur directory Dec 11 12:18:33.921 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:33.921 INFO [stderr] Dec 11 12:18:33.921 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:33.921 INFO [stderr] --> src/maildirqueue.rs:126:25 Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] 126 | buf_reader.read_to_string(&mut contents); Dec 11 12:18:33.921 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:33.921 INFO [stderr] Dec 11 12:18:33.921 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:33.921 INFO [stderr] --> src/maildirqueue.rs:128:29 Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] 128 | fs::remove_file(&cur_path); Dec 11 12:18:33.921 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:33.921 INFO [stderr] Dec 11 12:18:33.921 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:33.921 INFO [stderr] --> src/maildirqueue.rs:132:29 Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] 132 | fs::remove_file(&cur_path); Dec 11 12:18:33.921 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:33.921 INFO [stderr] Dec 11 12:18:33.921 INFO [stderr] warning: method `sendJson` should have a snake case name such as `send_json` Dec 11 12:18:33.921 INFO [stderr] --> src/jsonsender.rs:45:5 Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] 45 | / pub fn sendJson(&self, jsonString:&str, res_path:&str) -> Result { Dec 11 12:18:33.921 INFO [stderr] 46 | | Dec 11 12:18:33.921 INFO [stderr] 47 | | let mut core = Core::new().unwrap(); Dec 11 12:18:33.921 INFO [stderr] 48 | | let handle = core.handle(); Dec 11 12:18:33.921 INFO [stderr] ... | Dec 11 12:18:33.921 INFO [stderr] 101 | | return Err("Problem sending request"); Dec 11 12:18:33.921 INFO [stderr] 102 | | } Dec 11 12:18:33.921 INFO [stderr] | |_____^ Dec 11 12:18:33.921 INFO [stderr] Dec 11 12:18:33.921 INFO [stderr] warning: variable `jsonString` should have a snake case name such as `json_string` Dec 11 12:18:33.921 INFO [stderr] --> src/jsonsender.rs:45:28 Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] 45 | pub fn sendJson(&self, jsonString:&str, res_path:&str) -> Result { Dec 11 12:18:33.921 INFO [stderr] | ^^^^^^^^^^ Dec 11 12:18:33.921 INFO [stderr] Dec 11 12:18:33.921 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:33.921 INFO [stderr] --> src/jsonsender.rs:82:33 Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] 82 | f.write_all(&bodyiter); Dec 11 12:18:33.921 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:33.921 INFO [stderr] Dec 11 12:18:33.921 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:33.921 INFO [stderr] --> src/jsonsender.rs:83:33 Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] 83 | f.sync_data(); Dec 11 12:18:33.921 INFO [stderr] | ^^^^^^^^^^^^^^ Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:33.921 INFO [stderr] Dec 11 12:18:33.921 INFO [stderr] warning: function `startServer` should have a snake case name such as `start_server` Dec 11 12:18:33.921 INFO [stderr] --> src/main.rs:51:1 Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] 51 | / fn startServer(baseDir:&str) { Dec 11 12:18:33.921 INFO [stderr] 52 | | let sender = Box::new(JsonSender::new()); Dec 11 12:18:33.921 INFO [stderr] 53 | | let mail_dir_que = Box::new(MaildirQueue::new(baseDir.to_string())); Dec 11 12:18:33.921 INFO [stderr] 54 | | if let Some(ref mail_dir_que) = mail_dir_que.init() { Dec 11 12:18:33.921 INFO [stderr] ... | Dec 11 12:18:33.921 INFO [stderr] 73 | | } Dec 11 12:18:33.921 INFO [stderr] 74 | | } Dec 11 12:18:33.921 INFO [stderr] | |_^ Dec 11 12:18:33.921 INFO [stderr] Dec 11 12:18:33.921 INFO [stderr] warning: variable `baseDir` should have a snake case name such as `base_dir` Dec 11 12:18:33.921 INFO [stderr] --> src/main.rs:51:16 Dec 11 12:18:33.921 INFO [stderr] | Dec 11 12:18:33.921 INFO [stderr] 51 | fn startServer(baseDir:&str) { Dec 11 12:18:33.921 INFO [stderr] | ^^^^^^^ Dec 11 12:18:33.921 INFO [stderr] Dec 11 12:18:34.282 INFO [stderr] warning: unused import: `std::time::SystemTime` Dec 11 12:18:34.282 INFO [stderr] --> src/maildirqueue.rs:7:5 Dec 11 12:18:34.283 INFO [stderr] | Dec 11 12:18:34.283 INFO [stderr] 7 | use std::time::SystemTime; Dec 11 12:18:34.283 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.283 INFO [stderr] | Dec 11 12:18:34.283 INFO [stderr] = note: #[warn(unused_imports)] on by default Dec 11 12:18:34.283 INFO [stderr] Dec 11 12:18:34.283 INFO [stderr] warning: unused import: `std::os::raw::c_char` Dec 11 12:18:34.283 INFO [stderr] --> src/jsonsender.rs:10:5 Dec 11 12:18:34.283 INFO [stderr] | Dec 11 12:18:34.283 INFO [stderr] 10 | use std::os::raw::c_char; Dec 11 12:18:34.283 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.283 INFO [stderr] Dec 11 12:18:34.283 INFO [stderr] warning: unused import: `std::io::BufReader` Dec 11 12:18:34.283 INFO [stderr] --> src/jsonsender.rs:13:5 Dec 11 12:18:34.283 INFO [stderr] | Dec 11 12:18:34.283 INFO [stderr] 13 | use std::io::BufReader; Dec 11 12:18:34.283 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.283 INFO [stderr] Dec 11 12:18:34.283 INFO [stderr] warning: unused import: `std::io::prelude::*` Dec 11 12:18:34.283 INFO [stderr] --> src/jsonsender.rs:14:5 Dec 11 12:18:34.283 INFO [stderr] | Dec 11 12:18:34.283 INFO [stderr] 14 | use std::io::prelude::*; Dec 11 12:18:34.283 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.283 INFO [stderr] Dec 11 12:18:34.283 INFO [stderr] warning: unused import: `jsonsender::hyper::Body` Dec 11 12:18:34.283 INFO [stderr] --> src/jsonsender.rs:16:5 Dec 11 12:18:34.283 INFO [stderr] | Dec 11 12:18:34.283 INFO [stderr] 16 | use jsonsender::hyper::Body; Dec 11 12:18:34.283 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.283 INFO [stderr] Dec 11 12:18:34.283 INFO [stderr] warning: unused import: `jsonsender::hyper::Chunk` Dec 11 12:18:34.283 INFO [stderr] --> src/jsonsender.rs:17:5 Dec 11 12:18:34.283 INFO [stderr] | Dec 11 12:18:34.283 INFO [stderr] 17 | use jsonsender::hyper::Chunk; Dec 11 12:18:34.283 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.283 INFO [stderr] Dec 11 12:18:34.283 INFO [stderr] warning: unused import: `self` Dec 11 12:18:34.284 INFO [stderr] --> src/jsonsender.rs:21:15 Dec 11 12:18:34.284 INFO [stderr] | Dec 11 12:18:34.284 INFO [stderr] 21 | use std::io::{self, Write}; Dec 11 12:18:34.284 INFO [stderr] | ^^^^ Dec 11 12:18:34.284 INFO [stderr] Dec 11 12:18:34.284 INFO [stderr] warning: unused import: `self::hyper::client::Response` Dec 11 12:18:34.284 INFO [stderr] --> src/jsonsender.rs:25:5 Dec 11 12:18:34.284 INFO [stderr] | Dec 11 12:18:34.284 INFO [stderr] 25 | use self::hyper::client::Response; Dec 11 12:18:34.284 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.284 INFO [stderr] Dec 11 12:18:34.284 INFO [stderr] warning: unused import: `self::hyper::header::Headers` Dec 11 12:18:34.284 INFO [stderr] --> src/jsonsender.rs:26:5 Dec 11 12:18:34.284 INFO [stderr] | Dec 11 12:18:34.284 INFO [stderr] 26 | use self::hyper::header::Headers; Dec 11 12:18:34.284 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.285 INFO [stderr] Dec 11 12:18:34.285 INFO [stderr] warning: unused import: `self::url::Url` Dec 11 12:18:34.285 INFO [stderr] --> src/jsonsender.rs:27:5 Dec 11 12:18:34.285 INFO [stderr] | Dec 11 12:18:34.285 INFO [stderr] 27 | use self::url::Url; Dec 11 12:18:34.285 INFO [stderr] | ^^^^^^^^^^^^^^ Dec 11 12:18:34.285 INFO [stderr] Dec 11 12:18:34.285 INFO [stderr] warning: unused import: `self::hyper::Uri` Dec 11 12:18:34.286 INFO [stderr] --> src/jsonsender.rs:29:5 Dec 11 12:18:34.286 INFO [stderr] | Dec 11 12:18:34.286 INFO [stderr] 29 | use self::hyper::Uri; Dec 11 12:18:34.286 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 11 12:18:34.286 INFO [stderr] Dec 11 12:18:34.286 INFO [stderr] warning: unused import: `Error` Dec 11 12:18:34.286 INFO [stderr] --> src/jsonsender.rs:32:31 Dec 11 12:18:34.286 INFO [stderr] | Dec 11 12:18:34.286 INFO [stderr] 32 | use self::serde_json::{Value, Error}; Dec 11 12:18:34.287 INFO [stderr] | ^^^^^ Dec 11 12:18:34.287 INFO [stderr] Dec 11 12:18:34.369 INFO [stderr] warning: unreachable statement Dec 11 12:18:34.369 INFO [stderr] --> src/main.rs:72:9 Dec 11 12:18:34.369 INFO [stderr] | Dec 11 12:18:34.369 INFO [stderr] 72 | println!("Decided to give up... no more in the queue"); Dec 11 12:18:34.369 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.369 INFO [stderr] | Dec 11 12:18:34.369 INFO [stderr] = note: #[warn(unreachable_code)] on by default Dec 11 12:18:34.370 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 11 12:18:34.370 INFO [stderr] Dec 11 12:18:34.481 INFO [stderr] warning: variable does not need to be mutable Dec 11 12:18:34.481 INFO [stderr] --> src/maildirqueue.rs:99:20 Dec 11 12:18:34.481 INFO [stderr] | Dec 11 12:18:34.481 INFO [stderr] 99 | if let Ok(mut entries) = fs::read_dir(new_path) { Dec 11 12:18:34.481 INFO [stderr] | ----^^^^^^^ Dec 11 12:18:34.481 INFO [stderr] | | Dec 11 12:18:34.481 INFO [stderr] | help: remove this `mut` Dec 11 12:18:34.481 INFO [stderr] | Dec 11 12:18:34.481 INFO [stderr] = note: #[warn(unused_mut)] on by default Dec 11 12:18:34.481 INFO [stderr] Dec 11 12:18:34.490 INFO [stderr] warning: static item is never used: `RES` Dec 11 12:18:34.490 INFO [stderr] --> src/maildirqueue.rs:17:1 Dec 11 12:18:34.490 INFO [stderr] | Dec 11 12:18:34.490 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 11 12:18:34.490 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.490 INFO [stderr] | Dec 11 12:18:34.490 INFO [stderr] = note: #[warn(dead_code)] on by default Dec 11 12:18:34.490 INFO [stderr] Dec 11 12:18:34.491 INFO [stderr] warning: method is never used: `push` Dec 11 12:18:34.491 INFO [stderr] --> src/maildirqueue.rs:84:5 Dec 11 12:18:34.491 INFO [stderr] | Dec 11 12:18:34.491 INFO [stderr] 84 | pub fn push(&self, request_body:&str) -> bool { Dec 11 12:18:34.492 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.492 INFO [stderr] Dec 11 12:18:34.492 INFO [stderr] warning: method is never used: `res` Dec 11 12:18:34.492 INFO [stderr] --> src/maildirqueue.rs:93:5 Dec 11 12:18:34.493 INFO [stderr] | Dec 11 12:18:34.493 INFO [stderr] 93 | pub fn res(&self, request_body:&str) -> bool { Dec 11 12:18:34.493 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.493 INFO [stderr] Dec 11 12:18:34.495 INFO [stderr] warning: method `moveFile` should have a snake case name such as `move_file` Dec 11 12:18:34.495 INFO [stderr] --> src/maildirqueue.rs:70:5 Dec 11 12:18:34.495 INFO [stderr] | Dec 11 12:18:34.495 INFO [stderr] 70 | / fn moveFile(&self, request_body:&str, from:&str, to:&str, suffix:Option<&str>) -> bool { Dec 11 12:18:34.496 INFO [stderr] 71 | | let filename = format!("{}", Uuid::new_v4()) + if let Some(suf) = suffix { suf } else { "" }; Dec 11 12:18:34.496 INFO [stderr] 72 | | let tmp_path = self.base_dir.clone().as_str().to_owned() + "/" + from + "/" + filename.as_str(); Dec 11 12:18:34.496 INFO [stderr] 73 | | let new_path = self.base_dir.clone().as_str().to_owned() + "/" + to + "/" + filename.as_str(); Dec 11 12:18:34.497 INFO [stderr] ... | Dec 11 12:18:34.497 INFO [stderr] 82 | | true Dec 11 12:18:34.497 INFO [stderr] 83 | | } Dec 11 12:18:34.497 INFO [stderr] | |_____^ Dec 11 12:18:34.498 INFO [stderr] | Dec 11 12:18:34.498 INFO [stderr] = note: #[warn(non_snake_case)] on by default Dec 11 12:18:34.498 INFO [stderr] Dec 11 12:18:34.499 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:34.499 INFO [stderr] --> src/maildirqueue.rs:75:13 Dec 11 12:18:34.499 INFO [stderr] | Dec 11 12:18:34.499 INFO [stderr] 75 | f.write_all(request_body.as_bytes()); Dec 11 12:18:34.500 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.500 INFO [stderr] | Dec 11 12:18:34.500 INFO [stderr] = note: #[warn(unused_must_use)] on by default Dec 11 12:18:34.500 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:34.501 INFO [stderr] Dec 11 12:18:34.501 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:34.501 INFO [stderr] --> src/maildirqueue.rs:77:13 Dec 11 12:18:34.501 INFO [stderr] | Dec 11 12:18:34.502 INFO [stderr] 77 | f.sync_data(); Dec 11 12:18:34.502 INFO [stderr] | ^^^^^^^^^^^^^^ Dec 11 12:18:34.502 INFO [stderr] | Dec 11 12:18:34.502 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:34.502 INFO [stderr] Dec 11 12:18:34.503 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:34.503 INFO [stderr] --> src/maildirqueue.rs:80:9 Dec 11 12:18:34.503 INFO [stderr] | Dec 11 12:18:34.503 INFO [stderr] 80 | fs::rename(Path::new(&tmp_path), Path::new(&new_path)); // Rename from tmp to new Dec 11 12:18:34.503 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.504 INFO [stderr] | Dec 11 12:18:34.504 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:34.504 INFO [stderr] Dec 11 12:18:34.505 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:34.505 INFO [stderr] --> src/maildirqueue.rs:121:20 Dec 11 12:18:34.505 INFO [stderr] | Dec 11 12:18:34.505 INFO [stderr] 121 | fs::rename(entry.path(), Path::new(&cur_path)); // Rename from new to cur directory Dec 11 12:18:34.506 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.506 INFO [stderr] | Dec 11 12:18:34.506 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:34.506 INFO [stderr] Dec 11 12:18:34.507 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:34.507 INFO [stderr] --> src/maildirqueue.rs:126:25 Dec 11 12:18:34.507 INFO [stderr] | Dec 11 12:18:34.507 INFO [stderr] 126 | buf_reader.read_to_string(&mut contents); Dec 11 12:18:34.507 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.508 INFO [stderr] | Dec 11 12:18:34.508 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:34.508 INFO [stderr] Dec 11 12:18:34.508 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:34.509 INFO [stderr] --> src/maildirqueue.rs:128:29 Dec 11 12:18:34.509 INFO [stderr] | Dec 11 12:18:34.509 INFO [stderr] 128 | fs::remove_file(&cur_path); Dec 11 12:18:34.509 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.510 INFO [stderr] | Dec 11 12:18:34.510 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:34.510 INFO [stderr] Dec 11 12:18:34.511 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:34.511 INFO [stderr] --> src/maildirqueue.rs:132:29 Dec 11 12:18:34.511 INFO [stderr] | Dec 11 12:18:34.511 INFO [stderr] 132 | fs::remove_file(&cur_path); Dec 11 12:18:34.512 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.512 INFO [stderr] | Dec 11 12:18:34.512 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:34.512 INFO [stderr] Dec 11 12:18:34.513 INFO [stderr] warning: method `sendJson` should have a snake case name such as `send_json` Dec 11 12:18:34.514 INFO [stderr] --> src/jsonsender.rs:45:5 Dec 11 12:18:34.514 INFO [stderr] | Dec 11 12:18:34.514 INFO [stderr] 45 | / pub fn sendJson(&self, jsonString:&str, res_path:&str) -> Result { Dec 11 12:18:34.514 INFO [stderr] 46 | | Dec 11 12:18:34.515 INFO [stderr] 47 | | let mut core = Core::new().unwrap(); Dec 11 12:18:34.515 INFO [stderr] 48 | | let handle = core.handle(); Dec 11 12:18:34.515 INFO [stderr] ... | Dec 11 12:18:34.515 INFO [stderr] 101 | | return Err("Problem sending request"); Dec 11 12:18:34.516 INFO [stderr] 102 | | } Dec 11 12:18:34.516 INFO [stderr] | |_____^ Dec 11 12:18:34.516 INFO [stderr] Dec 11 12:18:34.516 INFO [stderr] warning: variable `jsonString` should have a snake case name such as `json_string` Dec 11 12:18:34.517 INFO [stderr] --> src/jsonsender.rs:45:28 Dec 11 12:18:34.517 INFO [stderr] | Dec 11 12:18:34.517 INFO [stderr] 45 | pub fn sendJson(&self, jsonString:&str, res_path:&str) -> Result { Dec 11 12:18:34.517 INFO [stderr] | ^^^^^^^^^^ Dec 11 12:18:34.517 INFO [stderr] Dec 11 12:18:34.518 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:34.518 INFO [stderr] --> src/jsonsender.rs:82:33 Dec 11 12:18:34.518 INFO [stderr] | Dec 11 12:18:34.518 INFO [stderr] 82 | f.write_all(&bodyiter); Dec 11 12:18:34.519 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ Dec 11 12:18:34.519 INFO [stderr] | Dec 11 12:18:34.519 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:34.519 INFO [stderr] Dec 11 12:18:34.520 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 11 12:18:34.520 INFO [stderr] --> src/jsonsender.rs:83:33 Dec 11 12:18:34.520 INFO [stderr] | Dec 11 12:18:34.520 INFO [stderr] 83 | f.sync_data(); Dec 11 12:18:34.521 INFO [stderr] | ^^^^^^^^^^^^^^ Dec 11 12:18:34.521 INFO [stderr] | Dec 11 12:18:34.521 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 11 12:18:34.522 INFO [stderr] Dec 11 12:18:34.522 INFO [stderr] warning: function `startServer` should have a snake case name such as `start_server` Dec 11 12:18:34.523 INFO [stderr] --> src/main.rs:51:1 Dec 11 12:18:34.523 INFO [stderr] | Dec 11 12:18:34.523 INFO [stderr] 51 | / fn startServer(baseDir:&str) { Dec 11 12:18:34.524 INFO [stderr] 52 | | let sender = Box::new(JsonSender::new()); Dec 11 12:18:34.524 INFO [stderr] 53 | | let mail_dir_que = Box::new(MaildirQueue::new(baseDir.to_string())); Dec 11 12:18:34.524 INFO [stderr] 54 | | if let Some(ref mail_dir_que) = mail_dir_que.init() { Dec 11 12:18:34.524 INFO [stderr] ... | Dec 11 12:18:34.525 INFO [stderr] 73 | | } Dec 11 12:18:34.525 INFO [stderr] 74 | | } Dec 11 12:18:34.525 INFO [stderr] | |_^ Dec 11 12:18:34.525 INFO [stderr] Dec 11 12:18:34.526 INFO [stderr] warning: variable `baseDir` should have a snake case name such as `base_dir` Dec 11 12:18:34.526 INFO [stderr] --> src/main.rs:51:16 Dec 11 12:18:34.526 INFO [stderr] | Dec 11 12:18:34.526 INFO [stderr] 51 | fn startServer(baseDir:&str) { Dec 11 12:18:34.527 INFO [stderr] | ^^^^^^^ Dec 11 12:18:34.527 INFO [stderr] Dec 11 12:18:34.568 INFO [stderr] Finished dev [unoptimized + debuginfo] target(s) in 23.03s Dec 11 12:18:34.577 INFO [stderr] su: No module specific data is present Dec 11 12:18:36.104 INFO running `"docker" "inspect" "e98cdfeb0b5997f7375cdacdb97f92044f9991641af5f34aaf3a2942b5f4fbeb"` Dec 11 12:18:36.426 INFO running `"docker" "rm" "-f" "e98cdfeb0b5997f7375cdacdb97f92044f9991641af5f34aaf3a2942b5f4fbeb"` Dec 11 12:18:36.732 INFO [stdout] e98cdfeb0b5997f7375cdacdb97f92044f9991641af5f34aaf3a2942b5f4fbeb