[INFO] fetching crate derive_constructors_proc 1.0.0...
[INFO] checking derive_constructors_proc-1.0.0 against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] extracting crate derive_constructors_proc 1.0.0 into /workspace/builds/worker-4-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-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate derive_constructors_proc 1.0.0 on toolchain 5c543b0b8c73c7b72bc8284ced4fb22ead15734d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "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" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 6 packages to highest compatible versions
[INFO] [stderr]       Adding convert_case v0.6.0 (available: v0.12.0)
[INFO] [stderr]       Adding syn v1.0.109 (available: v3.0.9)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7ffdb3e07e8cddb186e52054998e42e8bbc7f86b9562bff072ca188648cc3cfe
[INFO] running `Command { std: "docker" "start" "7ffdb3e07e8cddb186e52054998e42e8bbc7f86b9562bff072ca188648cc3cfe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7ffdb3e07e8cddb186e52054998e42e8bbc7f86b9562bff072ca188648cc3cfe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7ffdb3e07e8cddb186e52054998e42e8bbc7f86b9562bff072ca188648cc3cfe" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7ffdb3e07e8cddb186e52054998e42e8bbc7f86b9562bff072ca188648cc3cfe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7ffdb3e07e8cddb186e52054998e42e8bbc7f86b9562bff072ca188648cc3cfe" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking unicode-ident v1.0.27
[INFO] [stderr]     Checking unicode-segmentation v1.13.3
[INFO] [stderr]     Checking proc-macro2 v1.0.107
[INFO] [stderr]     Checking quote v1.0.47
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking syn v1.0.109
[INFO] [stderr]     Checking 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)]` (part of `#[warn(unused)]`) 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 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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ident`
[INFO] [stdout]    --> src/utils.rs:110:34
[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 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ident`
[INFO] [stdout]    --> src/utils.rs:110:34
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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<I...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tokens_for_try_from_for_struct`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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<I...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tokens_for_try_from_for_struct`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) 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 3.04s
[INFO] running `Command { std: "docker" "inspect" "7ffdb3e07e8cddb186e52054998e42e8bbc7f86b9562bff072ca188648cc3cfe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ffdb3e07e8cddb186e52054998e42e8bbc7f86b9562bff072ca188648cc3cfe", kill_on_drop: false }`
[INFO] [stdout] 7ffdb3e07e8cddb186e52054998e42e8bbc7f86b9562bff072ca188648cc3cfe
