[INFO] cloning repository https://github.com/ClementChambard/rust_parser_generator [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ClementChambard/rust_parser_generator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FClementChambard%2Frust_parser_generator", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FClementChambard%2Frust_parser_generator'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 15aed8bee210742eed2cfe81beec66d1fc6ca976 [INFO] checking ClementChambard/rust_parser_generator against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FClementChambard%2Frust_parser_generator" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ClementChambard/rust_parser_generator [INFO] finished tweaking git repo https://github.com/ClementChambard/rust_parser_generator [INFO] tweaked toml for git repo https://github.com/ClementChambard/rust_parser_generator written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ClementChambard/rust_parser_generator 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] crate git repo https://github.com/ClementChambard/rust_parser_generator already has a lockfile, it will not be regenerated [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] 748703698a50246a7ca27d6438b8b43920876d3a4f7389b0bb92fdfb38064f4a [INFO] running `Command { std: "docker" "start" "748703698a50246a7ca27d6438b8b43920876d3a4f7389b0bb92fdfb38064f4a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "748703698a50246a7ca27d6438b8b43920876d3a4f7389b0bb92fdfb38064f4a", 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" "748703698a50246a7ca27d6438b8b43920876d3a4f7389b0bb92fdfb38064f4a" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "748703698a50246a7ca27d6438b8b43920876d3a4f7389b0bb92fdfb38064f4a", 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" "748703698a50246a7ca27d6438b8b43920876d3a4f7389b0bb92fdfb38064f4a" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.150 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.70 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking memchr v2.6.4 [INFO] [stderr] Checking smallvec v1.11.2 [INFO] [stderr] Checking regex-syntax v0.8.2 [INFO] [stderr] Checking bitflags v2.4.1 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking mio v0.8.9 [INFO] [stderr] Checking signal-hook v0.3.17 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Compiling syn v2.0.39 [INFO] [stderr] Checking regex-automata v0.4.3 [INFO] [stderr] Checking regex v1.10.2 [INFO] [stderr] Compiling nano_parser_gen_macro v0.2.1 (/opt/rustwide/workdir/nano_parser_gen_macro) [INFO] [stdout] warning: unused import: `TemplateRule` [INFO] [stdout] --> nano_parser_gen_macro/src/grammar/template/mod.rs:45:63 [INFO] [stdout] | [INFO] [stdout] 45 | Template, TemplateArg, TemplateDepend, TemplateParamType, TemplateRule, TemplateRuleItem, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking nano_parser_gen v0.2.1 (/opt/rustwide/workdir/nano_parser_gen) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> nano_parser_gen/src/lexer/source_file.rs:91:18 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn quote(&self, lines: Range) -> SourceQuote { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 91 | pub fn quote(&self, lines: Range) -> SourceQuote<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> nano_parser_gen/src/lexer/source_file.rs:100:23 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn quote_line(&self, line: usize) -> SourceQuote { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 100 | pub fn quote_line(&self, line: usize) -> SourceQuote<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> nano_parser_gen_macro/src/grammar/template/definition.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | TArg(usize, TemplateParamType), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `TemplateArg` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [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] 18 - TArg(usize, TemplateParamType), [INFO] [stdout] 18 + TArg(usize, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> nano_parser_gen_macro/src/grammar/template/definition.rs:41:17 [INFO] [stdout] | [INFO] [stdout] 41 | TArg(usize, TemplateParamType), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `TemplateRuleItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [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] 41 - TArg(usize, TemplateParamType), [INFO] [stdout] 41 + TArg(usize, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream` [INFO] [stdout] --> nano_parser_gen_macro/src/grammar/mod.rs:291:9 [INFO] [stdout] | [INFO] [stdout] 291 | quote!( &[ #q ] ).into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into 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] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream` [INFO] [stdout] --> nano_parser_gen_macro/src/grammar/mod.rs:538:9 [INFO] [stdout] | [INFO] [stdout] 538 | quote.into() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into 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] 538 - quote.into() [INFO] [stdout] 538 + quote [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 538 - quote.into() [INFO] [stdout] 538 + >::into(quote) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `proc_macro2::Group` [INFO] [stdout] --> nano_parser_gen_macro/src/parsing/decls.rs:65:48 [INFO] [stdout] | [INFO] [stdout] 65 | [proc_macro2::TokenTree::Group(group.into())] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into 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] 65 - [proc_macro2::TokenTree::Group(group.into())] [INFO] [stdout] 65 + [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] 65 - [proc_macro2::TokenTree::Group(group.into())] [INFO] [stdout] 65 + [proc_macro2::TokenTree::Group(>::into(group))] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream` [INFO] [stdout] --> nano_parser_gen_macro/src/parsing/decls.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | / [proc_macro2::TokenTree::Group(group.into())] [INFO] [stdout] 66 | | .into_iter() [INFO] [stdout] 67 | | .collect::() [INFO] [stdout] 68 | | .into(), [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into 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] 67 - .collect::() [INFO] [stdout] 68 - .into(), [INFO] [stdout] 67 + .collect::(), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 65 ~ >::into([proc_macro2::TokenTree::Group(group.into())] [INFO] [stdout] 66 | .into_iter() [INFO] [stdout] 67 ~ .collect::()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream` [INFO] [stdout] --> nano_parser_gen_macro/src/parsing/decls.rs:70:33 [INFO] [stdout] | [INFO] [stdout] 70 | let parsed = parse2(preprocessed_tokens.into())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into 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] 70 - let parsed = parse2(preprocessed_tokens.into())?; [INFO] [stdout] 70 + 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] 70 - let parsed = parse2(preprocessed_tokens.into())?; [INFO] [stdout] 70 + let parsed = parse2(>::into(preprocessed_tokens))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `proc_macro2::Group` [INFO] [stdout] --> nano_parser_gen_macro/src/parsing/rules.rs:75:48 [INFO] [stdout] | [INFO] [stdout] 75 | [proc_macro2::TokenTree::Group(group.into())] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into 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] 75 - [proc_macro2::TokenTree::Group(group.into())] [INFO] [stdout] 75 + [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] 75 - [proc_macro2::TokenTree::Group(group.into())] [INFO] [stdout] 75 + [proc_macro2::TokenTree::Group(>::into(group))] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream` [INFO] [stdout] --> nano_parser_gen_macro/src/parsing/rules.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | / [proc_macro2::TokenTree::Group(group.into())] [INFO] [stdout] 76 | | .into_iter() [INFO] [stdout] 77 | | .collect::() [INFO] [stdout] 78 | | .into(), [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into 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] 77 - .collect::() [INFO] [stdout] 78 - .into(), [INFO] [stdout] 77 + .collect::(), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 75 ~ >::into([proc_macro2::TokenTree::Group(group.into())] [INFO] [stdout] 76 | .into_iter() [INFO] [stdout] 77 ~ .collect::()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `proc_macro2::TokenStream` [INFO] [stdout] --> nano_parser_gen_macro/src/parsing/rules.rs:80:33 [INFO] [stdout] | [INFO] [stdout] 80 | let parsed = parse2(preprocessed_tokens.into())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into 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] 80 - let parsed = parse2(preprocessed_tokens.into())?; [INFO] [stdout] 80 + 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] 80 - let parsed = parse2(preprocessed_tokens.into())?; [INFO] [stdout] 80 + let parsed = parse2(>::into(preprocessed_tokens))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> nano_parser_gen_macro/src/grammar/template/definition.rs:151:11 [INFO] [stdout] | [INFO] [stdout] 146 | &'a self, [INFO] [stdout] | -- the lifetime is named here [INFO] [stdout] 147 | args: Vec, [INFO] [stdout] 148 | templates: &'a [Template], [INFO] [stdout] | -- the lifetime is named here [INFO] [stdout] ... [INFO] [stdout] 151 | ) -> (TemplateInstance, Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ -- the same lifetime is named here [INFO] [stdout] | | [INFO] [stdout] | the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 151 | ) -> (TemplateInstance<'a>, Vec>) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `nano_parser_gen_macro` (lib) due to 8 previous errors; 4 warnings emitted [INFO] running `Command { std: "docker" "inspect" "748703698a50246a7ca27d6438b8b43920876d3a4f7389b0bb92fdfb38064f4a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "748703698a50246a7ca27d6438b8b43920876d3a4f7389b0bb92fdfb38064f4a", kill_on_drop: false }` [INFO] [stdout] 748703698a50246a7ca27d6438b8b43920876d3a4f7389b0bb92fdfb38064f4a