[INFO] fetching crate actiondb 0.7.0...
[INFO] checking actiondb-0.7.0 against master#fd2c811d25ad5773fbd2463e058bf4edf4d44eb2 for pr-130443
[INFO] extracting crate actiondb 0.7.0 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate actiondb 0.7.0 on toolchain fd2c811d25ad5773fbd2463e058bf4edf4d44eb2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "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-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 47 packages to latest compatible versions
[INFO] [stderr]       Adding arrayvec v0.5.2 (available: v0.7.6)
[INFO] [stderr]       Adding base64 v0.13.1 (available: v0.22.1)
[INFO] [stderr]       Adding bitflags v1.3.2 (available: v2.6.0)
[INFO] [stderr]       Adding blake2b_simd v0.5.11 (available: v1.0.2)
[INFO] [stderr]       Adding clap v2.34.0 (available: v4.5.18)
[INFO] [stderr]       Adding constant_time_eq v0.1.5 (available: v0.3.1)
[INFO] [stderr]       Adding dirs v1.0.5 (available: v5.0.1)
[INFO] [stderr]       Adding getrandom v0.1.16 (available: v0.2.15)
[INFO] [stderr]       Adding hermit-abi v0.1.19 (available: v0.4.0)
[INFO] [stderr]       Adding itoa v0.1.1 (available: v1.0.11)
[INFO] [stderr]       Adding log v0.3.9 (available: v0.4.22)
[INFO] [stderr]       Adding num-traits v0.1.43 (available: v0.2.19)
[INFO] [stderr]       Adding rand v0.3.23 (available: v0.8.5)
[INFO] [stderr]       Adding rand v0.4.6 (available: v0.8.5)
[INFO] [stderr]       Adding rand_core v0.3.1 (available: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.4.2 (available: v0.6.4)
[INFO] [stderr]       Adding rdrand v0.4.0 (available: v0.8.3)
[INFO] [stderr]       Adding redox_syscall v0.1.57 (available: v0.5.4)
[INFO] [stderr]       Adding redox_users v0.3.5 (available: v0.4.6)
[INFO] [stderr]       Adding rust-argon2 v0.8.3 (available: v2.1.0)
[INFO] [stderr]       Adding serde v0.7.15 (available: v1.0.210)
[INFO] [stderr]       Adding serde_json v0.7.4 (available: v1.0.128)
[INFO] [stderr]       Adding serde_yaml v0.2.5 (available: v0.9.34+deprecated)
[INFO] [stderr]       Adding strsim v0.8.0 (available: v0.11.1)
[INFO] [stderr]       Adding term v0.5.2 (available: v1.0.0)
[INFO] [stderr]       Adding textwrap v0.11.0 (available: v0.16.1)
[INFO] [stderr]       Adding unicode-width v0.1.14 (available: v0.2.0)
[INFO] [stderr]       Adding uuid v0.1.18 (available: v1.10.0)
[INFO] [stderr]       Adding wasi v0.9.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1)
[INFO] [stderr]       Adding yaml-rust v0.3.5 (available: v0.4.5)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "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]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded term v0.5.2
[INFO] [stderr]   Downloaded uuid v0.1.18
[INFO] [stderr]   Downloaded yaml-rust v0.3.5
[INFO] [stderr]   Downloaded dirs v1.0.5
[INFO] [stderr]   Downloaded constant_time_eq v0.1.5
[INFO] [stderr]   Downloaded serde v0.7.15
[INFO] [stderr]   Downloaded blake2b_simd v0.5.11
[INFO] [stderr]   Downloaded rust-argon2 v0.8.3
[INFO] [stderr]   Downloaded redox_users v0.3.5
[INFO] [stderr]   Downloaded clippy v0.0.302
[INFO] [stderr]   Downloaded serde_json v0.7.4
[INFO] [stderr]   Downloaded serde_yaml v0.2.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bee3d0760276c944deb6a2340792ef0fc623bb85507488544839cafd2cd8529f
[INFO] running `Command { std: "docker" "start" "-a" "bee3d0760276c944deb6a2340792ef0fc623bb85507488544839cafd2cd8529f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bee3d0760276c944deb6a2340792ef0fc623bb85507488544839cafd2cd8529f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bee3d0760276c944deb6a2340792ef0fc623bb85507488544839cafd2cd8529f", kill_on_drop: false }`
[INFO] [stdout] bee3d0760276c944deb6a2340792ef0fc623bb85507488544839cafd2cd8529f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] af4a759eb9f0d76deecdc417b6f57c55ad4a96e970cf2ca236e9c7821a659c56
[INFO] running `Command { std: "docker" "start" "-a" "af4a759eb9f0d76deecdc417b6f57c55ad4a96e970cf2ca236e9c7821a659c56", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]     Checking serde v0.7.15
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking itoa v0.1.1
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]     Checking yaml-rust v0.3.5
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking serde_yaml v0.2.5
[INFO] [stderr]     Checking serde_json v0.7.4
[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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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/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 an object-safe 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 an object-safe 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 an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn boxed_clone(&self) -> Box<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/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 an object-safe 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 an object-safe 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/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 an object-safe 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 an object-safe 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 an object-safe 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/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 an object-safe 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/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 an object-safe 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 an object-safe 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/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 an object-safe 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 an object-safe 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/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 an object-safe 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/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 an object-safe 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 an object-safe 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 an object-safe 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/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 an object-safe 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 an object-safe 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/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 an object-safe 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/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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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/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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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/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 an object-safe 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/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 an object-safe 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 an object-safe 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 an object-safe 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/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 an object-safe 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 an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn boxed_clone(&self) -> Box<dyn Parser> {
[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/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 an object-safe 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 an object-safe 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: 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/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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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/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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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: 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 an object-safe 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/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: 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 an object-safe 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: 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: 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 an object-safe 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: 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: 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: 111 warnings emitted
[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] [stdout] warning: 114 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.09s
[INFO] running `Command { std: "docker" "inspect" "af4a759eb9f0d76deecdc417b6f57c55ad4a96e970cf2ca236e9c7821a659c56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af4a759eb9f0d76deecdc417b6f57c55ad4a96e970cf2ca236e9c7821a659c56", kill_on_drop: false }`
[INFO] [stdout] af4a759eb9f0d76deecdc417b6f57c55ad4a96e970cf2ca236e9c7821a659c56
