[INFO] fetching crate finny_derive 0.2.0... [INFO] checking finny_derive-0.2.0 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] extracting crate finny_derive 0.2.0 into /workspace/builds/worker-0-tc1/source [INFO] validating manifest of crates.io crate finny_derive 0.2.0 on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate finny_derive 0.2.0 [INFO] finished tweaking crates.io crate finny_derive 0.2.0 [INFO] tweaked toml for crates.io crate finny_derive 0.2.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 17 packages to latest compatible versions [INFO] [stderr] Adding fixedbitset v0.2.0 (latest: v0.5.7) [INFO] [stderr] Adding hashbrown v0.12.3 (latest: v0.14.5) [INFO] [stderr] Adding indexmap v1.9.3 (latest: v2.5.0) [INFO] [stderr] Adding petgraph v0.5.1 (latest: v0.6.5) [INFO] [stderr] Adding syn v1.0.109 (latest: v2.0.77) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4c5f7b94de645190b8ac8756738bb0f3d8594cd367bf1904148bcd9519983de2 [INFO] running `Command { std: "docker" "start" "-a" "4c5f7b94de645190b8ac8756738bb0f3d8594cd367bf1904148bcd9519983de2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4c5f7b94de645190b8ac8756738bb0f3d8594cd367bf1904148bcd9519983de2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4c5f7b94de645190b8ac8756738bb0f3d8594cd367bf1904148bcd9519983de2", kill_on_drop: false }` [INFO] [stdout] 4c5f7b94de645190b8ac8756738bb0f3d8594cd367bf1904148bcd9519983de2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0533b78348657e663b8812515c3e2bb0ee01b17b972bcd6a9e17f7357d62a478 [INFO] running `Command { std: "docker" "start" "-a" "0533b78348657e663b8812515c3e2bb0ee01b17b972bcd6a9e17f7357d62a478", kill_on_drop: false }` [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling serde v1.0.209 [INFO] [stderr] Checking fixedbitset v0.2.0 [INFO] [stderr] Checking petgraph v0.5.1 [INFO] [stderr] Checking serde_json v1.0.127 [INFO] [stderr] Checking finny_derive v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Span` [INFO] [stdout] --> src/codegen.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use proc_macro2::{Span, TokenStream}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/codegen_meta.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathSegment`, `TypePath`, and `parse::Parse` [INFO] [stdout] --> src/meta/plantuml.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use syn::{PathSegment, TypePath, parse::Parse}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/parse.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ExprMethodCall`, `Expr`, `ParseStream`, and `self` [INFO] [stdout] --> src/parse.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | use syn::{Error, Expr, ExprMethodCall, GenericArgument, ItemFn, parse::{self, Parse, ParseStream}, spanned::Spanned}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `assert_no_generics`, `get_closure`, `get_generics`, and `get_method_receiver_ident` [INFO] [stdout] --> src/parse.rs:6:53 [INFO] [stdout] | [INFO] [stdout] 6 | ...cks, get_generics, get_method_receiver_ident}, parse_fsm::{FsmCodegenOptions, FsmParser}, utils::{assert_no_generics, get_closure, to_... [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Span` [INFO] [stdout] --> src/codegen.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use proc_macro2::{Span, TokenStream}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/codegen_meta.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathSegment`, `TypePath`, and `parse::Parse` [INFO] [stdout] --> src/meta/plantuml.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use syn::{PathSegment, TypePath, parse::Parse}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/parse.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ExprMethodCall`, `Expr`, `ParseStream`, and `self` [INFO] [stdout] --> src/parse.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | use syn::{Error, Expr, ExprMethodCall, GenericArgument, ItemFn, parse::{self, Parse, ParseStream}, spanned::Spanned}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `assert_no_generics`, `get_closure`, `get_generics`, and `get_method_receiver_ident` [INFO] [stdout] --> src/parse.rs:6:53 [INFO] [stdout] | [INFO] [stdout] 6 | ...cks, get_generics, get_method_receiver_ident}, parse_fsm::{FsmCodegenOptions, FsmParser}, utils::{assert_no_generics, get_closure, to_... [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Parse` [INFO] [stdout] --> src/parse.rs:4:79 [INFO] [stdout] | [INFO] [stdout] 4 | use syn::{Error, Expr, ExprMethodCall, GenericArgument, ItemFn, parse::{self, Parse, ParseStream}, spanned::Spanned}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 34 | for (i, (_, state)) in fsm.fsm.states.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/codegen.rs:1135:26 [INFO] [stdout] | [INFO] [stdout] 1135 | for (sub_ty, state, sub) in subs { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sub` [INFO] [stdout] --> src/codegen.rs:1135:33 [INFO] [stdout] | [INFO] [stdout] 1135 | for (sub_ty, state, sub) in subs { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sub` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Parse` [INFO] [stdout] --> src/parse.rs:4:79 [INFO] [stdout] | [INFO] [stdout] 4 | use syn::{Error, Expr, ExprMethodCall, GenericArgument, ItemFn, parse::{self, Parse, ParseStream}, spanned::Spanned}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/codegen.rs:954:90 [INFO] [stdout] | [INFO] [stdout] 954 | enum_iter_matches.append_separated(submachine_iters.iter().enumerate().map(|(i, (ty, field))| { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/codegen.rs:1026:84 [INFO] [stdout] | [INFO] [stdout] 1026 | timers_storage_struct_fields.extend(our_timers_storage.iter().map(|(field, ty)| { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/codegen.rs:1042:70 [INFO] [stdout] | [INFO] [stdout] 1042 | new_fields_vec.extend(our_timers_storage.iter().map(|(field, ty)| quote! { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 34 | for (i, (_, state)) in fsm.fsm.states.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/codegen.rs:1135:26 [INFO] [stdout] | [INFO] [stdout] 1135 | for (sub_ty, state, sub) in subs { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sub` [INFO] [stdout] --> src/codegen.rs:1135:33 [INFO] [stdout] | [INFO] [stdout] 1135 | for (sub_ty, state, sub) in subs { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sub` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/codegen.rs:954:90 [INFO] [stdout] | [INFO] [stdout] 954 | enum_iter_matches.append_separated(submachine_iters.iter().enumerate().map(|(i, (ty, field))| { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/codegen.rs:1026:84 [INFO] [stdout] | [INFO] [stdout] 1026 | timers_storage_struct_fields.extend(our_timers_storage.iter().map(|(field, ty)| { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/codegen.rs:1042:70 [INFO] [stdout] | [INFO] [stdout] 1042 | new_fields_vec.extend(our_timers_storage.iter().map(|(field, ty)| quote! { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/codegen.rs:1162:9 [INFO] [stdout] | [INFO] [stdout] 1162 | let mut q = quote! { [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: variable does not need to be mutable [INFO] [stdout] --> src/codegen.rs:1162:9 [INFO] [stdout] | [INFO] [stdout] 1162 | let mut q = quote! { [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: unused variable: `info` [INFO] [stdout] --> src/codegen_meta.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | let info = to_info(fsm); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fsm_ty_name` [INFO] [stdout] --> src/codegen_meta.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | let fsm_ty_name = tokens_to_string(&strip_generics(fsm_ty.clone())); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fsm_ty_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fsm_info_ty` [INFO] [stdout] --> src/codegen_meta.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | let fsm_info_ty = &fsm.base.fsm_info_ty; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fsm_info_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fsm_ty_name_snake` [INFO] [stdout] --> src/codegen_meta.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | let fsm_ty_name_snake = crate::utils::to_snake_case(&tokens_to_string(&fsm_ty)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fsm_ty_name_snake` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fsm_generics_impl` [INFO] [stdout] --> src/codegen_meta.rs:128:10 [INFO] [stdout] | [INFO] [stdout] 128 | let (fsm_generics_impl, fsm_generics_type, fsm_generics_where) = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fsm_generics_impl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fsm_generics_type` [INFO] [stdout] --> src/codegen_meta.rs:128:29 [INFO] [stdout] | [INFO] [stdout] 128 | let (fsm_generics_impl, fsm_generics_type, fsm_generics_where) = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fsm_generics_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fsm_generics_where` [INFO] [stdout] --> src/codegen_meta.rs:128:48 [INFO] [stdout] | [INFO] [stdout] 128 | let (fsm_generics_impl, fsm_generics_type, fsm_generics_where) = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fsm_generics_where` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/codegen_meta.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | let info = to_info(fsm); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fsm_ty_name` [INFO] [stdout] --> src/codegen_meta.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | let fsm_ty_name = tokens_to_string(&strip_generics(fsm_ty.clone())); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fsm_ty_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fsm_info_ty` [INFO] [stdout] --> src/codegen_meta.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | let fsm_info_ty = &fsm.base.fsm_info_ty; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fsm_info_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fsm_ty_name_snake` [INFO] [stdout] --> src/codegen_meta.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | let fsm_ty_name_snake = crate::utils::to_snake_case(&tokens_to_string(&fsm_ty)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fsm_ty_name_snake` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fsm_generics_impl` [INFO] [stdout] --> src/codegen_meta.rs:128:10 [INFO] [stdout] | [INFO] [stdout] 128 | let (fsm_generics_impl, fsm_generics_type, fsm_generics_where) = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fsm_generics_impl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fsm_generics_type` [INFO] [stdout] --> src/codegen_meta.rs:128:29 [INFO] [stdout] | [INFO] [stdout] 128 | let (fsm_generics_impl, fsm_generics_type, fsm_generics_where) = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fsm_generics_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fsm_generics_where` [INFO] [stdout] --> src/codegen_meta.rs:128:48 [INFO] [stdout] | [INFO] [stdout] 128 | let (fsm_generics_impl, fsm_generics_type, fsm_generics_where) = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fsm_generics_where` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attr` [INFO] [stdout] --> src/parse.rs:25:18 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn parse(attr: TokenStream, item: TokenStream) -> syn::Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_attr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attr` [INFO] [stdout] --> src/parse.rs:25:18 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn parse(attr: TokenStream, item: TokenStream) -> syn::Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_attr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/parse_fsm.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 45 | FsmBlock::MethodCall(mc) => { [INFO] [stdout] | ------------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 134 | _ => todo!("unsupported block!") [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/parse_fsm.rs:114:33 [INFO] [stdout] | [INFO] [stdout] 114 | ... _ => { return Err(syn::Error::new(ty_sub_fsm.span(), "Missing with_context?")); } [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/parse_fsm.rs:114:33 [INFO] [stdout] | [INFO] [stdout] 102 | ... [with_context @ MethodOverviewRef { name: "with_context", .. }, st @ .. ] => { [INFO] [stdout] | ------------------------------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 111 | ... [st @ ..] => { [INFO] [stdout] | --------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 114 | ... _ => { return Err(syn::Error::new(ty_sub_fsm.span(), "Missing with_context?")); } [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/parse_fsm.rs:233:18 [INFO] [stdout] | [INFO] [stdout] 233 | for (ty, ev) in self.events.iter() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse_fsm.rs:198:21 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn validate(mut self, input_fn: &ItemFn) -> syn::Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/utils.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | for mut seg in &mut tp.path.segments { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_plant_uml` is never used [INFO] [stdout] --> src/meta/plantuml.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn to_plant_uml(fsm: &FinnyFsm) -> Result<(String, TokenStream), std::fmt::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `initial_state` is never read [INFO] [stdout] --> src/parse.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 146 | pub struct FsmRegion { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 147 | pub region_id: usize, [INFO] [stdout] 148 | pub initial_state: syn::Type, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FsmRegion` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Stop` is never constructed [INFO] [stdout] --> src/parse.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub enum FsmTransitionEvent { [INFO] [stdout] | ------------------ variant in this enum [INFO] [stdout] 161 | Stop, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FsmTransitionEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FsmBlockStruct` is never constructed [INFO] [stdout] --> src/parse_blocks.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct FsmBlockStruct { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FsmBlockStruct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_ty_ident` is never used [INFO] [stdout] --> src/utils.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn get_ty_ident(ty: &syn::Type) -> syn::Result<&syn::Ident> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `generics` is never read [INFO] [stdout] --> src/fsm.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct FsmTypes { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 7 | generics: syn::Generics [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FsmTypes` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/parse_fsm.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 45 | FsmBlock::MethodCall(mc) => { [INFO] [stdout] | ------------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 134 | _ => todo!("unsupported block!") [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/parse_fsm.rs:114:33 [INFO] [stdout] | [INFO] [stdout] 114 | ... _ => { return Err(syn::Error::new(ty_sub_fsm.span(), "Missing with_context?")); } [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/parse_fsm.rs:114:33 [INFO] [stdout] | [INFO] [stdout] 102 | ... [with_context @ MethodOverviewRef { name: "with_context", .. }, st @ .. ] => { [INFO] [stdout] | ------------------------------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 111 | ... [st @ ..] => { [INFO] [stdout] | --------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 114 | ... _ => { return Err(syn::Error::new(ty_sub_fsm.span(), "Missing with_context?")); } [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/parse_fsm.rs:233:18 [INFO] [stdout] | [INFO] [stdout] 233 | for (ty, ev) in self.events.iter() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse_fsm.rs:198:21 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn validate(mut self, input_fn: &ItemFn) -> syn::Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/utils.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | for mut seg in &mut tp.path.segments { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_plant_uml` is never used [INFO] [stdout] --> src/meta/plantuml.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn to_plant_uml(fsm: &FinnyFsm) -> Result<(String, TokenStream), std::fmt::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `initial_state` is never read [INFO] [stdout] --> src/parse.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 146 | pub struct FsmRegion { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 147 | pub region_id: usize, [INFO] [stdout] 148 | pub initial_state: syn::Type, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FsmRegion` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Stop` is never constructed [INFO] [stdout] --> src/parse.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub enum FsmTransitionEvent { [INFO] [stdout] | ------------------ variant in this enum [INFO] [stdout] 161 | Stop, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FsmTransitionEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FsmBlockStruct` is never constructed [INFO] [stdout] --> src/parse_blocks.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct FsmBlockStruct { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FsmBlockStruct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_ty_ident` is never used [INFO] [stdout] --> src/utils.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn get_ty_ident(ty: &syn::Type) -> syn::Result<&syn::Ident> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `generics` is never read [INFO] [stdout] --> src/fsm.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct FsmTypes { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 7 | generics: syn::Generics [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FsmTypes` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.36s [INFO] running `Command { std: "docker" "inspect" "0533b78348657e663b8812515c3e2bb0ee01b17b972bcd6a9e17f7357d62a478", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0533b78348657e663b8812515c3e2bb0ee01b17b972bcd6a9e17f7357d62a478", kill_on_drop: false }` [INFO] [stdout] 0533b78348657e663b8812515c3e2bb0ee01b17b972bcd6a9e17f7357d62a478