[INFO] cloning repository https://github.com/Gystek/cassiopeia
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Gystek/cassiopeia" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGystek%2Fcassiopeia", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGystek%2Fcassiopeia'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5d8454b4db2e52179c8538b3748e05620bc0e47c
[INFO] building Gystek/cassiopeia against master#ad211ced81509462cdfe4c29ed10f97279a0acae for pr-135216
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGystek%2Fcassiopeia" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Gystek/cassiopeia on toolchain ad211ced81509462cdfe4c29ed10f97279a0acae
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad211ced81509462cdfe4c29ed10f97279a0acae" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Gystek/cassiopeia
[INFO] finished tweaking git repo https://github.com/Gystek/cassiopeia
[INFO] tweaked toml for git repo https://github.com/Gystek/cassiopeia written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Gystek/cassiopeia 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" "+ad211ced81509462cdfe4c29ed10f97279a0acae" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+ad211ced81509462cdfe4c29ed10f97279a0acae" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ffd0f4fadaf19da90f071cb6d830c87a854ed9cd477ab3d5f162d3974afd449d
[INFO] running `Command { std: "docker" "start" "-a" "ffd0f4fadaf19da90f071cb6d830c87a854ed9cd477ab3d5f162d3974afd449d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ffd0f4fadaf19da90f071cb6d830c87a854ed9cd477ab3d5f162d3974afd449d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ffd0f4fadaf19da90f071cb6d830c87a854ed9cd477ab3d5f162d3974afd449d", kill_on_drop: false }`
[INFO] [stdout] ffd0f4fadaf19da90f071cb6d830c87a854ed9cd477ab3d5f162d3974afd449d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+ad211ced81509462cdfe4c29ed10f97279a0acae" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7fc6d3b24f586043ae984f378062a5b70ad7cc954eb0647093f57994cdec522a
[INFO] running `Command { std: "docker" "start" "-a" "7fc6d3b24f586043ae984f378062a5b70ad7cc954eb0647093f57994cdec522a", kill_on_drop: false }`
[INFO] [stderr]    Compiling cassiopeia v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]    --> src/parser.rs:126:46
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn parse_tl(&mut self) -> Result<Located<Expr>> {
[INFO] [stdout]     |                                              ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, Expr> Parser<'a> {
[INFO] [stdout]     |        ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]    --> src/parser.rs:155:47
[INFO] [stdout]     |
[INFO] [stdout] 155 |     fn parse_one(&mut self) -> Result<Located<Expr>> {
[INFO] [stdout]     |                                               ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, Expr> Parser<'a> {
[INFO] [stdout]     |        ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]    --> src/parser.rs:165:48
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn parse_prim(&mut self) -> Result<Located<Expr>> {
[INFO] [stdout]     |                                                ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, Expr> Parser<'a> {
[INFO] [stdout]     |        ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]    --> src/parser.rs:9:47
[INFO] [stdout]     |
[INFO] [stdout] 9   |         fn $name(&mut self) -> Result<Located<Expr>> {
[INFO] [stdout]     |                                               ^^^^ not found in this scope
[INFO] [stdout] ...
[INFO] [stdout] 215 |     gen_parser! {parse_fact, parse_prim, "*", "/", "*.", "/."}
[INFO] [stdout]     |     ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, Expr> Parser<'a> {
[INFO] [stdout]     |        ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]    --> src/parser.rs:9:47
[INFO] [stdout]     |
[INFO] [stdout] 9   |         fn $name(&mut self) -> Result<Located<Expr>> {
[INFO] [stdout]     |                                               ^^^^ not found in this scope
[INFO] [stdout] ...
[INFO] [stdout] 216 |     gen_parser! {parse_sum, parse_fact, "+", "-", "+.", "-."}
[INFO] [stdout]     |     --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, Expr> Parser<'a> {
[INFO] [stdout]     |        ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]    --> src/parser.rs:9:47
[INFO] [stdout]     |
[INFO] [stdout] 9   |         fn $name(&mut self) -> Result<Located<Expr>> {
[INFO] [stdout]     |                                               ^^^^ not found in this scope
[INFO] [stdout] ...
[INFO] [stdout] 217 |     gen_parser! {parse_comp, parse_sum, ">=", ">", "<", "<="}
[INFO] [stdout]     |     --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, Expr> Parser<'a> {
[INFO] [stdout]     |        ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]    --> src/parser.rs:9:47
[INFO] [stdout]     |
[INFO] [stdout] 9   |         fn $name(&mut self) -> Result<Located<Expr>> {
[INFO] [stdout]     |                                               ^^^^ not found in this scope
[INFO] [stdout] ...
[INFO] [stdout] 218 |     gen_parser! {parse_equal, parse_comp, "==", "<>"}
[INFO] [stdout]     |     ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, Expr> Parser<'a> {
[INFO] [stdout]     |        ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]    --> src/parser.rs:9:47
[INFO] [stdout]     |
[INFO] [stdout] 9   |         fn $name(&mut self) -> Result<Located<Expr>> {
[INFO] [stdout]     |                                               ^^^^ not found in this scope
[INFO] [stdout] ...
[INFO] [stdout] 219 |     gen_parser! {parse_logic, parse_equal, "||", "&&", "^^"}
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, Expr> Parser<'a> {
[INFO] [stdout]     |        ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]    --> src/parser.rs:245:49
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn parse_match(&mut self) -> Result<Located<Expr>> {
[INFO] [stdout]     |                                                 ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, Expr> Parser<'a> {
[INFO] [stdout]     |        ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]    --> src/parser.rs:249:48
[INFO] [stdout]     |
[INFO] [stdout] 249 |     fn parse_cond(&mut self) -> Result<Located<Expr>> {
[INFO] [stdout]     |                                                ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, Expr> Parser<'a> {
[INFO] [stdout]     |        ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]    --> src/parser.rs:266:50
[INFO] [stdout]     |
[INFO] [stdout] 266 |     fn parse_lambda(&mut self) -> Result<Located<Expr>> {
[INFO] [stdout]     |                                                  ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, Expr> Parser<'a> {
[INFO] [stdout]     |        ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]    --> src/parser.rs:284:48
[INFO] [stdout]     |
[INFO] [stdout] 284 |     fn parse_expr(&mut self) -> Result<Located<Expr>> {
[INFO] [stdout]     |                                                ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, Expr> Parser<'a> {
[INFO] [stdout]     |        ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]    --> src/parser.rs:306:48
[INFO] [stdout]     |
[INFO] [stdout] 306 |     fn parse_bind(&mut self) -> Result<Located<Expr>> {
[INFO] [stdout]     |                                                ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a, Expr> Parser<'a> {
[INFO] [stdout]     |        ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `file` of struct `Located` is private
[INFO] [stdout]   --> src/parser.rs:44:26
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 input[0].file
[INFO] [stdout]    |                          ^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `start` of struct `Located` is private
[INFO] [stdout]   --> src/parser.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |         (self.l, self.c) = t.start;
[INFO] [stdout]    |                              ^^^^^ private field
[INFO] [stdout]    |
[INFO] [stdout] help: a method `start` also exists, call it with parentheses
[INFO] [stdout]    |
[INFO] [stdout] 63 |         (self.l, self.c) = t.start(_, _);
[INFO] [stdout]    |                                   ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `end` of struct `Located` is private
[INFO] [stdout]   --> src/parser.rs:64:32
[INFO] [stdout]    |
[INFO] [stdout] 64 |         (self.l_, self.c_) = t.end;
[INFO] [stdout]    |                                ^^^ private field
[INFO] [stdout]    |
[INFO] [stdout] help: a method `end` also exists, call it with parentheses
[INFO] [stdout]    |
[INFO] [stdout] 64 |         (self.l_, self.c_) = t.end(_, _);
[INFO] [stdout]    |                                   ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `file` of struct `Located` is private
[INFO] [stdout]   --> src/parser.rs:65:20
[INFO] [stdout]    |
[INFO] [stdout] 65 |         self.f = t.file;
[INFO] [stdout]    |                    ^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parser.rs:72:21
[INFO] [stdout]    |
[INFO] [stdout] 72 |             if x == t {
[INFO] [stdout]    |                -    ^ expected `Located<Token>`, found `Token`
[INFO] [stdout]    |                |
[INFO] [stdout]    |                expected because this is `Located<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Located<Token>`
[INFO] [stdout]                 found enum `Token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `_l` on type `&mut Parser<'a>`
[INFO] [stdout]   --> src/parser.rs:78:27
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     (self._l, self._c),
[INFO] [stdout]    |                           ^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: a field with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     (self.l, self._c),
[INFO] [stdout]    |                           ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `_c` on type `&mut Parser<'a>`
[INFO] [stdout]   --> src/parser.rs:78:36
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     (self._l, self._c),
[INFO] [stdout]    |                                    ^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: a field with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     (self._l, self.c),
[INFO] [stdout]    |                                    ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Token` doesn't implement `std::fmt::Display`
[INFO] [stdout]   --> src/parser.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |                     t,
[INFO] [stdout]    |                     ^ `Token` cannot be formatted with the default formatter
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `std::fmt::Display` is not implemented for `Token`
[INFO] [stdout]    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]    = note: this error originates in the macro `format_args` which comes from the expansion of the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Located<Token>` doesn't implement `std::fmt::Display`
[INFO] [stdout]   --> src/parser.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     x
[INFO] [stdout]    |                     ^ `Located<Token>` cannot be formatted with the default formatter
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `std::fmt::Display` is not implemented for `Located<Token>`
[INFO] [stdout]    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]    = note: this error originates in the macro `format_args` which comes from the expansion of the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parser.rs:83:46
[INFO] [stdout]    |
[INFO] [stdout] 83 |             } else if std::mem::discriminant(t) == std::mem::discriminant(v) {
[INFO] [stdout]    |                       ---------------------- ^ expected `&_`, found `Token`
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&_`
[INFO] [stdout]                    found enum `Token`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> /rustc/ad211ced81509462cdfe4c29ed10f97279a0acae/library/core/src/mem/mod.rs:1164:14
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 83 |             } else if std::mem::discriminant(&t) == std::mem::discriminant(v) {
[INFO] [stdout]    |                                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parser.rs:83:75
[INFO] [stdout]    |
[INFO] [stdout] 83 |             } else if std::mem::discriminant(t) == std::mem::discriminant(v) {
[INFO] [stdout]    |                                                    ---------------------- ^ expected `&_`, found `bool`
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&_`
[INFO] [stdout]                    found type `bool`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> /rustc/ad211ced81509462cdfe4c29ed10f97279a0acae/library/core/src/mem/mod.rs:1164:14
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 83 |             } else if std::mem::discriminant(t) == std::mem::discriminant(&v) {
[INFO] [stdout]    |                                                                           +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `_l` on type `&mut Parser<'a>`
[INFO] [stdout]   --> src/parser.rs:89:27
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     (self._l, self._c),
[INFO] [stdout]    |                           ^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: a field with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     (self.l, self._c),
[INFO] [stdout]    |                           ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `_c` on type `&mut Parser<'a>`
[INFO] [stdout]   --> src/parser.rs:89:36
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     (self._l, self._c),
[INFO] [stdout]    |                                    ^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: a field with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     (self._l, self.c),
[INFO] [stdout]    |                                    ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Token` doesn't implement `std::fmt::Display`
[INFO] [stdout]   --> src/parser.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     t,
[INFO] [stdout]    |                     ^ `Token` cannot be formatted with the default formatter
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `std::fmt::Display` is not implemented for `Token`
[INFO] [stdout]    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]    = note: this error originates in the macro `format_args` which comes from the expansion of the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Located<Token>` doesn't implement `std::fmt::Display`
[INFO] [stdout]   --> src/parser.rs:92:21
[INFO] [stdout]    |
[INFO] [stdout] 92 |                     x
[INFO] [stdout]    |                     ^ `Located<Token>` cannot be formatted with the default formatter
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `std::fmt::Display` is not implemented for `Located<Token>`
[INFO] [stdout]    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]    = note: this error originates in the macro `format_args` which comes from the expansion of the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `Located` does not have a field named `_v`
[INFO] [stdout]    --> src/parser.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             _v: Token::Identifier(name),
[INFO] [stdout]     |             ^^ struct `Located` does not have this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `parse_variable` found for mutable reference `&mut Parser<'a>` in the current scope
[INFO] [stdout]    --> src/parser.rs:134:32
[INFO] [stdout]     |
[INFO] [stdout] 134 |         while let Ok(v) = self.parse_variable() {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `parse_prim` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 134 |         while let Ok(v) = self.parse_prim() {
[INFO] [stdout]     |                                ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:142:25
[INFO] [stdout]     |
[INFO] [stdout] 142 |         Ok(Located::new(Expr::TopLevel(
[INFO] [stdout]     |                         ^^^^ use of undeclared type `Expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:145:17
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 Expr::Func(vars, Box::new(e))
[INFO] [stdout]     |                 ^^^^ use of undeclared type `Expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |           match self.peek() {
[INFO] [stdout]     |                 ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] 157 | /             Located {
[INFO] [stdout] 158 | |                 v: Token::Identifier(_id),
[INFO] [stdout] 159 | |                 ..
[INFO] [stdout] 160 | |             } => self.parse_tl(),
[INFO] [stdout]     | |_____________^ expected `Option<&Located<Token>>`, found `Located<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&Located<Token>>`
[INFO] [stdout]              found struct `Located<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |           Ok(match self.peek() {
[INFO] [stdout]     |                    ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] 167 | /             Located {
[INFO] [stdout] 168 | |                 _v: Token::Integer(i),
[INFO] [stdout] 169 | |                 f,
[INFO] [stdout] 170 | |                 s,
[INFO] [stdout] 171 | |                 e,
[INFO] [stdout] 172 | |             } => Located::new(Expr::Integer(i)).file(f).start(s).end(e),
[INFO] [stdout]     | |_____________^ expected `Option<&Located<Token>>`, found `Located<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&Located<Token>>`
[INFO] [stdout]              found struct `Located<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `Located` does not have fields named `_v`, `f`, `s`, `e`
[INFO] [stdout]    --> src/parser.rs:168:17
[INFO] [stdout]     |
[INFO] [stdout] 168 |                 _v: Token::Integer(i),
[INFO] [stdout]     |                 ^^
[INFO] [stdout] 169 |                 f,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 170 |                 s,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 171 |                 e,
[INFO] [stdout]     |                 ^ struct `Located` does not have these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: pattern requires `..` due to inaccessible fields
[INFO] [stdout]    --> src/parser.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 | /             Located {
[INFO] [stdout] 168 | |                 _v: Token::Integer(i),
[INFO] [stdout] 169 | |                 f,
[INFO] [stdout] 170 | |                 s,
[INFO] [stdout] 171 | |                 e,
[INFO] [stdout] 172 | |             } => Located::new(Expr::Integer(i)).file(f).start(s).end(e),
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout] help: ignore the inaccessible and unused fields
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 e, ..,
[INFO] [stdout]     |                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |           Ok(match self.peek() {
[INFO] [stdout]     |                    ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] ...
[INFO] [stdout] 173 | /             Located {
[INFO] [stdout] 174 | |                 _v: Token::String(st),
[INFO] [stdout] 175 | |                 f,
[INFO] [stdout] 176 | |                 s,
[INFO] [stdout] 177 | |                 e,
[INFO] [stdout] 178 | |             } => Located::new(Expr::String(st)).file(f).start(s).end(e),
[INFO] [stdout]     | |_____________^ expected `Option<&Located<Token>>`, found `Located<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&Located<Token>>`
[INFO] [stdout]              found struct `Located<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `Located` does not have fields named `_v`, `f`, `s`, `e`
[INFO] [stdout]    --> src/parser.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 174 |                 _v: Token::String(st),
[INFO] [stdout]     |                 ^^
[INFO] [stdout] 175 |                 f,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 176 |                 s,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 177 |                 e,
[INFO] [stdout]     |                 ^ struct `Located` does not have these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: pattern requires `..` due to inaccessible fields
[INFO] [stdout]    --> src/parser.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 173 | /             Located {
[INFO] [stdout] 174 | |                 _v: Token::String(st),
[INFO] [stdout] 175 | |                 f,
[INFO] [stdout] 176 | |                 s,
[INFO] [stdout] 177 | |                 e,
[INFO] [stdout] 178 | |             } => Located::new(Expr::String(st)).file(f).start(s).end(e),
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout] help: ignore the inaccessible and unused fields
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 e, ..,
[INFO] [stdout]     |                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |           Ok(match self.peek() {
[INFO] [stdout]     |                    ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] ...
[INFO] [stdout] 179 | /             Located {
[INFO] [stdout] 180 | |                 _v: Token::Char(c),
[INFO] [stdout] 181 | |                 f,
[INFO] [stdout] 182 | |                 s,
[INFO] [stdout] 183 | |                 e,
[INFO] [stdout] 184 | |             } => Located::new(Expr::Char(c)).file(f).start(s).end(e),
[INFO] [stdout]     | |_____________^ expected `Option<&Located<Token>>`, found `Located<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&Located<Token>>`
[INFO] [stdout]              found struct `Located<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `Located` does not have fields named `_v`, `f`, `s`, `e`
[INFO] [stdout]    --> src/parser.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 _v: Token::Char(c),
[INFO] [stdout]     |                 ^^
[INFO] [stdout] 181 |                 f,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 182 |                 s,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 183 |                 e,
[INFO] [stdout]     |                 ^ struct `Located` does not have these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: pattern requires `..` due to inaccessible fields
[INFO] [stdout]    --> src/parser.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 | /             Located {
[INFO] [stdout] 180 | |                 _v: Token::Char(c),
[INFO] [stdout] 181 | |                 f,
[INFO] [stdout] 182 | |                 s,
[INFO] [stdout] 183 | |                 e,
[INFO] [stdout] 184 | |             } => Located::new(Expr::Char(c)).file(f).start(s).end(e),
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout] help: ignore the inaccessible and unused fields
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 e, ..,
[INFO] [stdout]     |                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |           Ok(match self.peek() {
[INFO] [stdout]     |                    ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] ...
[INFO] [stdout] 185 | /             Located {
[INFO] [stdout] 186 | |                 _v: Token::Identifier(i),
[INFO] [stdout] 187 | |                 f,
[INFO] [stdout] 188 | |                 s,
[INFO] [stdout] 189 | |                 e,
[INFO] [stdout] 190 | |             } => Located::new(Expr::Variable(i)).file(f).start(s).end(e),
[INFO] [stdout]     | |_____________^ expected `Option<&Located<Token>>`, found `Located<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&Located<Token>>`
[INFO] [stdout]              found struct `Located<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `Located` does not have fields named `_v`, `f`, `s`, `e`
[INFO] [stdout]    --> src/parser.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 _v: Token::Identifier(i),
[INFO] [stdout]     |                 ^^
[INFO] [stdout] 187 |                 f,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 188 |                 s,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 189 |                 e,
[INFO] [stdout]     |                 ^ struct `Located` does not have these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: pattern requires `..` due to inaccessible fields
[INFO] [stdout]    --> src/parser.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 | /             Located {
[INFO] [stdout] 186 | |                 _v: Token::Identifier(i),
[INFO] [stdout] 187 | |                 f,
[INFO] [stdout] 188 | |                 s,
[INFO] [stdout] 189 | |                 e,
[INFO] [stdout] 190 | |             } => Located::new(Expr::Variable(i)).file(f).start(s).end(e),
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout] help: ignore the inaccessible and unused fields
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 e, ..,
[INFO] [stdout]     |                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |           Ok(match self.peek() {
[INFO] [stdout]     |                    ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] ...
[INFO] [stdout] 191 | /             Located {
[INFO] [stdout] 192 | |                 _v: Token::Keyword("true"),
[INFO] [stdout] 193 | |                 f,
[INFO] [stdout] 194 | |                 s,
[INFO] [stdout] 195 | |                 e,
[INFO] [stdout] 196 | |             } => Located::new(Expr::Bool(true)).file(f).start(s).end(e),
[INFO] [stdout]     | |_____________^ expected `Option<&Located<Token>>`, found `Located<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&Located<Token>>`
[INFO] [stdout]              found struct `Located<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:192:36
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Ok(match self.peek() {
[INFO] [stdout]     |                  ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] ...
[INFO] [stdout] 192 |                 _v: Token::Keyword("true"),
[INFO] [stdout]     |                                    ^^^^^^ expected `String`, found `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `Located` does not have fields named `_v`, `f`, `s`, `e`
[INFO] [stdout]    --> src/parser.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |                 _v: Token::Keyword("true"),
[INFO] [stdout]     |                 ^^
[INFO] [stdout] 193 |                 f,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 194 |                 s,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 195 |                 e,
[INFO] [stdout]     |                 ^ struct `Located` does not have these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: pattern requires `..` due to inaccessible fields
[INFO] [stdout]    --> src/parser.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 | /             Located {
[INFO] [stdout] 192 | |                 _v: Token::Keyword("true"),
[INFO] [stdout] 193 | |                 f,
[INFO] [stdout] 194 | |                 s,
[INFO] [stdout] 195 | |                 e,
[INFO] [stdout] 196 | |             } => Located::new(Expr::Bool(true)).file(f).start(s).end(e),
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout] help: ignore the inaccessible and unused fields
[INFO] [stdout]     |
[INFO] [stdout] 195 |                 e, ..,
[INFO] [stdout]     |                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |           Ok(match self.peek() {
[INFO] [stdout]     |                    ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] ...
[INFO] [stdout] 197 | /             Located {
[INFO] [stdout] 198 | |                 _v: Token::Keyword("false"),
[INFO] [stdout] 199 | |                 f,
[INFO] [stdout] 200 | |                 s,
[INFO] [stdout] 201 | |                 e,
[INFO] [stdout] 202 | |             } => Located::new(Expr::Bool(false)).file(f).start(s).end(e),
[INFO] [stdout]     | |_____________^ expected `Option<&Located<Token>>`, found `Located<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&Located<Token>>`
[INFO] [stdout]              found struct `Located<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:198:36
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Ok(match self.peek() {
[INFO] [stdout]     |                  ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] ...
[INFO] [stdout] 198 |                 _v: Token::Keyword("false"),
[INFO] [stdout]     |                                    ^^^^^^^ expected `String`, found `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `Located` does not have fields named `_v`, `f`, `s`, `e`
[INFO] [stdout]    --> src/parser.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 _v: Token::Keyword("false"),
[INFO] [stdout]     |                 ^^
[INFO] [stdout] 199 |                 f,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 200 |                 s,
[INFO] [stdout]     |                 ^
[INFO] [stdout] 201 |                 e,
[INFO] [stdout]     |                 ^ struct `Located` does not have these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: pattern requires `..` due to inaccessible fields
[INFO] [stdout]    --> src/parser.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 | /             Located {
[INFO] [stdout] 198 | |                 _v: Token::Keyword("false"),
[INFO] [stdout] 199 | |                 f,
[INFO] [stdout] 200 | |                 s,
[INFO] [stdout] 201 | |                 e,
[INFO] [stdout] 202 | |             } => Located::new(Expr::Bool(false)).file(f).start(s).end(e),
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout] help: ignore the inaccessible and unused fields
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 e, ..,
[INFO] [stdout]     |                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |           Ok(match self.peek() {
[INFO] [stdout]     |                    ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] ...
[INFO] [stdout] 203 | /             Located {
[INFO] [stdout] 204 | |                 _v: Token::Delimiter(Delimiter::Bracket, true),
[INFO] [stdout] 205 | |                 ..
[INFO] [stdout] 206 | |             } => self.parse_array()?,
[INFO] [stdout]     | |_____________^ expected `Option<&Located<Token>>`, found `Located<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&Located<Token>>`
[INFO] [stdout]              found struct `Located<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `Located` does not have a field named `_v`
[INFO] [stdout]    --> src/parser.rs:204:17
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 _v: Token::Delimiter(Delimiter::Bracket, true),
[INFO] [stdout]     |                 ^^ struct `Located` does not have this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |           Ok(match self.peek() {
[INFO] [stdout]     |                    ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] ...
[INFO] [stdout] 207 | /             Located {
[INFO] [stdout] 208 | |                 _v: Token::Delimiter(Delimiter::Paren, true),
[INFO] [stdout] 209 | |                 ..
[INFO] [stdout] 210 | |             } => {}
[INFO] [stdout]     | |_____________^ expected `Option<&Located<Token>>`, found `Located<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&Located<Token>>`
[INFO] [stdout]              found struct `Located<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `Located` does not have a field named `_v`
[INFO] [stdout]    --> src/parser.rs:208:17
[INFO] [stdout]     |
[INFO] [stdout] 208 |                 _v: Token::Delimiter(Delimiter::Paren, true),
[INFO] [stdout]     |                 ^^ struct `Located` does not have this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:172:31
[INFO] [stdout]     |
[INFO] [stdout] 172 |             } => Located::new(Expr::Integer(i)).file(f).start(s).end(e),
[INFO] [stdout]     |                               ^^^^ use of undeclared type `Expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:178:31
[INFO] [stdout]     |
[INFO] [stdout] 178 |             } => Located::new(Expr::String(st)).file(f).start(s).end(e),
[INFO] [stdout]     |                               ^^^^ use of undeclared type `Expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:184:31
[INFO] [stdout]     |
[INFO] [stdout] 184 |             } => Located::new(Expr::Char(c)).file(f).start(s).end(e),
[INFO] [stdout]     |                               ^^^^ use of undeclared type `Expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:190:31
[INFO] [stdout]     |
[INFO] [stdout] 190 |             } => Located::new(Expr::Variable(i)).file(f).start(s).end(e),
[INFO] [stdout]     |                               ^^^^ use of undeclared type `Expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:196:31
[INFO] [stdout]     |
[INFO] [stdout] 196 |             } => Located::new(Expr::Bool(true)).file(f).start(s).end(e),
[INFO] [stdout]     |                               ^^^^ use of undeclared type `Expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:202:31
[INFO] [stdout]     |
[INFO] [stdout] 202 |             } => Located::new(Expr::Bool(false)).file(f).start(s).end(e),
[INFO] [stdout]     |                               ^^^^ use of undeclared type `Expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `parse_array` found for mutable reference `&mut Parser<'a>` in the current scope
[INFO] [stdout]    --> src/parser.rs:206:23
[INFO] [stdout]     |
[INFO] [stdout] 206 |             } => self.parse_array()?,
[INFO] [stdout]     |                       ^^^^^^^^^^^ method not found in `&mut Parser<'a>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `&Located<Token>` with `Token`
[INFO] [stdout]    --> src/parser.rs:14:21
[INFO] [stdout]     |
[INFO] [stdout] 14  |                 $(x == Token::Operator($op.to_string()) ||)+ false
[INFO] [stdout]     |                     ^^ no implementation for `&Located<Token> == Token`
[INFO] [stdout] ...
[INFO] [stdout] 215 |     gen_parser! {parse_fact, parse_prim, "*", "/", "*.", "/."}
[INFO] [stdout]     |     ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<Token>` is not implemented for `&Located<Token>`
[INFO] [stdout]     = help: the trait `PartialEq` is implemented for `Located<T>`
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `Located` does not have a field named `_v`
[INFO] [stdout]    --> src/parser.rs:16:31
[INFO] [stdout]     |
[INFO] [stdout] 16  |                 let Located { _v: Token::Operator(op), .. } = self.pop()?;
[INFO] [stdout]     |                               ^^ struct `Located` does not have this field
[INFO] [stdout] ...
[INFO] [stdout] 215 |     gen_parser! {parse_fact, parse_prim, "*", "/", "*.", "/."}
[INFO] [stdout]     |     ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:19:23
[INFO] [stdout]     |
[INFO] [stdout] 19  |                 lhs = Expr::BinOp(Box::new(lhs), op, Box::new(rhs));
[INFO] [stdout]     |                       ^^^^ use of undeclared type `Expr`
[INFO] [stdout] ...
[INFO] [stdout] 215 |     gen_parser! {parse_fact, parse_prim, "*", "/", "*.", "/."}
[INFO] [stdout]     |     ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `&Located<Token>` with `Token`
[INFO] [stdout]    --> src/parser.rs:14:21
[INFO] [stdout]     |
[INFO] [stdout] 14  |                 $(x == Token::Operator($op.to_string()) ||)+ false
[INFO] [stdout]     |                     ^^ no implementation for `&Located<Token> == Token`
[INFO] [stdout] ...
[INFO] [stdout] 216 |     gen_parser! {parse_sum, parse_fact, "+", "-", "+.", "-."}
[INFO] [stdout]     |     --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<Token>` is not implemented for `&Located<Token>`
[INFO] [stdout]     = help: the trait `PartialEq` is implemented for `Located<T>`
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `Located` does not have a field named `_v`
[INFO] [stdout]    --> src/parser.rs:16:31
[INFO] [stdout]     |
[INFO] [stdout] 16  |                 let Located { _v: Token::Operator(op), .. } = self.pop()?;
[INFO] [stdout]     |                               ^^ struct `Located` does not have this field
[INFO] [stdout] ...
[INFO] [stdout] 216 |     gen_parser! {parse_sum, parse_fact, "+", "-", "+.", "-."}
[INFO] [stdout]     |     --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:19:23
[INFO] [stdout]     |
[INFO] [stdout] 19  |                 lhs = Expr::BinOp(Box::new(lhs), op, Box::new(rhs));
[INFO] [stdout]     |                       ^^^^ use of undeclared type `Expr`
[INFO] [stdout] ...
[INFO] [stdout] 216 |     gen_parser! {parse_sum, parse_fact, "+", "-", "+.", "-."}
[INFO] [stdout]     |     --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `&Located<Token>` with `Token`
[INFO] [stdout]    --> src/parser.rs:14:21
[INFO] [stdout]     |
[INFO] [stdout] 14  |                 $(x == Token::Operator($op.to_string()) ||)+ false
[INFO] [stdout]     |                     ^^ no implementation for `&Located<Token> == Token`
[INFO] [stdout] ...
[INFO] [stdout] 217 |     gen_parser! {parse_comp, parse_sum, ">=", ">", "<", "<="}
[INFO] [stdout]     |     --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<Token>` is not implemented for `&Located<Token>`
[INFO] [stdout]     = help: the trait `PartialEq` is implemented for `Located<T>`
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `Located` does not have a field named `_v`
[INFO] [stdout]    --> src/parser.rs:16:31
[INFO] [stdout]     |
[INFO] [stdout] 16  |                 let Located { _v: Token::Operator(op), .. } = self.pop()?;
[INFO] [stdout]     |                               ^^ struct `Located` does not have this field
[INFO] [stdout] ...
[INFO] [stdout] 217 |     gen_parser! {parse_comp, parse_sum, ">=", ">", "<", "<="}
[INFO] [stdout]     |     --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:19:23
[INFO] [stdout]     |
[INFO] [stdout] 19  |                 lhs = Expr::BinOp(Box::new(lhs), op, Box::new(rhs));
[INFO] [stdout]     |                       ^^^^ use of undeclared type `Expr`
[INFO] [stdout] ...
[INFO] [stdout] 217 |     gen_parser! {parse_comp, parse_sum, ">=", ">", "<", "<="}
[INFO] [stdout]     |     --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `&Located<Token>` with `Token`
[INFO] [stdout]    --> src/parser.rs:14:21
[INFO] [stdout]     |
[INFO] [stdout] 14  |                 $(x == Token::Operator($op.to_string()) ||)+ false
[INFO] [stdout]     |                     ^^ no implementation for `&Located<Token> == Token`
[INFO] [stdout] ...
[INFO] [stdout] 218 |     gen_parser! {parse_equal, parse_comp, "==", "<>"}
[INFO] [stdout]     |     ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<Token>` is not implemented for `&Located<Token>`
[INFO] [stdout]     = help: the trait `PartialEq` is implemented for `Located<T>`
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `Located` does not have a field named `_v`
[INFO] [stdout]    --> src/parser.rs:16:31
[INFO] [stdout]     |
[INFO] [stdout] 16  |                 let Located { _v: Token::Operator(op), .. } = self.pop()?;
[INFO] [stdout]     |                               ^^ struct `Located` does not have this field
[INFO] [stdout] ...
[INFO] [stdout] 218 |     gen_parser! {parse_equal, parse_comp, "==", "<>"}
[INFO] [stdout]     |     ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:19:23
[INFO] [stdout]     |
[INFO] [stdout] 19  |                 lhs = Expr::BinOp(Box::new(lhs), op, Box::new(rhs));
[INFO] [stdout]     |                       ^^^^ use of undeclared type `Expr`
[INFO] [stdout] ...
[INFO] [stdout] 218 |     gen_parser! {parse_equal, parse_comp, "==", "<>"}
[INFO] [stdout]     |     ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `&Located<Token>` with `Token`
[INFO] [stdout]    --> src/parser.rs:14:21
[INFO] [stdout]     |
[INFO] [stdout] 14  |                 $(x == Token::Operator($op.to_string()) ||)+ false
[INFO] [stdout]     |                     ^^ no implementation for `&Located<Token> == Token`
[INFO] [stdout] ...
[INFO] [stdout] 219 |     gen_parser! {parse_logic, parse_equal, "||", "&&", "^^"}
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<Token>` is not implemented for `&Located<Token>`
[INFO] [stdout]     = help: the trait `PartialEq` is implemented for `Located<T>`
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `Located` does not have a field named `_v`
[INFO] [stdout]    --> src/parser.rs:16:31
[INFO] [stdout]     |
[INFO] [stdout] 16  |                 let Located { _v: Token::Operator(op), .. } = self.pop()?;
[INFO] [stdout]     |                               ^^ struct `Located` does not have this field
[INFO] [stdout] ...
[INFO] [stdout] 219 |     gen_parser! {parse_logic, parse_equal, "||", "&&", "^^"}
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:19:23
[INFO] [stdout]     |
[INFO] [stdout] 19  |                 lhs = Expr::BinOp(Box::new(lhs), op, Box::new(rhs));
[INFO] [stdout]     |                       ^^^^ use of undeclared type `Expr`
[INFO] [stdout] ...
[INFO] [stdout] 219 |     gen_parser! {parse_logic, parse_equal, "||", "&&", "^^"}
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:259:26
[INFO] [stdout]     |
[INFO] [stdout] 259 |             Located::new(Expr::If(Box::new(cond), Box::new(then), Box::new(else_)))
[INFO] [stdout]     |                          ^^^^ use of undeclared type `Expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `parse_variable` found for mutable reference `&mut Parser<'a>` in the current scope
[INFO] [stdout]    --> src/parser.rs:270:32
[INFO] [stdout]     |
[INFO] [stdout] 270 |         while let Ok(v) = self.parse_variable() {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `parse_prim` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 270 |         while let Ok(v) = self.parse_prim() {
[INFO] [stdout]     |                                ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:278:25
[INFO] [stdout]     |
[INFO] [stdout] 278 |         Ok(Located::new(Expr::Func(vars, Box::new(e)))
[INFO] [stdout]     |                         ^^^^ use of undeclared type `Expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:286:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |           match self.peek() {
[INFO] [stdout]     |                 ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] 286 | /             Located {
[INFO] [stdout] 287 | |                 v: Token::Keyword(String::from("let")),
[INFO] [stdout] 288 | |                 ..
[INFO] [stdout] 289 | |             } => self.parse_bind(),
[INFO] [stdout]     | |_____________^ expected `Option<&Located<Token>>`, found `Located<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&Located<Token>>`
[INFO] [stdout]              found struct `Located<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0164]: expected tuple struct or tuple variant, found associated function `String::from`
[INFO] [stdout]    --> src/parser.rs:287:35
[INFO] [stdout]     |
[INFO] [stdout] 287 |                 v: Token::Keyword(String::from("let")),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ `fn` calls are not allowed in patterns
[INFO] [stdout]     |
[INFO] [stdout]     = help: for more information, visit https://doc.rust-lang.org/book/ch19-00-patterns.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:290:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |           match self.peek() {
[INFO] [stdout]     |                 ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] ...
[INFO] [stdout] 290 | /             Located {
[INFO] [stdout] 291 | |                 v: Token::Keyword(String::from("fun")),
[INFO] [stdout] 292 | |                 ..
[INFO] [stdout] 293 | |             } => self.parse_lambda(),
[INFO] [stdout]     | |_____________^ expected `Option<&Located<Token>>`, found `Located<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&Located<Token>>`
[INFO] [stdout]              found struct `Located<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0164]: expected tuple struct or tuple variant, found associated function `String::from`
[INFO] [stdout]    --> src/parser.rs:291:35
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 v: Token::Keyword(String::from("fun")),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ `fn` calls are not allowed in patterns
[INFO] [stdout]     |
[INFO] [stdout]     = help: for more information, visit https://doc.rust-lang.org/book/ch19-00-patterns.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |           match self.peek() {
[INFO] [stdout]     |                 ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] ...
[INFO] [stdout] 294 | /             Located {
[INFO] [stdout] 295 | |                 v: Token::Keyword(String::from("if")),
[INFO] [stdout] 296 | |                 ..
[INFO] [stdout] 297 | |             } => self.parse_cond(),
[INFO] [stdout]     | |_____________^ expected `Option<&Located<Token>>`, found `Located<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&Located<Token>>`
[INFO] [stdout]              found struct `Located<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0164]: expected tuple struct or tuple variant, found associated function `String::from`
[INFO] [stdout]    --> src/parser.rs:295:35
[INFO] [stdout]     |
[INFO] [stdout] 295 |                 v: Token::Keyword(String::from("if")),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^ `fn` calls are not allowed in patterns
[INFO] [stdout]     |
[INFO] [stdout]     = help: for more information, visit https://doc.rust-lang.org/book/ch19-00-patterns.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |           match self.peek() {
[INFO] [stdout]     |                 ----------- this expression has type `Option<&Located<Token>>`
[INFO] [stdout] ...
[INFO] [stdout] 298 | /             Located {
[INFO] [stdout] 299 | |                 v: Token::Keyword(String::from("match")),
[INFO] [stdout] 300 | |                 ..
[INFO] [stdout] 301 | |             } => self.parse_match(),
[INFO] [stdout]     | |_____________^ expected `Option<&Located<Token>>`, found `Located<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&Located<Token>>`
[INFO] [stdout]              found struct `Located<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0164]: expected tuple struct or tuple variant, found associated function `String::from`
[INFO] [stdout]    --> src/parser.rs:299:35
[INFO] [stdout]     |
[INFO] [stdout] 299 |                 v: Token::Keyword(String::from("match")),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^ `fn` calls are not allowed in patterns
[INFO] [stdout]     |
[INFO] [stdout]     = help: for more information, visit https://doc.rust-lang.org/book/ch19-00-patterns.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Ident` found for enum `Token` in the current scope
[INFO] [stdout]    --> src/parser.rs:312:32
[INFO] [stdout]     |
[INFO] [stdout] 312 |         } = self.expect(Token::Ident("".to_string()), false)?;
[INFO] [stdout]     |                                ^^^^^ variant or associated item not found in `Token`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/tokens.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub enum Token {
[INFO] [stdout]     | -------------- variant or associated item `Ident` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Ident` found for enum `Token` in the current scope
[INFO] [stdout]    --> src/parser.rs:310:23
[INFO] [stdout]     |
[INFO] [stdout] 310 |             v: Token::Ident(name),
[INFO] [stdout]     |                       ^^^^^ variant or associated item not found in `Token`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/tokens.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub enum Token {
[INFO] [stdout]     | -------------- variant or associated item `Ident` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `parse_variable` found for mutable reference `&mut Parser<'a>` in the current scope
[INFO] [stdout]    --> src/parser.rs:315:32
[INFO] [stdout]     |
[INFO] [stdout] 315 |         while let Ok(v) = self.parse_variable() {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `parse_prim` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 315 |         while let Ok(v) = self.parse_prim() {
[INFO] [stdout]     |                                ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:327:25
[INFO] [stdout]     |
[INFO] [stdout] 327 |         Ok(Located::new(Expr::Bind(
[INFO] [stdout]     |                         ^^^^ use of undeclared type `Expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr`
[INFO] [stdout]    --> src/parser.rs:330:17
[INFO] [stdout]     |
[INFO] [stdout] 330 |                 Expr::Func(vars, Box::new(e))
[INFO] [stdout]     |                 ^^^^ use of undeclared type `Expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0026, E0164, E0277, E0308, E0412, E0433, E0599, E0609, E0616.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0026`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cassiopeia` (bin "cassiopeia") due to 95 previous errors
[INFO] running `Command { std: "docker" "inspect" "7fc6d3b24f586043ae984f378062a5b70ad7cc954eb0647093f57994cdec522a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fc6d3b24f586043ae984f378062a5b70ad7cc954eb0647093f57994cdec522a", kill_on_drop: false }`
[INFO] [stdout] 7fc6d3b24f586043ae984f378062a5b70ad7cc954eb0647093f57994cdec522a
