[INFO] fetching crate derive_constructors_proc 1.0.0...
[INFO] testing derive_constructors_proc-1.0.0 against 1.90.0 for beta-1.91-3
[INFO] extracting crate derive_constructors_proc 1.0.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate derive_constructors_proc 1.0.0
[INFO] finished tweaking crates.io crate derive_constructors_proc 1.0.0
[INFO] tweaked toml for crates.io crate derive_constructors_proc 1.0.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate derive_constructors_proc 1.0.0 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "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" "+1.90.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 6 packages to latest compatible versions
[INFO] [stderr]       Adding convert_case v0.6.0 (available: v0.8.0)
[INFO] [stderr]       Adding syn v1.0.109 (available: v2.0.106)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded convert_case v0.6.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f0438a288328124f105c2820caf439fa88ce940546afcf1750d95ee251a36b00
[INFO] running `Command { std: "docker" "start" "-a" "f0438a288328124f105c2820caf439fa88ce940546afcf1750d95ee251a36b00", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f0438a288328124f105c2820caf439fa88ce940546afcf1750d95ee251a36b00", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f0438a288328124f105c2820caf439fa88ce940546afcf1750d95ee251a36b00", kill_on_drop: false }`
[INFO] [stdout] f0438a288328124f105c2820caf439fa88ce940546afcf1750d95ee251a36b00
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 700f17b49d81744d7130fd29a42b338e25b1cf108ac470a0a371191d182d5e95
[INFO] running `Command { std: "docker" "start" "-a" "700f17b49d81744d7130fd29a42b338e25b1cf108ac470a0a371191d182d5e95", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling derive_constructors_proc v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert_case::Casing`
[INFO] [stdout]  --> src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use convert_case::Casing;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `syn::parse::Parse`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use syn::parse::Parse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExpectElseOption`
[INFO] [stdout]   --> src/lib.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::utils::{ExpectElseOption, ExpectElseResult, print_info};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_start`
[INFO] [stdout]    --> src/utils.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let is_start = true;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_start`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ident`
[INFO] [stdout]    --> src/utils.rs:110:38
[INFO] [stdout]     |
[INFO] [stdout] 110 |                 TokenTree::Ident(ref ident) => idents.push(syn::parse::<Ident>(TokenStream::from(token)).unwrap()),
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parsing_structs.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut idents_and_groups = attr_contents;
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fields_as_const_defaults_tokens` is never used
[INFO] [stdout]   --> src/utils.rs:62:15
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) fn fields_as_const_defaults_tokens(variant: &Variant) -> Option<proc_macro2::TokenStream> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_separated_idents` is never used
[INFO] [stdout]   --> src/utils.rs:74:15
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub(crate) fn parse_separated_idents(input: ParseStream) -> Result<Vec<Ident>, Error> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_attribute_last_in_path` is never used
[INFO] [stdout]   --> src/utils.rs:89:15
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub(crate) fn find_attribute_last_in_path<'attr>(attrs: &'attr Vec<Attribute>, attribute_ident: &str) -> Option<&'attr Attribute> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokens_for__try_from__for_struct` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:268:4
[INFO] [stdout]     |
[INFO] [stdout] 268 | fn tokens_for__try_from__for_struct(name: Ident, fields_info: FieldsInfo, try_from_info: TryFromInfo, constructor_fn_name: Option<Ident>)...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tokens_for_try_from_for_struct`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokens_for__from__for_struct` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:348:4
[INFO] [stdout]     |
[INFO] [stdout] 348 | fn tokens_for__from__for_struct(name: Ident, fields_info: FieldsInfo, constructor_fn_name: Option<Ident>) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tokens_for_from_for_struct`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokens_for__from__for_enum` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:385:4
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn tokens_for__from__for_enum(name: Ident, enum_data: DataEnum) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tokens_for_from_for_enum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.74s
[INFO] running `Command { std: "docker" "inspect" "700f17b49d81744d7130fd29a42b338e25b1cf108ac470a0a371191d182d5e95", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "700f17b49d81744d7130fd29a42b338e25b1cf108ac470a0a371191d182d5e95", kill_on_drop: false }`
[INFO] [stdout] 700f17b49d81744d7130fd29a42b338e25b1cf108ac470a0a371191d182d5e95
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] db2981865179fc9d1b0d32a9e8c9d399f16e9702a3e91038584308631896f498
[INFO] running `Command { std: "docker" "start" "-a" "db2981865179fc9d1b0d32a9e8c9d399f16e9702a3e91038584308631896f498", kill_on_drop: false }`
[INFO] [stderr]    Compiling derive_constructors_proc v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert_case::Casing`
[INFO] [stdout]  --> src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use convert_case::Casing;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExpectElseOption`
[INFO] [stdout]   --> src/lib.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::utils::{ExpectElseOption, ExpectElseResult, print_info};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `syn::parse::Parse`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use syn::parse::Parse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert_case::Casing`
[INFO] [stdout]  --> src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use convert_case::Casing;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `syn::parse::Parse`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use syn::parse::Parse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExpectElseOption`
[INFO] [stdout]   --> src/lib.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::utils::{ExpectElseOption, ExpectElseResult, print_info};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_start`
[INFO] [stdout]    --> src/utils.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let is_start = true;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_start`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ident`
[INFO] [stdout]    --> src/utils.rs:110:38
[INFO] [stdout]     |
[INFO] [stdout] 110 |                 TokenTree::Ident(ref ident) => idents.push(syn::parse::<Ident>(TokenStream::from(token)).unwrap()),
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_start`
[INFO] [stdout]    --> src/utils.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let is_start = true;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_start`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ident`
[INFO] [stdout]    --> src/utils.rs:110:38
[INFO] [stdout]     |
[INFO] [stdout] 110 |                 TokenTree::Ident(ref ident) => idents.push(syn::parse::<Ident>(TokenStream::from(token)).unwrap()),
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parsing_structs.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut idents_and_groups = attr_contents;
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fields_as_const_defaults_tokens` is never used
[INFO] [stdout]   --> src/utils.rs:62:15
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) fn fields_as_const_defaults_tokens(variant: &Variant) -> Option<proc_macro2::TokenStream> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_separated_idents` is never used
[INFO] [stdout]   --> src/utils.rs:74:15
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub(crate) fn parse_separated_idents(input: ParseStream) -> Result<Vec<Ident>, Error> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_attribute_last_in_path` is never used
[INFO] [stdout]   --> src/utils.rs:89:15
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub(crate) fn find_attribute_last_in_path<'attr>(attrs: &'attr Vec<Attribute>, attribute_ident: &str) -> Option<&'attr Attribute> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokens_for__try_from__for_struct` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:268:4
[INFO] [stdout]     |
[INFO] [stdout] 268 | fn tokens_for__try_from__for_struct(name: Ident, fields_info: FieldsInfo, try_from_info: TryFromInfo, constructor_fn_name: Option<Ident>)...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tokens_for_try_from_for_struct`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokens_for__from__for_struct` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:348:4
[INFO] [stdout]     |
[INFO] [stdout] 348 | fn tokens_for__from__for_struct(name: Ident, fields_info: FieldsInfo, constructor_fn_name: Option<Ident>) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tokens_for_from_for_struct`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokens_for__from__for_enum` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:385:4
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn tokens_for__from__for_enum(name: Ident, enum_data: DataEnum) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tokens_for_from_for_enum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parsing_structs.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut idents_and_groups = attr_contents;
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fields_as_const_defaults_tokens` is never used
[INFO] [stdout]   --> src/utils.rs:62:15
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) fn fields_as_const_defaults_tokens(variant: &Variant) -> Option<proc_macro2::TokenStream> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_separated_idents` is never used
[INFO] [stdout]   --> src/utils.rs:74:15
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub(crate) fn parse_separated_idents(input: ParseStream) -> Result<Vec<Ident>, Error> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_attribute_last_in_path` is never used
[INFO] [stdout]   --> src/utils.rs:89:15
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub(crate) fn find_attribute_last_in_path<'attr>(attrs: &'attr Vec<Attribute>, attribute_ident: &str) -> Option<&'attr Attribute> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokens_for__try_from__for_struct` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:268:4
[INFO] [stdout]     |
[INFO] [stdout] 268 | fn tokens_for__try_from__for_struct(name: Ident, fields_info: FieldsInfo, try_from_info: TryFromInfo, constructor_fn_name: Option<Ident>)...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tokens_for_try_from_for_struct`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokens_for__from__for_struct` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:348:4
[INFO] [stdout]     |
[INFO] [stdout] 348 | fn tokens_for__from__for_struct(name: Ident, fields_info: FieldsInfo, constructor_fn_name: Option<Ident>) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tokens_for_from_for_struct`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokens_for__from__for_enum` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:385:4
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn tokens_for__from__for_enum(name: Ident, enum_data: DataEnum) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tokens_for_from_for_enum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.89s
[INFO] running `Command { std: "docker" "inspect" "db2981865179fc9d1b0d32a9e8c9d399f16e9702a3e91038584308631896f498", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db2981865179fc9d1b0d32a9e8c9d399f16e9702a3e91038584308631896f498", kill_on_drop: false }`
[INFO] [stdout] db2981865179fc9d1b0d32a9e8c9d399f16e9702a3e91038584308631896f498
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6a251d80c654fe2d05eff5ea4d3007f466cbfae99f67daa1543dadafea65ffdc
[INFO] running `Command { std: "docker" "start" "-a" "6a251d80c654fe2d05eff5ea4d3007f466cbfae99f67daa1543dadafea65ffdc", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]  --> src/lib.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::str::FromStr;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `convert_case::Casing`
[INFO] [stderr]  --> src/lib.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use convert_case::Casing;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `syn::parse::Parse`
[INFO] [stderr]  --> src/lib.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use syn::parse::Parse;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ExpectElseOption`
[INFO] [stderr]   --> src/lib.rs:10:20
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::utils::{ExpectElseOption, ExpectElseResult, print_info};
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_start`
[INFO] [stderr]    --> src/utils.rs:103:9
[INFO] [stderr]     |
[INFO] [stderr] 103 |     let is_start = true;
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_start`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ident`
[INFO] [stderr]    --> src/utils.rs:110:38
[INFO] [stderr]     |
[INFO] [stderr] 110 |                 TokenTree::Ident(ref ident) => idents.push(syn::parse::<Ident>(TokenStream::from(token)).unwrap()),
[INFO] [stderr]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/parsing_structs.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let mut idents_and_groups = attr_contents;
[INFO] [stderr]    |             ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `fields_as_const_defaults_tokens` is never used
[INFO] [stderr]   --> src/utils.rs:62:15
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub(crate) fn fields_as_const_defaults_tokens(variant: &Variant) -> Option<proc_macro2::TokenStream> {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_separated_idents` is never used
[INFO] [stderr]   --> src/utils.rs:74:15
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub(crate) fn parse_separated_idents(input: ParseStream) -> Result<Vec<Ident>, Error> {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `find_attribute_last_in_path` is never used
[INFO] [stderr]   --> src/utils.rs:89:15
[INFO] [stderr]    |
[INFO] [stderr] 89 | pub(crate) fn find_attribute_last_in_path<'attr>(attrs: &'attr Vec<Attribute>, attribute_ident: &str) -> Option<&'attr Attribute> {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `tokens_for__try_from__for_struct` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:268:4
[INFO] [stderr]     |
[INFO] [stderr] 268 | fn tokens_for__try_from__for_struct(name: Ident, fields_info: FieldsInfo, try_from_info: TryFromInfo, constructor_fn_name: Option<Ident>)...
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tokens_for_try_from_for_struct`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `tokens_for__from__for_struct` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:348:4
[INFO] [stderr]     |
[INFO] [stderr] 348 | fn tokens_for__from__for_struct(name: Ident, fields_info: FieldsInfo, constructor_fn_name: Option<Ident>) -> TokenStream {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tokens_for_from_for_struct`
[INFO] [stderr] 
[INFO] [stderr] warning: function `tokens_for__from__for_enum` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:385:4
[INFO] [stderr]     |
[INFO] [stderr] 385 | fn tokens_for__from__for_enum(name: Ident, enum_data: DataEnum) -> TokenStream {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tokens_for_from_for_enum`
[INFO] [stderr] 
[INFO] [stderr] warning: `derive_constructors_proc` (lib) generated 13 warnings (run `cargo fix --lib -p derive_constructors_proc` to apply 1 suggestion)
[INFO] [stderr] warning: `derive_constructors_proc` (lib test) generated 13 warnings (13 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/derive_constructors_proc-9f3ed955ff9d845c)
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests derive_constructors_proc
[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] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test src/lib.rs - derive_from (line 201) ... ok
[INFO] [stdout] test src/lib.rs - derive_from (line 181) ... ok
[INFO] [stdout] test src/lib.rs - constructor (line 56) ... ok
[INFO] [stdout] test src/lib.rs - derive_try_from (line 229) ... ok
[INFO] [stdout] test src/lib.rs - constructor (line 77) ... ok
[INFO] [stdout] test src/lib.rs - constructor (line 102) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.69s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "6a251d80c654fe2d05eff5ea4d3007f466cbfae99f67daa1543dadafea65ffdc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a251d80c654fe2d05eff5ea4d3007f466cbfae99f67daa1543dadafea65ffdc", kill_on_drop: false }`
[INFO] [stdout] 6a251d80c654fe2d05eff5ea4d3007f466cbfae99f67daa1543dadafea65ffdc
