[INFO] fetching crate derive_constructors_proc 1.0.0...
[INFO] checking derive_constructors_proc-1.0.0 against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] extracting crate derive_constructors_proc 1.0.0 into /workspace/builds/worker-4-tc2/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-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate derive_constructors_proc 1.0.0 on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "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" "+a5689b034ad287112f709693384a37f1377eb9cc" "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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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] 17d0996940971a4ef1dda6794da6ecba808b987dfe8867a70fd3b1e691f559f7
[INFO] running `Command { std: "docker" "start" "17d0996940971a4ef1dda6794da6ecba808b987dfe8867a70fd3b1e691f559f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "17d0996940971a4ef1dda6794da6ecba808b987dfe8867a70fd3b1e691f559f7", 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" "17d0996940971a4ef1dda6794da6ecba808b987dfe8867a70fd3b1e691f559f7" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "17d0996940971a4ef1dda6794da6ecba808b987dfe8867a70fd3b1e691f559f7", 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" "17d0996940971a4ef1dda6794da6ecba808b987dfe8867a70fd3b1e691f559f7" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "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 convert_case v0.6.0
[INFO] [stderr]     Checking quote v1.0.47
[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: `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 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 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: 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] error: useless conversion to the same type: `proc_macro2::Span`
[INFO] [stdout]    --> src/utils.rs:138:29
[INFO] [stdout]     |
[INFO] [stdout] 138 |         Err(syn::Error::new(last_ident.span().into(),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 138 -         Err(syn::Error::new(last_ident.span().into(),
[INFO] [stdout] 138 +         Err(syn::Error::new(last_ident.span(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 138 -         Err(syn::Error::new(last_ident.span().into(),
[INFO] [stdout] 138 +         Err(syn::Error::new(<proc_macro2::Span as Into<_>>::into(last_ident.span()),
[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: 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] [stderr] error: could not compile `derive_constructors_proc` (lib) due to 1 previous error; 13 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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] error: useless conversion to the same type: `proc_macro2::Span`
[INFO] [stdout]    --> src/utils.rs:138:29
[INFO] [stdout]     |
[INFO] [stdout] 138 |         Err(syn::Error::new(last_ident.span().into(),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 138 -         Err(syn::Error::new(last_ident.span().into(),
[INFO] [stdout] 138 +         Err(syn::Error::new(last_ident.span(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 138 -         Err(syn::Error::new(last_ident.span().into(),
[INFO] [stdout] 138 +         Err(syn::Error::new(<proc_macro2::Span as Into<_>>::into(last_ident.span()),
[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] error: could not compile `derive_constructors_proc` (lib test) due to 1 previous error; 13 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "17d0996940971a4ef1dda6794da6ecba808b987dfe8867a70fd3b1e691f559f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17d0996940971a4ef1dda6794da6ecba808b987dfe8867a70fd3b1e691f559f7", kill_on_drop: false }`
[INFO] [stdout] 17d0996940971a4ef1dda6794da6ecba808b987dfe8867a70fd3b1e691f559f7
