[INFO] cloning repository https://github.com/gzliudan/rust-bootcamp-03-macros
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gzliudan/rust-bootcamp-03-macros" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgzliudan%2Frust-bootcamp-03-macros", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgzliudan%2Frust-bootcamp-03-macros'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a161edffbbec88a436cbae623b9d4b24e684ef35
[INFO] checking gzliudan/rust-bootcamp-03-macros against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgzliudan%2Frust-bootcamp-03-macros" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/gzliudan/rust-bootcamp-03-macros
[INFO] finished tweaking git repo https://github.com/gzliudan/rust-bootcamp-03-macros
[INFO] tweaked toml for git repo https://github.com/gzliudan/rust-bootcamp-03-macros written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gzliudan/rust-bootcamp-03-macros on toolchain 5c543b0b8c73c7b72bc8284ced4fb22ead15734d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gzliudan/rust-bootcamp-03-macros 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" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded anyhow v1.0.83
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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] b397c114e4d154847277f82ab6b0b8402898123e5f35bb67682c654e7f471034
[INFO] running `Command { std: "docker" "start" "b397c114e4d154847277f82ab6b0b8402898123e5f35bb67682c654e7f471034", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b397c114e4d154847277f82ab6b0b8402898123e5f35bb67682c654e7f471034", 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" "b397c114e4d154847277f82ab6b0b8402898123e5f35bb67682c654e7f471034" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b397c114e4d154847277f82ab6b0b8402898123e5f35bb67682c654e7f471034", 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" "b397c114e4d154847277f82ab6b0b8402898123e5f35bb67682c654e7f471034" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.82
[INFO] [stderr]     Checking ident_case v1.0.1
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]    Compiling anyhow v1.0.83
[INFO] [stderr]     Checking quote v1.0.36
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking syn v2.0.61
[INFO] [stderr]     Checking darling_core v0.20.8
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]    Compiling darling_macro v0.20.8
[INFO] [stderr]     Checking darling v0.20.8
[INFO] [stderr]     Checking macros v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] DeriveInput {
[INFO] [stdout]     attrs: [
[INFO] [stdout]         Attribute {
[INFO] [stdout]             pound_token: Pound,
[INFO] [stdout]             style: AttrStyle::Outer,
[INFO] [stdout]             bracket_token: Bracket,
[INFO] [stdout]             meta: Meta::List {
[INFO] [stdout]                 path: Path {
[INFO] [stdout]                     leading_colon: None,
[INFO] [stdout]                     segments: [
[INFO] [stdout]                         PathSegment {
[INFO] [stdout]                             ident: Ident {
[INFO] [stdout]                                 ident: "allow",
[INFO] [stdout]                                 span: #0 bytes(32..37),
[INFO] [stdout]                             },
[INFO] [stdout]                             arguments: PathArguments::None,
[INFO] [stdout]                         },
[INFO] [stdout]                     ],
[INFO] [stdout]                 },
[INFO] [stdout]                 delimiter: MacroDelimiter::Paren(
[INFO] [stdout]                     Paren,
[INFO] [stdout]                 ),
[INFO] [stdout]                 tokens: TokenStream [
[INFO] [stdout]                     Ident {
[INFO] [stdout]                         ident: "unused",
[INFO] [stdout]                         span: #0 bytes(38..44),
[INFO] [stdout]                     },
[INFO] [stdout]                 ],
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     vis: Visibility::Inherited,
[INFO] [stdout]     ident: Ident {
[INFO] [stdout]         ident: "Direction",
[INFO] [stdout]         span: #0 bytes(86..95),
[INFO] [stdout]     },
[INFO] [stdout]     generics: Generics {
[INFO] [stdout]         lt_token: None,
[INFO] [stdout]         params: [],
[INFO] [stdout]         gt_token: None,
[INFO] [stdout]         where_clause: None,
[INFO] [stdout]     },
[INFO] [stdout]     data: Data::Enum {
[INFO] [stdout]         enum_token: Enum,
[INFO] [stdout]         brace_token: Brace,
[INFO] [stdout]         variants: [
[INFO] [stdout]             Variant {
[INFO] [stdout]                 attrs: [],
[INFO] [stdout]                 ident: Ident {
[INFO] [stdout]                     ident: "Up",
[INFO] [stdout]                     span: #0 bytes(102..104),
[INFO] [stdout]                 },
[INFO] [stdout]                 fields: Fields::Unnamed {
[INFO] [stdout]                     paren_token: Paren,
[INFO] [stdout]                     unnamed: [
[INFO] [stdout]                         Field {
[INFO] [stdout]                             attrs: [],
[INFO] [stdout]                             vis: Visibility::Inherited,
[INFO] [stdout]                             mutability: FieldMutability::None,
[INFO] [stdout]                             ident: None,
[INFO] [stdout]                             colon_token: None,
[INFO] [stdout]                             ty: Type::Path {
[INFO] [stdout]                                 qself: None,
[INFO] [stdout]                                 path: Path {
[INFO] [stdout]                                     leading_colon: None,
[INFO] [stdout]                                     segments: [
[INFO] [stdout]                                         PathSegment {
[INFO] [stdout]                                             ident: Ident {
[INFO] [stdout]                                                 ident: "DirectionUp",
[INFO] [stdout]                                                 span: #0 bytes(105..116),
[INFO] [stdout]                                             },
[INFO] [stdout]                                             arguments: PathArguments::None,
[INFO] [stdout]                                         },
[INFO] [stdout]                                     ],
[INFO] [stdout]                                 },
[INFO] [stdout]                             },
[INFO] [stdout]                         },
[INFO] [stdout]                     ],
[INFO] [stdout]                 },
[INFO] [stdout]                 discriminant: None,
[INFO] [stdout]             },
[INFO] [stdout]             Comma,
[INFO] [stdout]             Variant {
[INFO] [stdout]                 attrs: [],
[INFO] [stdout]                 ident: Ident {
[INFO] [stdout]                     ident: "Down",
[INFO] [stdout]                     span: #0 bytes(123..127),
[INFO] [stdout]                 },
[INFO] [stdout]                 fields: Fields::Unit,
[INFO] [stdout]                 discriminant: None,
[INFO] [stdout]             },
[INFO] [stdout]             Comma,
[INFO] [stdout]             Variant {
[INFO] [stdout]                 attrs: [],
[INFO] [stdout]                 ident: Ident {
[INFO] [stdout]                     ident: "Left",
[INFO] [stdout]                     span: #0 bytes(133..137),
[INFO] [stdout]                 },
[INFO] [stdout]                 fields: Fields::Unnamed {
[INFO] [stdout]                     paren_token: Paren,
[INFO] [stdout]                     unnamed: [
[INFO] [stdout]                         Field {
[INFO] [stdout]                             attrs: [],
[INFO] [stdout]                             vis: Visibility::Inherited,
[INFO] [stdout]                             mutability: FieldMutability::None,
[INFO] [stdout]                             ident: None,
[INFO] [stdout]                             colon_token: None,
[INFO] [stdout]                             ty: Type::Path {
[INFO] [stdout]                                 qself: None,
[INFO] [stdout]                                 path: Path {
[INFO] [stdout]                                     leading_colon: None,
[INFO] [stdout]                                     segments: [
[INFO] [stdout]                                         PathSegment {
[INFO] [stdout]                                             ident: Ident {
[INFO] [stdout]                                                 ident: "u32",
[INFO] [stdout]                                                 span: #0 bytes(138..141),
[INFO] [stdout]                                             },
[INFO] [stdout]                                             arguments: PathArguments::None,
[INFO] [stdout]                                         },
[INFO] [stdout]                                     ],
[INFO] [stdout]                                 },
[INFO] [stdout]                             },
[INFO] [stdout]                         },
[INFO] [stdout]                     ],
[INFO] [stdout]                 },
[INFO] [stdout]                 discriminant: None,
[INFO] [stdout]             },
[INFO] [stdout]             Comma,
[INFO] [stdout]             Variant {
[INFO] [stdout]                 attrs: [],
[INFO] [stdout]                 ident: Ident {
[INFO] [stdout]                     ident: "Right",
[INFO] [stdout]                     span: #0 bytes(148..153),
[INFO] [stdout]                 },
[INFO] [stdout]                 fields: Fields::Named {
[INFO] [stdout]                     brace_token: Brace,
[INFO] [stdout]                     named: [
[INFO] [stdout]                         Field {
[INFO] [stdout]                             attrs: [],
[INFO] [stdout]                             vis: Visibility::Inherited,
[INFO] [stdout]                             mutability: FieldMutability::None,
[INFO] [stdout]                             ident: Some(
[INFO] [stdout]                                 Ident {
[INFO] [stdout]                                     ident: "a",
[INFO] [stdout]                                     span: #0 bytes(156..157),
[INFO] [stdout]                                 },
[INFO] [stdout]                             ),
[INFO] [stdout]                             colon_token: Some(
[INFO] [stdout]                                 Colon,
[INFO] [stdout]                             ),
[INFO] [stdout]                             ty: Type::Path {
[INFO] [stdout]                                 qself: None,
[INFO] [stdout]                                 path: Path {
[INFO] [stdout]                                     leading_colon: None,
[INFO] [stdout]                                     segments: [
[INFO] [stdout]                                         PathSegment {
[INFO] [stdout]                                             ident: Ident {
[INFO] [stdout]                                                 ident: "u32",
[INFO] [stdout]                                                 span: #0 bytes(159..162),
[INFO] [stdout]                                             },
[INFO] [stdout]                                             arguments: PathArguments::None,
[INFO] [stdout]                                         },
[INFO] [stdout]                                     ],
[INFO] [stdout]                                 },
[INFO] [stdout]                             },
[INFO] [stdout]                         },
[INFO] [stdout]                     ],
[INFO] [stdout]                 },
[INFO] [stdout]                 discriminant: None,
[INFO] [stdout]             },
[INFO] [stdout]             Comma,
[INFO] [stdout]         ],
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] DeriveInput {
[INFO] [stdout]     attrs: [
[INFO] [stdout]         Attribute {
[INFO] [stdout]             pound_token: Pound,
[INFO] [stdout]             style: AttrStyle::Outer,
[INFO] [stdout]             bracket_token: Bracket,
[INFO] [stdout]             meta: Meta::List {
[INFO] [stdout]                 path: Path {
[INFO] [stdout]                     leading_colon: None,
[INFO] [stdout]                     segments: [
[INFO] [stdout]                         PathSegment {
[INFO] [stdout]                             ident: Ident {
[INFO] [stdout]                                 ident: "allow",
[INFO] [stdout]                                 span: #0 bytes(26..31),
[INFO] [stdout]                             },
[INFO] [stdout]                             arguments: PathArguments::None,
[INFO] [stdout]                         },
[INFO] [stdout]                     ],
[INFO] [stdout]                 },
[INFO] [stdout]                 delimiter: MacroDelimiter::Paren(
[INFO] [stdout]                     Paren,
[INFO] [stdout]                 ),
[INFO] [stdout]                 tokens: TokenStream [
[INFO] [stdout]                     Ident {
[INFO] [stdout]                         ident: "unused",
[INFO] [stdout]                         span: #0 bytes(32..38),
[INFO] [stdout]                     },
[INFO] [stdout]                 ],
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Attribute {
[INFO] [stdout]             pound_token: Pound,
[INFO] [stdout]             style: AttrStyle::Outer,
[INFO] [stdout]             bracket_token: Bracket,
[INFO] [stdout]             meta: Meta::List {
[INFO] [stdout]                 path: Path {
[INFO] [stdout]                     leading_colon: None,
[INFO] [stdout]                     segments: [
[INFO] [stdout]                         PathSegment {
[INFO] [stdout]                             ident: Ident {
[INFO] [stdout]                                 ident: "deref",
[INFO] [stdout]                                 span: #0 bytes(71..76),
[INFO] [stdout]                             },
[INFO] [stdout]                             arguments: PathArguments::None,
[INFO] [stdout]                         },
[INFO] [stdout]                     ],
[INFO] [stdout]                 },
[INFO] [stdout]                 delimiter: MacroDelimiter::Paren(
[INFO] [stdout]                     Paren,
[INFO] [stdout]                 ),
[INFO] [stdout]                 tokens: TokenStream [
[INFO] [stdout]                     Ident {
[INFO] [stdout]                         ident: "field",
[INFO] [stdout]                         span: #0 bytes(77..82),
[INFO] [stdout]                     },
[INFO] [stdout]                     Punct {
[INFO] [stdout]                         ch: '=',
[INFO] [stdout]                         spacing: Alone,
[INFO] [stdout]                         span: #0 bytes(83..84),
[INFO] [stdout]                     },
[INFO] [stdout]                     Literal {
[INFO] [stdout]                         kind: Str,
[INFO] [stdout]                         symbol: "inner",
[INFO] [stdout]                         suffix: None,
[INFO] [stdout]                         span: #0 bytes(85..92),
[INFO] [stdout]                     },
[INFO] [stdout]                 ],
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     vis: Visibility::Public(
[INFO] [stdout]         Pub,
[INFO] [stdout]     ),
[INFO] [stdout]     ident: Ident {
[INFO] [stdout]         ident: "RespBulkString",
[INFO] [stdout]         span: #0 bytes(106..120),
[INFO] [stdout]     },
[INFO] [stdout]     generics: Generics {
[INFO] [stdout]         lt_token: None,
[INFO] [stdout]         params: [],
[INFO] [stdout]         gt_token: None,
[INFO] [stdout]         where_clause: None,
[INFO] [stdout]     },
[INFO] [stdout]     data: Data::Struct {
[INFO] [stdout]         struct_token: Struct,
[INFO] [stdout]         fields: Fields::Named {
[INFO] [stdout]             brace_token: Brace,
[INFO] [stdout]             named: [
[INFO] [stdout]                 Field {
[INFO] [stdout]                     attrs: [],
[INFO] [stdout]                     vis: Visibility::Inherited,
[INFO] [stdout]                     mutability: FieldMutability::None,
[INFO] [stdout]                     ident: Some(
[INFO] [stdout]                         Ident {
[INFO] [stdout]                             ident: "inner",
[INFO] [stdout]                             span: #0 bytes(127..132),
[INFO] [stdout]                         },
[INFO] [stdout]                     ),
[INFO] [stdout]                     colon_token: Some(
[INFO] [stdout]                         Colon,
[INFO] [stdout]                     ),
[INFO] [stdout]                     ty: Type::Path {
[INFO] [stdout]                         qself: None,
[INFO] [stdout]                         path: Path {
[INFO] [stdout]                             leading_colon: None,
[INFO] [stdout]                             segments: [
[INFO] [stdout]                                 PathSegment {
[INFO] [stdout]                                     ident: Ident {
[INFO] [stdout]                                         ident: "String",
[INFO] [stdout]                                         span: #0 bytes(134..140),
[INFO] [stdout]                                     },
[INFO] [stdout]                                     arguments: PathArguments::None,
[INFO] [stdout]                                 },
[INFO] [stdout]                             ],
[INFO] [stdout]                         },
[INFO] [stdout]                     },
[INFO] [stdout]                 },
[INFO] [stdout]                 Comma,
[INFO] [stdout]                 Field {
[INFO] [stdout]                     attrs: [],
[INFO] [stdout]                     vis: Visibility::Inherited,
[INFO] [stdout]                     mutability: FieldMutability::None,
[INFO] [stdout]                     ident: Some(
[INFO] [stdout]                         Ident {
[INFO] [stdout]                             ident: "nothing",
[INFO] [stdout]                             span: #0 bytes(146..153),
[INFO] [stdout]                         },
[INFO] [stdout]                     ),
[INFO] [stdout]                     colon_token: Some(
[INFO] [stdout]                         Colon,
[INFO] [stdout]                     ),
[INFO] [stdout]                     ty: Type::Tuple {
[INFO] [stdout]                         paren_token: Paren,
[INFO] [stdout]                         elems: [],
[INFO] [stdout]                     },
[INFO] [stdout]                 },
[INFO] [stdout]                 Comma,
[INFO] [stdout]             ],
[INFO] [stdout]         },
[INFO] [stdout]         semi_token: None,
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] DeriveInput {
[INFO] [stdout]     attrs: [
[INFO] [stdout]         Attribute {
[INFO] [stdout]             pound_token: Pound,
[INFO] [stdout]             style: AttrStyle::Outer,
[INFO] [stdout]             bracket_token: Bracket,
[INFO] [stdout]             meta: Meta::List {
[INFO] [stdout]                 path: Path {
[INFO] [stdout]                     leading_colon: None,
[INFO] [stdout]                     segments: [
[INFO] [stdout]                         PathSegment {
[INFO] [stdout]                             ident: Ident {
[INFO] [stdout]                                 ident: "allow",
[INFO] [stdout]                                 span: #0 bytes(26..31),
[INFO] [stdout]                             },
[INFO] [stdout]                             arguments: PathArguments::None,
[INFO] [stdout]                         },
[INFO] [stdout]                     ],
[INFO] [stdout]                 },
[INFO] [stdout]                 delimiter: MacroDelimiter::Paren(
[INFO] [stdout]                     Paren,
[INFO] [stdout]                 ),
[INFO] [stdout]                 tokens: TokenStream [
[INFO] [stdout]                     Ident {
[INFO] [stdout]                         ident: "unused",
[INFO] [stdout]                         span: #0 bytes(32..38),
[INFO] [stdout]                     },
[INFO] [stdout]                 ],
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     vis: Visibility::Public(
[INFO] [stdout]         Pub,
[INFO] [stdout]     ),
[INFO] [stdout]     ident: Ident {
[INFO] [stdout]         ident: "RespBulkString",
[INFO] [stdout]         span: #0 bytes(73..87),
[INFO] [stdout]     },
[INFO] [stdout]     generics: Generics {
[INFO] [stdout]         lt_token: None,
[INFO] [stdout]         params: [],
[INFO] [stdout]         gt_token: None,
[INFO] [stdout]         where_clause: None,
[INFO] [stdout]     },
[INFO] [stdout]     data: Data::Struct {
[INFO] [stdout]         struct_token: Struct,
[INFO] [stdout]         fields: Fields::Named {
[INFO] [stdout]             brace_token: Brace,
[INFO] [stdout]             named: [
[INFO] [stdout]                 Field {
[INFO] [stdout]                     attrs: [],
[INFO] [stdout]                     vis: Visibility::Inherited,
[INFO] [stdout]                     mutability: FieldMutability::None,
[INFO] [stdout]                     ident: Some(
[INFO] [stdout]                         Ident {
[INFO] [stdout]                             ident: "inner",
[INFO] [stdout]                             span: #0 bytes(94..99),
[INFO] [stdout]                         },
[INFO] [stdout]                     ),
[INFO] [stdout]                     colon_token: Some(
[INFO] [stdout]                         Colon,
[INFO] [stdout]                     ),
[INFO] [stdout]                     ty: Type::Path {
[INFO] [stdout]                         qself: None,
[INFO] [stdout]                         path: Path {
[INFO] [stdout]                             leading_colon: None,
[INFO] [stdout]                             segments: [
[INFO] [stdout]                                 PathSegment {
[INFO] [stdout]                                     ident: Ident {
[INFO] [stdout]                                         ident: "String",
[INFO] [stdout]                                         span: #0 bytes(101..107),
[INFO] [stdout]                                     },
[INFO] [stdout]                                     arguments: PathArguments::None,
[INFO] [stdout]                                 },
[INFO] [stdout]                             ],
[INFO] [stdout]                         },
[INFO] [stdout]                     },
[INFO] [stdout]                 },
[INFO] [stdout]                 Comma,
[INFO] [stdout]                 Field {
[INFO] [stdout]                     attrs: [
[INFO] [stdout]                         Attribute {
[INFO] [stdout]                             pound_token: Pound,
[INFO] [stdout]                             style: AttrStyle::Outer,
[INFO] [stdout]                             bracket_token: Bracket,
[INFO] [stdout]                             meta: Meta::List {
[INFO] [stdout]                                 path: Path {
[INFO] [stdout]                                     leading_colon: None,
[INFO] [stdout]                                     segments: [
[INFO] [stdout]                                         PathSegment {
[INFO] [stdout]                                             ident: Ident {
[INFO] [stdout]                                                 ident: "debug",
[INFO] [stdout]                                                 span: #0 bytes(115..120),
[INFO] [stdout]                                             },
[INFO] [stdout]                                             arguments: PathArguments::None,
[INFO] [stdout]                                         },
[INFO] [stdout]                                     ],
[INFO] [stdout]                                 },
[INFO] [stdout]                                 delimiter: MacroDelimiter::Paren(
[INFO] [stdout]                                     Paren,
[INFO] [stdout]                                 ),
[INFO] [stdout]                                 tokens: TokenStream [
[INFO] [stdout]                                     Ident {
[INFO] [stdout]                                         ident: "skip",
[INFO] [stdout]                                         span: #0 bytes(121..125),
[INFO] [stdout]                                     },
[INFO] [stdout]                                 ],
[INFO] [stdout]                             },
[INFO] [stdout]                         },
[INFO] [stdout]                     ],
[INFO] [stdout]                     vis: Visibility::Inherited,
[INFO] [stdout]                     mutability: FieldMutability::None,
[INFO] [stdout]                     ident: Some(
[INFO] [stdout]                         Ident {
[INFO] [stdout]                             ident: "nothing",
[INFO] [stdout]                             span: #0 bytes(132..139),
[INFO] [stdout]                         },
[INFO] [stdout]                     ),
[INFO] [stdout]                     colon_token: Some(
[INFO] [stdout]                         Colon,
[INFO] [stdout]                     ),
[INFO] [stdout]                     ty: Type::Tuple {
[INFO] [stdout]                         paren_token: Paren,
[INFO] [stdout]                         elems: [],
[INFO] [stdout]                     },
[INFO] [stdout]                 },
[INFO] [stdout]                 Comma,
[INFO] [stdout]                 Field {
[INFO] [stdout]                     attrs: [],
[INFO] [stdout]                     vis: Visibility::Inherited,
[INFO] [stdout]                     mutability: FieldMutability::None,
[INFO] [stdout]                     ident: Some(
[INFO] [stdout]                         Ident {
[INFO] [stdout]                             ident: "hello",
[INFO] [stdout]                             span: #0 bytes(149..154),
[INFO] [stdout]                         },
[INFO] [stdout]                     ),
[INFO] [stdout]                     colon_token: Some(
[INFO] [stdout]                         Colon,
[INFO] [stdout]                     ),
[INFO] [stdout]                     ty: Type::Path {
[INFO] [stdout]                         qself: None,
[INFO] [stdout]                         path: Path {
[INFO] [stdout]                             leading_colon: None,
[INFO] [stdout]                             segments: [
[INFO] [stdout]                                 PathSegment {
[INFO] [stdout]                                     ident: Ident {
[INFO] [stdout]                                         ident: "u32",
[INFO] [stdout]                                         span: #0 bytes(156..159),
[INFO] [stdout]                                     },
[INFO] [stdout]                                     arguments: PathArguments::None,
[INFO] [stdout]                                 },
[INFO] [stdout]                             ],
[INFO] [stdout]                         },
[INFO] [stdout]                     },
[INFO] [stdout]                 },
[INFO] [stdout]                 Comma,
[INFO] [stdout]             ],
[INFO] [stdout]         },
[INFO] [stdout]         semi_token: None,
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] DeriveInput {
[INFO] [stdout]     attrs: [
[INFO] [stdout]         Attribute {
[INFO] [stdout]             pound_token: Pound,
[INFO] [stdout]             style: AttrStyle::Outer,
[INFO] [stdout]             bracket_token: Bracket,
[INFO] [stdout]             meta: Meta::List {
[INFO] [stdout]                 path: Path {
[INFO] [stdout]                     leading_colon: None,
[INFO] [stdout]                     segments: [
[INFO] [stdout]                         PathSegment {
[INFO] [stdout]                             ident: Ident {
[INFO] [stdout]                                 ident: "allow",
[INFO] [stdout]                                 span: #0 bytes(25..30),
[INFO] [stdout]                             },
[INFO] [stdout]                             arguments: PathArguments::None,
[INFO] [stdout]                         },
[INFO] [stdout]                     ],
[INFO] [stdout]                 },
[INFO] [stdout]                 delimiter: MacroDelimiter::Paren(
[INFO] [stdout]                     Paren,
[INFO] [stdout]                 ),
[INFO] [stdout]                 tokens: TokenStream [
[INFO] [stdout]                     Ident {
[INFO] [stdout]                         ident: "unused",
[INFO] [stdout]                         span: #0 bytes(31..37),
[INFO] [stdout]                     },
[INFO] [stdout]                 ],
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     vis: Visibility::Inherited,
[INFO] [stdout]     ident: Ident {
[INFO] [stdout]         ident: "Direction",
[INFO] [stdout]         span: #0 bytes(72..81),
[INFO] [stdout]     },
[INFO] [stdout]     generics: Generics {
[INFO] [stdout]         lt_token: Some(
[INFO] [stdout]             Lt,
[INFO] [stdout]         ),
[INFO] [stdout]         params: [
[INFO] [stdout]             GenericParam::Type(
[INFO] [stdout]                 TypeParam {
[INFO] [stdout]                     attrs: [],
[INFO] [stdout]                     ident: Ident {
[INFO] [stdout]                         ident: "T",
[INFO] [stdout]                         span: #0 bytes(82..83),
[INFO] [stdout]                     },
[INFO] [stdout]                     colon_token: None,
[INFO] [stdout]                     bounds: [],
[INFO] [stdout]                     eq_token: None,
[INFO] [stdout]                     default: None,
[INFO] [stdout]                 },
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]         gt_token: Some(
[INFO] [stdout]             Gt,
[INFO] [stdout]         ),
[INFO] [stdout]         where_clause: None,
[INFO] [stdout]     },
[INFO] [stdout]     data: Data::Enum {
[INFO] [stdout]         enum_token: Enum,
[INFO] [stdout]         brace_token: Brace,
[INFO] [stdout]         variants: [
[INFO] [stdout]             Variant {
[INFO] [stdout]                 attrs: [],
[INFO] [stdout]                 ident: Ident {
[INFO] [stdout]                     ident: "Up",
[INFO] [stdout]                     span: #0 bytes(91..93),
[INFO] [stdout]                 },
[INFO] [stdout]                 fields: Fields::Unnamed {
[INFO] [stdout]                     paren_token: Paren,
[INFO] [stdout]                     unnamed: [
[INFO] [stdout]                         Field {
[INFO] [stdout]                             attrs: [],
[INFO] [stdout]                             vis: Visibility::Inherited,
[INFO] [stdout]                             mutability: FieldMutability::None,
[INFO] [stdout]                             ident: None,
[INFO] [stdout]                             colon_token: None,
[INFO] [stdout]                             ty: Type::Path {
[INFO] [stdout]                                 qself: None,
[INFO] [stdout]                                 path: Path {
[INFO] [stdout]                                     leading_colon: None,
[INFO] [stdout]                                     segments: [
[INFO] [stdout]                                         PathSegment {
[INFO] [stdout]                                             ident: Ident {
[INFO] [stdout]                                                 ident: "DirectionUp",
[INFO] [stdout]                                                 span: #0 bytes(94..105),
[INFO] [stdout]                                             },
[INFO] [stdout]                                             arguments: PathArguments::AngleBracketed {
[INFO] [stdout]                                                 colon2_token: None,
[INFO] [stdout]                                                 lt_token: Lt,
[INFO] [stdout]                                                 args: [
[INFO] [stdout]                                                     GenericArgument::Type(
[INFO] [stdout]                                                         Type::Path {
[INFO] [stdout]                                                             qself: None,
[INFO] [stdout]                                                             path: Path {
[INFO] [stdout]                                                                 leading_colon: None,
[INFO] [stdout]                                                                 segments: [
[INFO] [stdout]                                                                     PathSegment {
[INFO] [stdout]                                                                         ident: Ident {
[INFO] [stdout]                                                                             ident: "T",
[INFO] [stdout]                                                                             span: #0 bytes(106..107),
[INFO] [stdout]                                                                         },
[INFO] [stdout]                                                                         arguments: PathArguments::None,
[INFO] [stdout]                                                                     },
[INFO] [stdout]                                                                 ],
[INFO] [stdout]                                                             },
[INFO] [stdout]                                                         },
[INFO] [stdout]                                                     ),
[INFO] [stdout]                                                 ],
[INFO] [stdout]                                                 gt_token: Gt,
[INFO] [stdout]                                             },
[INFO] [stdout]                                         },
[INFO] [stdout]                                     ],
[INFO] [stdout]                                 },
[INFO] [stdout]                             },
[INFO] [stdout]                         },
[INFO] [stdout]                     ],
[INFO] [stdout]                 },
[INFO] [stdout]                 discriminant: None,
[INFO] [stdout]             },
[INFO] [stdout]             Comma,
[INFO] [stdout]             Variant {
[INFO] [stdout]                 attrs: [],
[INFO] [stdout]                 ident: Ident {
[INFO] [stdout]                     ident: "Down",
[INFO] [stdout]                     span: #0 bytes(115..119),
[INFO] [stdout]                 },
[INFO] [stdout]                 fields: Fields::Unit,
[INFO] [stdout]                 discriminant: None,
[INFO] [stdout]             },
[INFO] [stdout]             Comma,
[INFO] [stdout]             Variant {
[INFO] [stdout]                 attrs: [],
[INFO] [stdout]                 ident: Ident {
[INFO] [stdout]                     ident: "Left",
[INFO] [stdout]                     span: #0 bytes(125..129),
[INFO] [stdout]                 },
[INFO] [stdout]                 fields: Fields::Unnamed {
[INFO] [stdout]                     paren_token: Paren,
[INFO] [stdout]                     unnamed: [
[INFO] [stdout]                         Field {
[INFO] [stdout]                             attrs: [],
[INFO] [stdout]                             vis: Visibility::Inherited,
[INFO] [stdout]                             mutability: FieldMutability::None,
[INFO] [stdout]                             ident: None,
[INFO] [stdout]                             colon_token: None,
[INFO] [stdout]                             ty: Type::Path {
[INFO] [stdout]                                 qself: None,
[INFO] [stdout]                                 path: Path {
[INFO] [stdout]                                     leading_colon: None,
[INFO] [stdout]                                     segments: [
[INFO] [stdout]                                         PathSegment {
[INFO] [stdout]                                             ident: Ident {
[INFO] [stdout]                                                 ident: "u32",
[INFO] [stdout]                                                 span: #0 bytes(130..133),
[INFO] [stdout]                                             },
[INFO] [stdout]                                             arguments: PathArguments::None,
[INFO] [stdout]                                         },
[INFO] [stdout]                                     ],
[INFO] [stdout]                                 },
[INFO] [stdout]                             },
[INFO] [stdout]                         },
[INFO] [stdout]                     ],
[INFO] [stdout]                 },
[INFO] [stdout]                 discriminant: None,
[INFO] [stdout]             },
[INFO] [stdout]             Comma,
[INFO] [stdout]             Variant {
[INFO] [stdout]                 attrs: [],
[INFO] [stdout]                 ident: Ident {
[INFO] [stdout]                     ident: "Right",
[INFO] [stdout]                     span: #0 bytes(140..145),
[INFO] [stdout]                 },
[INFO] [stdout]                 fields: Fields::Named {
[INFO] [stdout]                     brace_token: Brace,
[INFO] [stdout]                     named: [
[INFO] [stdout]                         Field {
[INFO] [stdout]                             attrs: [],
[INFO] [stdout]                             vis: Visibility::Inherited,
[INFO] [stdout]                             mutability: FieldMutability::None,
[INFO] [stdout]                             ident: Some(
[INFO] [stdout]                                 Ident {
[INFO] [stdout]                                     ident: "a",
[INFO] [stdout]                                     span: #0 bytes(148..149),
[INFO] [stdout]                                 },
[INFO] [stdout]                             ),
[INFO] [stdout]                             colon_token: Some(
[INFO] [stdout]                                 Colon,
[INFO] [stdout]                             ),
[INFO] [stdout]                             ty: Type::Path {
[INFO] [stdout]                                 qself: None,
[INFO] [stdout]                                 path: Path {
[INFO] [stdout]                                     leading_colon: None,
[INFO] [stdout]                                     segments: [
[INFO] [stdout]                                         PathSegment {
[INFO] [stdout]                                             ident: Ident {
[INFO] [stdout]                                                 ident: "u32",
[INFO] [stdout]                                                 span: #0 bytes(151..154),
[INFO] [stdout]                                             },
[INFO] [stdout]                                             arguments: PathArguments::None,
[INFO] [stdout]                                         },
[INFO] [stdout]                                     ],
[INFO] [stdout]                                 },
[INFO] [stdout]                             },
[INFO] [stdout]                         },
[INFO] [stdout]                     ],
[INFO] [stdout]                 },
[INFO] [stdout]                 discriminant: None,
[INFO] [stdout]             },
[INFO] [stdout]             Comma,
[INFO] [stdout]         ],
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.84s
[INFO] running `Command { std: "docker" "inspect" "b397c114e4d154847277f82ab6b0b8402898123e5f35bb67682c654e7f471034", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b397c114e4d154847277f82ab6b0b8402898123e5f35bb67682c654e7f471034", kill_on_drop: false }`
[INFO] [stdout] b397c114e4d154847277f82ab6b0b8402898123e5f35bb67682c654e7f471034
