[INFO] cloning repository https://github.com/AustinSmith13/rusty-php
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AustinSmith13/rusty-php" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAustinSmith13%2Frusty-php", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAustinSmith13%2Frusty-php'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1a3076bf5bb038d3a6014cbddaa64de547363fb2
[INFO] checking AustinSmith13/rusty-php against master#292be5c7c05138d753bbd4b30db7a3f1a5c914f7 for pr-148271
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAustinSmith13%2Frusty-php" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/AustinSmith13/rusty-php
[INFO] finished tweaking git repo https://github.com/AustinSmith13/rusty-php
[INFO] tweaked toml for git repo https://github.com/AustinSmith13/rusty-php written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AustinSmith13/rusty-php on toolchain 292be5c7c05138d753bbd4b30db7a3f1a5c914f7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AustinSmith13/rusty-php 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" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9dc291da85b062375f23a44b2ac01d9e874106c3745164a6e5e25867df384231
[INFO] running `Command { std: "docker" "start" "-a" "9dc291da85b062375f23a44b2ac01d9e874106c3745164a6e5e25867df384231", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9dc291da85b062375f23a44b2ac01d9e874106c3745164a6e5e25867df384231", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9dc291da85b062375f23a44b2ac01d9e874106c3745164a6e5e25867df384231", kill_on_drop: false }`
[INFO] [stdout] 9dc291da85b062375f23a44b2ac01d9e874106c3745164a6e5e25867df384231
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0e3aba671b400e54bac849c44c64d208c53342e127666d8ee97e6d3ade47ed56
[INFO] running `Command { std: "docker" "start" "-a" "0e3aba671b400e54bac849c44c64d208c53342e127666d8ee97e6d3ade47ed56", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.141
[INFO] [stderr]     Checking iana-time-zone v0.1.56
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking chrono v0.4.24
[INFO] [stderr]     Checking rusty-php v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `super::class::Class`
[INFO] [stdout]  --> src/ast/statement.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{class::Class, interfaces::Interface};
[INFO] [stdout]   |             ^^^^^^^^^^^^ no `Class` in `ast::class`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this variant instead:
[INFO] [stdout]           crate::ast::statement::Statement::Class
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `super::class::Class`
[INFO] [stdout]  --> src/ast/statement.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{class::Class, interfaces::Interface};
[INFO] [stdout]   |             ^^^^^^^^^^^^ no `Class` in `ast::class`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this variant instead:
[INFO] [stdout]           crate::ast::statement::Statement::Class
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Constant` in this scope
[INFO] [stdout]  --> src/ast/class.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ConstantDeclaration(Constant),
[INFO] [stdout]   |                         ^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::ast::Constant;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/class.rs:13:31
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub default_value: Option<Expr>,
[INFO] [stdout]    |                               ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Parameter` in this scope
[INFO] [stdout]   --> src/ast/class.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub parameters: Vec<Parameter>,
[INFO] [stdout]    |                         ^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::Parameter;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PhpArray` in this scope
[INFO] [stdout]  --> src/ast/expression.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Array(PhpArray),
[INFO] [stdout]   |           ^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::ast::array::PhpArray;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `UnaryOp` in this scope
[INFO] [stdout]  --> src/ast/expression.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |     UnaryOp(UnaryOp, Box<Expr>),
[INFO] [stdout]   |             ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: there is an enum variant `crate::ast::expression::Expr::UnaryOp` and 1 other; try using the variant's enum
[INFO] [stdout]   |
[INFO] [stdout] 7 -     UnaryOp(UnaryOp, Box<Expr>),
[INFO] [stdout] 7 +     UnaryOp(crate::ast::expression::Expr, Box<Expr>),
[INFO] [stdout]   |
[INFO] [stdout] 7 -     UnaryOp(UnaryOp, Box<Expr>),
[INFO] [stdout] 7 +     UnaryOp(crate::ast::node::AstNode, Box<Expr>),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `BinaryOp` in this scope
[INFO] [stdout]  --> src/ast/expression.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 |     BinaryOp(BinaryOp, Box<Expr>, Box<Expr>),
[INFO] [stdout]   |              ^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: there is an enum variant `crate::ast::expression::Expr::BinaryOp` and 1 other; try using the variant's enum
[INFO] [stdout]   |
[INFO] [stdout] 8 -     BinaryOp(BinaryOp, Box<Expr>, Box<Expr>),
[INFO] [stdout] 8 +     BinaryOp(crate::ast::expression::Expr, Box<Expr>, Box<Expr>),
[INFO] [stdout]   |
[INFO] [stdout] 8 -     BinaryOp(BinaryOp, Box<Expr>, Box<Expr>),
[INFO] [stdout] 8 +     BinaryOp(crate::ast::node::AstNode, Box<Expr>, Box<Expr>),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `AnonymousFunction` in this scope
[INFO] [stdout]   --> src/ast/expression.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 |     AnonymousFunction(AnonymousFunction),
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::expression::Expr::AnonymousFunction`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 17 -     AnonymousFunction(AnonymousFunction),
[INFO] [stdout] 17 +     AnonymousFunction(crate::ast::expression::Expr),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `ArrowFunction` in this scope
[INFO] [stdout]   --> src/ast/expression.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ArrowFunction(ArrowFunction),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::expression::Expr::ArrowFunction`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 18 -     ArrowFunction(ArrowFunction),
[INFO] [stdout] 18 +     ArrowFunction(crate::ast::expression::Expr),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Closure` in this scope
[INFO] [stdout]   --> src/ast/expression.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Closure(Closure),
[INFO] [stdout]    |             ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::expression::Expr::Closure` and 1 other; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 19 -     Closure(Closure),
[INFO] [stdout] 19 +     Closure(crate::ast::expression::Expr),
[INFO] [stdout]    |
[INFO] [stdout] 19 -     Closure(Closure),
[INFO] [stdout] 19 +     Closure(crate::ast::node::AstNode),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Parameter` in this scope
[INFO] [stdout]   --> src/ast/interfaces.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub parameters: Vec<Parameter>,
[INFO] [stdout]    |                         ^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::Parameter;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Namespace` in this scope
[INFO] [stdout]  --> src/ast/statement.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     NamespaceDeclaration(Namespace),
[INFO] [stdout]   |                          ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::ast::Namespace;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Use` in this scope
[INFO] [stdout]  --> src/ast/statement.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 |     UseDeclaration(Use),
[INFO] [stdout]   |                    ^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::ast::Use;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Trait` in this scope
[INFO] [stdout]  --> src/ast/statement.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 |     TraitDeclaration(Trait),
[INFO] [stdout]   |                      ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::ast::Trait;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Function` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 |     FunctionDeclaration(Function),
[INFO] [stdout]    |                         ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::Function;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Constant` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ConstantDeclaration(Constant),
[INFO] [stdout]    |                         ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::Constant;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `GlobalVariable` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 |     GlobalVariableDeclaration(GlobalVariable),
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::GlobalVariable;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Expression(Expr),
[INFO] [stdout]    |                ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     If(Expr, Box<Statement>, Option<Box<Statement>>),
[INFO] [stdout]    |        ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     ElseIf(Expr, Box<Statement>),
[INFO] [stdout]    |            ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 |     While(Expr, Box<Statement>),
[INFO] [stdout]    |           ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |     DoWhile(Expr, Box<Statement>),
[INFO] [stdout]    |             ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 25 |     For(Option<Expr>, Option<Expr>, Option<Expr>, Box<Statement>),
[INFO] [stdout]    |                ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |     For(Option<Expr>, Option<Expr>, Option<Expr>, Box<Statement>),
[INFO] [stdout]    |                              ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:25:44
[INFO] [stdout]    |
[INFO] [stdout] 25 |     For(Option<Expr>, Option<Expr>, Option<Expr>, Box<Statement>),
[INFO] [stdout]    |                                            ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Foreach(Expr, Expr, Box<Statement>),
[INFO] [stdout]    |             ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Foreach(Expr, Expr, Box<Statement>),
[INFO] [stdout]    |                   ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Switch(Expr, Vec<SwitchCase>),
[INFO] [stdout]    |            ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `SwitchCase` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:27:22
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Switch(Expr, Vec<SwitchCase>),
[INFO] [stdout]    |                      ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::node::AstNode::SwitchCase`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 27 -     Switch(Expr, Vec<SwitchCase>),
[INFO] [stdout] 27 +     Switch(Expr, Vec<crate::ast::node::AstNode>),
[INFO] [stdout]    |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Statement<SwitchCase> {
[INFO] [stdout]    |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Return(Option<Expr>),
[INFO] [stdout]    |                   ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:32:32
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Static(Vec<(String, Option<Expr>)>),
[INFO] [stdout]    |                                ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Echo(Vec<Expr>),
[INFO] [stdout]    |              ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     Unset(Vec<Expr>),
[INFO] [stdout]    |               ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:35:26
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Declare(Vec<(String, Expr)>),
[INFO] [stdout]    |                          ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `UseStatement` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Use(Vec<UseStatement>),
[INFO] [stdout]    |             ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Statement<UseStatement> {
[INFO] [stdout]    |                   ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `FunctionDeclaration` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Function(FunctionDeclaration),
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::statement::TopLevelStatement::FunctionDeclaration`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 38 -     Function(FunctionDeclaration),
[INFO] [stdout] 38 +     Function(crate::ast::statement::TopLevelStatement),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `ClassDeclaration` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 |     Class(ClassDeclaration),
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::node::AstNode::ClassDeclaration` and 1 other; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 39 -     Class(ClassDeclaration),
[INFO] [stdout] 39 +     Class(crate::ast::node::AstNode),
[INFO] [stdout]    |
[INFO] [stdout] 39 -     Class(ClassDeclaration),
[INFO] [stdout] 39 +     Class(crate::ast::statement::TopLevelStatement),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InterfaceDeclaration` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |     Interface(InterfaceDeclaration),
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::statement::TopLevelStatement::InterfaceDeclaration`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 40 -     Interface(InterfaceDeclaration),
[INFO] [stdout] 40 +     Interface(crate::ast::statement::TopLevelStatement),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TraitDeclaration` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 |     Trait(TraitDeclaration),
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::statement::TopLevelStatement::TraitDeclaration`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 41 -     Trait(TraitDeclaration),
[INFO] [stdout] 41 +     Trait(crate::ast::statement::TopLevelStatement),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TryCatchBlock` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     Try(TryCatchBlock),
[INFO] [stdout]    |         ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/mod.rs:31:16
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub value: Expr,
[INFO] [stdout]    |                ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/mod.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub default_value: Option<Expr>,
[INFO] [stdout]    |                               ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/mod.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub value: Option<Expr>,
[INFO] [stdout]    |                       ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::interfaces::Interface`
[INFO] [stdout]  --> src/ast/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use self::interfaces::Interface;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interfaces::Interface`
[INFO] [stdout]  --> src/ast/class.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{interfaces::Interface, node::AstNode};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/ast/node.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `branch::alt` and `multi::many0`
[INFO] [stdout]  --> src/main.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nom::{branch::alt, bytes::complete::tag, multi::many0, IResult};
[INFO] [stdout]   |           ^^^^^^^^^^^                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for enum `Option`
[INFO] [stdout]   --> src/ast/interfaces.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub return_type: Option,
[INFO] [stdout]    |                      ^^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub return_type: Option<T>,
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Constant` in this scope
[INFO] [stdout]  --> src/ast/class.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ConstantDeclaration(Constant),
[INFO] [stdout]   |                         ^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::ast::Constant;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/class.rs:13:31
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub default_value: Option<Expr>,
[INFO] [stdout]    |                               ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Parameter` in this scope
[INFO] [stdout]   --> src/ast/class.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub parameters: Vec<Parameter>,
[INFO] [stdout]    |                         ^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::Parameter;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PhpArray` in this scope
[INFO] [stdout]  --> src/ast/expression.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Array(PhpArray),
[INFO] [stdout]   |           ^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::ast::array::PhpArray;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `UnaryOp` in this scope
[INFO] [stdout]  --> src/ast/expression.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |     UnaryOp(UnaryOp, Box<Expr>),
[INFO] [stdout]   |             ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: there is an enum variant `crate::ast::expression::Expr::UnaryOp` and 1 other; try using the variant's enum
[INFO] [stdout]   |
[INFO] [stdout] 7 -     UnaryOp(UnaryOp, Box<Expr>),
[INFO] [stdout] 7 +     UnaryOp(crate::ast::expression::Expr, Box<Expr>),
[INFO] [stdout]   |
[INFO] [stdout] 7 -     UnaryOp(UnaryOp, Box<Expr>),
[INFO] [stdout] 7 +     UnaryOp(crate::ast::node::AstNode, Box<Expr>),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `BinaryOp` in this scope
[INFO] [stdout]  --> src/ast/expression.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 |     BinaryOp(BinaryOp, Box<Expr>, Box<Expr>),
[INFO] [stdout]   |              ^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: there is an enum variant `crate::ast::expression::Expr::BinaryOp` and 1 other; try using the variant's enum
[INFO] [stdout]   |
[INFO] [stdout] 8 -     BinaryOp(BinaryOp, Box<Expr>, Box<Expr>),
[INFO] [stdout] 8 +     BinaryOp(crate::ast::expression::Expr, Box<Expr>, Box<Expr>),
[INFO] [stdout]   |
[INFO] [stdout] 8 -     BinaryOp(BinaryOp, Box<Expr>, Box<Expr>),
[INFO] [stdout] 8 +     BinaryOp(crate::ast::node::AstNode, Box<Expr>, Box<Expr>),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `AnonymousFunction` in this scope
[INFO] [stdout]   --> src/ast/expression.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 |     AnonymousFunction(AnonymousFunction),
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::expression::Expr::AnonymousFunction`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 17 -     AnonymousFunction(AnonymousFunction),
[INFO] [stdout] 17 +     AnonymousFunction(crate::ast::expression::Expr),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `ArrowFunction` in this scope
[INFO] [stdout]   --> src/ast/expression.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ArrowFunction(ArrowFunction),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::expression::Expr::ArrowFunction`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 18 -     ArrowFunction(ArrowFunction),
[INFO] [stdout] 18 +     ArrowFunction(crate::ast::expression::Expr),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Closure` in this scope
[INFO] [stdout]   --> src/ast/expression.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Closure(Closure),
[INFO] [stdout]    |             ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::expression::Expr::Closure` and 1 other; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 19 -     Closure(Closure),
[INFO] [stdout] 19 +     Closure(crate::ast::expression::Expr),
[INFO] [stdout]    |
[INFO] [stdout] 19 -     Closure(Closure),
[INFO] [stdout] 19 +     Closure(crate::ast::node::AstNode),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Parameter` in this scope
[INFO] [stdout]   --> src/ast/interfaces.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub parameters: Vec<Parameter>,
[INFO] [stdout]    |                         ^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::Parameter;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Namespace` in this scope
[INFO] [stdout]  --> src/ast/statement.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     NamespaceDeclaration(Namespace),
[INFO] [stdout]   |                          ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::ast::Namespace;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Use` in this scope
[INFO] [stdout]  --> src/ast/statement.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 |     UseDeclaration(Use),
[INFO] [stdout]   |                    ^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::ast::Use;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Trait` in this scope
[INFO] [stdout]  --> src/ast/statement.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 |     TraitDeclaration(Trait),
[INFO] [stdout]   |                      ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::ast::Trait;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Function` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 |     FunctionDeclaration(Function),
[INFO] [stdout]    |                         ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::Function;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Constant` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ConstantDeclaration(Constant),
[INFO] [stdout]    |                         ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::Constant;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `GlobalVariable` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 |     GlobalVariableDeclaration(GlobalVariable),
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::GlobalVariable;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Expression(Expr),
[INFO] [stdout]    |                ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     If(Expr, Box<Statement>, Option<Box<Statement>>),
[INFO] [stdout]    |        ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     ElseIf(Expr, Box<Statement>),
[INFO] [stdout]    |            ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 |     While(Expr, Box<Statement>),
[INFO] [stdout]    |           ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |     DoWhile(Expr, Box<Statement>),
[INFO] [stdout]    |             ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 25 |     For(Option<Expr>, Option<Expr>, Option<Expr>, Box<Statement>),
[INFO] [stdout]    |                ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |     For(Option<Expr>, Option<Expr>, Option<Expr>, Box<Statement>),
[INFO] [stdout]    |                              ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:25:44
[INFO] [stdout]    |
[INFO] [stdout] 25 |     For(Option<Expr>, Option<Expr>, Option<Expr>, Box<Statement>),
[INFO] [stdout]    |                                            ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Foreach(Expr, Expr, Box<Statement>),
[INFO] [stdout]    |             ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Foreach(Expr, Expr, Box<Statement>),
[INFO] [stdout]    |                   ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Switch(Expr, Vec<SwitchCase>),
[INFO] [stdout]    |            ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `SwitchCase` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:27:22
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Switch(Expr, Vec<SwitchCase>),
[INFO] [stdout]    |                      ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::node::AstNode::SwitchCase`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 27 -     Switch(Expr, Vec<SwitchCase>),
[INFO] [stdout] 27 +     Switch(Expr, Vec<crate::ast::node::AstNode>),
[INFO] [stdout]    |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Statement<SwitchCase> {
[INFO] [stdout]    |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Return(Option<Expr>),
[INFO] [stdout]    |                   ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:32:32
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Static(Vec<(String, Option<Expr>)>),
[INFO] [stdout]    |                                ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Echo(Vec<Expr>),
[INFO] [stdout]    |              ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     Unset(Vec<Expr>),
[INFO] [stdout]    |               ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:35:26
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Declare(Vec<(String, Expr)>),
[INFO] [stdout]    |                          ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `UseStatement` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Use(Vec<UseStatement>),
[INFO] [stdout]    |             ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Statement<UseStatement> {
[INFO] [stdout]    |                   ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `FunctionDeclaration` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Function(FunctionDeclaration),
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::statement::TopLevelStatement::FunctionDeclaration`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 38 -     Function(FunctionDeclaration),
[INFO] [stdout] 38 +     Function(crate::ast::statement::TopLevelStatement),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `ClassDeclaration` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 |     Class(ClassDeclaration),
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::node::AstNode::ClassDeclaration` and 1 other; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 39 -     Class(ClassDeclaration),
[INFO] [stdout] 39 +     Class(crate::ast::node::AstNode),
[INFO] [stdout]    |
[INFO] [stdout] 39 -     Class(ClassDeclaration),
[INFO] [stdout] 39 +     Class(crate::ast::statement::TopLevelStatement),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InterfaceDeclaration` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |     Interface(InterfaceDeclaration),
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::statement::TopLevelStatement::InterfaceDeclaration`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 40 -     Interface(InterfaceDeclaration),
[INFO] [stdout] 40 +     Interface(crate::ast::statement::TopLevelStatement),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TraitDeclaration` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 |     Trait(TraitDeclaration),
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::ast::statement::TopLevelStatement::TraitDeclaration`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 41 -     Trait(TraitDeclaration),
[INFO] [stdout] 41 +     Trait(crate::ast::statement::TopLevelStatement),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `TryCatchBlock` in this scope
[INFO] [stdout]   --> src/ast/statement.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     Try(TryCatchBlock),
[INFO] [stdout]    |         ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/mod.rs:31:16
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub value: Expr,
[INFO] [stdout]    |                ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/mod.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub default_value: Option<Expr>,
[INFO] [stdout]    |                               ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Expr` in this scope
[INFO] [stdout]   --> src/ast/mod.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub value: Option<Expr>,
[INFO] [stdout]    |                       ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::ast::expression::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0072]: recursive type `Interface` has infinite size
[INFO] [stdout]  --> src/ast/interfaces.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Interface {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     pub name: String,
[INFO] [stdout] 4 |     pub extends: Interface,
[INFO] [stdout]   |                  --------- recursive without indirection
[INFO] [stdout]   |
[INFO] [stdout] help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to break the cycle
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub extends: Box<Interface>,
[INFO] [stdout]   |                  ++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::interfaces::Interface`
[INFO] [stdout]  --> src/ast/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use self::interfaces::Interface;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interfaces::Interface`
[INFO] [stdout]  --> src/ast/class.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{interfaces::Interface, node::AstNode};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/ast/node.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `branch::alt` and `multi::many0`
[INFO] [stdout]  --> src/main.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nom::{branch::alt, bytes::complete::tag, multi::many0, IResult};
[INFO] [stdout]   |           ^^^^^^^^^^^                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for enum `Option`
[INFO] [stdout]   --> src/ast/interfaces.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub return_type: Option,
[INFO] [stdout]    |                      ^^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub return_type: Option<T>,
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `ClassFlags` doesn't implement `Debug`
[INFO] [stdout]   --> src/ast/node.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, PartialEq)]
[INFO] [stdout]    |          ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 30 |         flags: ClassFlags,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `ClassFlags`
[INFO] [stdout]    |
[INFO] [stdout]    = note: add `#[derive(Debug)]` to `ClassFlags` or manually `impl Debug for ClassFlags`
[INFO] [stdout] help: consider annotating `ClassFlags` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout] 11 + #[derive(Debug)]
[INFO] [stdout] 12 | pub struct ClassFlags {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0072]: recursive type `Interface` has infinite size
[INFO] [stdout]  --> src/ast/interfaces.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Interface {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     pub name: String,
[INFO] [stdout] 4 |     pub extends: Interface,
[INFO] [stdout]   |                  --------- recursive without indirection
[INFO] [stdout]   |
[INFO] [stdout] help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to break the cycle
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub extends: Box<Interface>,
[INFO] [stdout]   |                  ++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&ClassFlags`
[INFO] [stdout]   --> src/ast/node.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, PartialEq)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 30 |         flags: ClassFlags,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `ClassFlags`
[INFO] [stdout]   --> src/ast/node.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ClassFlags {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `ClassFlags` with `#[derive(PartialEq)]`
[INFO] [stdout]    |
[INFO] [stdout] 11 + #[derive(PartialEq)]
[INFO] [stdout] 12 | pub struct ClassFlags {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `ClassFlags` doesn't implement `Debug`
[INFO] [stdout]   --> src/ast/node.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, PartialEq)]
[INFO] [stdout]    |          ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 30 |         flags: ClassFlags,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `ClassFlags`
[INFO] [stdout]    |
[INFO] [stdout]    = note: add `#[derive(Debug)]` to `ClassFlags` or manually `impl Debug for ClassFlags`
[INFO] [stdout] help: consider annotating `ClassFlags` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout] 11 + #[derive(Debug)]
[INFO] [stdout] 12 | pub struct ClassFlags {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&ClassFlags`
[INFO] [stdout]   --> src/ast/node.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, PartialEq)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 30 |         flags: ClassFlags,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `ClassFlags`
[INFO] [stdout]   --> src/ast/node.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ClassFlags {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `ClassFlags` with `#[derive(PartialEq)]`
[INFO] [stdout]    |
[INFO] [stdout] 11 + #[derive(PartialEq)]
[INFO] [stdout] 12 | pub struct ClassFlags {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ast`
[INFO] [stdout]   --> src/main.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 |         Ok((input, ast)) => {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_ast`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0072, E0107, E0277, E0369, E0412, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0072`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rusty-php` (bin "rusty-php") due to 47 previous errors; 5 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `ast`
[INFO] [stdout]   --> src/main.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 |         Ok((input, ast)) => {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_ast`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0072, E0107, E0277, E0369, E0412, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0072`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rusty-php` (bin "rusty-php" test) due to 47 previous errors; 5 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "0e3aba671b400e54bac849c44c64d208c53342e127666d8ee97e6d3ade47ed56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0e3aba671b400e54bac849c44c64d208c53342e127666d8ee97e6d3ade47ed56", kill_on_drop: false }`
[INFO] [stdout] 0e3aba671b400e54bac849c44c64d208c53342e127666d8ee97e6d3ade47ed56
