[INFO] fetching crate dasn1-notation 0.1.1...
[INFO] building dasn1-notation-0.1.1 against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] extracting crate dasn1-notation 0.1.1 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate dasn1-notation 0.1.1
[INFO] finished tweaking crates.io crate dasn1-notation 0.1.1
[INFO] tweaked toml for crates.io crate dasn1-notation 0.1.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate dasn1-notation 0.1.1 on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 70 packages to latest compatible versions
[INFO] [stderr]       Adding clap v2.34.0 (available: v4.5.48)
[INFO] [stderr]       Adding env_logger v0.6.2 (available: v0.11.8)
[INFO] [stderr]       Adding heck v0.3.3 (available: v0.5.0)
[INFO] [stderr]       Adding itertools v0.8.2 (available: v0.14.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pest_meta v2.8.2
[INFO] [stderr]   Downloaded pest_generator v2.8.2
[INFO] [stderr]   Downloaded variation v0.1.1
[INFO] [stderr]   Downloaded pest_derive v2.8.2
[INFO] [stderr]   Downloaded unwrap_to v0.1.0
[INFO] [stderr]   Downloaded dasn1-pest v0.1.1
[INFO] [stderr]   Downloaded derefable v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 27e833a8d87166964340ac9bdb0d121106f8a1fa98bfdd7180fedc7099eb4848
[INFO] running `Command { std: "docker" "start" "-a" "27e833a8d87166964340ac9bdb0d121106f8a1fa98bfdd7180fedc7099eb4848", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "27e833a8d87166964340ac9bdb0d121106f8a1fa98bfdd7180fedc7099eb4848", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "27e833a8d87166964340ac9bdb0d121106f8a1fa98bfdd7180fedc7099eb4848", kill_on_drop: false }`
[INFO] [stdout] 27e833a8d87166964340ac9bdb0d121106f8a1fa98bfdd7180fedc7099eb4848
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 44c2329ed9f7b2d8f8970e645d24ee4c420e1089ac4525c3b0a77afe301e3f89
[INFO] running `Command { std: "docker" "start" "-a" "44c2329ed9f7b2d8f8970e645d24ee4c420e1089ac4525c3b0a77afe301e3f89", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rustc-demangle v0.1.26
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling regex v1.11.3
[INFO] [stderr]    Compiling itertools v0.8.2
[INFO] [stderr]    Compiling unwrap_to v0.1.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling env_logger v0.6.2
[INFO] [stderr]    Compiling derefable v0.1.0
[INFO] [stderr]    Compiling variation v0.1.1
[INFO] [stderr]    Compiling addr2line v0.25.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling pest v2.8.2
[INFO] [stderr]    Compiling pest_meta v2.8.2
[INFO] [stderr]    Compiling pest_generator v2.8.2
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling pest_derive v2.8.2
[INFO] [stderr]    Compiling dasn1-pest v0.1.1
[INFO] [stderr]    Compiling dasn1-notation v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/parser.rs:1434:20
[INFO] [stdout]      |
[INFO] [stdout] 1434 |         parse_fn: &Fn(&mut Self) -> T,
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1434 |         parse_fn: &dyn Fn(&mut Self) -> T,
[INFO] [stdout]      |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate` is never used
[INFO] [stdout]   --> src/codegen/constant.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Constant {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn generate(self, backend: &mut Rust) -> Fallible<String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Crate` is never constructed
[INFO] [stdout]   --> src/codegen/imports.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum Visibility {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 30 |     Public,
[INFO] [stdout] 31 |     Crate,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Visibility` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]   --> src/parser.rs:28:61
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) struct Parser<'a>(Peekable<FlatPairs<'a, Rule>>, &'a str);
[INFO] [stdout]    |                   ------ field in this struct               ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse_header` and `parse_external_value_reference` are never used
[INFO] [stdout]     --> src/parser.rs:40:12
[INFO] [stdout]      |
[INFO] [stdout]   30 | impl<'a> Parser<'a> {
[INFO] [stdout]      | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]   40 |     pub fn parse_header(source: &'a str) -> Result<ModuleIdentifier> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1458 |     fn parse_external_value_reference(&mut self) -> ReferenceType {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parameters` is never read
[INFO] [stdout]     --> src/parser.rs:1546:9
[INFO] [stdout]      |
[INFO] [stdout] 1543 | pub struct Assignment {
[INFO] [stdout]      |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1546 |     pub parameters: Option<Vec<(Option<ParamGovernor>, String)>>,
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Assignment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tag`, `extension`, and `exports` are never read
[INFO] [stdout]   --> src/parser/module.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Module {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout]  9 |     pub identifier: ModuleIdentifier,
[INFO] [stdout] 10 |     pub tag: Tag,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 11 |     pub extension: Option<()>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 12 |     pub exports: Exports,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Module` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_identifier`, `has_identification`, and `identification_uses_defined_value` are never used
[INFO] [stdout]   --> src/parser/module.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl ModuleReference {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn as_identifier(&self) -> Option<ModuleIdentifier> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn has_identification(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn identification_uses_defined_value(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Parameterized` is never constructed
[INFO] [stdout]   --> src/parser/object.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum ObjectClass {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Parameterized(DefinedObjectClass, Option<Vec<Parameter>>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ObjectClass` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_absolute`, `is_relative`, and `replace` are never used
[INFO] [stdout]   --> src/parser/oid.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl ObjectIdentifier {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn is_absolute(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn is_relative(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn replace(&mut self, map: &BTreeMap<String, ObjectIdentifier>) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Object` and `ObjectClassField` are never constructed
[INFO] [stdout]   --> src/parser/values.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum Value {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Object(Vec<String>),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 19 |     ObjectClassField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Value` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Parameterized` is never constructed
[INFO] [stdout]   --> src/parser/values.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum DefinedValue {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 58 |     Parameterized(ReferenceType, ParameterList),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DefinedValue` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Containing` is never constructed
[INFO] [stdout]   --> src/parser/values.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum BitString {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 76 |     Containing(Box<Value>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BitString` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `resolve_object_identifiers` and `get_object_identifiers_mut` are never used
[INFO] [stdout]    --> src/registry.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl SymbolTable<(Type, Value)> {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout]  72 |     pub fn resolve_object_identifiers(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn get_object_identifiers_mut(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/registry.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl SymbolTable<PathBuf, ModuleIdentifier> {
[INFO] [stdout]     | ------------------------------------------- associated function in this implementation
[INFO] [stdout] 132 |     pub fn new(dependencies: Option<PathBuf>) -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> src/codegen.rs:87:26
[INFO] [stdout]    |
[INFO] [stdout] 87 |                         .into_iter()
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 87 -                         .into_iter()
[INFO] [stdout] 87 +                         .iter()
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 86 -                     ["asn1", "types", "ObjectIdentifier"]
[INFO] [stdout] 86 +                     IntoIterator::into_iter(["asn1", "types", "ObjectIdentifier"])
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> src/codegen.rs:99:26
[INFO] [stdout]    |
[INFO] [stdout] 99 |                         .into_iter()
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 99 -                         .into_iter()
[INFO] [stdout] 99 +                         .iter()
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 98 -                     ["asn1", "types", "OctetString"]
[INFO] [stdout] 98 +                     IntoIterator::into_iter(["asn1", "types", "OctetString"])
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/codegen.rs:110:26
[INFO] [stdout]     |
[INFO] [stdout] 110 |                         .into_iter()
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 110 -                         .into_iter()
[INFO] [stdout] 110 +                         .iter()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 109 -                     ["asn1", "types", "Integer"]
[INFO] [stdout] 109 +                     IntoIterator::into_iter(["asn1", "types", "Integer"])
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn next(&mut self) -> Pair<Rule> {
[INFO] [stdout]    |             ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn next(&mut self) -> Pair<'_, Rule> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn take(&mut self, rule: Rule) -> Pair<Rule> {
[INFO] [stdout]    |             ^^^^^^^^^                 ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn take(&mut self, rule: Rule) -> Pair<'_, Rule> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn look(&mut self, rule: Rule) -> Option<Pair<Rule>> {
[INFO] [stdout]    |             ^^^^^^^^^                        ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn look(&mut self, rule: Rule) -> Option<Pair<'_, Rule>> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/parser.rs:896:36
[INFO] [stdout]     |
[INFO] [stdout] 896 |         let is_valid = VALID_RULES.into_iter().any(|rule| pair.as_rule() == *rule);
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 896 -         let is_valid = VALID_RULES.into_iter().any(|rule| pair.as_rule() == *rule);
[INFO] [stdout] 896 +         let is_valid = VALID_RULES.iter().any(|rule| pair.as_rule() == *rule);
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 896 -         let is_valid = VALID_RULES.into_iter().any(|rule| pair.as_rule() == *rule);
[INFO] [stdout] 896 +         let is_valid = IntoIterator::into_iter(VALID_RULES).any(|rule| pair.as_rule() == *rule);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.93s
[INFO] running `Command { std: "docker" "inspect" "44c2329ed9f7b2d8f8970e645d24ee4c420e1089ac4525c3b0a77afe301e3f89", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "44c2329ed9f7b2d8f8970e645d24ee4c420e1089ac4525c3b0a77afe301e3f89", kill_on_drop: false }`
[INFO] [stdout] 44c2329ed9f7b2d8f8970e645d24ee4c420e1089ac4525c3b0a77afe301e3f89
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b4e563576c8b2640fd7ac57804fa207121d984517e1779f436d9e070f586f785
[INFO] running `Command { std: "docker" "start" "-a" "b4e563576c8b2640fd7ac57804fa207121d984517e1779f436d9e070f586f785", kill_on_drop: false }`
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/parser.rs:1434:20
[INFO] [stdout]      |
[INFO] [stdout] 1434 |         parse_fn: &Fn(&mut Self) -> T,
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1434 |         parse_fn: &dyn Fn(&mut Self) -> T,
[INFO] [stdout]      |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate` is never used
[INFO] [stdout]   --> src/codegen/constant.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Constant {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn generate(self, backend: &mut Rust) -> Fallible<String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Crate` is never constructed
[INFO] [stdout]   --> src/codegen/imports.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum Visibility {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 30 |     Public,
[INFO] [stdout] 31 |     Crate,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Visibility` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]   --> src/parser.rs:28:61
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) struct Parser<'a>(Peekable<FlatPairs<'a, Rule>>, &'a str);
[INFO] [stdout]    |                   ------ field in this struct               ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse_header` and `parse_external_value_reference` are never used
[INFO] [stdout]     --> src/parser.rs:40:12
[INFO] [stdout]      |
[INFO] [stdout]   30 | impl<'a> Parser<'a> {
[INFO] [stdout]      | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]   40 |     pub fn parse_header(source: &'a str) -> Result<ModuleIdentifier> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1458 |     fn parse_external_value_reference(&mut self) -> ReferenceType {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parameters` is never read
[INFO] [stdout]     --> src/parser.rs:1546:9
[INFO] [stdout]      |
[INFO] [stdout] 1543 | pub struct Assignment {
[INFO] [stdout]      |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1546 |     pub parameters: Option<Vec<(Option<ParamGovernor>, String)>>,
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Assignment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tag`, `extension`, and `exports` are never read
[INFO] [stdout]   --> src/parser/module.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Module {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout]  9 |     pub identifier: ModuleIdentifier,
[INFO] [stdout] 10 |     pub tag: Tag,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 11 |     pub extension: Option<()>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 12 |     pub exports: Exports,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Module` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_identifier`, `has_identification`, and `identification_uses_defined_value` are never used
[INFO] [stdout]   --> src/parser/module.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl ModuleReference {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn as_identifier(&self) -> Option<ModuleIdentifier> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn has_identification(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn identification_uses_defined_value(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Parameterized` is never constructed
[INFO] [stdout]   --> src/parser/object.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum ObjectClass {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Parameterized(DefinedObjectClass, Option<Vec<Parameter>>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ObjectClass` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_absolute`, `is_relative`, and `replace` are never used
[INFO] [stdout]   --> src/parser/oid.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl ObjectIdentifier {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn is_absolute(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn is_relative(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn replace(&mut self, map: &BTreeMap<String, ObjectIdentifier>) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Object` and `ObjectClassField` are never constructed
[INFO] [stdout]   --> src/parser/values.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum Value {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Object(Vec<String>),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 19 |     ObjectClassField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Value` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Parameterized` is never constructed
[INFO] [stdout]   --> src/parser/values.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum DefinedValue {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 58 |     Parameterized(ReferenceType, ParameterList),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DefinedValue` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Containing` is never constructed
[INFO] [stdout]   --> src/parser/values.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum BitString {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 76 |     Containing(Box<Value>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BitString` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `resolve_object_identifiers` and `get_object_identifiers_mut` are never used
[INFO] [stdout]    --> src/registry.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl SymbolTable<(Type, Value)> {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout]  72 |     pub fn resolve_object_identifiers(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn get_object_identifiers_mut(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/registry.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl SymbolTable<PathBuf, ModuleIdentifier> {
[INFO] [stdout]     | ------------------------------------------- associated function in this implementation
[INFO] [stdout] 132 |     pub fn new(dependencies: Option<PathBuf>) -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> src/codegen.rs:87:26
[INFO] [stdout]    |
[INFO] [stdout] 87 |                         .into_iter()
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 87 -                         .into_iter()
[INFO] [stdout] 87 +                         .iter()
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 86 -                     ["asn1", "types", "ObjectIdentifier"]
[INFO] [stdout] 86 +                     IntoIterator::into_iter(["asn1", "types", "ObjectIdentifier"])
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> src/codegen.rs:99:26
[INFO] [stdout]    |
[INFO] [stdout] 99 |                         .into_iter()
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 99 -                         .into_iter()
[INFO] [stdout] 99 +                         .iter()
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 98 -                     ["asn1", "types", "OctetString"]
[INFO] [stdout] 98 +                     IntoIterator::into_iter(["asn1", "types", "OctetString"])
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/codegen.rs:110:26
[INFO] [stdout]     |
[INFO] [stdout] 110 |                         .into_iter()
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 110 -                         .into_iter()
[INFO] [stdout] 110 +                         .iter()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 109 -                     ["asn1", "types", "Integer"]
[INFO] [stdout] 109 +                     IntoIterator::into_iter(["asn1", "types", "Integer"])
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn next(&mut self) -> Pair<Rule> {
[INFO] [stdout]    |             ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn next(&mut self) -> Pair<'_, Rule> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn take(&mut self, rule: Rule) -> Pair<Rule> {
[INFO] [stdout]    |             ^^^^^^^^^                 ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn take(&mut self, rule: Rule) -> Pair<'_, Rule> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn look(&mut self, rule: Rule) -> Option<Pair<Rule>> {
[INFO] [stdout]    |             ^^^^^^^^^                        ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn look(&mut self, rule: Rule) -> Option<Pair<'_, Rule>> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling dasn1-notation v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/parser.rs:896:36
[INFO] [stdout]     |
[INFO] [stdout] 896 |         let is_valid = VALID_RULES.into_iter().any(|rule| pair.as_rule() == *rule);
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 896 -         let is_valid = VALID_RULES.into_iter().any(|rule| pair.as_rule() == *rule);
[INFO] [stdout] 896 +         let is_valid = VALID_RULES.iter().any(|rule| pair.as_rule() == *rule);
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 896 -         let is_valid = VALID_RULES.into_iter().any(|rule| pair.as_rule() == *rule);
[INFO] [stdout] 896 +         let is_valid = IntoIterator::into_iter(VALID_RULES).any(|rule| pair.as_rule() == *rule);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/parser.rs:1434:20
[INFO] [stdout]      |
[INFO] [stdout] 1434 |         parse_fn: &Fn(&mut Self) -> T,
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1434 |         parse_fn: &dyn Fn(&mut Self) -> T,
[INFO] [stdout]      |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate` is never used
[INFO] [stdout]   --> src/codegen/constant.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Constant {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn generate(self, backend: &mut Rust) -> Fallible<String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Crate` is never constructed
[INFO] [stdout]   --> src/codegen/imports.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum Visibility {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 30 |     Public,
[INFO] [stdout] 31 |     Crate,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Visibility` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]   --> src/parser.rs:28:61
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) struct Parser<'a>(Peekable<FlatPairs<'a, Rule>>, &'a str);
[INFO] [stdout]    |                   ------ field in this struct               ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse_header` and `parse_external_value_reference` are never used
[INFO] [stdout]     --> src/parser.rs:40:12
[INFO] [stdout]      |
[INFO] [stdout]   30 | impl<'a> Parser<'a> {
[INFO] [stdout]      | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]   40 |     pub fn parse_header(source: &'a str) -> Result<ModuleIdentifier> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1458 |     fn parse_external_value_reference(&mut self) -> ReferenceType {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parameters` is never read
[INFO] [stdout]     --> src/parser.rs:1546:9
[INFO] [stdout]      |
[INFO] [stdout] 1543 | pub struct Assignment {
[INFO] [stdout]      |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1546 |     pub parameters: Option<Vec<(Option<ParamGovernor>, String)>>,
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Assignment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tag`, `extension`, and `exports` are never read
[INFO] [stdout]   --> src/parser/module.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Module {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout]  9 |     pub identifier: ModuleIdentifier,
[INFO] [stdout] 10 |     pub tag: Tag,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 11 |     pub extension: Option<()>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 12 |     pub exports: Exports,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Module` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_identifier`, `has_identification`, and `identification_uses_defined_value` are never used
[INFO] [stdout]   --> src/parser/module.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl ModuleReference {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn as_identifier(&self) -> Option<ModuleIdentifier> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn has_identification(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn identification_uses_defined_value(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Parameterized` is never constructed
[INFO] [stdout]   --> src/parser/object.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum ObjectClass {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Parameterized(DefinedObjectClass, Option<Vec<Parameter>>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ObjectClass` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_absolute`, `is_relative`, and `replace` are never used
[INFO] [stdout]   --> src/parser/oid.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl ObjectIdentifier {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn is_absolute(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn is_relative(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn replace(&mut self, map: &BTreeMap<String, ObjectIdentifier>) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Object` and `ObjectClassField` are never constructed
[INFO] [stdout]   --> src/parser/values.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum Value {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Object(Vec<String>),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 19 |     ObjectClassField,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Value` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Parameterized` is never constructed
[INFO] [stdout]   --> src/parser/values.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum DefinedValue {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 58 |     Parameterized(ReferenceType, ParameterList),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DefinedValue` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Containing` is never constructed
[INFO] [stdout]   --> src/parser/values.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum BitString {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 76 |     Containing(Box<Value>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BitString` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `resolve_object_identifiers` and `get_object_identifiers_mut` are never used
[INFO] [stdout]    --> src/registry.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl SymbolTable<(Type, Value)> {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout]  72 |     pub fn resolve_object_identifiers(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn get_object_identifiers_mut(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/registry.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl SymbolTable<PathBuf, ModuleIdentifier> {
[INFO] [stdout]     | ------------------------------------------- associated function in this implementation
[INFO] [stdout] 132 |     pub fn new(dependencies: Option<PathBuf>) -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> src/codegen.rs:87:26
[INFO] [stdout]    |
[INFO] [stdout] 87 |                         .into_iter()
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 87 -                         .into_iter()
[INFO] [stdout] 87 +                         .iter()
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 86 -                     ["asn1", "types", "ObjectIdentifier"]
[INFO] [stdout] 86 +                     IntoIterator::into_iter(["asn1", "types", "ObjectIdentifier"])
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> src/codegen.rs:99:26
[INFO] [stdout]    |
[INFO] [stdout] 99 |                         .into_iter()
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 99 -                         .into_iter()
[INFO] [stdout] 99 +                         .iter()
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 98 -                     ["asn1", "types", "OctetString"]
[INFO] [stdout] 98 +                     IntoIterator::into_iter(["asn1", "types", "OctetString"])
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/codegen.rs:110:26
[INFO] [stdout]     |
[INFO] [stdout] 110 |                         .into_iter()
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 110 -                         .into_iter()
[INFO] [stdout] 110 +                         .iter()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 109 -                     ["asn1", "types", "Integer"]
[INFO] [stdout] 109 +                     IntoIterator::into_iter(["asn1", "types", "Integer"])
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn next(&mut self) -> Pair<Rule> {
[INFO] [stdout]    |             ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn next(&mut self) -> Pair<'_, Rule> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn take(&mut self, rule: Rule) -> Pair<Rule> {
[INFO] [stdout]    |             ^^^^^^^^^                 ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn take(&mut self, rule: Rule) -> Pair<'_, Rule> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn look(&mut self, rule: Rule) -> Option<Pair<Rule>> {
[INFO] [stdout]    |             ^^^^^^^^^                        ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn look(&mut self, rule: Rule) -> Option<Pair<'_, Rule>> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/parser.rs:896:36
[INFO] [stdout]     |
[INFO] [stdout] 896 |         let is_valid = VALID_RULES.into_iter().any(|rule| pair.as_rule() == *rule);
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 896 -         let is_valid = VALID_RULES.into_iter().any(|rule| pair.as_rule() == *rule);
[INFO] [stdout] 896 +         let is_valid = VALID_RULES.iter().any(|rule| pair.as_rule() == *rule);
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 896 -         let is_valid = VALID_RULES.into_iter().any(|rule| pair.as_rule() == *rule);
[INFO] [stdout] 896 +         let is_valid = IntoIterator::into_iter(VALID_RULES).any(|rule| pair.as_rule() == *rule);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.06s
[INFO] running `Command { std: "docker" "inspect" "b4e563576c8b2640fd7ac57804fa207121d984517e1779f436d9e070f586f785", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b4e563576c8b2640fd7ac57804fa207121d984517e1779f436d9e070f586f785", kill_on_drop: false }`
[INFO] [stdout] b4e563576c8b2640fd7ac57804fa207121d984517e1779f436d9e070f586f785
