[INFO] fetching crate gel-protogen 0.1.2...
[INFO] checking gel-protogen-0.1.2 against try#943e2200e35c3825486c4671b6cab0107a07f8c1 for pr-148952
[INFO] extracting crate gel-protogen 0.1.2 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate gel-protogen 0.1.2
[INFO] finished tweaking crates.io crate gel-protogen 0.1.2
[INFO] tweaked toml for crates.io crate gel-protogen 0.1.2 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate gel-protogen 0.1.2 on toolchain 943e2200e35c3825486c4671b6cab0107a07f8c1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate gel-protogen 0.1.2 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" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0242f8d517a7340fd504c6a9162c0f3143426144214161a65e2d7e3fb2d7fb98
[INFO] running `Command { std: "docker" "start" "-a" "0242f8d517a7340fd504c6a9162c0f3143426144214161a65e2d7e3fb2d7fb98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0242f8d517a7340fd504c6a9162c0f3143426144214161a65e2d7e3fb2d7fb98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0242f8d517a7340fd504c6a9162c0f3143426144214161a65e2d7e3fb2d7fb98", kill_on_drop: false }`
[INFO] [stdout] 0242f8d517a7340fd504c6a9162c0f3143426144214161a65e2d7e3fb2d7fb98
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 28b07b285f6e9b3e72d77945c92434dfba7e2a3314d3fed8979a736c1970ed88
[INFO] running `Command { std: "docker" "start" "-a" "28b07b285f6e9b3e72d77945c92434dfba7e2a3314d3fed8979a736c1970ed88", kill_on_drop: false }`
[INFO] [stderr]     Checking uuid v1.17.0
[INFO] [stderr]     Checking const-str v0.6.2
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling gel-protogen-proc-macros v0.1.2
[INFO] [stderr]    Compiling type-mapper v0.1.2
[INFO] [stderr]     Checking derive_more v2.0.1
[INFO] [stderr]     Checking gel-protogen v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `$crate::protocol_builder`
[INFO] [stdout]    --> src/gen.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |           use $crate::protocol_builder;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 565 | /         crate::protocol!(
[INFO] [stdout] 566 | |             struct FixedOnly<'a> {
[INFO] [stdout] 567 | |                 a: u8,
[INFO] [stdout] 568 | |             }
[INFO] [stdout] 569 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `$crate::protocol_builder`
[INFO] [stdout]    --> src/gen.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |           use $crate::protocol_builder;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 578 | /         crate::protocol!(
[INFO] [stdout] 579 | |             struct FixedOnlyValue <'a> {
[INFO] [stdout] 580 | |                 a: u8 = 1,
[INFO] [stdout] 581 | |             }
[INFO] [stdout] 582 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `$crate::protocol_builder`
[INFO] [stdout]    --> src/gen.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |           use $crate::protocol_builder;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 586 | /         crate::protocol!(
[INFO] [stdout] 587 | |             struct Mixed <'a> {
[INFO] [stdout] 588 | |                 a: u8 = 1,
[INFO] [stdout] 589 | |                 s: ZTString<'a>,
[INFO] [stdout] 590 | |             }
[INFO] [stdout] 591 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `$crate::protocol_builder`
[INFO] [stdout]    --> src/gen.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |           use $crate::protocol_builder;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 595 | /         crate::protocol!(
[INFO] [stdout] 596 | |             /// Docs
[INFO] [stdout] 597 | |             struct Docs <'a> {
[INFO] [stdout] 598 | |                 /// Docs
[INFO] [stdout] ...   |
[INFO] [stdout] 603 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `$crate::protocol_builder`
[INFO] [stdout]    --> src/gen.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |           use $crate::protocol_builder;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 609 | /         crate::protocol!(
[INFO] [stdout] 610 | |             struct WithLength<'a> {
[INFO] [stdout] 611 | |                 a: u8,
[INFO] [stdout] 612 | |                 l: len,
[INFO] [stdout] 613 | |             }
[INFO] [stdout] 614 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `$crate::protocol_builder`
[INFO] [stdout]    --> src/gen.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |           use $crate::protocol_builder;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 621 | /         crate::protocol!(
[INFO] [stdout] 622 | |             struct StaticArray<'a> {
[INFO] [stdout] 623 | |                 a: u8,
[INFO] [stdout] 624 | |                 l: [u8; 4],
[INFO] [stdout] 625 | |             }
[INFO] [stdout] 626 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `$crate::protocol_builder`
[INFO] [stdout]    --> src/gen.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |           use $crate::protocol_builder;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 630 | /         crate::protocol!(
[INFO] [stdout] 631 | |             struct HasLString<'a> {
[INFO] [stdout] 632 | |                 s: LString<'a>,
[INFO] [stdout] 633 | |             }
[INFO] [stdout] 634 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `$crate::protocol_builder`
[INFO] [stdout]    --> src/gen.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |           use $crate::protocol_builder;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 638 | /         crate::protocol!(
[INFO] [stdout] 639 | |             struct HasEnum<'a> {
[INFO] [stdout] 640 | |                 e: MyEnum,
[INFO] [stdout] ...   |
[INFO] [stdout] 649 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 565 |  /         crate::protocol!(
[INFO] [stdout] 566 |  |             struct FixedOnly<'a> {
[INFO] [stdout] 567 |  |                 a: u8,
[INFO] [stdout] 568 |  |             }
[INFO] [stdout] 569 |  |         );
[INFO] [stdout]     |  |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 578 |  /         crate::protocol!(
[INFO] [stdout] 579 |  |             struct FixedOnlyValue <'a> {
[INFO] [stdout] 580 |  |                 a: u8 = 1,
[INFO] [stdout] 581 |  |             }
[INFO] [stdout] 582 |  |         );
[INFO] [stdout]     |  |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 586 |  /         crate::protocol!(
[INFO] [stdout] 587 |  |             struct Mixed <'a> {
[INFO] [stdout] 588 |  |                 a: u8 = 1,
[INFO] [stdout] 589 |  |                 s: ZTString<'a>,
[INFO] [stdout] 590 |  |             }
[INFO] [stdout] 591 |  |         );
[INFO] [stdout]     |  |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 595 |  /         crate::protocol!(
[INFO] [stdout] 596 |  |             /// Docs
[INFO] [stdout] 597 |  |             struct Docs <'a> {
[INFO] [stdout] 598 |  |                 /// Docs
[INFO] [stdout] ...    |
[INFO] [stdout] 603 |  |         );
[INFO] [stdout]     |  |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 609 |  /         crate::protocol!(
[INFO] [stdout] 610 |  |             struct WithLength<'a> {
[INFO] [stdout] 611 |  |                 a: u8,
[INFO] [stdout] 612 |  |                 l: len,
[INFO] [stdout] 613 |  |             }
[INFO] [stdout] 614 |  |         );
[INFO] [stdout]     |  |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 621 |  /         crate::protocol!(
[INFO] [stdout] 622 |  |             struct StaticArray<'a> {
[INFO] [stdout] 623 |  |                 a: u8,
[INFO] [stdout] 624 |  |                 l: [u8; 4],
[INFO] [stdout] 625 |  |             }
[INFO] [stdout] 626 |  |         );
[INFO] [stdout]     |  |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 630 |  /         crate::protocol!(
[INFO] [stdout] 631 |  |             struct HasLString<'a> {
[INFO] [stdout] 632 |  |                 s: LString<'a>,
[INFO] [stdout] 633 |  |             }
[INFO] [stdout] 634 |  |         );
[INFO] [stdout]     |  |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 638 |  /         crate::protocol!(
[INFO] [stdout] 639 |  |             struct HasEnum<'a> {
[INFO] [stdout] 640 |  |                 e: MyEnum,
[INFO] [stdout] ...    |
[INFO] [stdout] 649 |  |         );
[INFO] [stdout]     |  |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `crate::protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/gen.rs:378:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                    const FIELDS: $crate::prelude::StructFields = $crate::prelude::StructFields::new(&
[INFO] [stdout]     |  ________________________________________________________________-
[INFO] [stdout] 378 | |/                     $crate::prelude::StructFieldComputed::new([
[INFO] [stdout] 379 | ||                         $(
[INFO] [stdout] 380 | ||                             $crate::prelude::StructField {
[INFO] [stdout] 381 | ||                                 name: stringify!($field),
[INFO] [stdout] ...   ||
[INFO] [stdout] 385 | ||                         )*
[INFO] [stdout] 386 | ||                     ]));
[INFO] [stdout]     | ||                      ^-
[INFO] [stdout]     | ||                      ||
[INFO] [stdout]     | ||______________________|temporary value is freed at the end of this statement
[INFO] [stdout]     |  |______________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/test_protocol.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | /  protocol!(
[INFO] [stdout]  14 | |      struct Message<'a> {
[INFO] [stdout]  15 | |          /// The message type.
[INFO] [stdout]  16 | |          mtype: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |  );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `protocol_builder` which comes from the expansion of the macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/gen.rs:572:49
[INFO] [stdout]     |
[INFO] [stdout] 572 |         static_assertions::assert_not_impl_any!(FixedOnly::<'static>: StructAttributeHasLengthField<true>);
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout] note: multiple `impl`s satisfying `FixedOnly<'static>: fixed_only::_::{closure#0}::AmbiguousIfImpl<_>` found
[INFO] [stdout]    --> src/gen.rs:572:9
[INFO] [stdout]     |
[INFO] [stdout] 572 |         static_assertions::assert_not_impl_any!(FixedOnly::<'static>: StructAttributeHasLengthField<true>);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `static_assertions::assert_not_impl_any` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/gen.rs:617:49
[INFO] [stdout]     |
[INFO] [stdout] 617 |         static_assertions::assert_not_impl_any!(WithLength::<'static>: StructAttributeHasLengthField<false>);
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout] note: multiple `impl`s satisfying `WithLength<'static>: length::_::{closure#0}::AmbiguousIfImpl<_>` found
[INFO] [stdout]    --> src/gen.rs:617:9
[INFO] [stdout]     |
[INFO] [stdout] 617 |         static_assertions::assert_not_impl_any!(WithLength::<'static>: StructAttributeHasLengthField<false>);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `static_assertions::assert_not_impl_any` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gel-protogen` (lib) due to 11 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0283, E0716.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0283`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gel-protogen` (lib test) due to 21 previous errors; 8 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "28b07b285f6e9b3e72d77945c92434dfba7e2a3314d3fed8979a736c1970ed88", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "28b07b285f6e9b3e72d77945c92434dfba7e2a3314d3fed8979a736c1970ed88", kill_on_drop: false }`
[INFO] [stdout] 28b07b285f6e9b3e72d77945c92434dfba7e2a3314d3fed8979a736c1970ed88
