[INFO] fetching crate router-rs-macro 0.1.1... [INFO] building router-rs-macro-0.1.1 against master#44f415c1d617ebc7b931a243b7b321ef8a6ca47c for pr-142134-abi-ast-error [INFO] extracting crate router-rs-macro 0.1.1 into /workspace/builds/worker-2-tc1/source [INFO] validating manifest of crates.io crate router-rs-macro 0.1.1 on toolchain 44f415c1d617ebc7b931a243b7b321ef8a6ca47c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate router-rs-macro 0.1.1 [INFO] finished tweaking crates.io crate router-rs-macro 0.1.1 [INFO] tweaked toml for crates.io crate router-rs-macro 0.1.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 4 packages to latest compatible versions [INFO] [stderr] Adding proc-macro2 v0.4.30 (available: v1.0.95) [INFO] [stderr] Adding quote v0.6.13 (available: v1.0.40) [INFO] [stderr] Adding syn v0.15.44 (available: v2.0.101) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fe21786f013cc1d6dc59ce891ad11f0755820e7eb59556b2f2eb8803b5a3eb5a [INFO] running `Command { std: "docker" "start" "-a" "fe21786f013cc1d6dc59ce891ad11f0755820e7eb59556b2f2eb8803b5a3eb5a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fe21786f013cc1d6dc59ce891ad11f0755820e7eb59556b2f2eb8803b5a3eb5a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fe21786f013cc1d6dc59ce891ad11f0755820e7eb59556b2f2eb8803b5a3eb5a", kill_on_drop: false }` [INFO] [stdout] fe21786f013cc1d6dc59ce891ad11f0755820e7eb59556b2f2eb8803b5a3eb5a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 403da1e2f6bdf77fc86d6fd0fea8ba3cc0a0f3141df3868e6a4fd0d7978a4cdf [INFO] running `Command { std: "docker" "start" "-a" "403da1e2f6bdf77fc86d6fd0fea8ba3cc0a0f3141df3868e6a4fd0d7978a4cdf", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling router-rs-macro v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `self::proc_macro::TokenStream` [INFO] [stdout] --> src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use self::proc_macro::TokenStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn` [INFO] [stdout] --> src/lib.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use syn; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Expr` [INFO] [stdout] --> src/route_macro.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | use syn::{parse_macro_input, Expr}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn::spanned::Spanned` [INFO] [stdout] --> src/route_macro.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use syn::spanned::Spanned; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/create_routes_macro.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let mut routes_to_create = parse_macro_input!(input as RoutesToCreate); [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: `types` [INFO] [stdout] --> src/route_macro.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | let types = as_param_types(¶ms); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_types` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/route_macro.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | let mut args = parse_macro_input!(args as RouteAttrs); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_params_map` [INFO] [stdout] --> src/route_macro.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | let path_params_map: HashSet = path_params.clone().into_iter().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_params_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pat` [INFO] [stdout] --> src/route_macro.rs:396:36 [INFO] [stdout] | [INFO] [stdout] 396 | Pat::Ident(ref pat) => &captured.ty, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `equals` [INFO] [stdout] --> src/route_macro.rs:450:13 [INFO] [stdout] | [INFO] [stdout] 450 | let equals = input.parse::()?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_equals` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.51s [INFO] running `Command { std: "docker" "inspect" "403da1e2f6bdf77fc86d6fd0fea8ba3cc0a0f3141df3868e6a4fd0d7978a4cdf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "403da1e2f6bdf77fc86d6fd0fea8ba3cc0a0f3141df3868e6a4fd0d7978a4cdf", kill_on_drop: false }` [INFO] [stdout] 403da1e2f6bdf77fc86d6fd0fea8ba3cc0a0f3141df3868e6a4fd0d7978a4cdf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bc16d5e8a0d22577ffcd6b806e36ae6e7d81efb73e5102736eed9d08858dc921 [INFO] running `Command { std: "docker" "start" "-a" "bc16d5e8a0d22577ffcd6b806e36ae6e7d81efb73e5102736eed9d08858dc921", kill_on_drop: false }` [INFO] [stderr] Compiling router-rs-macro v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `self::proc_macro::TokenStream` [INFO] [stdout] --> src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use self::proc_macro::TokenStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn` [INFO] [stdout] --> src/lib.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use syn; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Expr` [INFO] [stdout] --> src/route_macro.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | use syn::{parse_macro_input, Expr}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::proc_macro::TokenStream` [INFO] [stdout] --> src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use self::proc_macro::TokenStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn` [INFO] [stdout] --> src/lib.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use syn; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Expr` [INFO] [stdout] --> src/route_macro.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | use syn::{parse_macro_input, Expr}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn::spanned::Spanned` [INFO] [stdout] --> src/route_macro.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use syn::spanned::Spanned; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/create_routes_macro.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let mut routes_to_create = parse_macro_input!(input as RoutesToCreate); [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: `types` [INFO] [stdout] --> src/route_macro.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | let types = as_param_types(¶ms); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_types` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/route_macro.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | let mut args = parse_macro_input!(args as RouteAttrs); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_params_map` [INFO] [stdout] --> src/route_macro.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | let path_params_map: HashSet = path_params.clone().into_iter().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_params_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn::spanned::Spanned` [INFO] [stdout] --> src/route_macro.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use syn::spanned::Spanned; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/create_routes_macro.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let mut routes_to_create = parse_macro_input!(input as RoutesToCreate); [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: `types` [INFO] [stdout] --> src/route_macro.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | let types = as_param_types(¶ms); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_types` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/route_macro.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | let mut args = parse_macro_input!(args as RouteAttrs); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_params_map` [INFO] [stdout] --> src/route_macro.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | let path_params_map: HashSet = path_params.clone().into_iter().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_params_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pat` [INFO] [stdout] --> src/route_macro.rs:396:36 [INFO] [stdout] | [INFO] [stdout] 396 | Pat::Ident(ref pat) => &captured.ty, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `equals` [INFO] [stdout] --> src/route_macro.rs:450:13 [INFO] [stdout] | [INFO] [stdout] 450 | let equals = input.parse::()?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_equals` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pat` [INFO] [stdout] --> src/route_macro.rs:396:36 [INFO] [stdout] | [INFO] [stdout] 396 | Pat::Ident(ref pat) => &captured.ty, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `equals` [INFO] [stdout] --> src/route_macro.rs:450:13 [INFO] [stdout] | [INFO] [stdout] 450 | let equals = input.parse::()?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_equals` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.14s [INFO] running `Command { std: "docker" "inspect" "bc16d5e8a0d22577ffcd6b806e36ae6e7d81efb73e5102736eed9d08858dc921", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bc16d5e8a0d22577ffcd6b806e36ae6e7d81efb73e5102736eed9d08858dc921", kill_on_drop: false }` [INFO] [stdout] bc16d5e8a0d22577ffcd6b806e36ae6e7d81efb73e5102736eed9d08858dc921