[INFO] fetching crate dasn1-notation 0.1.1...
[INFO] building dasn1-notation-0.1.1 against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1
[INFO] extracting crate dasn1-notation 0.1.1 into /workspace/builds/worker-1-tc2/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-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate dasn1-notation 0.1.1 on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9bb6d2cadffee78ca5601b67d320f925cf98cb763e27f1e2b8125eece547b6d2
[INFO] running `Command { std: "docker" "start" "-a" "9bb6d2cadffee78ca5601b67d320f925cf98cb763e27f1e2b8125eece547b6d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9bb6d2cadffee78ca5601b67d320f925cf98cb763e27f1e2b8125eece547b6d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9bb6d2cadffee78ca5601b67d320f925cf98cb763e27f1e2b8125eece547b6d2", kill_on_drop: false }`
[INFO] [stdout] 9bb6d2cadffee78ca5601b67d320f925cf98cb763e27f1e2b8125eece547b6d2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c22a00ac3d8a883482db7a8bc0dc44d7f5ff11127c7b693e6b19cbadc901357d
[INFO] running `Command { std: "docker" "start" "-a" "c22a00ac3d8a883482db7a8bc0dc44d7f5ff11127c7b693e6b19cbadc901357d", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rustc-demangle v0.1.26
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling itertools v0.8.2
[INFO] [stderr]    Compiling unwrap_to v0.1.0
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling regex-automata v0.4.11
[INFO] [stderr]    Compiling addr2line v0.25.1
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling derefable v0.1.0
[INFO] [stderr]    Compiling variation v0.1.1
[INFO] [stderr]    Compiling regex v1.11.3
[INFO] [stderr]    Compiling env_logger v0.6.2
[INFO] [stderr]    Compiling failure v0.1.8
[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 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: 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]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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: 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] 
[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: 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: 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: 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: 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 33.83s
[INFO] running `Command { std: "docker" "inspect" "c22a00ac3d8a883482db7a8bc0dc44d7f5ff11127c7b693e6b19cbadc901357d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c22a00ac3d8a883482db7a8bc0dc44d7f5ff11127c7b693e6b19cbadc901357d", kill_on_drop: false }`
[INFO] [stdout] c22a00ac3d8a883482db7a8bc0dc44d7f5ff11127c7b693e6b19cbadc901357d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 36a46063dcbfc271334ca8424a90e021efbfaa8765ca4236b03d8ce094e573dd
[INFO] running `Command { std: "docker" "start" "-a" "36a46063dcbfc271334ca8424a90e021efbfaa8765ca4236b03d8ce094e573dd", 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: 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]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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: 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] 
[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] [stderr]    Compiling dasn1-notation v0.1.1 (/opt/rustwide/workdir)
[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: 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: 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: 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: 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] [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: 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: 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]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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] 
[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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.32s
[INFO] running `Command { std: "docker" "inspect" "36a46063dcbfc271334ca8424a90e021efbfaa8765ca4236b03d8ce094e573dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "36a46063dcbfc271334ca8424a90e021efbfaa8765ca4236b03d8ce094e573dd", kill_on_drop: false }`
[INFO] [stdout] 36a46063dcbfc271334ca8424a90e021efbfaa8765ca4236b03d8ce094e573dd
