[INFO] fetching crate nano_parser_gen_macro 0.2.1...
[INFO] checking nano_parser_gen_macro-0.2.1 against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] extracting crate nano_parser_gen_macro 0.2.1 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate nano_parser_gen_macro 0.2.1
[INFO] finished tweaking crates.io crate nano_parser_gen_macro 0.2.1
[INFO] tweaked toml for crates.io crate nano_parser_gen_macro 0.2.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate nano_parser_gen_macro 0.2.1 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 4 packages to highest compatible versions
[INFO] [stderr]       Adding syn v2.0.119 (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-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 344e54534da574aa5030a461d43ad9c241f2b1ead354e8a7df2e6efed5c72132
[INFO] running `Command { std: "docker" "start" "344e54534da574aa5030a461d43ad9c241f2b1ead354e8a7df2e6efed5c72132", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "344e54534da574aa5030a461d43ad9c241f2b1ead354e8a7df2e6efed5c72132", 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" "344e54534da574aa5030a461d43ad9c241f2b1ead354e8a7df2e6efed5c72132" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "344e54534da574aa5030a461d43ad9c241f2b1ead354e8a7df2e6efed5c72132", 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" "344e54534da574aa5030a461d43ad9c241f2b1ead354e8a7df2e6efed5c72132" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking syn v2.0.119
[INFO] [stderr]     Checking nano_parser_gen_macro v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `eq_token` is never read
[INFO] [stdout]   --> src/ast.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TokenDeclRegex {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 24 |     pub name: Ident,
[INFO] [stdout] 25 |     pub eq_token: Token![=],
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |     Epsilon(Ident),
[INFO] [stdout]     |     ------- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 100 -     Epsilon(Ident),
[INFO] [stdout] 100 +     Epsilon(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 |     Pipe(Token![|]),
[INFO] [stdout]     |     ---- ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 137 -     Pipe(Token![|]),
[INFO] [stdout] 137 +     Pipe(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:138:10
[INFO] [stdout]     |
[INFO] [stdout] 138 |     Semi(Token![;]),
[INFO] [stdout]     |     ---- ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 138 -     Semi(Token![;]),
[INFO] [stdout] 138 +     Semi(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `end` is never read
[INFO] [stdout]    --> src/ast.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub struct SubRule {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 142 |     pub entities: Vec<RuleEntity>,
[INFO] [stdout] 143 |     pub end: PipeOrSemi,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `coloncolon` and `eq` are never read
[INFO] [stdout]    --> src/ast.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct Rule {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 147 |     pub left: Ident,
[INFO] [stdout] 148 |     pub coloncolon: Token![::],
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 149 |     pub eq: Token![=],
[INFO] [stdout]     |         ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::Group`
[INFO] [stdout]   --> src/ast.rs:40:48
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 [proc_macro2::TokenTree::Group(group.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] 40 -                 [proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 40 +                 [proc_macro2::TokenTree::Group(group)]
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 40 -                 [proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 40 +                 [proc_macro2::TokenTree::Group(<proc_macro2::Group as Into<_>>::into(group))]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream`
[INFO] [stdout]   --> src/ast.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 | /                 [proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 41 | |                     .into_iter()
[INFO] [stdout] 42 | |                     .collect::<proc_macro2::TokenStream>()
[INFO] [stdout] 43 | |                     .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] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 42 -                     .collect::<proc_macro2::TokenStream>()
[INFO] [stdout] 43 -                     .into(),
[INFO] [stdout] 42 +                     .collect::<proc_macro2::TokenStream>(),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 40 ~                 <proc_macro2::TokenStream as Into<_>>::into([proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 41 |                     .into_iter()
[INFO] [stdout] 42 ~                     .collect::<proc_macro2::TokenStream>()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream`
[INFO] [stdout]   --> src/ast.rs:45:33
[INFO] [stdout]    |
[INFO] [stdout] 45 |             let parsed = parse2(preprocessed_tokens.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] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 45 -             let parsed = parse2(preprocessed_tokens.into())?;
[INFO] [stdout] 45 +             let parsed = parse2(preprocessed_tokens)?;
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 45 -             let parsed = parse2(preprocessed_tokens.into())?;
[INFO] [stdout] 45 +             let parsed = parse2(<proc_macro2::TokenStream as Into<_>>::into(preprocessed_tokens))?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::Group`
[INFO] [stdout]    --> src/ast.rs:113:48
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 [proc_macro2::TokenTree::Group(group.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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 113 -                 [proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 113 +                 [proc_macro2::TokenTree::Group(group)]
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 113 -                 [proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 113 +                 [proc_macro2::TokenTree::Group(<proc_macro2::Group as Into<_>>::into(group))]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream`
[INFO] [stdout]    --> src/ast.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 | /                 [proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 114 | |                     .into_iter()
[INFO] [stdout] 115 | |                     .collect::<proc_macro2::TokenStream>()
[INFO] [stdout] 116 | |                     .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 115 -                     .collect::<proc_macro2::TokenStream>()
[INFO] [stdout] 116 -                     .into(),
[INFO] [stdout] 115 +                     .collect::<proc_macro2::TokenStream>(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 113 ~                 <proc_macro2::TokenStream as Into<_>>::into([proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 114 |                     .into_iter()
[INFO] [stdout] 115 ~                     .collect::<proc_macro2::TokenStream>()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream`
[INFO] [stdout]    --> src/ast.rs:118:33
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let parsed = parse2(preprocessed_tokens.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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 118 -             let parsed = parse2(preprocessed_tokens.into())?;
[INFO] [stdout] 118 +             let parsed = parse2(preprocessed_tokens)?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 118 -             let parsed = parse2(preprocessed_tokens.into())?;
[INFO] [stdout] 118 +             let parsed = parse2(<proc_macro2::TokenStream as Into<_>>::into(preprocessed_tokens))?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream`
[INFO] [stdout]    --> src/grammar_data.rs:535:9
[INFO] [stdout]     |
[INFO] [stdout] 535 |         quote!( &[ #q ] ).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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream`
[INFO] [stdout]    --> src/grammar_data.rs:764:9
[INFO] [stdout]     |
[INFO] [stdout] 764 |         quote.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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 764 -         quote.into()
[INFO] [stdout] 764 +         quote
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 764 -         quote.into()
[INFO] [stdout] 764 +         <proc_macro2::TokenStream as Into<_>>::into(quote)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nano_parser_gen_macro` (lib) due to 8 previous errors; 6 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: field `eq_token` is never read
[INFO] [stdout]   --> src/ast.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TokenDeclRegex {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 24 |     pub name: Ident,
[INFO] [stdout] 25 |     pub eq_token: Token![=],
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |     Epsilon(Ident),
[INFO] [stdout]     |     ------- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 100 -     Epsilon(Ident),
[INFO] [stdout] 100 +     Epsilon(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 |     Pipe(Token![|]),
[INFO] [stdout]     |     ---- ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 137 -     Pipe(Token![|]),
[INFO] [stdout] 137 +     Pipe(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:138:10
[INFO] [stdout]     |
[INFO] [stdout] 138 |     Semi(Token![;]),
[INFO] [stdout]     |     ---- ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 138 -     Semi(Token![;]),
[INFO] [stdout] 138 +     Semi(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `end` is never read
[INFO] [stdout]    --> src/ast.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub struct SubRule {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 142 |     pub entities: Vec<RuleEntity>,
[INFO] [stdout] 143 |     pub end: PipeOrSemi,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `coloncolon` and `eq` are never read
[INFO] [stdout]    --> src/ast.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct Rule {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 147 |     pub left: Ident,
[INFO] [stdout] 148 |     pub coloncolon: Token![::],
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 149 |     pub eq: Token![=],
[INFO] [stdout]     |         ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::Group`
[INFO] [stdout]   --> src/ast.rs:40:48
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 [proc_macro2::TokenTree::Group(group.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] 40 -                 [proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 40 +                 [proc_macro2::TokenTree::Group(group)]
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 40 -                 [proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 40 +                 [proc_macro2::TokenTree::Group(<proc_macro2::Group as Into<_>>::into(group))]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream`
[INFO] [stdout]   --> src/ast.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 | /                 [proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 41 | |                     .into_iter()
[INFO] [stdout] 42 | |                     .collect::<proc_macro2::TokenStream>()
[INFO] [stdout] 43 | |                     .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] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 42 -                     .collect::<proc_macro2::TokenStream>()
[INFO] [stdout] 43 -                     .into(),
[INFO] [stdout] 42 +                     .collect::<proc_macro2::TokenStream>(),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 40 ~                 <proc_macro2::TokenStream as Into<_>>::into([proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 41 |                     .into_iter()
[INFO] [stdout] 42 ~                     .collect::<proc_macro2::TokenStream>()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream`
[INFO] [stdout]   --> src/ast.rs:45:33
[INFO] [stdout]    |
[INFO] [stdout] 45 |             let parsed = parse2(preprocessed_tokens.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] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 45 -             let parsed = parse2(preprocessed_tokens.into())?;
[INFO] [stdout] 45 +             let parsed = parse2(preprocessed_tokens)?;
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 45 -             let parsed = parse2(preprocessed_tokens.into())?;
[INFO] [stdout] 45 +             let parsed = parse2(<proc_macro2::TokenStream as Into<_>>::into(preprocessed_tokens))?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::Group`
[INFO] [stdout]    --> src/ast.rs:113:48
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 [proc_macro2::TokenTree::Group(group.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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 113 -                 [proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 113 +                 [proc_macro2::TokenTree::Group(group)]
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 113 -                 [proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 113 +                 [proc_macro2::TokenTree::Group(<proc_macro2::Group as Into<_>>::into(group))]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream`
[INFO] [stdout]    --> src/ast.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 | /                 [proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 114 | |                     .into_iter()
[INFO] [stdout] 115 | |                     .collect::<proc_macro2::TokenStream>()
[INFO] [stdout] 116 | |                     .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 115 -                     .collect::<proc_macro2::TokenStream>()
[INFO] [stdout] 116 -                     .into(),
[INFO] [stdout] 115 +                     .collect::<proc_macro2::TokenStream>(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 113 ~                 <proc_macro2::TokenStream as Into<_>>::into([proc_macro2::TokenTree::Group(group.into())]
[INFO] [stdout] 114 |                     .into_iter()
[INFO] [stdout] 115 ~                     .collect::<proc_macro2::TokenStream>()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream`
[INFO] [stdout]    --> src/ast.rs:118:33
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let parsed = parse2(preprocessed_tokens.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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 118 -             let parsed = parse2(preprocessed_tokens.into())?;
[INFO] [stdout] 118 +             let parsed = parse2(preprocessed_tokens)?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 118 -             let parsed = parse2(preprocessed_tokens.into())?;
[INFO] [stdout] 118 +             let parsed = parse2(<proc_macro2::TokenStream as Into<_>>::into(preprocessed_tokens))?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream`
[INFO] [stdout]    --> src/grammar_data.rs:535:9
[INFO] [stdout]     |
[INFO] [stdout] 535 |         quote!( &[ #q ] ).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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream`
[INFO] [stdout]    --> src/grammar_data.rs:764:9
[INFO] [stdout]     |
[INFO] [stdout] 764 |         quote.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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 764 -         quote.into()
[INFO] [stdout] 764 +         quote
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 764 -         quote.into()
[INFO] [stdout] 764 +         <proc_macro2::TokenStream as Into<_>>::into(quote)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nano_parser_gen_macro` (lib test) due to 8 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "344e54534da574aa5030a461d43ad9c241f2b1ead354e8a7df2e6efed5c72132", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "344e54534da574aa5030a461d43ad9c241f2b1ead354e8a7df2e6efed5c72132", kill_on_drop: false }`
[INFO] [stdout] 344e54534da574aa5030a461d43ad9c241f2b1ead354e8a7df2e6efed5c72132
