[INFO] fetching crate actiondb 0.7.0...
[INFO] checking actiondb-0.7.0 against master#3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777 for pr-132289
[INFO] extracting crate actiondb 0.7.0 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate actiondb 0.7.0 on toolchain 3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate actiondb 0.7.0
[INFO] finished tweaking crates.io crate actiondb 0.7.0
[INFO] tweaked toml for crates.io crate actiondb 0.7.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 47 packages to latest compatible versions
[INFO] [stderr]       Adding clap v2.34.0 (available: v4.5.20)
[INFO] [stderr]       Adding log v0.3.9 (available: v0.4.22)
[INFO] [stderr]       Adding serde v0.7.15 (available: v1.0.214)
[INFO] [stderr]       Adding serde_json v0.7.4 (available: v1.0.132)
[INFO] [stderr]       Adding serde_yaml v0.2.5 (available: v0.9.34+deprecated)
[INFO] [stderr]       Adding uuid v0.1.18 (available: v1.11.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded fuchsia-cprng v0.1.1
[INFO] [stderr]   Downloaded rdrand v0.4.0
[INFO] [stderr]   Downloaded rand_core v0.3.1
[INFO] [stderr]   Downloaded rustc-serialize v0.3.25
[INFO] [stderr]   Downloaded rand v0.3.23
[INFO] [stderr]   Downloaded rand_core v0.4.2
[INFO] [stderr]   Downloaded clippy v0.0.302
[INFO] [stderr]   Downloaded uuid v0.1.18
[INFO] [stderr]   Downloaded constant_time_eq v0.1.5
[INFO] [stderr]   Downloaded rand v0.4.6
[INFO] [stderr]   Downloaded redox_users v0.3.5
[INFO] [stderr]   Downloaded blake2b_simd v0.5.11
[INFO] [stderr]   Downloaded redox_syscall v0.1.57
[INFO] [stderr]   Downloaded arrayvec v0.5.2
[INFO] [stderr]   Downloaded rust-argon2 v0.8.3
[INFO] [stderr]   Downloaded term v0.5.2
[INFO] [stderr]   Downloaded serde v0.7.15
[INFO] [stderr]   Downloaded dirs v1.0.5
[INFO] [stderr]   Downloaded yaml-rust v0.3.5
[INFO] [stderr]   Downloaded serde_json v0.7.4
[INFO] [stderr]   Downloaded itoa v0.1.1
[INFO] [stderr]   Downloaded num-traits v0.1.43
[INFO] [stderr]   Downloaded serde_yaml v0.2.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e431c191024f77f1d90b6d6c55cb60ffb1c1b8a318f3589ca375e02a5ded2490
[INFO] running `Command { std: "docker" "start" "-a" "e431c191024f77f1d90b6d6c55cb60ffb1c1b8a318f3589ca375e02a5ded2490", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e431c191024f77f1d90b6d6c55cb60ffb1c1b8a318f3589ca375e02a5ded2490", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e431c191024f77f1d90b6d6c55cb60ffb1c1b8a318f3589ca375e02a5ded2490", kill_on_drop: false }`
[INFO] [stdout] e431c191024f77f1d90b6d6c55cb60ffb1c1b8a318f3589ca375e02a5ded2490
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6247f8026964ef862db291c215c56098e36f9e2837b07d28c90482efbb715eaa
[INFO] running `Command { std: "docker" "start" "-a" "6247f8026964ef862db291c215c56098e36f9e2837b07d28c90482efbb715eaa", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]     Checking serde v0.7.15
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]     Checking itoa v0.1.1
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking yaml-rust v0.3.5
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking serde_yaml v0.2.5
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking serde_json v0.7.4
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking uuid v0.1.18
[INFO] [stderr]     Checking actiondb v0.7.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/parsers/mod.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn set_name(&mut self, Option<String>);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<String>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/deser.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 try!(Err(serde::de::Error::missing_field("uuid")))
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         try!(visitor.end());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/deser.rs:96:33
[INFO] [stdout]    |
[INFO] [stdout] 96 |         while let Some(field) = try!(visitor.visit_key()) {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/deser.rs:98:44
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 Field::NAME => name = Some(try!(visitor.visit_value())),
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/deser.rs:99:44
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 Field::UUID => uuid = Some(try!(visitor.visit_value())),
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:100:50
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 Field::PATTERN => pattern = Some(try!(visitor.visit_value())),
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:101:48
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 Field::VALUES => values = Some(try!(visitor.visit_value())),
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:102:44
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 Field::TAGS => tags = Some(try!(visitor.visit_value())),
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:103:61
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 Field::TESTMESSAGES => test_messages = Some(try!(visitor.visit_value())),
[INFO] [stdout]     |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:107:20
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let uuid = try!(PatternVisitor::parse_uuid::<V>(uuid));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |                         try!(Err(serde::de::Error::custom("Invalid field 'pattern'")))
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 try!(Err(serde::de::Error::missing_field("pattern")))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/file/deser.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         try!(visitor.end());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/file/deser.rs:51:34
[INFO] [stdout]    |
[INFO] [stdout] 51 |         while let Some (field) = try!(visitor.visit_key()) {
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/file/deser.rs:53:52
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 Field::PATTERNS => patterns = Some(try!(visitor.visit_value()))
[INFO] [stdout]    |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/file/deser.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |             None => try!(visitor.missing_field("patterns")),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/deser.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         try!(visitor.end());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/deser.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 |         while let Some(field) = try!(visitor.visit_key()) {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/deser.rs:58:50
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 Field::MESSAGE => message = Some(try!(visitor.visit_value())),
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/deser.rs:59:48
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 Field::VALUES => values = Some(try!(visitor.visit_value())),
[INFO] [stdout]    |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/deser.rs:60:44
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 Field::TAGS => tags = Some(try!(visitor.visit_value())),
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/deser.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |             None => try!(visitor.missing_field("message")),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/message.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         try!(self.test_tags(result));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/message.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             try!(TestMessage::test_value(key, value, &merged_values, result));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/message.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |                 try!(self.test_expected_tags_can_be_found_in_got_tags(expected_tags,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_source/mod.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |             try!(Self::check_pattern::<F::Matcher>(&mut matcher, pattern));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_source/mod.rs:33:27
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut pattern = try!(result);
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_source/mod.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             try!(Self::check_test_message(msg, &result, uuid));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_source/mod.rs:55:26
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let result = try!(matcher.parse(msg.message())
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut file = try!(File::open(pattern_file_path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let file = try!(PatternLoader::load_file(pattern_file_path));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let file = try!(PatternLoader::load_file(pattern_file_path));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:43:23
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 match try!(extension.to_str().ok_or(BuildError::NotUtf8FileName)) {
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:45:39
[INFO] [stdout]    |
[INFO] [stdout] 45 |                         let content = try!(PatternLoader::read(pattern_file_path));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:46:36
[INFO] [stdout]    |
[INFO] [stdout] 46 |                         let file = try!(serde_json::from_str::<PatternFile>(&content));
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:50:39
[INFO] [stdout]    |
[INFO] [stdout] 50 |                         let content = try!(PatternLoader::read(pattern_file_path));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:51:36
[INFO] [stdout]    |
[INFO] [stdout] 51 |                         let file = try!(serde_yaml::from_str::<PatternFile>(&content));
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unknown lint: `clippy`
[INFO] [stdout]  --> src/grammar/parser/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[allow(clippy)]
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unknown_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/grammar/parser/pattern_parser.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         try!(write!(fmt, "error at {}:{}: expected ", self.line, self.column));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/grammar/parser/pattern_parser.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             try!(write!(fmt, "EOF"));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/grammar/parser/pattern_parser.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             try!(write!(fmt,
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/grammar/parser/pattern_parser.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |             try!(write!(fmt, "one of `{}`", escape_default(iter.next().unwrap())));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/grammar/parser/pattern_parser.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 try!(write!(fmt, ", `{}`", escape_default(elem)));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:890:24
[INFO] [stdout]     |
[INFO] [stdout] 890 |                     'a'...'z' | 'A'...'Z' | '_' | '.' => Matched(next, ()),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:890:36
[INFO] [stdout]     |
[INFO] [stdout] 890 |                     'a'...'z' | 'A'...'Z' | '_' | '.' => Matched(next, ()),
[INFO] [stdout]     |                                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:907:48
[INFO] [stdout]     |
[INFO] [stdout] 907 | ...                   'a'...'z' |
[INFO] [stdout]     |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:909:48
[INFO] [stdout]     |
[INFO] [stdout] 909 | ...                   'A'...'Z' |
[INFO] [stdout]     |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:910:48
[INFO] [stdout]     |
[INFO] [stdout] 910 | ...                   '0'...'9' |
[INFO] [stdout]     |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/grammar/parser/pattern_parser.rs:1164:32
[INFO] [stdout]      |
[INFO] [stdout] 1164 | ...                   '0'...'9' => Matched(next, ()),
[INFO] [stdout]      |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/parsers/mod.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn set_name(&mut self, Option<String>);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<String>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/deser.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 try!(Err(serde::de::Error::missing_field("uuid")))
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         try!(visitor.end());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/deser.rs:96:33
[INFO] [stdout]    |
[INFO] [stdout] 96 |         while let Some(field) = try!(visitor.visit_key()) {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/deser.rs:98:44
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 Field::NAME => name = Some(try!(visitor.visit_value())),
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/deser.rs:99:44
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 Field::UUID => uuid = Some(try!(visitor.visit_value())),
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:100:50
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 Field::PATTERN => pattern = Some(try!(visitor.visit_value())),
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:101:48
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 Field::VALUES => values = Some(try!(visitor.visit_value())),
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:102:44
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 Field::TAGS => tags = Some(try!(visitor.visit_value())),
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:103:61
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 Field::TESTMESSAGES => test_messages = Some(try!(visitor.visit_value())),
[INFO] [stdout]     |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:107:20
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let uuid = try!(PatternVisitor::parse_uuid::<V>(uuid));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |                         try!(Err(serde::de::Error::custom("Invalid field 'pattern'")))
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matcher/pattern/deser.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 try!(Err(serde::de::Error::missing_field("pattern")))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/file/deser.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         try!(visitor.end());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/file/deser.rs:51:34
[INFO] [stdout]    |
[INFO] [stdout] 51 |         while let Some (field) = try!(visitor.visit_key()) {
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/file/deser.rs:53:52
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 Field::PATTERNS => patterns = Some(try!(visitor.visit_value()))
[INFO] [stdout]    |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/file/deser.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |             None => try!(visitor.missing_field("patterns")),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/deser.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         try!(visitor.end());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/deser.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 |         while let Some(field) = try!(visitor.visit_key()) {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/deser.rs:58:50
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 Field::MESSAGE => message = Some(try!(visitor.visit_value())),
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/deser.rs:59:48
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 Field::VALUES => values = Some(try!(visitor.visit_value())),
[INFO] [stdout]    |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/deser.rs:60:44
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 Field::TAGS => tags = Some(try!(visitor.visit_value())),
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/deser.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |             None => try!(visitor.missing_field("message")),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/message.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         try!(self.test_tags(result));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/message.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             try!(TestMessage::test_value(key, value, &merged_values, result));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern/testmessage/message.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |                 try!(self.test_expected_tags_can_be_found_in_got_tags(expected_tags,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_source/mod.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |             try!(Self::check_pattern::<F::Matcher>(&mut matcher, pattern));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_source/mod.rs:33:27
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut pattern = try!(result);
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_source/mod.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             try!(Self::check_test_message(msg, &result, uuid));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_source/mod.rs:55:26
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let result = try!(matcher.parse(msg.message())
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut file = try!(File::open(pattern_file_path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let file = try!(PatternLoader::load_file(pattern_file_path));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let file = try!(PatternLoader::load_file(pattern_file_path));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:43:23
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 match try!(extension.to_str().ok_or(BuildError::NotUtf8FileName)) {
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:45:39
[INFO] [stdout]    |
[INFO] [stdout] 45 |                         let content = try!(PatternLoader::read(pattern_file_path));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:46:36
[INFO] [stdout]    |
[INFO] [stdout] 46 |                         let file = try!(serde_json::from_str::<PatternFile>(&content));
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:50:39
[INFO] [stdout]    |
[INFO] [stdout] 50 |                         let content = try!(PatternLoader::read(pattern_file_path));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/pattern_loader.rs:51:36
[INFO] [stdout]    |
[INFO] [stdout] 51 |                         let file = try!(serde_yaml::from_str::<PatternFile>(&content));
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unknown lint: `clippy`
[INFO] [stdout]  --> src/grammar/parser/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[allow(clippy)]
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unknown_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/grammar/parser/pattern_parser.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         try!(write!(fmt, "error at {}:{}: expected ", self.line, self.column));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/grammar/parser/pattern_parser.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             try!(write!(fmt, "EOF"));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/grammar/parser/pattern_parser.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             try!(write!(fmt,
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/grammar/parser/pattern_parser.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |             try!(write!(fmt, "one of `{}`", escape_default(iter.next().unwrap())));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/grammar/parser/pattern_parser.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 try!(write!(fmt, ", `{}`", escape_default(elem)));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:890:24
[INFO] [stdout]     |
[INFO] [stdout] 890 |                     'a'...'z' | 'A'...'Z' | '_' | '.' => Matched(next, ()),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:890:36
[INFO] [stdout]     |
[INFO] [stdout] 890 |                     'a'...'z' | 'A'...'Z' | '_' | '.' => Matched(next, ()),
[INFO] [stdout]     |                                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:907:48
[INFO] [stdout]     |
[INFO] [stdout] 907 | ...                   'a'...'z' |
[INFO] [stdout]     |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:909:48
[INFO] [stdout]     |
[INFO] [stdout] 909 | ...                   'A'...'Z' |
[INFO] [stdout]     |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:910:48
[INFO] [stdout]     |
[INFO] [stdout] 910 | ...                   '0'...'9' |
[INFO] [stdout]     |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/grammar/parser/pattern_parser.rs:1164:32
[INFO] [stdout]      |
[INFO] [stdout] 1164 | ...                   '0'...'9' => Matched(next, ()),
[INFO] [stdout]      |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]  --> src/parsers/set.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::{SipHasher, Hash, Hasher};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]    --> src/parsers/set.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut hasher = SipHasher::new();
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]  --> src/parsers/int.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::hash::{SipHasher, Hash, Hasher};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]   --> src/parsers/int.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut hasher = SipHasher::new();
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]  --> src/parsers/greedy.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::hash::{SipHasher, Hash, Hasher};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]   --> src/parsers/greedy.rs:45:26
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut hasher = SipHasher::new();
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/mod.rs:22:34
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn boxed_clone(&self) -> Box<Parser>;
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn boxed_clone(&self) -> Box<dyn Parser>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/mod.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |     parser: &'a Parser,
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     parser: &'a dyn Parser,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/node/parser.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 |     parser: Box<Parser>,
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     parser: Box<dyn Parser>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/matcher/compiled_pattern.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Parser(Box<Parser>),
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Parser(Box<dyn Parser>),
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/suffix_array/impls.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 129 |     parser: Box<Parser>,
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |     parser: Box<dyn Parser>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/matcher/pattern/source.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type PatternSource = Source<Item=BuildResult>;
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type PatternSource = dyn Source<Item=BuildResult>;
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:256:61
[INFO] [stdout]     |
[INFO] [stdout] 256 | ...                   -> RuleResult<Box<Parser>> {
[INFO] [stdout]     |                                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 256 |                                           -> RuleResult<Box<dyn Parser>> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:268:65
[INFO] [stdout]     |
[INFO] [stdout] 268 | ...                   -> RuleResult<Box<Parser>> {
[INFO] [stdout]     |                                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 268 |                                               -> RuleResult<Box<dyn Parser>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:429:65
[INFO] [stdout]     |
[INFO] [stdout] 429 | ...                   -> RuleResult<Box<Parser>> {
[INFO] [stdout]     |                                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 429 |                                               -> RuleResult<Box<dyn Parser>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/mod.rs:57:27
[INFO] [stdout]    |
[INFO] [stdout] 57 |                    -> Box<Parser>;
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |                    -> Box<dyn Parser>;
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/mod.rs:60:27
[INFO] [stdout]    |
[INFO] [stdout] 60 |                    -> Box<Parser>;
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |                    -> Box<dyn Parser>;
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/mod.rs:61:72
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box<Parser>;
[INFO] [stdout]    |                                                                        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box<dyn Parser>;
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/node/interface.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn parser(&self) -> &Box<Parser>;
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn parser(&self) -> &Box<dyn Parser>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/suffix_array/interface.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn parser(&self) -> &Box<Parser>;
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn parser(&self) -> &Box<dyn Parser>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/mod.rs:23:34
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn boxed_clone(&self) -> Box<Matcher>;
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn boxed_clone(&self) -> Box<dyn Matcher>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/mod.rs:37:28
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(parser: &'a Parser, value: &'b str) -> ParseResult<'a, 'b> {
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(parser: &'a dyn Parser, value: &'b str) -> ParseResult<'a, 'b> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/mod.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn parser(&self) -> &'a Parser {
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn parser(&self) -> &'a dyn Parser {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]  --> src/parsers/set.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::{SipHasher, Hash, Hasher};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]    --> src/parsers/set.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut hasher = SipHasher::new();
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]  --> src/parsers/int.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::hash::{SipHasher, Hash, Hasher};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]   --> src/parsers/int.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut hasher = SipHasher::new();
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]  --> src/parsers/greedy.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::hash::{SipHasher, Hash, Hasher};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]   --> src/parsers/greedy.rs:45:26
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut hasher = SipHasher::new();
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/set.rs:96:34
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn boxed_clone(&self) -> Box<Parser> {
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn boxed_clone(&self) -> Box<dyn Parser> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/mod.rs:22:34
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn boxed_clone(&self) -> Box<Parser>;
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn boxed_clone(&self) -> Box<dyn Parser>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/mod.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |     parser: &'a Parser,
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     parser: &'a dyn Parser,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/node/parser.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 |     parser: Box<Parser>,
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     parser: Box<dyn Parser>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/matcher/compiled_pattern.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Parser(Box<Parser>),
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Parser(Box<dyn Parser>),
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/suffix_array/impls.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 129 |     parser: Box<Parser>,
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |     parser: Box<dyn Parser>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/matcher/pattern/source.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type PatternSource = Source<Item=BuildResult>;
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type PatternSource = dyn Source<Item=BuildResult>;
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/int.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn boxed_clone(&self) -> Box<Parser> {
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn boxed_clone(&self) -> Box<dyn Parser> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/greedy.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn boxed_clone(&self) -> Box<Parser> {
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn boxed_clone(&self) -> Box<dyn Parser> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:256:61
[INFO] [stdout]     |
[INFO] [stdout] 256 | ...                   -> RuleResult<Box<Parser>> {
[INFO] [stdout]     |                                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 256 |                                           -> RuleResult<Box<dyn Parser>> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:268:65
[INFO] [stdout]     |
[INFO] [stdout] 268 | ...                   -> RuleResult<Box<Parser>> {
[INFO] [stdout]     |                                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 268 |                                               -> RuleResult<Box<dyn Parser>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/grammar/parser/pattern_parser.rs:429:65
[INFO] [stdout]     |
[INFO] [stdout] 429 | ...                   -> RuleResult<Box<Parser>> {
[INFO] [stdout]     |                                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 429 |                                               -> RuleResult<Box<dyn Parser>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/mod.rs:57:27
[INFO] [stdout]    |
[INFO] [stdout] 57 |                    -> Box<Parser>;
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |                    -> Box<dyn Parser>;
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/mod.rs:60:27
[INFO] [stdout]    |
[INFO] [stdout] 60 |                    -> Box<Parser>;
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |                    -> Box<dyn Parser>;
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/mod.rs:61:72
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box<Parser>;
[INFO] [stdout]    |                                                                        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box<dyn Parser>;
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/node/interface.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn parser(&self) -> &Box<Parser>;
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn parser(&self) -> &Box<dyn Parser>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/suffix_array/interface.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn parser(&self) -> &Box<Parser>;
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn parser(&self) -> &Box<dyn Parser>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/mod.rs:23:34
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn boxed_clone(&self) -> Box<Matcher>;
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn boxed_clone(&self) -> Box<dyn Matcher>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/mod.rs:37:28
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(parser: &'a Parser, value: &'b str) -> ParseResult<'a, 'b> {
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(parser: &'a dyn Parser, value: &'b str) -> ParseResult<'a, 'b> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/mod.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn parser(&self) -> &'a Parser {
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn parser(&self) -> &'a dyn Parser {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/trie/node/mod.rs:214:42
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn lookup_parser(&mut self, parser: &Parser) -> Option<usize> {
[INFO] [stdout]     |                                          ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn lookup_parser(&mut self, parser: &dyn Parser) -> Option<usize> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/trie/node/mod.rs:277:49
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn insert_parser(&mut self, parser: Box<Parser>) -> &mut ParserNode {
[INFO] [stdout]     |                                                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn insert_parser(&mut self, parser: Box<dyn Parser>) -> &mut ParserNode {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/trie/node/parser.rs:103:30
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn parser(&self) -> &Box<Parser> {
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn parser(&self) -> &Box<dyn Parser> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/node/parser.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(parser: Box<Parser>) -> ParserNode {
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(parser: Box<dyn Parser>) -> ParserNode {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/node/parser.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn parser(&self) -> &Parser {
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn parser(&self) -> &dyn Parser {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/parser_factory.rs:38:27
[INFO] [stdout]    |
[INFO] [stdout] 38 |                    -> Box<Parser> {
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |                    -> Box<dyn Parser> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/parser_factory.rs:47:27
[INFO] [stdout]    |
[INFO] [stdout] 47 |                    -> Box<Parser> {
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |                    -> Box<dyn Parser> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/parser_factory.rs:54:72
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box<Parser> {
[INFO] [stdout]    |                                                                        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box<dyn Parser> {
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/matcher.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn boxed_clone(&self) -> Box<Matcher> {
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn boxed_clone(&self) -> Box<dyn Matcher> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/set.rs:96:34
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn boxed_clone(&self) -> Box<Parser> {
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn boxed_clone(&self) -> Box<dyn Parser> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/int.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn boxed_clone(&self) -> Box<Parser> {
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn boxed_clone(&self) -> Box<dyn Parser> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parsers/greedy.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn boxed_clone(&self) -> Box<Parser> {
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn boxed_clone(&self) -> Box<dyn Parser> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/compiled_pattern.rs:40:42
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn parser(&mut self, parser: Box<Parser>) -> &mut CompiledPatternBuilder {
[INFO] [stdout]    |                                          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn parser(&mut self, parser: Box<dyn Parser>) -> &mut CompiledPatternBuilder {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/suffix_array/impls.rs:183:30
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn parser(&self) -> &Box<Parser> {
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn parser(&self) -> &Box<dyn Parser> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/suffix_array/impls.rs:267:34
[INFO] [stdout]     |
[INFO] [stdout] 267 |     fn boxed_clone(&self) -> Box<Matcher> {
[INFO] [stdout]     |                                  ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 267 |     fn boxed_clone(&self) -> Box<dyn Matcher> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/suffix_array/impls.rs:49:59
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn insert_literal(&mut self, literal: String) -> &mut Entry<SA=SuffixTable> {
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn insert_literal(&mut self, literal: String) -> &mut dyn Entry<SA=SuffixTable> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/suffix_array/impls.rs:72:45
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn insert_parser(&mut self, parser: Box<Parser>) -> &mut Entry<SA=SuffixTable> {
[INFO] [stdout]    |                                             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn insert_parser(&mut self, parser: Box<dyn Parser>) -> &mut Entry<SA=SuffixTable> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/suffix_array/impls.rs:72:62
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn insert_parser(&mut self, parser: Box<Parser>) -> &mut Entry<SA=SuffixTable> {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn insert_parser(&mut self, parser: Box<Parser>) -> &mut dyn Entry<SA=SuffixTable> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/trie/node/mod.rs:214:42
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn lookup_parser(&mut self, parser: &Parser) -> Option<usize> {
[INFO] [stdout]     |                                          ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn lookup_parser(&mut self, parser: &dyn Parser) -> Option<usize> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/suffix_array/impls.rs:144:28
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn new(parser: Box<Parser>) -> ParserE {
[INFO] [stdout]     |                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn new(parser: Box<dyn Parser>) -> ParserE {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/trie/node/mod.rs:277:49
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn insert_parser(&mut self, parser: Box<Parser>) -> &mut ParserNode {
[INFO] [stdout]     |                                                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn insert_parser(&mut self, parser: Box<dyn Parser>) -> &mut ParserNode {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/trie/node/parser.rs:103:30
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn parser(&self) -> &Box<Parser> {
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn parser(&self) -> &Box<dyn Parser> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/node/parser.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(parser: Box<Parser>) -> ParserNode {
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(parser: Box<dyn Parser>) -> ParserNode {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/node/parser.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn parser(&self) -> &Parser {
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn parser(&self) -> &dyn Parser {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/parser_factory.rs:38:27
[INFO] [stdout]    |
[INFO] [stdout] 38 |                    -> Box<Parser> {
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |                    -> Box<dyn Parser> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/parser_factory.rs:47:27
[INFO] [stdout]    |
[INFO] [stdout] 47 |                    -> Box<Parser> {
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |                    -> Box<dyn Parser> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/parser_factory.rs:54:72
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box<Parser> {
[INFO] [stdout]    |                                                                        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box<dyn Parser> {
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/trie/matcher.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn boxed_clone(&self) -> Box<Matcher> {
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn boxed_clone(&self) -> Box<dyn Matcher> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]    --> src/parsers/set.rs:103:37
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut hasher = SipHasher::new();
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]   --> src/parsers/int.rs:62:37
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut hasher = SipHasher::new();
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]   --> src/parsers/greedy.rs:45:37
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut hasher = SipHasher::new();
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/compiled_pattern.rs:40:42
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn parser(&mut self, parser: Box<Parser>) -> &mut CompiledPatternBuilder {
[INFO] [stdout]    |                                          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn parser(&mut self, parser: Box<dyn Parser>) -> &mut CompiledPatternBuilder {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/suffix_array/impls.rs:183:30
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn parser(&self) -> &Box<Parser> {
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn parser(&self) -> &Box<dyn Parser> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/suffix_array/impls.rs:267:34
[INFO] [stdout]     |
[INFO] [stdout] 267 |     fn boxed_clone(&self) -> Box<Matcher> {
[INFO] [stdout]     |                                  ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 267 |     fn boxed_clone(&self) -> Box<dyn Matcher> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/suffix_array/impls.rs:49:59
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn insert_literal(&mut self, literal: String) -> &mut Entry<SA=SuffixTable> {
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn insert_literal(&mut self, literal: String) -> &mut dyn Entry<SA=SuffixTable> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/suffix_array/impls.rs:72:45
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn insert_parser(&mut self, parser: Box<Parser>) -> &mut Entry<SA=SuffixTable> {
[INFO] [stdout]    |                                             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn insert_parser(&mut self, parser: Box<dyn Parser>) -> &mut Entry<SA=SuffixTable> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/suffix_array/impls.rs:72:62
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn insert_parser(&mut self, parser: Box<Parser>) -> &mut Entry<SA=SuffixTable> {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn insert_parser(&mut self, parser: Box<Parser>) -> &mut dyn Entry<SA=SuffixTable> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/suffix_array/impls.rs:144:28
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn new(parser: Box<Parser>) -> ParserE {
[INFO] [stdout]     |                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn new(parser: Box<dyn Parser>) -> ParserE {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/test.rs:12:61
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn assert_parser_equals(got: Option<&TokenType>, expected: &Parser) {
[INFO] [stdout]    |                                                             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn assert_parser_equals(got: Option<&TokenType>, expected: &dyn Parser) {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/trie/node/mod.rs:306:33
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let mut entry: &mut Entry<ST = Self> = match token {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let mut entry: &mut dyn Entry<ST = Self> = match token {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:61:57
[INFO] [stdout]    |
[INFO] [stdout] 61 |             BuildError::TestMessage(ref error) => error.description(),
[INFO] [stdout]    |                                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:62:48
[INFO] [stdout]    |
[INFO] [stdout] 62 |             BuildError::Io(ref error) => error.description(),
[INFO] [stdout]    |                                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:63:55
[INFO] [stdout]    |
[INFO] [stdout] 63 |             BuildError::DeserJson(ref error) => error.description(),
[INFO] [stdout]    |                                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:64:55
[INFO] [stdout]    |
[INFO] [stdout] 64 |             BuildError::DeserYaml(ref error) => error.description(),
[INFO] [stdout]    |                                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:72:57
[INFO] [stdout]    |
[INFO] [stdout] 72 |             BuildError::TestMessage(ref error) => error.cause(),
[INFO] [stdout]    |                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:73:48
[INFO] [stdout]    |
[INFO] [stdout] 73 |             BuildError::Io(ref error) => error.cause(),
[INFO] [stdout]    |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:74:55
[INFO] [stdout]    |
[INFO] [stdout] 74 |             BuildError::DeserJson(ref error) => error.cause(),
[INFO] [stdout]    |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:75:55
[INFO] [stdout]    |
[INFO] [stdout] 75 |             BuildError::DeserYaml(ref error) => error.cause(),
[INFO] [stdout]    |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]    --> src/parsers/set.rs:103:37
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut hasher = SipHasher::new();
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/suffix_array/impls.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let mut entry: &mut Entry<SA=SuffixTable> = match token {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let mut entry: &mut dyn Entry<SA=SuffixTable> = match token {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]   --> src/parsers/int.rs:62:37
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut hasher = SipHasher::new();
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]   --> src/parsers/greedy.rs:45:37
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut hasher = SipHasher::new();
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParserEntry`
[INFO] [stdout]   --> src/matcher/trie/node/mod.rs:11:44
[INFO] [stdout]    |
[INFO] [stdout] 11 | use self::interface::{Entry, LiteralEntry, ParserEntry};
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LiteralEntry`
[INFO] [stdout]   --> src/matcher/trie/node/mod.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | use self::interface::{Entry, LiteralEntry, ParserEntry};
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/trie/node/mod.rs:306:33
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let mut entry: &mut Entry<ST = Self> = match token {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let mut entry: &mut dyn Entry<ST = Self> = match token {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/matcher/trie/node/mod.rs:306:17
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let mut entry: &mut Entry<ST = Self> = match token {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:61:57
[INFO] [stdout]    |
[INFO] [stdout] 61 |             BuildError::TestMessage(ref error) => error.description(),
[INFO] [stdout]    |                                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:62:48
[INFO] [stdout]    |
[INFO] [stdout] 62 |             BuildError::Io(ref error) => error.description(),
[INFO] [stdout]    |                                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:63:55
[INFO] [stdout]    |
[INFO] [stdout] 63 |             BuildError::DeserJson(ref error) => error.description(),
[INFO] [stdout]    |                                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:64:55
[INFO] [stdout]    |
[INFO] [stdout] 64 |             BuildError::DeserYaml(ref error) => error.description(),
[INFO] [stdout]    |                                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:72:57
[INFO] [stdout]    |
[INFO] [stdout] 72 |             BuildError::TestMessage(ref error) => error.cause(),
[INFO] [stdout]    |                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:73:48
[INFO] [stdout]    |
[INFO] [stdout] 73 |             BuildError::Io(ref error) => error.cause(),
[INFO] [stdout]    |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:74:55
[INFO] [stdout]    |
[INFO] [stdout] 74 |             BuildError::DeserJson(ref error) => error.cause(),
[INFO] [stdout]    |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/matcher/pattern_source/error.rs:75:55
[INFO] [stdout]    |
[INFO] [stdout] 75 |             BuildError::DeserYaml(ref error) => error.cause(),
[INFO] [stdout]    |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/suffix_array/impls.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let mut entry: &mut Entry<SA=SuffixTable> = match token {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let mut entry: &mut dyn Entry<SA=SuffixTable> = match token {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/matcher/suffix_array/impls.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let mut entry: &mut Entry<SA=SuffixTable> = match token {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ObjectSafeHash`
[INFO] [stdout]  --> src/grammar/test.rs:2:34
[INFO] [stdout]   |
[INFO] [stdout] 2 | use parsers::{SetParser, Parser, ObjectSafeHash, IntParser, GreedyParser, HasLengthConstraint};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LiteralEntry`
[INFO] [stdout]   --> src/matcher/trie/node/mod.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | use self::interface::{Entry, LiteralEntry, ParserEntry};
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParserEntry`
[INFO] [stdout]   --> src/matcher/trie/node/mod.rs:11:44
[INFO] [stdout]    |
[INFO] [stdout] 11 | use self::interface::{Entry, LiteralEntry, ParserEntry};
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Parser`
[INFO] [stdout]    --> src/matcher/trie/node/mod.rs:323:19
[INFO] [stdout]     |
[INFO] [stdout] 323 |     use parsers::{Parser, SetParser, IntParser, GreedyParser};
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parser` is never used
[INFO] [stdout]   --> src/matcher/suffix_array/interface.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub trait ParserEntry: Entry + Clone {
[INFO] [stdout]    |           ----------- method in this trait
[INFO] [stdout] 33 |     fn parse<'a, 'b>(&'a self, value: &'b str) -> Option<MatchResult<'a, 'b>>;
[INFO] [stdout] 34 |     fn parser(&self) -> &Box<Parser>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/matcher/trie/node/mod.rs:306:17
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let mut entry: &mut Entry<ST = Self> = match token {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/matcher/suffix_array/impls.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let mut entry: &mut Entry<SA=SuffixTable> = match token {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parser` is never used
[INFO] [stdout]   --> src/matcher/suffix_array/interface.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub trait ParserEntry: Entry + Clone {
[INFO] [stdout]    |           ----------- method in this trait
[INFO] [stdout] 33 |     fn parse<'a, 'b>(&'a self, value: &'b str) -> Option<MatchResult<'a, 'b>>;
[INFO] [stdout] 34 |     fn parser(&self) -> &Box<Parser>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.45s
[INFO] running `Command { std: "docker" "inspect" "6247f8026964ef862db291c215c56098e36f9e2837b07d28c90482efbb715eaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6247f8026964ef862db291c215c56098e36f9e2837b07d28c90482efbb715eaa", kill_on_drop: false }`
[INFO] [stdout] 6247f8026964ef862db291c215c56098e36f9e2837b07d28c90482efbb715eaa
