[INFO] fetching crate wgpu_struct_derive 0.1.0...
[INFO] checking wgpu_struct_derive-0.1.0 against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] extracting crate wgpu_struct_derive 0.1.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate wgpu_struct_derive 0.1.0
[INFO] finished tweaking crates.io crate wgpu_struct_derive 0.1.0
[INFO] tweaked toml for crates.io crate wgpu_struct_derive 0.1.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate wgpu_struct_derive 0.1.0 on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate wgpu_struct_derive 0.1.0 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-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] b3ce9a220b6f10d515da48c7364bcea9b5f57d813c4e6dd922341e5802a4964e
[INFO] running `Command { std: "docker" "start" "b3ce9a220b6f10d515da48c7364bcea9b5f57d813c4e6dd922341e5802a4964e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b3ce9a220b6f10d515da48c7364bcea9b5f57d813c4e6dd922341e5802a4964e", 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" "b3ce9a220b6f10d515da48c7364bcea9b5f57d813c4e6dd922341e5802a4964e" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b3ce9a220b6f10d515da48c7364bcea9b5f57d813c4e6dd922341e5802a4964e", 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" "b3ce9a220b6f10d515da48c7364bcea9b5f57d813c4e6dd922341e5802a4964e" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]     Checking quote v1.0.42
[INFO] [stderr]     Checking syn v2.0.111
[INFO] [stderr]     Checking wgpu_struct_derive v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: useless conversion to the same type: `Result<proc_macro2::TokenStream, syn::Error>`
[INFO] [stdout]   --> src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | /     Ok(quote! {
[INFO] [stdout] 34 | |         impl wgpu_struct::GpuLayout for #ident {
[INFO] [stdout] 35 | |             const ALIGNMENT: usize = #alignment;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | |     })
[INFO] [stdout] 52 | |     .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] 51 -     })
[INFO] [stdout] 52 -     .into()
[INFO] [stdout] 51 +     })
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 33 ~     <Result<proc_macro2::TokenStream, syn::Error> as Into<_>>::into(Ok(quote! {
[INFO] [stdout] 34 |         impl wgpu_struct::GpuLayout for #ident {
[INFO] [stdout] ...
[INFO] [stdout] 50 |         const _: Option<usize> = <#ident as wgpu_struct::GpuLayout>::SIZE;
[INFO] [stdout] 51 ~     }))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Result<proc_macro2::TokenStream, syn::Error>`
[INFO] [stdout]    --> src/lib.rs:94:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | /     Ok(quote! {
[INFO] [stdout]  95 | |         impl wgpu_struct::GpuEncode for #ident {
[INFO] [stdout]  96 | |             fn encode(&self, encoder: &mut wgpu_struct::GpuEncoder<impl std::io::Write>) -> std::io::Result<()> {
[INFO] [stdout]  97 | |                 encoder.struct_align::<Self>(|encoder| {
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |     })
[INFO] [stdout] 104 | |     .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] 103 -     })
[INFO] [stdout] 104 -     .into()
[INFO] [stdout] 103 +     })
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout]  94 ~     <Result<proc_macro2::TokenStream, syn::Error> as Into<_>>::into(Ok(quote! {
[INFO] [stdout]  95 |         impl wgpu_struct::GpuEncode for #ident {
[INFO] [stdout] ...
[INFO] [stdout] 102 |         }
[INFO] [stdout] 103 ~     }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Result<proc_macro2::TokenStream, syn::Error>`
[INFO] [stdout]    --> src/lib.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | /     Ok(quote! {
[INFO] [stdout] 152 | |         impl wgpu_struct::GpuDecode for #ident {
[INFO] [stdout] 153 | |             fn decode(decoder: &mut wgpu_struct::GpuDecoder<impl std::io::Read>) -> std::io::Result<Self> {
[INFO] [stdout] 154 | |                 decoder.struct_align::<Self>(|decoder| Ok(#body))
[INFO] [stdout] ...   |
[INFO] [stdout] 157 | |     })
[INFO] [stdout] 158 | |     .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] 157 -     })
[INFO] [stdout] 158 -     .into()
[INFO] [stdout] 157 +     })
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 151 ~     <Result<proc_macro2::TokenStream, syn::Error> as Into<_>>::into(Ok(quote! {
[INFO] [stdout] 152 |         impl wgpu_struct::GpuDecode for #ident {
[INFO] [stdout] ...
[INFO] [stdout] 156 |         }
[INFO] [stdout] 157 ~     }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `wgpu_struct_derive` (lib) due to 3 previous errors
[INFO] [stdout] error: useless conversion to the same type: `Result<proc_macro2::TokenStream, syn::Error>`
[INFO] [stdout]   --> src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | /     Ok(quote! {
[INFO] [stdout] 34 | |         impl wgpu_struct::GpuLayout for #ident {
[INFO] [stdout] 35 | |             const ALIGNMENT: usize = #alignment;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | |     })
[INFO] [stdout] 52 | |     .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] 51 -     })
[INFO] [stdout] 52 -     .into()
[INFO] [stdout] 51 +     })
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 33 ~     <Result<proc_macro2::TokenStream, syn::Error> as Into<_>>::into(Ok(quote! {
[INFO] [stdout] 34 |         impl wgpu_struct::GpuLayout for #ident {
[INFO] [stdout] ...
[INFO] [stdout] 50 |         const _: Option<usize> = <#ident as wgpu_struct::GpuLayout>::SIZE;
[INFO] [stdout] 51 ~     }))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `Result<proc_macro2::TokenStream, syn::Error>`
[INFO] [stdout]    --> src/lib.rs:94:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | /     Ok(quote! {
[INFO] [stdout]  95 | |         impl wgpu_struct::GpuEncode for #ident {
[INFO] [stdout]  96 | |             fn encode(&self, encoder: &mut wgpu_struct::GpuEncoder<impl std::io::Write>) -> std::io::Result<()> {
[INFO] [stdout]  97 | |                 encoder.struct_align::<Self>(|encoder| {
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |     })
[INFO] [stdout] 104 | |     .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] 103 -     })
[INFO] [stdout] 104 -     .into()
[INFO] [stdout] 103 +     })
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout]  94 ~     <Result<proc_macro2::TokenStream, syn::Error> as Into<_>>::into(Ok(quote! {
[INFO] [stdout]  95 |         impl wgpu_struct::GpuEncode for #ident {
[INFO] [stdout] ...
[INFO] [stdout] 102 |         }
[INFO] [stdout] 103 ~     }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Result<proc_macro2::TokenStream, syn::Error>`
[INFO] [stdout]    --> src/lib.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | /     Ok(quote! {
[INFO] [stdout] 152 | |         impl wgpu_struct::GpuDecode for #ident {
[INFO] [stdout] 153 | |             fn decode(decoder: &mut wgpu_struct::GpuDecoder<impl std::io::Read>) -> std::io::Result<Self> {
[INFO] [stdout] 154 | |                 decoder.struct_align::<Self>(|decoder| Ok(#body))
[INFO] [stdout] ...   |
[INFO] [stdout] 157 | |     })
[INFO] [stdout] 158 | |     .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] 157 -     })
[INFO] [stdout] 158 -     .into()
[INFO] [stdout] 157 +     })
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 151 ~     <Result<proc_macro2::TokenStream, syn::Error> as Into<_>>::into(Ok(quote! {
[INFO] [stdout] 152 |         impl wgpu_struct::GpuDecode for #ident {
[INFO] [stdout] ...
[INFO] [stdout] 156 |         }
[INFO] [stdout] 157 ~     }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `wgpu_struct_derive` (lib test) due to 3 previous errors
[INFO] running `Command { std: "docker" "inspect" "b3ce9a220b6f10d515da48c7364bcea9b5f57d813c4e6dd922341e5802a4964e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3ce9a220b6f10d515da48c7364bcea9b5f57d813c4e6dd922341e5802a4964e", kill_on_drop: false }`
[INFO] [stdout] b3ce9a220b6f10d515da48c7364bcea9b5f57d813c4e6dd922341e5802a4964e
