[INFO] fetching crate actiondb 0.7.0... [INFO] testing actiondb-0.7.0 against beta-2022-04-10 for beta-1.61-1 [INFO] extracting crate actiondb 0.7.0 into /workspace/builds/worker-6/source [INFO] validating manifest of crates.io crate actiondb 0.7.0 on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "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-6/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fb5f7e9f34bf8f3cd637b69580c21ccc88a02c9fac89dff8db3778160432211a [INFO] running `Command { std: "docker" "start" "-a" "fb5f7e9f34bf8f3cd637b69580c21ccc88a02c9fac89dff8db3778160432211a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fb5f7e9f34bf8f3cd637b69580c21ccc88a02c9fac89dff8db3778160432211a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb5f7e9f34bf8f3cd637b69580c21ccc88a02c9fac89dff8db3778160432211a", kill_on_drop: false }` [INFO] [stdout] fb5f7e9f34bf8f3cd637b69580c21ccc88a02c9fac89dff8db3778160432211a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 52656750450a90cf9bcaa136a2486fe66945f7bd31ce71cc531b4e6f322db5de [INFO] running `Command { std: "docker" "start" "-a" "52656750450a90cf9bcaa136a2486fe66945f7bd31ce71cc531b4e6f322db5de", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.123 [INFO] [stderr] Compiling log v0.4.16 [INFO] [stderr] Compiling serde v0.7.15 [INFO] [stderr] Compiling unicode-width v0.1.9 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling itoa v0.1.1 [INFO] [stderr] Compiling rustc-serialize v0.3.24 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling yaml-rust v0.3.5 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling log v0.3.9 [INFO] [stderr] Compiling serde_yaml v0.2.5 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling serde_json v0.7.4 [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling uuid v0.1.18 [INFO] [stderr] Compiling actiondb v0.7.0 (/opt/rustwide/workdir) [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: 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); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [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 [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::(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::(&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::(&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::(&content)); [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: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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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 [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 [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 [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 [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 [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | parser: &'a Parser, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - parser: &'a Parser, [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, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 10 - parser: Box, [INFO] [stdout] 10 + parser: Box, [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), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 - Parser(Box), [INFO] [stdout] 7 + Parser(Box), [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, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 129 - parser: Box, [INFO] [stdout] 129 + parser: Box, [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - fn boxed_clone(&self) -> Box; [INFO] [stdout] 22 + fn boxed_clone(&self) -> Box; [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 57 - -> Box; [INFO] [stdout] 57 + -> Box; [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 60 - -> Box; [INFO] [stdout] 60 + -> Box; [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 - fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box; [INFO] [stdout] 61 + fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 - pub fn new(parser: &'a Parser, value: &'b str) -> ParseResult<'a, 'b> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 - pub fn parser(&self) -> &'a Parser { [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/mod.rs:23:34 [INFO] [stdout] | [INFO] [stdout] 23 | fn boxed_clone(&self) -> Box; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - fn boxed_clone(&self) -> Box; [INFO] [stdout] 23 + fn boxed_clone(&self) -> Box; [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 96 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 96 + fn boxed_clone(&self) -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 34 + fn boxed_clone(&self) -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 73 + fn boxed_clone(&self) -> Box { [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 - pub type PatternSource = Source; [INFO] [stdout] 7 + pub type PatternSource = dyn Source; [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) -> &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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 - pub fn parser(&mut self, parser: Box) -> &mut CompiledPatternBuilder { [INFO] [stdout] 40 + pub fn parser(&mut self, parser: Box) -> &mut CompiledPatternBuilder { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 - fn lookup_parser(&mut self, parser: &Parser) -> Option { [INFO] [stdout] 214 + fn lookup_parser(&mut self, parser: &dyn Parser) -> Option { [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) -> &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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 277 - pub fn insert_parser(&mut self, parser: Box) -> &mut ParserNode { [INFO] [stdout] 277 + pub fn insert_parser(&mut self, parser: Box) -> &mut ParserNode { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - -> Box { [INFO] [stdout] 38 + -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 - -> Box { [INFO] [stdout] 47 + -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 - fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box { [INFO] [stdout] 54 + fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 14 + fn boxed_clone(&self) -> Box { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 70 - fn cause(&self) -> Option<&error::Error> { [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/suffix_array/interface.rs:34:30 [INFO] [stdout] | [INFO] [stdout] 34 | fn parser(&self) -> &Box; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn parser(&self) -> &Box; [INFO] [stdout] 34 + fn parser(&self) -> &Box; [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - fn insert_literal(&mut self, literal: String) -> &mut Entry { [INFO] [stdout] 49 + fn insert_literal(&mut self, literal: String) -> &mut dyn Entry { [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) -> &mut Entry { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 - fn insert_parser(&mut self, parser: Box) -> &mut Entry { [INFO] [stdout] 72 + fn insert_parser(&mut self, parser: Box) -> &mut dyn Entry { [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) -> &mut Entry { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 - fn insert_parser(&mut self, parser: Box) -> &mut Entry { [INFO] [stdout] 72 + fn insert_parser(&mut self, parser: Box) -> &mut Entry { [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) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 144 - pub fn new(parser: Box) -> ParserE { [INFO] [stdout] 144 + pub fn new(parser: Box) -> ParserE { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 - fn parser(&self) -> &Box { [INFO] [stdout] 183 + fn parser(&self) -> &Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 267 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 267 + fn boxed_clone(&self) -> Box { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 256 - -> RuleResult> { [INFO] [stdout] 256 + -> RuleResult> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 268 - -> RuleResult> { [INFO] [stdout] 268 + -> RuleResult> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 429 - -> RuleResult> { [INFO] [stdout] 429 + -> RuleResult> { [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) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - pub fn new(parser: Box) -> ParserNode { [INFO] [stdout] 16 + pub fn new(parser: Box) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 24 - pub fn parser(&self) -> &Parser { [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/node/parser.rs:103:30 [INFO] [stdout] | [INFO] [stdout] 103 | fn parser(&self) -> &Box { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 103 - fn parser(&self) -> &Box { [INFO] [stdout] 103 + fn parser(&self) -> &Box { [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn parser(&self) -> &Box; [INFO] [stdout] 34 + fn parser(&self) -> &Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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/mod.rs:306:33 [INFO] [stdout] | [INFO] [stdout] 306 | let mut entry: &mut Entry = 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 306 - let mut entry: &mut Entry = match token { [INFO] [stdout] 306 + let mut entry: &mut dyn Entry = match token { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `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 associated function `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 associated function `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 associated function `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 associated function `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 associated function `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 associated function `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 associated function `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 = 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 - let mut entry: &mut Entry = match token { [INFO] [stdout] 113 + let mut entry: &mut dyn Entry = match token { [INFO] [stdout] | [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] = note: `#[warn(unused_imports)]` on by default [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: 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 = 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 = match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 110 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 11.86s [INFO] running `Command { std: "docker" "inspect" "52656750450a90cf9bcaa136a2486fe66945f7bd31ce71cc531b4e6f322db5de", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "52656750450a90cf9bcaa136a2486fe66945f7bd31ce71cc531b4e6f322db5de", kill_on_drop: false }` [INFO] [stdout] 52656750450a90cf9bcaa136a2486fe66945f7bd31ce71cc531b4e6f322db5de [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a1be0840c8c7d13792108d47fdc6ad9a861991524c75e556fd35fad0a7a6253b [INFO] running `Command { std: "docker" "start" "-a" "a1be0840c8c7d13792108d47fdc6ad9a861991524c75e556fd35fad0a7a6253b", kill_on_drop: false }` [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: 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); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [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 [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::(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::(&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::(&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::(&content)); [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: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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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 [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 [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 [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 [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 [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | parser: &'a Parser, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - parser: &'a Parser, [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, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 10 - parser: Box, [INFO] [stdout] 10 + parser: Box, [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), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 - Parser(Box), [INFO] [stdout] 7 + Parser(Box), [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, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 129 - parser: Box, [INFO] [stdout] 129 + parser: Box, [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - fn boxed_clone(&self) -> Box; [INFO] [stdout] 22 + fn boxed_clone(&self) -> Box; [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 57 - -> Box; [INFO] [stdout] 57 + -> Box; [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 60 - -> Box; [INFO] [stdout] 60 + -> Box; [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 - fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box; [INFO] [stdout] 61 + fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 - pub fn new(parser: &'a Parser, value: &'b str) -> ParseResult<'a, 'b> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 - pub fn parser(&self) -> &'a Parser { [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/mod.rs:23:34 [INFO] [stdout] | [INFO] [stdout] 23 | fn boxed_clone(&self) -> Box; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - fn boxed_clone(&self) -> Box; [INFO] [stdout] 23 + fn boxed_clone(&self) -> Box; [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 96 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 96 + fn boxed_clone(&self) -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 34 + fn boxed_clone(&self) -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 73 + fn boxed_clone(&self) -> Box { [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 - pub type PatternSource = Source; [INFO] [stdout] 7 + pub type PatternSource = dyn Source; [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) -> &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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 - pub fn parser(&mut self, parser: Box) -> &mut CompiledPatternBuilder { [INFO] [stdout] 40 + pub fn parser(&mut self, parser: Box) -> &mut CompiledPatternBuilder { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 - fn lookup_parser(&mut self, parser: &Parser) -> Option { [INFO] [stdout] 214 + fn lookup_parser(&mut self, parser: &dyn Parser) -> Option { [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) -> &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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 277 - pub fn insert_parser(&mut self, parser: Box) -> &mut ParserNode { [INFO] [stdout] 277 + pub fn insert_parser(&mut self, parser: Box) -> &mut ParserNode { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - -> Box { [INFO] [stdout] 38 + -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 - -> Box { [INFO] [stdout] 47 + -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 - fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box { [INFO] [stdout] 54 + fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 14 + fn boxed_clone(&self) -> Box { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 70 - fn cause(&self) -> Option<&error::Error> { [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/suffix_array/interface.rs:34:30 [INFO] [stdout] | [INFO] [stdout] 34 | fn parser(&self) -> &Box; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn parser(&self) -> &Box; [INFO] [stdout] 34 + fn parser(&self) -> &Box; [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - fn insert_literal(&mut self, literal: String) -> &mut Entry { [INFO] [stdout] 49 + fn insert_literal(&mut self, literal: String) -> &mut dyn Entry { [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) -> &mut Entry { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 - fn insert_parser(&mut self, parser: Box) -> &mut Entry { [INFO] [stdout] 72 + fn insert_parser(&mut self, parser: Box) -> &mut dyn Entry { [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) -> &mut Entry { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 - fn insert_parser(&mut self, parser: Box) -> &mut Entry { [INFO] [stdout] 72 + fn insert_parser(&mut self, parser: Box) -> &mut Entry { [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) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 144 - pub fn new(parser: Box) -> ParserE { [INFO] [stdout] 144 + pub fn new(parser: Box) -> ParserE { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 - fn parser(&self) -> &Box { [INFO] [stdout] 183 + fn parser(&self) -> &Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 267 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 267 + fn boxed_clone(&self) -> Box { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 256 - -> RuleResult> { [INFO] [stdout] 256 + -> RuleResult> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 268 - -> RuleResult> { [INFO] [stdout] 268 + -> RuleResult> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 429 - -> RuleResult> { [INFO] [stdout] 429 + -> RuleResult> { [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) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - pub fn new(parser: Box) -> ParserNode { [INFO] [stdout] 16 + pub fn new(parser: Box) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 24 - pub fn parser(&self) -> &Parser { [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/node/parser.rs:103:30 [INFO] [stdout] | [INFO] [stdout] 103 | fn parser(&self) -> &Box { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 103 - fn parser(&self) -> &Box { [INFO] [stdout] 103 + fn parser(&self) -> &Box { [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn parser(&self) -> &Box; [INFO] [stdout] 34 + fn parser(&self) -> &Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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/mod.rs:306:33 [INFO] [stdout] | [INFO] [stdout] 306 | let mut entry: &mut Entry = 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 306 - let mut entry: &mut Entry = match token { [INFO] [stdout] 306 + let mut entry: &mut dyn Entry = match token { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `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 associated function `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 associated function `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 associated function `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 associated function `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 associated function `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 associated function `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 associated function `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 = 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 - let mut entry: &mut Entry = match token { [INFO] [stdout] 113 + let mut entry: &mut dyn Entry = match token { [INFO] [stdout] | [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] = note: `#[warn(unused_imports)]` on by default [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: 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 = 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 = match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 110 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling actiondb v0.7.0 (/opt/rustwide/workdir) [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: 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); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [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 [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::(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::(&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::(&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::(&content)); [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: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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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 [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 [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 [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 [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 [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | parser: &'a Parser, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - parser: &'a Parser, [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, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 10 - parser: Box, [INFO] [stdout] 10 + parser: Box, [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), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 - Parser(Box), [INFO] [stdout] 7 + Parser(Box), [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, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 129 - parser: Box, [INFO] [stdout] 129 + parser: Box, [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - fn boxed_clone(&self) -> Box; [INFO] [stdout] 22 + fn boxed_clone(&self) -> Box; [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 57 - -> Box; [INFO] [stdout] 57 + -> Box; [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 60 - -> Box; [INFO] [stdout] 60 + -> Box; [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 - fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box; [INFO] [stdout] 61 + fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 - pub fn new(parser: &'a Parser, value: &'b str) -> ParseResult<'a, 'b> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 - pub fn parser(&self) -> &'a Parser { [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/mod.rs:23:34 [INFO] [stdout] | [INFO] [stdout] 23 | fn boxed_clone(&self) -> Box; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - fn boxed_clone(&self) -> Box; [INFO] [stdout] 23 + fn boxed_clone(&self) -> Box; [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 96 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 96 + fn boxed_clone(&self) -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 34 + fn boxed_clone(&self) -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 73 + fn boxed_clone(&self) -> Box { [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 - pub type PatternSource = Source; [INFO] [stdout] 7 + pub type PatternSource = dyn Source; [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) -> &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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 - pub fn parser(&mut self, parser: Box) -> &mut CompiledPatternBuilder { [INFO] [stdout] 40 + pub fn parser(&mut self, parser: Box) -> &mut CompiledPatternBuilder { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 - fn assert_parser_equals(got: Option<&TokenType>, expected: &Parser) { [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:214:42 [INFO] [stdout] | [INFO] [stdout] 214 | fn lookup_parser(&mut self, parser: &Parser) -> Option { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 - fn lookup_parser(&mut self, parser: &Parser) -> Option { [INFO] [stdout] 214 + fn lookup_parser(&mut self, parser: &dyn Parser) -> Option { [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) -> &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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 277 - pub fn insert_parser(&mut self, parser: Box) -> &mut ParserNode { [INFO] [stdout] 277 + pub fn insert_parser(&mut self, parser: Box) -> &mut ParserNode { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - -> Box { [INFO] [stdout] 38 + -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 - -> Box { [INFO] [stdout] 47 + -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 - fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box { [INFO] [stdout] 54 + fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 14 + fn boxed_clone(&self) -> Box { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 70 - fn cause(&self) -> Option<&error::Error> { [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/suffix_array/interface.rs:34:30 [INFO] [stdout] | [INFO] [stdout] 34 | fn parser(&self) -> &Box; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn parser(&self) -> &Box; [INFO] [stdout] 34 + fn parser(&self) -> &Box; [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - fn insert_literal(&mut self, literal: String) -> &mut Entry { [INFO] [stdout] 49 + fn insert_literal(&mut self, literal: String) -> &mut dyn Entry { [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) -> &mut Entry { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 - fn insert_parser(&mut self, parser: Box) -> &mut Entry { [INFO] [stdout] 72 + fn insert_parser(&mut self, parser: Box) -> &mut dyn Entry { [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) -> &mut Entry { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 - fn insert_parser(&mut self, parser: Box) -> &mut Entry { [INFO] [stdout] 72 + fn insert_parser(&mut self, parser: Box) -> &mut Entry { [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) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 144 - pub fn new(parser: Box) -> ParserE { [INFO] [stdout] 144 + pub fn new(parser: Box) -> ParserE { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 - fn parser(&self) -> &Box { [INFO] [stdout] 183 + fn parser(&self) -> &Box { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 267 - fn boxed_clone(&self) -> Box { [INFO] [stdout] 267 + fn boxed_clone(&self) -> Box { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 256 - -> RuleResult> { [INFO] [stdout] 256 + -> RuleResult> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 268 - -> RuleResult> { [INFO] [stdout] 268 + -> RuleResult> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 429 - -> RuleResult> { [INFO] [stdout] 429 + -> RuleResult> { [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) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - pub fn new(parser: Box) -> ParserNode { [INFO] [stdout] 16 + pub fn new(parser: Box) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 24 - pub fn parser(&self) -> &Parser { [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/node/parser.rs:103:30 [INFO] [stdout] | [INFO] [stdout] 103 | fn parser(&self) -> &Box { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 103 - fn parser(&self) -> &Box { [INFO] [stdout] 103 + fn parser(&self) -> &Box { [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; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn parser(&self) -> &Box; [INFO] [stdout] 34 + fn parser(&self) -> &Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::collections::hash_map::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::collections::hash_map::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::collections::hash_map::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/mod.rs:306:33 [INFO] [stdout] | [INFO] [stdout] 306 | let mut entry: &mut Entry = 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 306 - let mut entry: &mut Entry = match token { [INFO] [stdout] 306 + let mut entry: &mut dyn Entry = match token { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `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 associated function `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 associated function `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 associated function `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 associated function `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 associated function `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 associated function `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 associated function `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 = 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 - let mut entry: &mut Entry = match token { [INFO] [stdout] 113 + let mut entry: &mut dyn Entry = match token { [INFO] [stdout] | [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] = note: `#[warn(unused_imports)]` on by default [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: 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] [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 = 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 = match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 113 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.56s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/actiondb-4f9f6345ec585722) [INFO] [stderr] Executable tests/lib.rs (/opt/rustwide/target/debug/deps/lib-5ad7ba93417b38b5) [INFO] running `Command { std: "docker" "inspect" "a1be0840c8c7d13792108d47fdc6ad9a861991524c75e556fd35fad0a7a6253b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a1be0840c8c7d13792108d47fdc6ad9a861991524c75e556fd35fad0a7a6253b", kill_on_drop: false }` [INFO] [stdout] a1be0840c8c7d13792108d47fdc6ad9a861991524c75e556fd35fad0a7a6253b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 676bc77e5f17770bb6d48e120d36676e2c59b456c767fe3d689a466ad2bfab9f [INFO] running `Command { std: "docker" "start" "-a" "676bc77e5f17770bb6d48e120d36676e2c59b456c767fe3d689a466ad2bfab9f", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unknown lint: `clippy` [INFO] [stderr] --> src/grammar/parser/mod.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | #[allow(clippy)] [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unknown_lints)]` on by default [INFO] [stderr] [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> src/parsers/mod.rs:21:28 [INFO] [stderr] | [INFO] [stderr] 21 | fn set_name(&mut self, Option); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/deser.rs:77:17 [INFO] [stderr] | [INFO] [stderr] 77 | try!(Err(serde::de::Error::missing_field("uuid"))) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/deser.rs:130:9 [INFO] [stderr] | [INFO] [stderr] 130 | try!(visitor.end()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/deser.rs:96:33 [INFO] [stderr] | [INFO] [stderr] 96 | while let Some(field) = try!(visitor.visit_key()) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/deser.rs:98:44 [INFO] [stderr] | [INFO] [stderr] 98 | Field::NAME => name = Some(try!(visitor.visit_value())), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/deser.rs:99:44 [INFO] [stderr] | [INFO] [stderr] 99 | Field::UUID => uuid = Some(try!(visitor.visit_value())), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/deser.rs:100:50 [INFO] [stderr] | [INFO] [stderr] 100 | Field::PATTERN => pattern = Some(try!(visitor.visit_value())), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/deser.rs:101:48 [INFO] [stderr] | [INFO] [stderr] 101 | Field::VALUES => values = Some(try!(visitor.visit_value())), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/deser.rs:102:44 [INFO] [stderr] | [INFO] [stderr] 102 | Field::TAGS => tags = Some(try!(visitor.visit_value())), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/deser.rs:103:61 [INFO] [stderr] | [INFO] [stderr] 103 | Field::TESTMESSAGES => test_messages = Some(try!(visitor.visit_value())), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/deser.rs:107:20 [INFO] [stderr] | [INFO] [stderr] 107 | let uuid = try!(PatternVisitor::parse_uuid::(uuid)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/deser.rs:120:25 [INFO] [stderr] | [INFO] [stderr] 120 | try!(Err(serde::de::Error::custom("Invalid field 'pattern'"))) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/deser.rs:126:17 [INFO] [stderr] | [INFO] [stderr] 126 | try!(Err(serde::de::Error::missing_field("pattern"))) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/file/deser.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | try!(visitor.end()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/file/deser.rs:51:34 [INFO] [stderr] | [INFO] [stderr] 51 | while let Some (field) = try!(visitor.visit_key()) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/file/deser.rs:53:52 [INFO] [stderr] | [INFO] [stderr] 53 | Field::PATTERNS => patterns = Some(try!(visitor.visit_value())) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/file/deser.rs:59:21 [INFO] [stderr] | [INFO] [stderr] 59 | None => try!(visitor.missing_field("patterns")), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/testmessage/deser.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | try!(visitor.end()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/testmessage/deser.rs:56:33 [INFO] [stderr] | [INFO] [stderr] 56 | while let Some(field) = try!(visitor.visit_key()) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/testmessage/deser.rs:58:50 [INFO] [stderr] | [INFO] [stderr] 58 | Field::MESSAGE => message = Some(try!(visitor.visit_value())), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/testmessage/deser.rs:59:48 [INFO] [stderr] | [INFO] [stderr] 59 | Field::VALUES => values = Some(try!(visitor.visit_value())), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/testmessage/deser.rs:60:44 [INFO] [stderr] | [INFO] [stderr] 60 | Field::TAGS => tags = Some(try!(visitor.visit_value())), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/testmessage/deser.rs:66:21 [INFO] [stderr] | [INFO] [stderr] 66 | None => try!(visitor.missing_field("message")), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/testmessage/message.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | try!(self.test_tags(result)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/testmessage/message.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | try!(TestMessage::test_value(key, value, &merged_values, result)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern/testmessage/message.rs:87:17 [INFO] [stderr] | [INFO] [stderr] 87 | try!(self.test_expected_tags_can_be_found_in_got_tags(expected_tags, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern_source/mod.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | try!(Self::check_pattern::(&mut matcher, pattern)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern_source/mod.rs:33:27 [INFO] [stderr] | [INFO] [stderr] 33 | let mut pattern = try!(result); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern_source/mod.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | try!(Self::check_test_message(msg, &result, uuid)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern_source/mod.rs:55:26 [INFO] [stderr] | [INFO] [stderr] 55 | let result = try!(matcher.parse(msg.message()) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern_loader.rs:19:24 [INFO] [stderr] | [INFO] [stderr] 19 | let mut file = try!(File::open(pattern_file_path)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern_loader.rs:27:20 [INFO] [stderr] | [INFO] [stderr] 27 | let file = try!(PatternLoader::load_file(pattern_file_path)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern_loader.rs:34:20 [INFO] [stderr] | [INFO] [stderr] 34 | let file = try!(PatternLoader::load_file(pattern_file_path)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern_loader.rs:43:23 [INFO] [stderr] | [INFO] [stderr] 43 | match try!(extension.to_str().ok_or(BuildError::NotUtf8FileName)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern_loader.rs:45:39 [INFO] [stderr] | [INFO] [stderr] 45 | let content = try!(PatternLoader::read(pattern_file_path)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern_loader.rs:46:36 [INFO] [stderr] | [INFO] [stderr] 46 | let file = try!(serde_json::from_str::(&content)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern_loader.rs:50:39 [INFO] [stderr] | [INFO] [stderr] 50 | let content = try!(PatternLoader::read(pattern_file_path)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/matcher/pattern_loader.rs:51:36 [INFO] [stderr] | [INFO] [stderr] 51 | let file = try!(serde_yaml::from_str::(&content)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/grammar/parser/pattern_parser.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | try!(write!(fmt, "error at {}:{}: expected ", self.line, self.column)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/grammar/parser/pattern_parser.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | try!(write!(fmt, "EOF")); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/grammar/parser/pattern_parser.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | try!(write!(fmt, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/grammar/parser/pattern_parser.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | try!(write!(fmt, "one of `{}`", escape_default(iter.next().unwrap()))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/grammar/parser/pattern_parser.rs:44:17 [INFO] [stderr] | [INFO] [stderr] 44 | try!(write!(fmt, ", `{}`", escape_default(elem))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/grammar/parser/pattern_parser.rs:890:24 [INFO] [stderr] | [INFO] [stderr] 890 | 'a'...'z' | 'A'...'Z' | '_' | '.' => Matched(next, ()), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/grammar/parser/pattern_parser.rs:890:36 [INFO] [stderr] | [INFO] [stderr] 890 | 'a'...'z' | 'A'...'Z' | '_' | '.' => Matched(next, ()), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/grammar/parser/pattern_parser.rs:907:48 [INFO] [stderr] | [INFO] [stderr] 907 | ... 'a'...'z' | [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/grammar/parser/pattern_parser.rs:909:48 [INFO] [stderr] | [INFO] [stderr] 909 | ... 'A'...'Z' | [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/grammar/parser/pattern_parser.rs:910:48 [INFO] [stderr] | [INFO] [stderr] 910 | ... '0'...'9' | [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/grammar/parser/pattern_parser.rs:1164:32 [INFO] [stderr] | [INFO] [stderr] 1164 | ... '0'...'9' => Matched(next, ()), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::DefaultHasher` instead [INFO] [stderr] --> src/parsers/set.rs:3:17 [INFO] [stderr] | [INFO] [stderr] 3 | use std::hash::{SipHasher, Hash, Hasher}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::DefaultHasher` instead [INFO] [stderr] --> src/parsers/set.rs:103:26 [INFO] [stderr] | [INFO] [stderr] 103 | let mut hasher = SipHasher::new(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::DefaultHasher` instead [INFO] [stderr] --> src/parsers/int.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | use std::hash::{SipHasher, Hash, Hasher}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::DefaultHasher` instead [INFO] [stderr] --> src/parsers/int.rs:62:26 [INFO] [stderr] | [INFO] [stderr] 62 | let mut hasher = SipHasher::new(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::DefaultHasher` instead [INFO] [stderr] --> src/parsers/greedy.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | use std::hash::{SipHasher, Hash, Hasher}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::DefaultHasher` instead [INFO] [stderr] --> src/parsers/greedy.rs:45:26 [INFO] [stderr] | [INFO] [stderr] 45 | let mut hasher = SipHasher::new(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/mod.rs:32:17 [INFO] [stderr] | [INFO] [stderr] 32 | parser: &'a Parser, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 32 - parser: &'a Parser, [INFO] [stderr] 32 + parser: &'a dyn Parser, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/trie/node/parser.rs:10:17 [INFO] [stderr] | [INFO] [stderr] 10 | parser: Box, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 10 - parser: Box, [INFO] [stderr] 10 + parser: Box, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/compiled_pattern.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | Parser(Box), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 7 - Parser(Box), [INFO] [stderr] 7 + Parser(Box), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/suffix_array/impls.rs:129:17 [INFO] [stderr] | [INFO] [stderr] 129 | parser: Box, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 129 - parser: Box, [INFO] [stderr] 129 + parser: Box, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/mod.rs:22:34 [INFO] [stderr] | [INFO] [stderr] 22 | fn boxed_clone(&self) -> Box; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 22 - fn boxed_clone(&self) -> Box; [INFO] [stderr] 22 + fn boxed_clone(&self) -> Box; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/mod.rs:57:27 [INFO] [stderr] | [INFO] [stderr] 57 | -> Box; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 57 - -> Box; [INFO] [stderr] 57 + -> Box; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/mod.rs:60:27 [INFO] [stderr] | [INFO] [stderr] 60 | -> Box; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 60 - -> Box; [INFO] [stderr] 60 + -> Box; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/mod.rs:61:72 [INFO] [stderr] | [INFO] [stderr] 61 | fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 61 - fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box; [INFO] [stderr] 61 + fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/mod.rs:37:28 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn new(parser: &'a Parser, value: &'b str) -> ParseResult<'a, 'b> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 37 - pub fn new(parser: &'a Parser, value: &'b str) -> ParseResult<'a, 'b> { [INFO] [stderr] 37 + pub fn new(parser: &'a dyn Parser, value: &'b str) -> ParseResult<'a, 'b> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/mod.rs:44:33 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn parser(&self) -> &'a Parser { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 44 - pub fn parser(&self) -> &'a Parser { [INFO] [stderr] 44 + pub fn parser(&self) -> &'a dyn Parser { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/mod.rs:23:34 [INFO] [stderr] | [INFO] [stderr] 23 | fn boxed_clone(&self) -> Box; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 23 - fn boxed_clone(&self) -> Box; [INFO] [stderr] 23 + fn boxed_clone(&self) -> Box; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/set.rs:96:34 [INFO] [stderr] | [INFO] [stderr] 96 | fn boxed_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 96 - fn boxed_clone(&self) -> Box { [INFO] [stderr] 96 + fn boxed_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/int.rs:34:34 [INFO] [stderr] | [INFO] [stderr] 34 | fn boxed_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 34 - fn boxed_clone(&self) -> Box { [INFO] [stderr] 34 + fn boxed_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/greedy.rs:73:34 [INFO] [stderr] | [INFO] [stderr] 73 | fn boxed_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 73 - fn boxed_clone(&self) -> Box { [INFO] [stderr] 73 + fn boxed_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/pattern/source.rs:7:26 [INFO] [stderr] | [INFO] [stderr] 7 | pub type PatternSource = Source; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 7 - pub type PatternSource = Source; [INFO] [stderr] 7 + pub type PatternSource = dyn Source; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/compiled_pattern.rs:40:42 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn parser(&mut self, parser: Box) -> &mut CompiledPatternBuilder { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 40 - pub fn parser(&mut self, parser: Box) -> &mut CompiledPatternBuilder { [INFO] [stderr] 40 + pub fn parser(&mut self, parser: Box) -> &mut CompiledPatternBuilder { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/trie/node/mod.rs:214:42 [INFO] [stderr] | [INFO] [stderr] 214 | fn lookup_parser(&mut self, parser: &Parser) -> Option { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 214 - fn lookup_parser(&mut self, parser: &Parser) -> Option { [INFO] [stderr] 214 + fn lookup_parser(&mut self, parser: &dyn Parser) -> Option { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/trie/node/mod.rs:277:49 [INFO] [stderr] | [INFO] [stderr] 277 | pub fn insert_parser(&mut self, parser: Box) -> &mut ParserNode { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 277 - pub fn insert_parser(&mut self, parser: Box) -> &mut ParserNode { [INFO] [stderr] 277 + pub fn insert_parser(&mut self, parser: Box) -> &mut ParserNode { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/trie/parser_factory.rs:38:27 [INFO] [stderr] | [INFO] [stderr] 38 | -> Box { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 38 - -> Box { [INFO] [stderr] 38 + -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/trie/parser_factory.rs:47:27 [INFO] [stderr] | [INFO] [stderr] 47 | -> Box { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 47 - -> Box { [INFO] [stderr] 47 + -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/trie/parser_factory.rs:54:72 [INFO] [stderr] | [INFO] [stderr] 54 | fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 54 - fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box { [INFO] [stderr] 54 + fn new_greedy(name: Option<&str>, end_string: Option<&str>) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/trie/matcher.rs:14:34 [INFO] [stderr] | [INFO] [stderr] 14 | fn boxed_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 14 - fn boxed_clone(&self) -> Box { [INFO] [stderr] 14 + fn boxed_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/pattern_source/error.rs:70:32 [INFO] [stderr] | [INFO] [stderr] 70 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 70 - fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] 70 + fn cause(&self) -> Option<&dyn error::Error> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/suffix_array/interface.rs:34:30 [INFO] [stderr] | [INFO] [stderr] 34 | fn parser(&self) -> &Box; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 34 - fn parser(&self) -> &Box; [INFO] [stderr] 34 + fn parser(&self) -> &Box; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/suffix_array/impls.rs:49:59 [INFO] [stderr] | [INFO] [stderr] 49 | fn insert_literal(&mut self, literal: String) -> &mut Entry { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 49 - fn insert_literal(&mut self, literal: String) -> &mut Entry { [INFO] [stderr] 49 + fn insert_literal(&mut self, literal: String) -> &mut dyn Entry { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/suffix_array/impls.rs:72:62 [INFO] [stderr] | [INFO] [stderr] 72 | fn insert_parser(&mut self, parser: Box) -> &mut Entry { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 72 - fn insert_parser(&mut self, parser: Box) -> &mut Entry { [INFO] [stderr] 72 + fn insert_parser(&mut self, parser: Box) -> &mut dyn Entry { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/suffix_array/impls.rs:72:45 [INFO] [stderr] | [INFO] [stderr] 72 | fn insert_parser(&mut self, parser: Box) -> &mut Entry { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 72 - fn insert_parser(&mut self, parser: Box) -> &mut Entry { [INFO] [stderr] 72 + fn insert_parser(&mut self, parser: Box) -> &mut Entry { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/suffix_array/impls.rs:144:28 [INFO] [stderr] | [INFO] [stderr] 144 | pub fn new(parser: Box) -> ParserE { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 144 - pub fn new(parser: Box) -> ParserE { [INFO] [stderr] 144 + pub fn new(parser: Box) -> ParserE { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/suffix_array/impls.rs:183:30 [INFO] [stderr] | [INFO] [stderr] 183 | fn parser(&self) -> &Box { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 183 - fn parser(&self) -> &Box { [INFO] [stderr] 183 + fn parser(&self) -> &Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/suffix_array/impls.rs:267:34 [INFO] [stderr] | [INFO] [stderr] 267 | fn boxed_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 267 - fn boxed_clone(&self) -> Box { [INFO] [stderr] 267 + fn boxed_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grammar/parser/pattern_parser.rs:256:61 [INFO] [stderr] | [INFO] [stderr] 256 | ... -> RuleResult> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 256 - -> RuleResult> { [INFO] [stderr] 256 + -> RuleResult> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grammar/parser/pattern_parser.rs:268:65 [INFO] [stderr] | [INFO] [stderr] 268 | ... -> RuleResult> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 268 - -> RuleResult> { [INFO] [stderr] 268 + -> RuleResult> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grammar/parser/pattern_parser.rs:429:65 [INFO] [stderr] | [INFO] [stderr] 429 | ... -> RuleResult> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 429 - -> RuleResult> { [INFO] [stderr] 429 + -> RuleResult> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/trie/node/parser.rs:16:28 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new(parser: Box) -> ParserNode { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 16 - pub fn new(parser: Box) -> ParserNode { [INFO] [stderr] 16 + pub fn new(parser: Box) -> ParserNode { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/trie/node/parser.rs:24:30 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn parser(&self) -> &Parser { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 24 - pub fn parser(&self) -> &Parser { [INFO] [stderr] 24 + pub fn parser(&self) -> &dyn Parser { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/trie/node/parser.rs:103:30 [INFO] [stderr] | [INFO] [stderr] 103 | fn parser(&self) -> &Box { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 103 - fn parser(&self) -> &Box { [INFO] [stderr] 103 + fn parser(&self) -> &Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/trie/node/interface.rs:34:30 [INFO] [stderr] | [INFO] [stderr] 34 | fn parser(&self) -> &Box; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 34 - fn parser(&self) -> &Box; [INFO] [stderr] 34 + fn parser(&self) -> &Box; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::collections::hash_map::DefaultHasher` instead [INFO] [stderr] --> src/parsers/set.rs:103:37 [INFO] [stderr] | [INFO] [stderr] 103 | let mut hasher = SipHasher::new(); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::collections::hash_map::DefaultHasher` instead [INFO] [stderr] --> src/parsers/int.rs:62:37 [INFO] [stderr] | [INFO] [stderr] 62 | let mut hasher = SipHasher::new(); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::collections::hash_map::DefaultHasher` instead [INFO] [stderr] --> src/parsers/greedy.rs:45:37 [INFO] [stderr] | [INFO] [stderr] 45 | let mut hasher = SipHasher::new(); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/trie/node/mod.rs:306:33 [INFO] [stderr] | [INFO] [stderr] 306 | let mut entry: &mut Entry = match token { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 306 - let mut entry: &mut Entry = match token { [INFO] [stderr] 306 + let mut entry: &mut dyn Entry = match token { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/matcher/pattern_source/error.rs:61:57 [INFO] [stderr] | [INFO] [stderr] 61 | BuildError::TestMessage(ref error) => error.description(), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/matcher/pattern_source/error.rs:62:48 [INFO] [stderr] | [INFO] [stderr] 62 | BuildError::Io(ref error) => error.description(), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/matcher/pattern_source/error.rs:63:55 [INFO] [stderr] | [INFO] [stderr] 63 | BuildError::DeserJson(ref error) => error.description(), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/matcher/pattern_source/error.rs:64:55 [INFO] [stderr] | [INFO] [stderr] 64 | BuildError::DeserYaml(ref error) => error.description(), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/matcher/pattern_source/error.rs:72:57 [INFO] [stderr] | [INFO] [stderr] 72 | BuildError::TestMessage(ref error) => error.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/matcher/pattern_source/error.rs:73:48 [INFO] [stderr] | [INFO] [stderr] 73 | BuildError::Io(ref error) => error.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/matcher/pattern_source/error.rs:74:55 [INFO] [stderr] | [INFO] [stderr] 74 | BuildError::DeserJson(ref error) => error.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/matcher/pattern_source/error.rs:75:55 [INFO] [stderr] | [INFO] [stderr] 75 | BuildError::DeserYaml(ref error) => error.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/matcher/suffix_array/impls.rs:113:33 [INFO] [stderr] | [INFO] [stderr] 113 | let mut entry: &mut Entry = match token { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 113 - let mut entry: &mut Entry = match token { [INFO] [stderr] 113 + let mut entry: &mut dyn Entry = match token { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `LiteralEntry` [INFO] [stderr] --> src/matcher/trie/node/mod.rs:11:30 [INFO] [stderr] | [INFO] [stderr] 11 | use self::interface::{Entry, LiteralEntry, ParserEntry}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `ParserEntry` [INFO] [stderr] --> src/matcher/trie/node/mod.rs:11:44 [INFO] [stderr] | [INFO] [stderr] 11 | use self::interface::{Entry, LiteralEntry, ParserEntry}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/matcher/trie/node/mod.rs:306:17 [INFO] [stderr] | [INFO] [stderr] 306 | let mut entry: &mut Entry = match token { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/matcher/suffix_array/impls.rs:113:17 [INFO] [stderr] | [INFO] [stderr] 113 | let mut entry: &mut Entry = match token { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/grammar/test.rs:12:61 [INFO] [stderr] | [INFO] [stderr] 12 | fn assert_parser_equals(got: Option<&TokenType>, expected: &Parser) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 12 - fn assert_parser_equals(got: Option<&TokenType>, expected: &Parser) { [INFO] [stderr] 12 + fn assert_parser_equals(got: Option<&TokenType>, expected: &dyn Parser) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `Parser` [INFO] [stderr] --> src/matcher/trie/node/mod.rs:323:19 [INFO] [stderr] | [INFO] [stderr] 323 | use parsers::{Parser, SetParser, IntParser, GreedyParser}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ObjectSafeHash` [INFO] [stderr] --> src/grammar/test.rs:2:34 [INFO] [stderr] | [INFO] [stderr] 2 | use parsers::{SetParser, Parser, ObjectSafeHash, IntParser, GreedyParser, HasLengthConstraint}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `actiondb` (lib) generated 110 warnings [INFO] [stderr] warning: `actiondb` (lib test) generated 113 warnings (110 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.42s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/actiondb-4f9f6345ec585722) [INFO] [stdout] [INFO] [stdout] running 81 tests [INFO] [stdout] test grammar::test::test_given_greedy_parser_when_there_is_no_literal_after_it_then_we_take_all_the_remaining_intput_as_matching ... ok [INFO] [stdout] test grammar::test::test_given_parser_as_a_string_when_its_name_is_invalid_then_we_dont_get_the_instantiated_parser ... ok [INFO] [stdout] test grammar::test::test_given_greedy_parser_when_we_parse_it_then_we_get_the_right_result ... ok [INFO] [stdout] test grammar::test::test_given_parser_as_a_string_when_its_type_isnt_exist_then_we_get_an_error ... ok [INFO] [stdout] test grammar::test::test_given_literal_as_a_string_when_it_is_parsed_then_we_stop_at_the_parsers_begin ... ok [INFO] [stdout] test grammar::test::test_given_int_parser_with_optional_parameters_when_we_parse_it_then_we_get_the_right_parser ... ok [INFO] [stdout] test grammar::test::test_given_invalid_pattern_as_a_string_when_we_parse_them_then_we_get_error ... ok [INFO] [stdout] test grammar::test::test_given_parser_as_a_string_when_it_is_parsed_then_we_get_the_instantiated_parser ... ok [INFO] [stdout] test grammar::test::test_given_parser_when_there_is_a_dot_in_its_name_then_it_is_ok ... ok [INFO] [stdout] test grammar::test::test_given_parser_as_a_string_when_its_name_is_valid_then_we_get_the_instantiated_parser ... ok [INFO] [stdout] test grammar::test::test_given_pattern_as_a_string_when_it_is_parsed_with_the_grammar_we_got_the_right_compiled_pattern ... ok [INFO] [stdout] test grammar::test::test_given_set_parser_with_character_set_parameter_when_we_parse_it_then_we_get_the_right_parser ... ok [INFO] [stdout] test grammar::test::test_given_string_which_contains_escaped_chars_when_we_parse_it_then_we_get_the_right_string ... ok [INFO] [stdout] test grammar::test::test_given_set_parser_with_optional_parameters_when_we_parse_it_then_we_get_the_right_parser ... ok [INFO] [stdout] test grammar::test::test_given_valid_pattern_when_it_contains_cr_character_then_we_can_parse_it ... ok [INFO] [stdout] test grammar::test::test_given_valid_pattern_when_it_does_not_have_a_name_then_we_can_parse_the_pattern ... ok [INFO] [stdout] test matcher::pattern::test::test_given_json_pattern_when_it_does_not_have_a_name_it_can_be_successfully_deserialized ... ok [INFO] [stdout] test matcher::pattern::test::test_given_json_pattern_when_its_pattern_is_invalid_then_pattern_cannot_be_built_from_it ... ok [INFO] [stdout] test matcher::pattern::test::test_given_json_pattern_when_it_does_not_have_the_pattern_field_then_it_cannot_be_created ... ok [INFO] [stdout] test matcher::pattern::test::test_given_json_pattern_when_it_does_not_have_the_optional_paramaters_then_pattern_can_be_built_from_it ... ok [INFO] [stdout] test matcher::pattern::test::test_given_json_pattern_when_its_uuid_is_invalid_then_pattern_cannot_be_built_from_it ... ok [INFO] [stdout] test matcher::pattern::test::test_given_json_document_when_it_does_not_contain_errors_then_pattern_can_be_created_from_it ... ok [INFO] [stdout] test matcher::pattern::test::test_given_json_pattern_when_test_messages_are_specified_then_they_are_parsed ... ok [INFO] [stdout] test matcher::pattern::testmessage::test::test_given_json_test_message_when_it_contains_not_just_the_valid_fields_then_we_return_an_error ... ok [INFO] [stdout] test matcher::pattern::test::test_given_json_pattern_with_invalid_uuid_when_we_try_to_create_pattern_then_it_fails ... ok [INFO] [stdout] test matcher::pattern::testmessage::test::test_given_json_test_message_when_it_does_not_have_a_message_field_then_error_is_returned ... ok [INFO] [stdout] test matcher::pattern::testmessage::test::test_given_json_test_message_when_it_does_not_have_the_optional_fields_then_it_can_be_loaded_successfully ... ok [INFO] [stdout] test matcher::pattern::testmessage::test::test_given_json_test_message_when_it_is_deserialized_then_we_get_the_right_instance ... ok [INFO] [stdout] test matcher::suffix_array::test::test_given_parser_trie_when_a_parser_is_not_matched_then_the_parser_stack_is_unwind_so_an_untried_parser_is_tried ... ok [INFO] [stdout] test matcher::suffix_array::test::test_given_suffix_array_when_a_literal_entry_is_found_then_it_is_returned ... ok [INFO] [stdout] test matcher::result::test::test_given_match_result_when_a_parse_result_is_inserted_then_we_use_only_the_ones_where_the_parser_has_a_name ... ok [INFO] [stdout] test matcher::suffix_array::test::test_given_suffix_array_when_a_parser_entry_is_inserted_it_is_only_added_if_it_is_a_new_parser ... ok [INFO] [stdout] test matcher::suffix_array::test::test_given_suffix_array_when_during_parsing_the_parsed_value_is_not_empty_but_we_cant_go_forward_then_the_parsing_is_unsuccessful ... ok [INFO] [stdout] test matcher::suffix_array::test::test_given_suffix_array_when_there_is_no_match_then_the_parsing_is_unsuccessful ... ok [INFO] [stdout] test matcher::suffix_array::test::test_given_suffix_array_when_the_match_is_too_short_then_we_dont_panic ... ok [INFO] [stdout] test matcher::suffix_array::test::test_given_suffix_array_when_literals_are_inserted_then_it_can_find_the_string_with_the_longest_common_prefix ... ok [INFO] [stdout] test matcher::trie::node::test::given_empty_trie_when_literals_are_inserted_then_they_can_be_looked_up ... ok [INFO] [stdout] test matcher::trie::node::literal::test::given_literal_node_when_it_is_compared_to_an_other_literal_node_then_only_their_first_chars_are_checked ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_empty_trie_when_literals_are_inserted_the_child_counts_are_right ... ok [INFO] [stdout] test matcher::trie::node::literal::test::given_literal_node_when_its_leafness_is_checked_the_right_result_is_returned ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_empty_parser_node_when_it_is_used_for_parsing_then_it_returns_none ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_node_when_different_parsers_are_inserted_then_they_are_not_merged ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_node_when_the_same_parsers_are_inserted_then_they_are_merged_into_one_parsernode ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_empty_trie_when_literals_are_inserted_the_nodes_are_split_on_the_right_place ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_parser_trie_when_some_patterns_are_inserted_then_fully_matching_literals_are_returned_as_empty_vectors ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_node_when_the_message_is_too_short_we_do_not_try_to_unwrap_a_childs_pattern ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_parser_trie_when_a_parser_is_not_matched_then_the_parser_stack_is_unwind_so_an_untried_parser_is_tried ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_parser_trie_when_some_patterns_are_inserted_then_texts_can_be_parsed ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_parser_trie_when_some_patterns_are_inserted_then_literal_matches_have_precedence_over_parser_matches ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_parser_trie_when_the_to_be_parsed_literal_is_not_matched_then_the_parse_result_is_none ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_pattern_when_inserted_into_the_parser_tree_then_the_pattern_is_stored_in_the_leaf ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_pattern_with_two_neighbouring_parser_when_the_pattern_is_inserted_into_the_trie_then_everything_is_ok ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_parser_trie_when_the_to_be_parsed_literal_is_a_prefix_in_the_tree_then_the_parse_result_is_none ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_trie_when_literals_are_looked_up_then_the_edges_in_the_trie_are_not_counted_as_literals ... ok [INFO] [stdout] test parsers::greedy::test::test_given_greedy_parser_when_the_end_string_is_not_found_in_the_value_then_the_parser_doesnt_match ... ok [INFO] [stdout] test parsers::has_length_constraint::test::test_given_parser_when_the_match_length_is_not_constrained_then_the_match_length_is_ok_in_every_case ... ok [INFO] [stdout] test parsers::has_length_constraint::test::test_given_parser_when_the_maximum_match_length_is_set_then_the_longer_matches_are_discarded ... ok [INFO] [stdout] test parsers::int::test::test_given_int_parser_when_the_match_is_empty_then_the_result_isnt_successful ... ok [INFO] [stdout] test parsers::int::test::test_given_matching_string_when_it_is_parsed_then_it_matches ... ok [INFO] [stdout] test parsers::int::test::test_given_matching_string_which_is_longer_than_the_max_match_length_when_it_is_parsed_then_it_does_not_match ... ok [INFO] [stdout] test parsers::set::test::test_given_matching_string_when_parsed_it_matches ... ok [INFO] [stdout] test parsers::set::test::test_given_minimum_and_maximum_match_length_when_a_proper_length_match_occures_it_counts_as_a_match ... ok [INFO] [stdout] test parsers::set::test::test_given_not_matching_string_when_parsed_it_wont_match ... ok [INFO] [stdout] test parsers::set::test::test_given_minimum_match_length_when_a_match_is_shorter_it_doesnt_count_as_a_match ... ok [INFO] [stdout] test utils::common_prefix::test::given_a_string_when_longest_common_prefix_is_calulated_then_the_result_is_right ... ok [INFO] [stdout] test parsers::set::test::test_given_set_parser_and_when_differently_parametrized_instances_are_hashed_then_the_hashes_are_different ... ok [INFO] [stdout] test utils::common_prefix::test::test_given_a_string_when_truncated_by_right_then_the_result_is_the_expected ... ok [INFO] [stdout] test utils::sortedvec::test::test_given_sorted_vector_of_literal_nodes_when_binary_search_by_are_used_the_right_node_is_found ... ok [INFO] [stdout] test utils::sortedvec::test::test_given_sorted_vector_when_length_is_queried_it_is_ok ... ok [INFO] [stdout] test parsers::greedy::test::test_given_greedy_parser_when_the_end_string_is_found_in_the_value_then_the_parser_matches ... ok [INFO] [stdout] test parsers::set::test::test_given_empty_string_when_parsed_it_wont_match ... ok [INFO] [stdout] test parsers::has_length_constraint::test::test_given_parser_when_the_minimum_match_length_is_set_then_the_shorter_matches_are_discarded ... ok [INFO] [stdout] test parsers::set::test::test_given_maximum_match_length_when_a_match_is_longer_it_doesnt_count_as_a_match ... ok [INFO] [stdout] test matcher::trie::node::test::test_given_patterns_when_inserted_into_the_prefix_tree_then_the_proper_tree_is_built ... ok [INFO] [stdout] test utils::sortedvec::test::test_given_sorted_vector_when_values_are_found_then_their_references_are_returned ... ok [INFO] [stdout] test utils::common_prefix::test::test_given_a_string_when_truncated_by_left_then_the_result_is_the_expected ... ok [INFO] [stdout] test utils::sortedvec::test::test_given_sorted_vector_when_values_are_pushed_they_be_get ... ok [INFO] [stdout] test utils::sortedvec::test::test_given_sorted_vector_when_values_are_pushed_they_get_sorted ... ok [INFO] [stdout] test utils::sortedvec::test::test_given_sorted_vector_when_values_are_searched_by_custom_cmp_func_they_can_be_found ... ok [INFO] [stdout] test utils::sortedvec::test::test_given_sorted_vector_when_values_are_searched_they_can_be_found ... ok [INFO] [stdout] test grammar::test::test_given_invalid_string_when_we_parse_it_then_the_parser_returns_with_error - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 81 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s [INFO] [stdout] [INFO] [stderr] Running tests/lib.rs (/opt/rustwide/target/debug/deps/lib-5ad7ba93417b38b5) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test file::test_given_not_existing_yaml_pattern_file_when_it_is_opened_we_get_io_error ... ok [INFO] [stdout] test file::test_given_a_non_existing_pattern_file_when_it_is_deserialized_then_we_get_io_error ... ok [INFO] [stdout] test matcher::test_given_non_existing_json_file_when_it_is_loaded_then_matcher_cannot_be_created_from_it ... ok [INFO] [stdout] test matcher::test_given_json_file_when_a_pattern_contains_test_tags_then_we_only_check_the_expected_ones ... ok [INFO] [stdout] test matcher::test_given_json_file_when_its_syntax_is_not_ok_then_matcher_cannot_be_built_from_it ... ok [INFO] [stdout] test matcher::test_given_json_file_when_a_pattern_contains_cr_characters_then_we_handle_it_properly ... ok [INFO] [stdout] test matcher::test_given_json_file_when_a_pattern_contains_test_values_then_we_only_check_the_expected_ones ... ok [INFO] [stdout] test file::test_given_an_invalid_json_pattern_file_when_it_is_deserialized_then_we_get_deserialization_error ... ok [INFO] [stdout] test matcher::test_given_json_file_when_we_check_the_test_messages_then_the_resulting_pattern_should_be_the_tested_one ... ok [INFO] [stdout] test matcher::test_given_json_file_when_its_syntax_is_ok_then_matcher_can_be_built_from_it ... ok [INFO] [stdout] test matcher::test_given_json_file_when_matcher_is_created_by_factory_then_the_right_file_type_is_used_based_on_the_extension ... ok [INFO] [stdout] test file::test_given_valid_yaml_pattern_file_when_it_is_deserialized_then_we_get_the_deserialized_contents ... ok [INFO] [stdout] test file::test_given_a_valid_json_pattern_file_when_it_is_deserialized_then_we_can_extract_the_patterns_from_it ... ok [INFO] [stdout] test matcher::test_given_json_file_when_an_expected_value_is_not_found_then_we_fail ... ok [INFO] [stdout] test matcher::test_given_json_file_when_the_tests_contain_tags_but_the_pattern_does_not_have_them_then_we_fail ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Doc-tests actiondb [INFO] [stderr] warning: unknown lint: `clippy` [INFO] [stderr] --> /opt/rustwide/workdir/src/grammar/parser/mod.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | #[allow(clippy)] [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unknown_lints)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/grammar/parser/pattern_parser.rs:890:24 [INFO] [stderr] | [INFO] [stderr] 890 | 'a'...'z' | 'A'...'Z' | '_' | '.' => Matched(next, ()), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/grammar/parser/pattern_parser.rs:890:36 [INFO] [stderr] | [INFO] [stderr] 890 | 'a'...'z' | 'A'...'Z' | '_' | '.' => Matched(next, ()), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/grammar/parser/pattern_parser.rs:907:48 [INFO] [stderr] | [INFO] [stderr] 907 | ... 'a'...'z' | [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/grammar/parser/pattern_parser.rs:909:48 [INFO] [stderr] | [INFO] [stderr] 909 | ... 'A'...'Z' | [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/grammar/parser/pattern_parser.rs:910:48 [INFO] [stderr] | [INFO] [stderr] 910 | ... '0'...'9' | [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/grammar/parser/pattern_parser.rs:1164:32 [INFO] [stderr] | [INFO] [stderr] 1164 | ... '0'...'9' => Matched(next, ()), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: 7 warnings emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "676bc77e5f17770bb6d48e120d36676e2c59b456c767fe3d689a466ad2bfab9f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "676bc77e5f17770bb6d48e120d36676e2c59b456c767fe3d689a466ad2bfab9f", kill_on_drop: false }` [INFO] [stdout] 676bc77e5f17770bb6d48e120d36676e2c59b456c767fe3d689a466ad2bfab9f