[INFO] fetching crate ecmascript 0.2.0...
[INFO] testing ecmascript-0.2.0 against beta-2023-04-20 for beta-1.70-1
[INFO] extracting crate ecmascript 0.2.0 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate ecmascript 0.2.0 on toolchain beta-2023-04-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate ecmascript 0.2.0
[INFO] finished tweaking crates.io crate ecmascript 0.2.0
[INFO] tweaked toml for crates.io crate ecmascript 0.2.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 04db2d3f0e4d5fb1642e2be105bb60f04c2b9c8afb8bd0392dbb8a8a264af2fb
[INFO] running `Command { std: "docker" "start" "-a" "04db2d3f0e4d5fb1642e2be105bb60f04c2b9c8afb8bd0392dbb8a8a264af2fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "04db2d3f0e4d5fb1642e2be105bb60f04c2b9c8afb8bd0392dbb8a8a264af2fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "04db2d3f0e4d5fb1642e2be105bb60f04c2b9c8afb8bd0392dbb8a8a264af2fb", kill_on_drop: false }`
[INFO] [stdout] 04db2d3f0e4d5fb1642e2be105bb60f04c2b9c8afb8bd0392dbb8a8a264af2fb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5d4d6e5ccb2308894eab52181786673f838ba051d47252676eefea3aa54fccae
[INFO] running `Command { std: "docker" "start" "-a" "5d4d6e5ccb2308894eab52181786673f838ba051d47252676eefea3aa54fccae", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling libc v0.2.142
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling gimli v0.27.2
[INFO] [stderr]    Compiling serde v1.0.160
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling miniz_oxide v0.6.2
[INFO] [stderr]    Compiling serde_derive v1.0.160
[INFO] [stderr]    Compiling serde_json v1.0.96
[INFO] [stderr]    Compiling object v0.30.3
[INFO] [stderr]    Compiling rustc-demangle v0.1.23
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling backtrace v0.3.67
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling unreachable v1.0.0
[INFO] [stderr]    Compiling syn v2.0.15
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling ryu v1.0.13
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling ascii v0.9.3
[INFO] [stderr]    Compiling either v1.8.1
[INFO] [stderr]    Compiling addr2line v0.19.0
[INFO] [stderr]    Compiling itoa v1.0.6
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling combine v3.8.1
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling glob v0.2.11
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling ecmascript v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `core`?
[INFO] [stdout]    --> src/ast.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         async: bool,
[INFO] [stdout]     |         ^^^^^ maybe a missing crate `core`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | / /// This parser will consume all following whitespace tokens, including line terminators.
[INFO] [stdout] 34 | | /// [Reference](https://www.ecma-international.org/ecma-262/9.0/index.html#sec-white-space)
[INFO] [stdout]    | |_------------------------------------------------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | / /// This parser will consume a single line terminator sequence token. This parser is only needed for the
[INFO] [stdout] 44 | | /// line_comment parser as it will consume up to a single line terminator token.
[INFO] [stdout] 45 | | /// [Reference](https://www.ecma-international.org/ecma-262/9.0/index.html#sec-line-terminators)
[INFO] [stdout]    | |_-----------------------------------------------------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | / /// This parses a multiline comment, starting with /* and ending with */.
[INFO] [stdout] 70 | | /// It will consume the input and return ().
[INFO] [stdout]    | |_-------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | /// This parses
[INFO] [stdout]    | ^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]    --> src/parser.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |         { ["enum"].iter().cloned().collect() };
[INFO] [stdout]     |         ^^                                  ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 225 -         { ["enum"].iter().cloned().collect() };
[INFO] [stdout] 225 +         ["enum"].iter().cloned().collect();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]   --> src/parser.rs:10:52
[INFO] [stdout]    |
[INFO] [stdout] 10 | use combine::parser::combinator::{not_followed_by, try};
[INFO] [stdout]    |                                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]   --> src/parser.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |             try(newline()),
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]   --> src/parser.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             try(crlf()),
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]   --> src/parser.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             try(char('\r')),
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]   --> src/parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             try(char('\u{2028}')),
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]   --> src/parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             try(char('\u{2029}'))
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]   --> src/parser.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         try(block_comment()).or(line_comment())
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]   --> src/parser.rs:75:35
[INFO] [stdout]    |
[INFO] [stdout] 75 |         (string("/*"), skip_until(try(string("*/"))), string("*/")).map(|_| ())
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]   --> src/parser.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |         (ws(), optional(try(comment())), ws()).map(|_| ())
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |         try(unicode_escape_sequence().map(|x| x.0).then(|c| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         try(unicode_escape_sequence().map(|x| x.0).then(|c| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |             try(string("true")).map(|_| true),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |             try(binary_integer_literal()),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:269:13
[INFO] [stdout]     |
[INFO] [stdout] 269 |             try(octal_integer_literal()),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:270:13
[INFO] [stdout]     |
[INFO] [stdout] 270 |             try(hex_integer_literal()),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:373:10
[INFO] [stdout]     |
[INFO] [stdout] 373 |         (try(double_quote_string()).or(single_quote_string())).map(StringLiteral)
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:395:13
[INFO] [stdout]     |
[INFO] [stdout] 395 |             try(line_continuation()).map(|_| None),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:396:13
[INFO] [stdout]     |
[INFO] [stdout] 396 |             try(escape_sequence()).map(|x| x.0).map(Some),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:420:13
[INFO] [stdout]     |
[INFO] [stdout] 420 |             try(line_continuation()).map(|_| None),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:421:13
[INFO] [stdout]     |
[INFO] [stdout] 421 |             try(escape_sequence()).map(|x| x.0).map(Some),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:435:13
[INFO] [stdout]     |
[INFO] [stdout] 435 |             try(single_escape_character()),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:436:13
[INFO] [stdout]     |
[INFO] [stdout] 436 |             try(non_escape_character()),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |             try(legacy_octal_escape_sequence()),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:438:13
[INFO] [stdout]     |
[INFO] [stdout] 438 |             try(hex_escape_sequence()),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:439:13
[INFO] [stdout]     |
[INFO] [stdout] 439 |             try(unicode_escape_sequence()),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:473:21
[INFO] [stdout]     |
[INFO] [stdout] 473 |                     try(legacy_octal_escape_sequence_single_digit()),
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:474:21
[INFO] [stdout]     |
[INFO] [stdout] 474 |                     try(legacy_octal_escape_sequence_two_digits_zero_to_three()),
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:475:21
[INFO] [stdout]     |
[INFO] [stdout] 475 |                     try(legacy_octal_escape_sequence_two_digits_four_to_seven()),
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:476:21
[INFO] [stdout]     |
[INFO] [stdout] 476 |                     try(legacy_octal_escape_sequence_three_digits()),
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:671:9
[INFO] [stdout]     |
[INFO] [stdout] 671 |         try(regex_backslash_sequence())
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:672:17
[INFO] [stdout]     |
[INFO] [stdout] 672 |             .or(try(regex_class()))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:681:9
[INFO] [stdout]     |
[INFO] [stdout] 681 |         try(regex_backslash_sequence())
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:682:17
[INFO] [stdout]     |
[INFO] [stdout] 682 |             .or(try(regex_class()))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:710:17
[INFO] [stdout]     |
[INFO] [stdout] 710 |                 try(regex_backslash_sequence()).or(none_of("]\\".chars()).map(|c: char| c.to_string())),
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:731:17
[INFO] [stdout]     |
[INFO] [stdout] 731 |                 try(no_substition_template()).map(|quasi| (vec![quasi], Vec::new())),
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:732:17
[INFO] [stdout]     |
[INFO] [stdout] 732 |                 try(substitution_template(*_yield, *_await)),
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:823:31
[INFO] [stdout]     |
[INFO] [stdout] 823 |             many::<Vec<_>, _>(try((template_middle(), assignment_expression(*_yield, *_await)))),
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:844:13
[INFO] [stdout]     |
[INFO] [stdout] 844 |             try(token('$').skip(not_followed_by(token('{')))).map(|x: char| (x, x.to_string())),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:845:13
[INFO] [stdout]     |
[INFO] [stdout] 845 |             try(escape_sequence()),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:846:13
[INFO] [stdout]     |
[INFO] [stdout] 846 |             try(one_of("\r\n\u{2028}\u{2029}".chars())).map(|x: char| (x, x.to_string())),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:911:13
[INFO] [stdout]     |
[INFO] [stdout] 911 |             try(this()),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:912:13
[INFO] [stdout]     |
[INFO] [stdout] 912 |             try(identifier_expression()),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:913:13
[INFO] [stdout]     |
[INFO] [stdout] 913 |             try(literal()),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:914:13
[INFO] [stdout]     |
[INFO] [stdout] 914 |             try(array_literal(*_yield, *_await)),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:915:13
[INFO] [stdout]     |
[INFO] [stdout] 915 |             try(object_literal(*_yield, *_await)),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:916:13
[INFO] [stdout]     |
[INFO] [stdout] 916 |             try(regex_literal_expression()),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:917:13
[INFO] [stdout]     |
[INFO] [stdout] 917 |             try(template_literal(*_yield, *_await)),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:918:13
[INFO] [stdout]     |
[INFO] [stdout] 918 |             try(jsx_element(*_yield, *_await)),
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:951:21
[INFO] [stdout]     |
[INFO] [stdout] 951 |                     try(null_literal()).map(Literal::NullLiteral),
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:952:21
[INFO] [stdout]     |
[INFO] [stdout] 952 |                     try(boolean_literal()).map(Literal::BooleanLiteral),
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:953:21
[INFO] [stdout]     |
[INFO] [stdout] 953 |                     try(numeric_literal()).map(Literal::NumericLiteral),
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:954:21
[INFO] [stdout]     |
[INFO] [stdout] 954 |                     try(string_literal()).map(Literal::StringLiteral),
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:975:22
[INFO] [stdout]     |
[INFO] [stdout] 975 |             optional(try(elision())),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]    --> src/parser.rs:977:22
[INFO] [stdout]     |
[INFO] [stdout] 977 |             optional(try(elision())),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1014:22
[INFO] [stdout]      |
[INFO] [stdout] 1014 |             optional(try(elision()))
[INFO] [stdout]      |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1016:21
[INFO] [stdout]      |
[INFO] [stdout] 1016 |                     try(assignment_expression(*_yield, *_await))
[INFO] [stdout]      |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1018:21
[INFO] [stdout]      |
[INFO] [stdout] 1018 |                     try(spread_element(*_yield, *_await)),
[INFO] [stdout]      |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1067:13
[INFO] [stdout]      |
[INFO] [stdout] 1067 |             try(property_initializer(*_yield, *_await)).map(ObjectExpressionProperty::Property),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1068:13
[INFO] [stdout]      |
[INFO] [stdout] 1068 |             try(method_definition(*_yield, *_await)).map(ObjectExpressionProperty::Property),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1069:13
[INFO] [stdout]      |
[INFO] [stdout] 1069 |             try(shorthand_property()).map(ObjectExpressionProperty::Property),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1126:13
[INFO] [stdout]      |
[INFO] [stdout] 1126 |             try(literal_property_name()).map(|e| (e, false)),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1127:13
[INFO] [stdout]      |
[INFO] [stdout] 1127 |             try(computed_property_name(*_yield, *_await)).map(|e| (e, true)),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1196:13
[INFO] [stdout]      |
[INFO] [stdout] 1196 |             try(assignment_expression_inner_equal(*_yield, *_await)),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1197:13
[INFO] [stdout]      |
[INFO] [stdout] 1197 |             try(assignment_expression_inner_operators(*_yield, *_await)),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1198:13
[INFO] [stdout]      |
[INFO] [stdout] 1198 |             try(conditional_expression(*_yield, *_await)),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1199:13
[INFO] [stdout]      |
[INFO] [stdout] 1199 |             try(
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1220:13
[INFO] [stdout]      |
[INFO] [stdout] 1220 |             try(primary_expression(*_yield, *_await)),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1221:13
[INFO] [stdout]      |
[INFO] [stdout] 1221 |             try(conditional_expression_inner(*_yield, *_await)),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1262:22
[INFO] [stdout]      |
[INFO] [stdout] 1262 |             optional(try(assignment_expression(true, *_await).skip(skip_tokens()))),
[INFO] [stdout]      |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1349:17
[INFO] [stdout]      |
[INFO] [stdout] 1349 |         choice((try(jsx_self_closing_element(*_yield, *_await)), jsx_matched_element(*_yield, *_await)))
[INFO] [stdout]      |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1358:13
[INFO] [stdout]      |
[INFO] [stdout] 1358 |             try(jsx_namespaced_name()),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1427:17
[INFO] [stdout]      |
[INFO] [stdout] 1427 |         choice((try(jsx_spread_attribute(*_yield, *_await)), try(jsx_attribute_key_value(*_yield, *_await))))
[INFO] [stdout]      |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1427:62
[INFO] [stdout]      |
[INFO] [stdout] 1427 |         choice((try(jsx_spread_attribute(*_yield, *_await)), try(jsx_attribute_key_value(*_yield, *_await))))
[INFO] [stdout]      |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1455:22
[INFO] [stdout]      |
[INFO] [stdout] 1455 |             optional(try(jsx_attribute_initializer(*_yield, *_await))),
[INFO] [stdout]      |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1488:13
[INFO] [stdout]      |
[INFO] [stdout] 1488 |             try(jsx_attribute_value_string()),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1489:13
[INFO] [stdout]      |
[INFO] [stdout] 1489 |             try(jsx_attribute_value_expression(*_yield, *_await)),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1490:13
[INFO] [stdout]      |
[INFO] [stdout] 1490 |             try(jsx_element(*_yield, *_await)),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1606:18
[INFO] [stdout]      |
[INFO] [stdout] 1606 |         optional(try((
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1655:22
[INFO] [stdout]      |
[INFO] [stdout] 1655 |             optional(try(token(';').skip(skip_tokens()))),
[INFO] [stdout]      |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1699:22
[INFO] [stdout]      |
[INFO] [stdout] 1699 |             optional(try(
[INFO] [stdout]      |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1799:13
[INFO] [stdout]      |
[INFO] [stdout] 1799 |             try(getter_method_definition(*_yield, *_await)),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1800:13
[INFO] [stdout]      |
[INFO] [stdout] 1800 |             try(setter_method_definition(*_yield, *_await)),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1801:13
[INFO] [stdout]      |
[INFO] [stdout] 1801 |             try(generator_method_definition()),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1802:13
[INFO] [stdout]      |
[INFO] [stdout] 1802 |             try(async_generator_method_definition()),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `combine::try`: try is a reserved keyword in Rust 2018. Use attempt instead.
[INFO] [stdout]     --> src/parser.rs:1803:13
[INFO] [stdout]      |
[INFO] [stdout] 1803 |             try(async_method_definition()),
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Serialize` is not satisfied
[INFO] [stdout]    --> src/ast.rs:399:10
[INFO] [stdout]     |
[INFO] [stdout] 399 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]     |          ^^^^^^^^^ the trait `Serialize` is not implemented for `ast::Expression`
[INFO] [stdout] ...
[INFO] [stdout] 403 |     Expression(Expression),
[INFO] [stdout]     |                ---------- required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Serialize`:
[INFO] [stdout]               &'a T
[INFO] [stdout]               &'a mut T
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]               (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]             and 158 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]    --> src/ast.rs:403:16
[INFO] [stdout]     |
[INFO] [stdout] 403 |     Expression(Expression),
[INFO] [stdout]     |                ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 193 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Serialize` is not satisfied
[INFO] [stdout]     --> src/ast.rs:418:9
[INFO] [stdout]      |
[INFO] [stdout] 417  |         /// The expression to spread into another expression.
[INFO] [stdout]      |         ----------------------------------------------------- required by a bound introduced by this call
[INFO] [stdout] 418  |         argument: Expression,
[INFO] [stdout]      |         ^^^^^^^^ the trait `Serialize` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]                (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]              and 158 others
[INFO] [stdout] note: required by a bound in `serde::ser::SerializeStruct::serialize_field`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/ser/mod.rs:1901:12
[INFO] [stdout]      |
[INFO] [stdout] 1901 |         T: Serialize;
[INFO] [stdout]      |            ^^^^^^^^^ required by this bound in `SerializeStruct::serialize_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:418:19
[INFO] [stdout]      |
[INFO] [stdout] 418  |         argument: Expression,
[INFO] [stdout]      |                   ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `next_element`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1729:12
[INFO] [stdout]      |
[INFO] [stdout] 1729 |         T: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `SeqAccess::next_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:418:19
[INFO] [stdout]      |
[INFO] [stdout] 418  |         argument: Expression,
[INFO] [stdout]      |                   ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `next_value`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1868:12
[INFO] [stdout]      |
[INFO] [stdout] 1868 |         V: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `MapAccess::next_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]    --> src/ast.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |         /// The expression to spread into another expression.
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 193 others
[INFO] [stdout] note: required by a bound in `serde::__private::de::missing_field`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/private/de.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout] 22  |     V: Deserialize<'de>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `missing_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Serialize` is not satisfied
[INFO] [stdout]     --> src/ast.rs:426:10
[INFO] [stdout]      |
[INFO] [stdout] 426  | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]      |          ^^^^^^^^^ the trait `Serialize` is not implemented for `ast::Expression`
[INFO] [stdout] 427  | pub struct Property {
[INFO] [stdout] 428  |     /// The key can be a computed expression, or an id reference.
[INFO] [stdout]      |     ------------------------------------------------------------- required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]                (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]              and 158 others
[INFO] [stdout] note: required by a bound in `serde::ser::SerializeStruct::serialize_field`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/ser/mod.rs:1901:12
[INFO] [stdout]      |
[INFO] [stdout] 1901 |         T: Serialize;
[INFO] [stdout]      |            ^^^^^^^^^ required by this bound in `SerializeStruct::serialize_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:429:14
[INFO] [stdout]      |
[INFO] [stdout] 429  |     pub key: Expression,
[INFO] [stdout]      |              ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `next_element`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1729:12
[INFO] [stdout]      |
[INFO] [stdout] 1729 |         T: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `SeqAccess::next_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:431:16
[INFO] [stdout]      |
[INFO] [stdout] 431  |     pub value: Expression,
[INFO] [stdout]      |                ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `next_element`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1729:12
[INFO] [stdout]      |
[INFO] [stdout] 1729 |         T: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `SeqAccess::next_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:429:14
[INFO] [stdout]      |
[INFO] [stdout] 429  |     pub key: Expression,
[INFO] [stdout]      |              ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `next_value`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1868:12
[INFO] [stdout]      |
[INFO] [stdout] 1868 |         V: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `MapAccess::next_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:431:16
[INFO] [stdout]      |
[INFO] [stdout] 431  |     pub value: Expression,
[INFO] [stdout]      |                ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `next_value`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1868:12
[INFO] [stdout]      |
[INFO] [stdout] 1868 |         V: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `MapAccess::next_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]    --> src/ast.rs:428:5
[INFO] [stdout]     |
[INFO] [stdout] 428 |     /// The key can be a computed expression, or an id reference.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 193 others
[INFO] [stdout] note: required by a bound in `serde::__private::de::missing_field`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/private/de.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout] 22  |     V: Deserialize<'de>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `missing_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]    --> src/ast.rs:430:5
[INFO] [stdout]     |
[INFO] [stdout] 430 |     /// The value can be any sort of expression.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 193 others
[INFO] [stdout] note: required by a bound in `serde::__private::de::missing_field`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/private/de.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout] 22  |     V: Deserialize<'de>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `missing_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Serialize` is not satisfied
[INFO] [stdout]     --> src/ast.rs:509:9
[INFO] [stdout]      |
[INFO] [stdout] 508  |         /// The value you set the default to.
[INFO] [stdout]      |         ------------------------------------- required by a bound introduced by this call
[INFO] [stdout] 509  |         argument: Expression,
[INFO] [stdout]      |         ^^^^^^^^ the trait `Serialize` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]                (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]              and 158 others
[INFO] [stdout] note: required by a bound in `serde::ser::SerializeStruct::serialize_field`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/ser/mod.rs:1901:12
[INFO] [stdout]      |
[INFO] [stdout] 1901 |         T: Serialize;
[INFO] [stdout]      |            ^^^^^^^^^ required by this bound in `SerializeStruct::serialize_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:509:19
[INFO] [stdout]      |
[INFO] [stdout] 509  |         argument: Expression,
[INFO] [stdout]      |                   ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `next_element`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1729:12
[INFO] [stdout]      |
[INFO] [stdout] 1729 |         T: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `SeqAccess::next_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:509:19
[INFO] [stdout]      |
[INFO] [stdout] 509  |         argument: Expression,
[INFO] [stdout]      |                   ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `next_value`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1868:12
[INFO] [stdout]      |
[INFO] [stdout] 1868 |         V: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `MapAccess::next_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]    --> src/ast.rs:508:9
[INFO] [stdout]     |
[INFO] [stdout] 508 |         /// The value you set the default to.
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 193 others
[INFO] [stdout] note: required by a bound in `serde::__private::de::missing_field`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/private/de.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout] 22  |     V: Deserialize<'de>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `missing_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Serialize` is not satisfied
[INFO] [stdout]     --> src/ast.rs:521:9
[INFO] [stdout]      |
[INFO] [stdout] 520  |         /// The key can still be an id reference, or computed.
[INFO] [stdout]      |         ------------------------------------------------------ required by a bound introduced by this call
[INFO] [stdout] 521  |         key: Expression,
[INFO] [stdout]      |         ^^^ the trait `Serialize` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]                (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]              and 158 others
[INFO] [stdout] note: required by a bound in `serde::ser::SerializeStruct::serialize_field`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/ser/mod.rs:1901:12
[INFO] [stdout]      |
[INFO] [stdout] 1901 |         T: Serialize;
[INFO] [stdout]      |            ^^^^^^^^^ required by this bound in `SerializeStruct::serialize_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:521:14
[INFO] [stdout]      |
[INFO] [stdout] 521  |         key: Expression,
[INFO] [stdout]      |              ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `next_element`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1729:12
[INFO] [stdout]      |
[INFO] [stdout] 1729 |         T: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `SeqAccess::next_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:521:14
[INFO] [stdout]      |
[INFO] [stdout] 521  |         key: Expression,
[INFO] [stdout]      |              ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `next_value`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1868:12
[INFO] [stdout]      |
[INFO] [stdout] 1868 |         V: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `MapAccess::next_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]    --> src/ast.rs:520:9
[INFO] [stdout]     |
[INFO] [stdout] 520 |         /// The key can still be an id reference, or computed.
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 193 others
[INFO] [stdout] note: required by a bound in `serde::__private::de::missing_field`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/private/de.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout] 22  |     V: Deserialize<'de>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `missing_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Serialize` is not satisfied
[INFO] [stdout]    --> src/ast.rs:537:10
[INFO] [stdout]     |
[INFO] [stdout] 537 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]     |          ^^^^^^^^^ the trait `Serialize` is not implemented for `ast::Expression`
[INFO] [stdout] ...
[INFO] [stdout] 542 |     Expression(Expression),
[INFO] [stdout]     |                ---------- required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Serialize`:
[INFO] [stdout]               &'a T
[INFO] [stdout]               &'a mut T
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]               (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]             and 158 others
[INFO] [stdout] note: required by a bound in `serialize_newtype_variant`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/ser/mod.rs:942:12
[INFO] [stdout]     |
[INFO] [stdout] 942 |         T: Serialize;
[INFO] [stdout]     |            ^^^^^^^^^ required by this bound in `Serializer::serialize_newtype_variant`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:542:16
[INFO] [stdout]      |
[INFO] [stdout] 542  |     Expression(Expression),
[INFO] [stdout]      |                ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `newtype_variant`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:2122:12
[INFO] [stdout]      |
[INFO] [stdout] 2122 |         T: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `VariantAccess::newtype_variant`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Serialize` is not satisfied
[INFO] [stdout]     --> src/ast.rs:787:9
[INFO] [stdout]      |
[INFO] [stdout] 785  |         /// The expression could be typed more strictly into an ID Reference or an inline
[INFO] [stdout]      |         --------------------------------------------------------------------------------- required by a bound introduced by this call
[INFO] [stdout] 786  |         /// object, but for the sake of simplicity we reference the larger enum.
[INFO] [stdout] 787  |         expression: Expression,
[INFO] [stdout]      |         ^^^^^^^^^^ the trait `Serialize` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]                (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]              and 158 others
[INFO] [stdout] note: required by a bound in `serde::ser::SerializeStructVariant::serialize_field`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/ser/mod.rs:1967:12
[INFO] [stdout]      |
[INFO] [stdout] 1967 |         T: Serialize;
[INFO] [stdout]      |            ^^^^^^^^^ required by this bound in `SerializeStructVariant::serialize_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Serialize` is not satisfied
[INFO] [stdout]     --> src/ast.rs:796:9
[INFO] [stdout]      |
[INFO] [stdout] 794  |         /// The optional value. If it is None, then it means the value is a boolean true.
[INFO] [stdout]      |         --------------------------------------------------------------------------------- required by a bound introduced by this call
[INFO] [stdout] 795  |         /// The absence of a key can mean false.
[INFO] [stdout] 796  |         value: Option<Expression>,
[INFO] [stdout]      |         ^^^^^ the trait `Serialize` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]                (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]              and 158 others
[INFO] [stdout]      = note: required for `std::option::Option<ast::Expression>` to implement `Serialize`
[INFO] [stdout] note: required by a bound in `serde::ser::SerializeStructVariant::serialize_field`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/ser/mod.rs:1967:12
[INFO] [stdout]      |
[INFO] [stdout] 1967 |         T: Serialize;
[INFO] [stdout]      |            ^^^^^^^^^ required by this bound in `SerializeStructVariant::serialize_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:787:21
[INFO] [stdout]      |
[INFO] [stdout] 787  |         expression: Expression,
[INFO] [stdout]      |                     ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `next_element`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1729:12
[INFO] [stdout]      |
[INFO] [stdout] 1729 |         T: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `SeqAccess::next_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:787:21
[INFO] [stdout]      |
[INFO] [stdout] 787  |         expression: Expression,
[INFO] [stdout]      |                     ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `next_value`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1868:12
[INFO] [stdout]      |
[INFO] [stdout] 1868 |         V: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `MapAccess::next_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]    --> src/ast.rs:785:9
[INFO] [stdout]     |
[INFO] [stdout] 785 |         /// The expression could be typed more strictly into an ID Reference or an inline
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 193 others
[INFO] [stdout] note: required by a bound in `serde::__private::de::missing_field`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/private/de.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout] 22  |     V: Deserialize<'de>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `missing_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:796:16
[INFO] [stdout]      |
[INFO] [stdout] 796  |         value: Option<Expression>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout]      = note: required for `std::option::Option<ast::Expression>` to implement `Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `next_element`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1729:12
[INFO] [stdout]      |
[INFO] [stdout] 1729 |         T: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `SeqAccess::next_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:796:16
[INFO] [stdout]      |
[INFO] [stdout] 796  |         value: Option<Expression>,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout]      = note: required for `std::option::Option<ast::Expression>` to implement `Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `next_value`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1868:12
[INFO] [stdout]      |
[INFO] [stdout] 1868 |         V: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `MapAccess::next_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]    --> src/ast.rs:794:9
[INFO] [stdout]     |
[INFO] [stdout] 794 |         /// The optional value. If it is None, then it means the value is a boolean true.
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 193 others
[INFO] [stdout]     = note: required for `std::option::Option<ast::Expression>` to implement `Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde::__private::de::missing_field`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/private/de.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout] 22  |     V: Deserialize<'de>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `missing_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Serialize` is not satisfied
[INFO] [stdout]    --> src/ast.rs:813:10
[INFO] [stdout]     |
[INFO] [stdout] 813 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]     |          ^^^^^^^^^ the trait `Serialize` is not implemented for `ast::Expression`
[INFO] [stdout] ...
[INFO] [stdout] 819 |     Expression(Expression),
[INFO] [stdout]     |                ---------- required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Serialize`:
[INFO] [stdout]               &'a T
[INFO] [stdout]               &'a mut T
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]               (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]             and 158 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]    --> src/ast.rs:819:16
[INFO] [stdout]     |
[INFO] [stdout] 819 |     Expression(Expression),
[INFO] [stdout]     |                ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 193 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Serialize` is not satisfied
[INFO] [stdout]    --> src/ast.rs:831:10
[INFO] [stdout]     |
[INFO] [stdout] 831 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]     |          ^^^^^^^^^ the trait `Serialize` is not implemented for `ast::Expression`
[INFO] [stdout] ...
[INFO] [stdout] 837 |     Expression(Expression),
[INFO] [stdout]     |                ---------- required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Serialize`:
[INFO] [stdout]               &'a T
[INFO] [stdout]               &'a mut T
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]               (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]             and 158 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]    --> src/ast.rs:837:16
[INFO] [stdout]     |
[INFO] [stdout] 837 |     Expression(Expression),
[INFO] [stdout]     |                ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 193 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Serialize` is not satisfied
[INFO] [stdout]     --> src/ast.rs:851:9
[INFO] [stdout]      |
[INFO] [stdout] 850  |         /// The expression that the statement contains.
[INFO] [stdout]      |         ----------------------------------------------- required by a bound introduced by this call
[INFO] [stdout] 851  |         expression: Expression,
[INFO] [stdout]      |         ^^^^^^^^^^ the trait `Serialize` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]                (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]              and 158 others
[INFO] [stdout] note: required by a bound in `serde::ser::SerializeStruct::serialize_field`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/ser/mod.rs:1901:12
[INFO] [stdout]      |
[INFO] [stdout] 1901 |         T: Serialize;
[INFO] [stdout]      |            ^^^^^^^^^ required by this bound in `SerializeStruct::serialize_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:851:21
[INFO] [stdout]      |
[INFO] [stdout] 851  |         expression: Expression,
[INFO] [stdout]      |                     ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `next_element`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1729:12
[INFO] [stdout]      |
[INFO] [stdout] 1729 |         T: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `SeqAccess::next_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/ast.rs:851:21
[INFO] [stdout]      |
[INFO] [stdout] 851  |         expression: Expression,
[INFO] [stdout]      |                     ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `next_value`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/de/mod.rs:1868:12
[INFO] [stdout]      |
[INFO] [stdout] 1868 |         V: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `MapAccess::next_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]    --> src/ast.rs:850:9
[INFO] [stdout]     |
[INFO] [stdout] 850 |         /// The expression that the statement contains.
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 193 others
[INFO] [stdout] note: required by a bound in `serde::__private::de::missing_field`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.160/src/private/de.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout] 22  |     V: Deserialize<'de>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `missing_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Serialize` is not satisfied
[INFO] [stdout]    --> src/ast.rs:881:10
[INFO] [stdout]     |
[INFO] [stdout] 881 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]     |          ^^^^^^^^^ the trait `Serialize` is not implemented for `ast::Expression`
[INFO] [stdout] ...
[INFO] [stdout] 888 |     Expression(Expression),
[INFO] [stdout]     |                ---------- required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Serialize`:
[INFO] [stdout]               &'a T
[INFO] [stdout]               &'a mut T
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]               (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]             and 158 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::Expression: Deserialize<'_>` is not satisfied
[INFO] [stdout]    --> src/ast.rs:888:16
[INFO] [stdout]     |
[INFO] [stdout] 888 |     Expression(Expression),
[INFO] [stdout]     |                ^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ast::Expression`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 193 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 42 previous errors; 90 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ecmascript` (lib) due to 43 previous errors; 90 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "5d4d6e5ccb2308894eab52181786673f838ba051d47252676eefea3aa54fccae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d4d6e5ccb2308894eab52181786673f838ba051d47252676eefea3aa54fccae", kill_on_drop: false }`
[INFO] [stdout] 5d4d6e5ccb2308894eab52181786673f838ba051d47252676eefea3aa54fccae
