[INFO] cloning repository https://github.com/camilomcatasus/byte_transport [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/camilomcatasus/byte_transport" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcamilomcatasus%2Fbyte_transport", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcamilomcatasus%2Fbyte_transport'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 43f238064335c1a41d7851d1886d0aaef20a16d5 [INFO] checking camilomcatasus/byte_transport against try#a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d for pr-145342-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcamilomcatasus%2Fbyte_transport" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/camilomcatasus/byte_transport [INFO] finished tweaking git repo https://github.com/camilomcatasus/byte_transport [INFO] tweaked toml for git repo https://github.com/camilomcatasus/byte_transport written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/camilomcatasus/byte_transport on toolchain a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/camilomcatasus/byte_transport 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" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dcf8aa73515054becdf94efbf3aa89dae2721ee48451e3d7020aa05b732408a8 [INFO] running `Command { std: "docker" "start" "-a" "dcf8aa73515054becdf94efbf3aa89dae2721ee48451e3d7020aa05b732408a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dcf8aa73515054becdf94efbf3aa89dae2721ee48451e3d7020aa05b732408a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dcf8aa73515054becdf94efbf3aa89dae2721ee48451e3d7020aa05b732408a8", kill_on_drop: false }` [INFO] [stdout] dcf8aa73515054becdf94efbf3aa89dae2721ee48451e3d7020aa05b732408a8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 54b7eeb64e4ff3b2bfc18a1b412d5c23b240233f3fabe4ff986a7f6e65a387b2 [INFO] running `Command { std: "docker" "start" "-a" "54b7eeb64e4ff3b2bfc18a1b412d5c23b240233f3fabe4ff986a7f6e65a387b2", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling unicode-ident v1.0.16 [INFO] [stderr] Compiling anyhow v1.0.95 [INFO] [stderr] Checking quote v1.0.38 [INFO] [stderr] Compiling syn v2.0.98 [INFO] [stderr] Checking byte_transport_macros v0.1.0 (/opt/rustwide/workdir/byte_transport_macros) [INFO] [stdout] warning: unused import: `Field` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:4:49 [INFO] [stdout] | [INFO] [stdout] 4 | use syn::{parse_macro_input, Data, DeriveInput, Field, Fields}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ignored_fields` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:123:17 [INFO] [stdout] | [INFO] [stdout] 123 | let ignored_fields = data.fields.iter().filter(|f| { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ignored_fields` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attrs` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | let attrs = &f.attrs; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:165:88 [INFO] [stdout] | [INFO] [stdout] 165 | let field_decodes = fields.unnamed.iter().enumerate().map(|(i, field)| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_field` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field_type` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:190:33 [INFO] [stdout] | [INFO] [stdout] 190 | ... let field_type = &named_field.ty; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Field` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:4:49 [INFO] [stdout] | [INFO] [stdout] 4 | use syn::{parse_macro_input, Data, DeriveInput, Field, Fields}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ignored_fields` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:123:17 [INFO] [stdout] | [INFO] [stdout] 123 | let ignored_fields = data.fields.iter().filter(|f| { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ignored_fields` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attrs` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | let attrs = &f.attrs; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:165:88 [INFO] [stdout] | [INFO] [stdout] 165 | let field_decodes = fields.unnamed.iter().enumerate().map(|(i, field)| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_field` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field_type` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:190:33 [INFO] [stdout] | [INFO] [stdout] 190 | ... let field_type = &named_field.ty; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Field` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:4:49 [INFO] [stdout] | [INFO] [stdout] 4 | use syn::{parse_macro_input, Data, DeriveInput, Field, Fields}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ignored_fields` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:123:17 [INFO] [stdout] | [INFO] [stdout] 123 | let ignored_fields = data.fields.iter().filter(|f| { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ignored_fields` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attrs` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | let attrs = &f.attrs; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:165:88 [INFO] [stdout] | [INFO] [stdout] 165 | let field_decodes = fields.unnamed.iter().enumerate().map(|(i, field)| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_field` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field_type` [INFO] [stdout] --> byte_transport_macros/src/lib.rs:190:33 [INFO] [stdout] | [INFO] [stdout] 190 | ... let field_type = &named_field.ty; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking byte_transport v0.1.0 (/opt/rustwide/workdir/byte_transport) [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> byte_transport/src/lib.rs:476:9 [INFO] [stdout] | [INFO] [stdout] 476 | byte_len.simple_encode(bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 476 | let _ = byte_len.simple_encode(bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> byte_transport/src/lib.rs:476:9 [INFO] [stdout] | [INFO] [stdout] 476 | byte_len.simple_encode(bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 476 | let _ = byte_len.simple_encode(bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Fields TokenStream [Ident { ident: "field_a", span: #0 bytes(145..152) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(152..153) }, Ident { ident: "i32", span: #0 bytes(154..157) }] [INFO] [stdout] Fields TokenStream [Ident { ident: "field_b", span: #0 bytes(163..170) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(170..171) }, Ident { ident: "i64", span: #0 bytes(172..175) }] [INFO] [stdout] Fields TokenStream [Ident { ident: "sub_struct", span: #0 bytes(181..191) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(191..192) }, Ident { ident: "Option", span: #0 bytes(193..199) }, Punct { ch: '<', spacing: Alone, span: #0 bytes(199..200) }, Ident { ident: "SubStruct", span: #0 bytes(200..209) }, Punct { ch: '>', spacing: Alone, span: #0 bytes(209..210) }] [INFO] [stdout] Struct TestStruct [INFO] [stdout] impl ByteDecode for TestStruct [INFO] [stdout] { [INFO] [stdout] fn simple_decode(decoder : & mut byte_transport :: Decoder) -> Result < [INFO] [stdout] Self, byte_transport :: Error > [INFO] [stdout] { [INFO] [stdout] let field_a : i32 = ByteDecode :: simple_decode(decoder) ? ; let [INFO] [stdout] field_b : i64 = ByteDecode :: simple_decode(decoder) ? ; let [INFO] [stdout] sub_struct : Option < SubStruct > = ByteDecode :: [INFO] [stdout] simple_decode(decoder) ? ; Ok(Self { field_a, field_b, sub_struct }) [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] Fields TokenStream [Ident { ident: "b", span: #0 bytes(294..295) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(295..296) }, Ident { ident: "bool", span: #0 bytes(297..301) }] [INFO] [stdout] Fields TokenStream [Punct { ch: '#', spacing: Alone, span: #0 bytes(307..308) }, Group { delimiter: Bracket, stream: TokenStream [Ident { ident: "ig", span: #0 bytes(309..311) }], span: #0 bytes(308..312) }, Ident { ident: "integer_32", span: #0 bytes(317..327) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(327..328) }, Ident { ident: "i32", span: #0 bytes(329..332) }] [INFO] [stdout] Struct SubStruct [INFO] [stdout] impl ByteDecode for SubStruct [INFO] [stdout] { [INFO] [stdout] fn simple_decode(decoder : & mut byte_transport :: Decoder) -> Result < [INFO] [stdout] Self, byte_transport :: Error > [INFO] [stdout] { [INFO] [stdout] let b : bool = ByteDecode :: simple_decode(decoder) ? ; let integer_32 [INFO] [stdout] : i32 = ByteDecode :: simple_decode(decoder) ? ; [INFO] [stdout] Ok(Self { b, integer_32 }) [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] Self :: B(ref field_0, ref field_1) => [INFO] [stdout] { [INFO] [stdout] bytes.push(1u8); ByteEncode :: simple_encode(field_0, bytes) ? ; [INFO] [stdout] ByteEncode :: simple_encode(field_1, bytes) ? ; Ok(()) [INFO] [stdout] } [INFO] [stdout] Self :: C { ref test_field, ref test_field2 } => [INFO] [stdout] { [INFO] [stdout] bytes.push(2u8); ByteEncode :: simple_encode(test_field, bytes) ? ; [INFO] [stdout] ByteEncode :: simple_encode(test_field2, bytes) ? ; Ok(()) [INFO] [stdout] } [INFO] [stdout] Self :: D(ref field_0) => [INFO] [stdout] { bytes.push(3u8); ByteEncode :: simple_encode(field_0, bytes) ? ; Ok(()) } [INFO] [stdout] Fields TokenStream [Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "i32", span: #0 bytes(422..425) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(425..426) }, Ident { ident: "i32", span: #0 bytes(427..430) }], span: #0 bytes(421..431) }] [INFO] [stdout] Unnamed Fields result: 1u8 => [INFO] [stdout] { [INFO] [stdout] let field_0 = ByteDecode :: simple_decode(decoder) ? ; let field_1 = [INFO] [stdout] ByteDecode :: simple_decode(decoder) ? ; Ok(Self :: B(field_0, field_1)) [INFO] [stdout] } [INFO] [stdout] TokenStream [Ident { ident: "test_field", span: #0 bytes(449..459) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(459..460) }, Ident { ident: "i32", span: #0 bytes(461..464) }] [INFO] [stdout] TokenStream [Ident { ident: "test_field2", span: #0 bytes(474..485) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(485..486) }, Ident { ident: "bool", span: #0 bytes(487..491) }] [INFO] [stdout] Byte Decode implementation: 2u8 => [INFO] [stdout] { [INFO] [stdout] Ok(Self :: C [INFO] [stdout] { [INFO] [stdout] test_field : ByteDecode :: simple_decode(decoder) ? , test_field2 : [INFO] [stdout] ByteDecode :: simple_decode(decoder) ? , [INFO] [stdout] }) [INFO] [stdout] } [INFO] [stdout] Fields TokenStream [Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "Vec", span: #0 bytes(506..509) }, Punct { ch: '<', spacing: Alone, span: #0 bytes(509..510) }, Ident { ident: "i32", span: #0 bytes(510..513) }, Punct { ch: '>', spacing: Alone, span: #0 bytes(513..514) }], span: #0 bytes(505..515) }] [INFO] [stdout] Unnamed Fields result: 3u8 => [INFO] [stdout] { [INFO] [stdout] let field_0 = ByteDecode :: simple_decode(decoder) ? ; [INFO] [stdout] Ok(Self :: D(field_0)) [INFO] [stdout] } [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.55s [INFO] running `Command { std: "docker" "inspect" "54b7eeb64e4ff3b2bfc18a1b412d5c23b240233f3fabe4ff986a7f6e65a387b2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "54b7eeb64e4ff3b2bfc18a1b412d5c23b240233f3fabe4ff986a7f6e65a387b2", kill_on_drop: false }` [INFO] [stdout] 54b7eeb64e4ff3b2bfc18a1b412d5c23b240233f3fabe4ff986a7f6e65a387b2