[INFO] fetching crate dasn1-notation 0.1.1... [INFO] testing dasn1-notation-0.1.1 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate dasn1-notation 0.1.1 into /workspace/builds/worker-2-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-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate dasn1-notation 0.1.1 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 78 packages to latest compatible versions [INFO] [stderr] Adding clap v2.34.0 (available: v4.5.40) [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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded variation v0.1.1 [INFO] [stderr] Downloaded derefable v0.1.0 [INFO] [stderr] Downloaded unwrap_to v0.1.0 [INFO] [stderr] Downloaded dasn1-pest v0.1.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f9255a789f9131fbc9f06b32d963b10c2458776c1ae36bc8a4b13f499d998d8a [INFO] running `Command { std: "docker" "start" "-a" "f9255a789f9131fbc9f06b32d963b10c2458776c1ae36bc8a4b13f499d998d8a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f9255a789f9131fbc9f06b32d963b10c2458776c1ae36bc8a4b13f499d998d8a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f9255a789f9131fbc9f06b32d963b10c2458776c1ae36bc8a4b13f499d998d8a", kill_on_drop: false }` [INFO] [stdout] f9255a789f9131fbc9f06b32d963b10c2458776c1ae36bc8a4b13f499d998d8a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] ea0f99899c11b081d54741f809759aa5aa65daef5283a616a83734b0dc72e8c5 [INFO] running `Command { std: "docker" "start" "-a" "ea0f99899c11b081d54741f809759aa5aa65daef5283a616a83734b0dc72e8c5", kill_on_drop: false }` [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling gimli v0.31.1 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling rustc-demangle v0.1.25 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling itertools v0.8.2 [INFO] [stderr] Compiling variation v0.1.1 [INFO] [stderr] Compiling derefable v0.1.0 [INFO] [stderr] Compiling unwrap_to v0.1.0 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling addr2line v0.24.2 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling env_logger v0.6.2 [INFO] [stderr] Compiling backtrace v0.3.75 [INFO] [stderr] Compiling pest v2.8.1 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling pest_meta v2.8.1 [INFO] [stderr] Compiling pest_generator v2.8.1 [INFO] [stderr] Compiling pest_derive v2.8.1 [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 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 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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 `Debug` and `Clone`, 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>, &'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 { [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, String)>>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Assignment` 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: 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 { [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>), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ObjectClass` 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) { [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), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 19 | ObjectClassField, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Value` 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: 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 `Clone` and `Debug`, 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), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BitString` 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 `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 { [INFO] [stdout] | ------------------------------------------- associated function in this implementation [INFO] [stdout] 132 | pub fn new(dependencies: Option) -> Result { [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 [INFO] [stdout] = note: `#[warn(array_into_iter)]` 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 [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 [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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parser.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | fn next(&mut self) -> Pair { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 53 | fn next(&mut self) -> Pair<'_, Rule> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parser.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | fn take(&mut self, rule: Rule) -> Pair { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 73 | fn take(&mut self, rule: Rule) -> Pair<'_, Rule> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parser.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | fn look(&mut self, rule: Rule) -> Option> { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 92 | fn look(&mut self, rule: Rule) -> Option> { [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 [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 21.43s [INFO] running `Command { std: "docker" "inspect" "ea0f99899c11b081d54741f809759aa5aa65daef5283a616a83734b0dc72e8c5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ea0f99899c11b081d54741f809759aa5aa65daef5283a616a83734b0dc72e8c5", kill_on_drop: false }` [INFO] [stdout] ea0f99899c11b081d54741f809759aa5aa65daef5283a616a83734b0dc72e8c5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] ec56b7c32b745690f85ec3027c365c32485a3dcda5e39265070a94fa765c74eb [INFO] running `Command { std: "docker" "start" "-a" "ec56b7c32b745690f85ec3027c365c32485a3dcda5e39265070a94fa765c74eb", 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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 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 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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 `Debug` and `Clone`, 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>, &'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 { [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, String)>>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Assignment` 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: 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 { [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>), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ObjectClass` 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) { [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), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 19 | ObjectClassField, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Value` 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: 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 `Clone` and `Debug`, 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), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BitString` 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 `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 { [INFO] [stdout] | ------------------------------------------- associated function in this implementation [INFO] [stdout] 132 | pub fn new(dependencies: Option) -> Result { [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 [INFO] [stdout] = note: `#[warn(array_into_iter)]` 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] [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/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 [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 [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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parser.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | fn next(&mut self) -> Pair { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 53 | fn next(&mut self) -> Pair<'_, Rule> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parser.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | fn take(&mut self, rule: Rule) -> Pair { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 73 | fn take(&mut self, rule: Rule) -> Pair<'_, Rule> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parser.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | fn look(&mut self, rule: Rule) -> Option> { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 92 | fn look(&mut self, rule: Rule) -> Option> { [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 [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 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 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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 `Debug` and `Clone`, 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>, &'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 { [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, String)>>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Assignment` 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: 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 { [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>), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ObjectClass` 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) { [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), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 19 | ObjectClassField, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Value` 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: 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 `Clone` and `Debug`, 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), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BitString` 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 `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 { [INFO] [stdout] | ------------------------------------------- associated function in this implementation [INFO] [stdout] 132 | pub fn new(dependencies: Option) -> Result { [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 [INFO] [stdout] = note: `#[warn(array_into_iter)]` 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 [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 [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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parser.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | fn next(&mut self) -> Pair { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 53 | fn next(&mut self) -> Pair<'_, Rule> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parser.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | fn take(&mut self, rule: Rule) -> Pair { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 73 | fn take(&mut self, rule: Rule) -> Pair<'_, Rule> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parser.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | fn look(&mut self, rule: Rule) -> Option> { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 92 | fn look(&mut self, rule: Rule) -> Option> { [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 [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 1.85s [INFO] running `Command { std: "docker" "inspect" "ec56b7c32b745690f85ec3027c365c32485a3dcda5e39265070a94fa765c74eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ec56b7c32b745690f85ec3027c365c32485a3dcda5e39265070a94fa765c74eb", kill_on_drop: false }` [INFO] [stdout] ec56b7c32b745690f85ec3027c365c32485a3dcda5e39265070a94fa765c74eb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 12298da5ac3d88db27beeba9688d7fc0a937f7680c28cc8ec86ff1f8bf088dea [INFO] running `Command { std: "docker" "start" "-a" "12298da5ac3d88db27beeba9688d7fc0a937f7680c28cc8ec86ff1f8bf088dea", kill_on_drop: false }` [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser.rs:1434:20 [INFO] [stderr] | [INFO] [stderr] 1434 | parse_fn: &Fn(&mut Self) -> T, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 1434 | parse_fn: &dyn Fn(&mut Self) -> T, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: method `generate` is never used [INFO] [stderr] --> src/codegen/constant.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 14 | impl Constant { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 24 | pub fn generate(self, backend: &mut Rust) -> Fallible { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `Crate` is never constructed [INFO] [stderr] --> src/codegen/imports.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 29 | pub enum Visibility { [INFO] [stderr] | ---------- variant in this enum [INFO] [stderr] 30 | Public, [INFO] [stderr] 31 | Crate, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Visibility` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `1` is never read [INFO] [stderr] --> src/parser.rs:28:61 [INFO] [stderr] | [INFO] [stderr] 28 | pub(crate) struct Parser<'a>(Peekable>, &'a str); [INFO] [stderr] | ------ field in this struct ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider removing this field [INFO] [stderr] [INFO] [stderr] warning: associated items `parse_header` and `parse_external_value_reference` are never used [INFO] [stderr] --> src/parser.rs:40:12 [INFO] [stderr] | [INFO] [stderr] 30 | impl<'a> Parser<'a> { [INFO] [stderr] | ------------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 40 | pub fn parse_header(source: &'a str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1458 | fn parse_external_value_reference(&mut self) -> ReferenceType { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `parameters` is never read [INFO] [stderr] --> src/parser.rs:1546:9 [INFO] [stderr] | [INFO] [stderr] 1543 | pub struct Assignment { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 1546 | pub parameters: Option, String)>>, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Assignment` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `tag`, `extension`, and `exports` are never read [INFO] [stderr] --> src/parser/module.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 8 | pub struct Module { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 9 | pub identifier: ModuleIdentifier, [INFO] [stderr] 10 | pub tag: Tag, [INFO] [stderr] | ^^^ [INFO] [stderr] 11 | pub extension: Option<()>, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 12 | pub exports: Exports, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Module` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `as_identifier`, `has_identification`, and `identification_uses_defined_value` are never used [INFO] [stderr] --> src/parser/module.rs:66:12 [INFO] [stderr] | [INFO] [stderr] 58 | impl ModuleReference { [INFO] [stderr] | -------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 66 | pub fn as_identifier(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 76 | pub fn has_identification(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 87 | pub fn identification_uses_defined_value(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `Parameterized` is never constructed [INFO] [stderr] --> src/parser/object.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 8 | pub enum ObjectClass { [INFO] [stderr] | ----------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 11 | Parameterized(DefinedObjectClass, Option>), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ObjectClass` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `is_absolute`, `is_relative`, and `replace` are never used [INFO] [stderr] --> src/parser/oid.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 15 | impl ObjectIdentifier { [INFO] [stderr] | --------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 24 | pub fn is_absolute(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 28 | pub fn is_relative(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 40 | pub fn replace(&mut self, map: &BTreeMap) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Object` and `ObjectClassField` are never constructed [INFO] [stderr] --> src/parser/values.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 11 | pub enum Value { [INFO] [stderr] | ----- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 18 | Object(Vec), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 19 | ObjectClassField, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Value` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variant `Parameterized` is never constructed [INFO] [stderr] --> src/parser/values.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 55 | pub enum DefinedValue { [INFO] [stderr] | ------------ variant in this enum [INFO] [stderr] ... [INFO] [stderr] 58 | Parameterized(ReferenceType, ParameterList), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DefinedValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variant `Containing` is never constructed [INFO] [stderr] --> src/parser/values.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 73 | pub enum BitString { [INFO] [stderr] | --------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 76 | Containing(Box), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `BitString` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `resolve_object_identifiers` and `get_object_identifiers_mut` are never used [INFO] [stderr] --> src/registry.rs:72:12 [INFO] [stderr] | [INFO] [stderr] 71 | impl SymbolTable<(Type, Value)> { [INFO] [stderr] | ------------------------------- methods in this implementation [INFO] [stderr] 72 | pub fn resolve_object_identifiers(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 122 | fn get_object_identifiers_mut( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/registry.rs:132:12 [INFO] [stderr] | [INFO] [stderr] 131 | impl SymbolTable { [INFO] [stderr] | ------------------------------------------- associated function in this implementation [INFO] [stderr] 132 | pub fn new(dependencies: Option) -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] 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] [stderr] --> src/codegen.rs:87:26 [INFO] [stderr] | [INFO] [stderr] 87 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 87 - .into_iter() [INFO] [stderr] 87 + .iter() [INFO] [stderr] | [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 86 - ["asn1", "types", "ObjectIdentifier"] [INFO] [stderr] 86 + IntoIterator::into_iter(["asn1", "types", "ObjectIdentifier"]) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] 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] [stderr] --> src/codegen.rs:99:26 [INFO] [stderr] | [INFO] [stderr] 99 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 99 - .into_iter() [INFO] [stderr] 99 + .iter() [INFO] [stderr] | [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 98 - ["asn1", "types", "OctetString"] [INFO] [stderr] 98 + IntoIterator::into_iter(["asn1", "types", "OctetString"]) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] 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] [stderr] --> src/codegen.rs:110:26 [INFO] [stderr] | [INFO] [stderr] 110 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 110 - .into_iter() [INFO] [stderr] 110 + .iter() [INFO] [stderr] | [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 109 - ["asn1", "types", "Integer"] [INFO] [stderr] 109 + IntoIterator::into_iter(["asn1", "types", "Integer"]) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/parser.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | fn next(&mut self) -> Pair { [INFO] [stderr] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 53 | fn next(&mut self) -> Pair<'_, Rule> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/parser.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | fn take(&mut self, rule: Rule) -> Pair { [INFO] [stderr] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 73 | fn take(&mut self, rule: Rule) -> Pair<'_, Rule> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/parser.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | fn look(&mut self, rule: Rule) -> Option> { [INFO] [stderr] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 92 | fn look(&mut self, rule: Rule) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] 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] [stderr] --> src/parser.rs:896:36 [INFO] [stderr] | [INFO] [stderr] 896 | let is_valid = VALID_RULES.into_iter().any(|rule| pair.as_rule() == *rule); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 896 - let is_valid = VALID_RULES.into_iter().any(|rule| pair.as_rule() == *rule); [INFO] [stderr] 896 + let is_valid = VALID_RULES.iter().any(|rule| pair.as_rule() == *rule); [INFO] [stderr] | [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 896 - let is_valid = VALID_RULES.into_iter().any(|rule| pair.as_rule() == *rule); [INFO] [stderr] 896 + let is_valid = IntoIterator::into_iter(VALID_RULES).any(|rule| pair.as_rule() == *rule); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `dasn1-notation` (lib) generated 22 warnings (run `cargo fix --lib -p dasn1-notation` to apply 8 suggestions) [INFO] [stderr] warning: `dasn1-notation` (lib test) generated 22 warnings (22 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/dasn1_notation-50bcb91703b3b14e) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test parser::oid::tests::oid_partialeq ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/dasn1_notation-3d14298e7d3bf7dd) [INFO] [stdout] test parser::oid::tests::oid_hash ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "12298da5ac3d88db27beeba9688d7fc0a937f7680c28cc8ec86ff1f8bf088dea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "12298da5ac3d88db27beeba9688d7fc0a937f7680c28cc8ec86ff1f8bf088dea", kill_on_drop: false }` [INFO] [stdout] 12298da5ac3d88db27beeba9688d7fc0a937f7680c28cc8ec86ff1f8bf088dea