[INFO] updating cached repository fiirhok/mailcheck.rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/fiirhok/mailcheck.rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/fiirhok/mailcheck.rs" "work/ex/beta-1.38-1/sources/1.37.0/gh/fiirhok/mailcheck.rs"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/1.37.0/gh/fiirhok/mailcheck.rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/fiirhok/mailcheck.rs" "work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/fiirhok/mailcheck.rs"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/fiirhok/mailcheck.rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 6548d395ab099f17091edbba192571da6dd0fc21 [INFO] sha for GitHub repo fiirhok/mailcheck.rs: 6548d395ab099f17091edbba192571da6dd0fc21 [INFO] validating manifest of fiirhok/mailcheck.rs on toolchain 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of fiirhok/mailcheck.rs on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing fiirhok/mailcheck.rs [INFO] finished frobbing fiirhok/mailcheck.rs [INFO] frobbed toml for fiirhok/mailcheck.rs written to work/ex/beta-1.38-1/sources/1.37.0/gh/fiirhok/mailcheck.rs/Cargo.toml [INFO] started frobbing fiirhok/mailcheck.rs [INFO] finished frobbing fiirhok/mailcheck.rs [INFO] frobbed toml for fiirhok/mailcheck.rs written to work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/fiirhok/mailcheck.rs/Cargo.toml [INFO] crate fiirhok/mailcheck.rs already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] error: the lock file /mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/fiirhok/mailcheck.rs/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] the lockfile is outdated, regenerating it [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing fiirhok/mailcheck.rs against 1.37.0 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-2/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/fiirhok/mailcheck.rs:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "build" "--frozen"` [INFO] [stdout] e6a2bc9d058179e2e8570341e379a8f401b94a8f6d4431dc2bb1cd31487f444a [INFO] running `"docker" "start" "-a" "e6a2bc9d058179e2e8570341e379a8f401b94a8f6d4431dc2bb1cd31487f444a"` [INFO] [stderr] Compiling mailcheck v0.0.1 (/opt/crater/workdir) [INFO] [stderr] error[E0433]: failed to resolve: could not find `crypto` in `openssl` [INFO] [stderr] --> src/dkim/mod.rs:10:20 [INFO] [stderr] | [INFO] [stderr] 10 | use self::openssl::crypto::hash::Hasher; [INFO] [stderr] | ^^^^^^ could not find `crypto` in `openssl` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: could not find `crypto` in `openssl` [INFO] [stderr] --> src/dkim/mod.rs:11:20 [INFO] [stderr] | [INFO] [stderr] 11 | use self::openssl::crypto::hash::Type; [INFO] [stderr] | ^^^^^^ could not find `crypto` in `openssl` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: could not find `crypto` in `openssl` [INFO] [stderr] --> src/dkim/mod.rs:12:20 [INFO] [stderr] | [INFO] [stderr] 12 | use self::openssl::crypto::hash::Type::{SHA256,SHA1}; [INFO] [stderr] | ^^^^^^ could not find `crypto` in `openssl` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Hasher` [INFO] [stderr] --> src/dkim/mod.rs:118:21 [INFO] [stderr] | [INFO] [stderr] 118 | hasher: Hasher::new(hash_type), [INFO] [stderr] | ^^^^^^ use of undeclared type or module `Hasher` [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Type` in this scope [INFO] [stderr] --> src/dkim/mod.rs:32:16 [INFO] [stderr] | [INFO] [stderr] 32 | hash_type: Type, [INFO] [stderr] | ^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `SHA256` in this scope [INFO] [stderr] --> src/dkim/mod.rs:73:29 [INFO] [stderr] | [INFO] [stderr] 73 | "rsa-sha256" => SHA256, [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `SHA1` in this scope [INFO] [stderr] --> src/dkim/mod.rs:74:27 [INFO] [stderr] | [INFO] [stderr] 74 | "rsa-sha1" => SHA1, [INFO] [stderr] | ^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Hasher` in this scope [INFO] [stderr] --> src/dkim/mod.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | hasher: Hasher, [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 6 | use dkim_checker::openssl::hash::Hasher; [INFO] [stderr] | [INFO] [stderr] 6 | use std::hash::Hasher; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/events.rs:20:32 [INFO] [stderr] | [INFO] [stderr] 20 | fn new(next_stage: &'a mut MessageParserStage) -> Self; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MessageParserStage` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message_scanner.rs:17:26 [INFO] [stderr] | [INFO] [stderr] 17 | next_stage: &'a mut (MessageParserStage + 'a), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MessageParserStage + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message_scanner.rs:33:32 [INFO] [stderr] | [INFO] [stderr] 33 | fn new(next_stage: &'a mut MessageParserStage) -> MessageScanner<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MessageParserStage` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/header_parser.rs:15:26 [INFO] [stderr] | [INFO] [stderr] 15 | next_stage: &'a mut (MessageParserStage + 'a) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MessageParserStage + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/header_parser.rs:39:32 [INFO] [stderr] | [INFO] [stderr] 39 | fn new(next_stage: &'a mut MessageParserStage) -> HeaderParser<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MessageParserStage` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/header_decoder.rs:7:26 [INFO] [stderr] | [INFO] [stderr] 7 | next_stage: &'a mut (MessageParserStage + 'a) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MessageParserStage + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/header_decoder.rs:11:32 [INFO] [stderr] | [INFO] [stderr] 11 | fn new(next_stage: &'a mut MessageParserStage) -> HeaderDecoder<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MessageParserStage` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/reader_parser.rs:9:26 [INFO] [stderr] | [INFO] [stderr] 9 | next_stage: &'a mut (MessageParserStage + 'a) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MessageParserStage + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/reader_parser.rs:14:36 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn new(next_stage: &'a mut MessageParserStage, reader: R) -> ReaderParser<'a, R> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MessageParserStage` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dkim_checker.rs:15:26 [INFO] [stderr] | [INFO] [stderr] 15 | next_stage: &'a mut (MessageParserStage + 'a) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MessageParserStage + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dkim_checker.rs:42:32 [INFO] [stderr] | [INFO] [stderr] 42 | fn new(next_stage: &'a mut MessageParserStage) -> DkimChecker<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MessageParserStage` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dkim/canonicalizer.rs:14:58 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn body(canon_type: CanonicalizationType) -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BodyCanonicalizer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dkim/canonicalizer.rs:20:58 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn head(canon_type: CanonicalizationType) -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn HeaderCanonicalizer` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `for` head expression [INFO] [stderr] --> src/dkim/canonicalizer.rs:50:18 [INFO] [stderr] | [INFO] [stderr] 50 | for _ in (0 .. self.pending_newlines ) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `for` head expression [INFO] [stderr] --> src/dkim/canonicalizer.rs:86:18 [INFO] [stderr] | [INFO] [stderr] 86 | for _ in (0 .. self.pending_newlines ) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::openssl::crypto::hash::Hasher` [INFO] [stderr] --> src/dkim/mod.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use self::openssl::crypto::hash::Hasher; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::openssl::crypto::hash::Type` [INFO] [stderr] --> src/dkim/mod.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use self::openssl::crypto::hash::Type; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SHA1`, `SHA256` [INFO] [stderr] --> src/dkim/mod.rs:12:41 [INFO] [stderr] | [INFO] [stderr] 12 | use self::openssl::crypto::hash::Type::{SHA256,SHA1}; [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dkim/mod.rs:105:21 [INFO] [stderr] | [INFO] [stderr] 105 | body_canon: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BodyCanonicalizer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dkim/mod.rs:106:23 [INFO] [stderr] | [INFO] [stderr] 106 | header_canon: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn HeaderCanonicalizer` [INFO] [stderr] [INFO] [stderr] warning: the item `MissingTag` is imported redundantly [INFO] [stderr] --> src/dkim/mod.rs:208:9 [INFO] [stderr] | [INFO] [stderr] 19 | use self::DkimSignatureParseError::MissingTag; [INFO] [stderr] | ----------------------------------------- the item `MissingTag` is already imported here [INFO] [stderr] ... [INFO] [stderr] 208 | use self::DkimSignatureParseError::MissingTag; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/rfc2047.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/dkim/canonicalizer.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/header_parser.rs:80:49 [INFO] [stderr] | [INFO] [stderr] 80 | let trimmed = &value.trim().trim_right_matches(':'); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/rfc2047.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | for (start,end) in char_regex.find_iter(content) { [INFO] [stderr] | ^^^^^^^^^^^ expected struct `regex::Match`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected type `regex::Match<'_>` [INFO] [stderr] found type `(_, _)` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `at` found for type `®ex::Captures<'_>` in the current scope [INFO] [stderr] --> src/rfc2047.rs:91:25 [INFO] [stderr] | [INFO] [stderr] 91 | match (caps.at(1), caps.at(2), caps.at(3)) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `at` found for type `®ex::Captures<'_>` in the current scope [INFO] [stderr] --> src/rfc2047.rs:91:37 [INFO] [stderr] | [INFO] [stderr] 91 | match (caps.at(1), caps.at(2), caps.at(3)) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `at` found for type `®ex::Captures<'_>` in the current scope [INFO] [stderr] --> src/rfc2047.rs:91:49 [INFO] [stderr] | [INFO] [stderr] 91 | match (caps.at(1), caps.at(2), caps.at(3)) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/rfc2047.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 86 | fn from_rfc2047(&self) -> String { [INFO] [stderr] | ------ expected `std::string::String` because of return type [INFO] [stderr] ... [INFO] [stderr] 90 | / encoded_word_re.replace_all(&ws_removed, |caps: &Captures| { [INFO] [stderr] 91 | | match (caps.at(1), caps.at(2), caps.at(3)) { [INFO] [stderr] 92 | | (Some(charset), Some(encoding), Some(content)) => { [INFO] [stderr] 93 | | match decode_word(charset, encoding, content) { [INFO] [stderr] ... | [INFO] [stderr] 99 | | } [INFO] [stderr] 100 | | }) [INFO] [stderr] | |__________^ expected struct `std::string::String`, found enum `std::borrow::Cow` [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::string::String` [INFO] [stderr] found type `std::borrow::Cow<'_, str>` [INFO] [stderr] help: try using a conversion method [INFO] [stderr] | [INFO] [stderr] 90 | encoded_word_re.replace_all(&ws_removed, |caps: &Captures| { [INFO] [stderr] 91 | match (caps.at(1), caps.at(2), caps.at(3)) { [INFO] [stderr] 92 | (Some(charset), Some(encoding), Some(content)) => { [INFO] [stderr] 93 | match decode_word(charset, encoding, content) { [INFO] [stderr] 94 | Ok(decoded) => decoded, [INFO] [stderr] 95 | Err(_) => self.to_string() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/dkim/mod.rs:184:31 [INFO] [stderr] | [INFO] [stderr] 184 | let tags = dkim_signature.trim_right_matches(';').split(';'); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `at` found for type `regex::Captures<'_>` in the current scope [INFO] [stderr] --> src/dkim/mod.rs:246:47 [INFO] [stderr] | [INFO] [stderr] 246 | Some(groups) => match (groups.at(1), groups.at(2)) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `at` found for type `regex::Captures<'_>` in the current scope [INFO] [stderr] --> src/dkim/mod.rs:246:61 [INFO] [stderr] | [INFO] [stderr] 246 | Some(groups) => match (groups.at(1), groups.at(2)) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0369]: binary operation `+` cannot be applied to type `std::vec::Vec` [INFO] [stderr] --> src/dkim/canonicalizer.rs:56:25 [INFO] [stderr] | [INFO] [stderr] 56 | output = output + input; [INFO] [stderr] | ------ ^ ----- &std::vec::Vec [INFO] [stderr] | | [INFO] [stderr] | std::vec::Vec [INFO] [stderr] | [INFO] [stderr] = note: an implementation of `std::ops::Add` might be missing for `std::vec::Vec` [INFO] [stderr] [INFO] [stderr] error[E0369]: binary operation `+` cannot be applied to type `std::vec::Vec` [INFO] [stderr] --> src/dkim/canonicalizer.rs:188:16 [INFO] [stderr] | [INFO] [stderr] 188 | result + b"\r\n" [INFO] [stderr] | ------ ^ ------- &[u8; 2] [INFO] [stderr] | | [INFO] [stderr] | std::vec::Vec [INFO] [stderr] | [INFO] [stderr] = note: an implementation of `std::ops::Add` might be missing for `std::vec::Vec` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/rfc2047.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/dkim/canonicalizer.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ToBase64` [INFO] [stderr] --> src/dkim/mod.rs:14:37 [INFO] [stderr] | [INFO] [stderr] 14 | use self::rustc_serialize::base64::{ToBase64,Config}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Write` [INFO] [stderr] --> src/dkim/mod.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | use std::io::Write; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 17 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0308, E0369, E0412, E0425, E0433, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0308`. [INFO] [stderr] error: Could not compile `mailcheck`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "e6a2bc9d058179e2e8570341e379a8f401b94a8f6d4431dc2bb1cd31487f444a"` [INFO] running `"docker" "rm" "-f" "e6a2bc9d058179e2e8570341e379a8f401b94a8f6d4431dc2bb1cd31487f444a"` [INFO] [stdout] e6a2bc9d058179e2e8570341e379a8f401b94a8f6d4431dc2bb1cd31487f444a