[INFO] updating cached repository https://github.com/fiirhok/mailcheck.rs [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 6548d395ab099f17091edbba192571da6dd0fc21 [INFO] testing fiirhok/mailcheck.rs against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffiirhok%2Fmailcheck.rs" "/workspace/builds/worker-7/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/fiirhok/mailcheck.rs on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/fiirhok/mailcheck.rs [INFO] finished tweaking git repo https://github.com/fiirhok/mailcheck.rs [INFO] tweaked toml for git repo https://github.com/fiirhok/mailcheck.rs written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/fiirhok/mailcheck.rs already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] error: the lock file /workspace/builds/worker-7/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag. [INFO] the lockfile is outdated, regenerating it [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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=warn" "-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" "+1.44.0" "build" "--frozen"` [INFO] [stdout] c9ca40f4cfb52897787aa1c4bd933d4e3e6e458ca08f99b2a586dbedb651a471 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "c9ca40f4cfb52897787aa1c4bd933d4e3e6e458ca08f99b2a586dbedb651a471"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling syn v1.0.30 [INFO] [stderr] Compiling time-macros-impl v0.1.1 [INFO] [stderr] Compiling time-macros v0.1.0 [INFO] [stderr] Compiling time v0.2.16 [INFO] [stderr] Compiling mailcheck v0.0.1 (/opt/rustwide/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] | [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 6 | use dkim::openssl::hash::Hasher; [INFO] [stderr] | [INFO] [stderr] 6 | use std::hash::Hasher; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/dkim/mod.rs:68:20 [INFO] [stderr] | [INFO] [stderr] 68 | let tags = try!(parse_dkim_signature(signature)); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/dkim/mod.rs:70:42 [INFO] [stderr] | [INFO] [stderr] 70 | let (header_canon, body_canon) = try!(parse_canonicalization(&tags)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/dkim/mod.rs:72:33 [INFO] [stderr] | [INFO] [stderr] 72 | let hash_type = match &(try!(unwrap_string_tag_value(&tags, "a"))) as &str { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/dkim/mod.rs:79:23 [INFO] [stderr] | [INFO] [stderr] 79 | version: try!(unwrap_uint_tag_value(&tags, "v")), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/dkim/mod.rs:81:24 [INFO] [stderr] | [INFO] [stderr] 81 | signature: try!(unwrap_string_tag_value(&tags, "b")).replace(" ",""), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/dkim/mod.rs:86:19 [INFO] [stderr] | [INFO] [stderr] 86 | sdid: try!(unwrap_string_tag_value(&tags, "d")), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/dkim/mod.rs:87:28 [INFO] [stderr] | [INFO] [stderr] 87 | header_fields: try!(unwrap_string_tag_value(&tags, "h")).split(':').map(|x| x.to_string()).collect(), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/dkim/mod.rs:88:23 [INFO] [stderr] | [INFO] [stderr] 88 | selector: try!(unwrap_string_tag_value(&tags, "s")), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/dkim/mod.rs:186:29 [INFO] [stderr] | [INFO] [stderr] 186 | let (name, value) = try!(parse_dkim_tag(tag.trim())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/dkim/mod.rs:248:29 [INFO] [stderr] | [INFO] [stderr] 248 | Ok((try!(map_canon(header)), try!(map_canon(body)))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/dkim/mod.rs:248:54 [INFO] [stderr] | [INFO] [stderr] 248 | Ok((try!(map_canon(header)), try!(map_canon(body)))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/dkim/mod.rs:250:29 [INFO] [stderr] | [INFO] [stderr] 250 | Ok((try!(map_canon(header)), CanonicalizationType::Simple)), [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` iterator 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` iterator 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: 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] = note: `#[warn(unused_imports)]` on by default [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] 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] | ^^^^^^^^^^^ ----------------------------- this expression has type `regex::Match<'_>` [INFO] [stderr] | | [INFO] [stderr] | expected struct `regex::Match`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected struct `regex::Match<'_>` [INFO] [stderr] found tuple `(_, _)` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `at` found for reference `®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] | ^^ method not found in `®ex::Captures<'_>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `at` found for reference `®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] | ^^ method not found in `®ex::Captures<'_>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `at` found for reference `®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] | ^^ method not found in `®ex::Captures<'_>` [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 struct `std::string::String` [INFO] [stderr] found enum `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 struct `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] | ^^ method not found in `regex::Captures<'_>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `at` found for struct `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] | ^^ method not found in `regex::Captures<'_>` [INFO] [stderr] [INFO] [stderr] error[E0369]: cannot add `&std::vec::Vec` to `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] error[E0369]: cannot add `&[u8; 2]` to `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] 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; 38 warnings emitted [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" "c9ca40f4cfb52897787aa1c4bd933d4e3e6e458ca08f99b2a586dbedb651a471"` [INFO] running `"docker" "rm" "-f" "c9ca40f4cfb52897787aa1c4bd933d4e3e6e458ca08f99b2a586dbedb651a471"` [INFO] [stdout] c9ca40f4cfb52897787aa1c4bd933d4e3e6e458ca08f99b2a586dbedb651a471